From 6c2aff11ad8808c72aed60c06725be7eeffb0fd5 Mon Sep 17 00:00:00 2001
From: Steve Tonneau <stonneau@axle.laas.fr>
Date: Sat, 24 Sep 2016 19:46:39 +0200
Subject: [PATCH] canonicalize cone linear inequalities matrix

---
 src/static_equilibrium.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/static_equilibrium.cpp b/src/static_equilibrium.cpp
index 3337f40..8e4de3e 100644
--- a/src/static_equilibrium.cpp
+++ b/src/static_equilibrium.cpp
@@ -515,6 +515,16 @@ bool StaticEquilibrium::computePolytopeProjection(Cref_matrix6X v)
 
 //  getProfiler().start("cdd to eigen");
   dd_MatrixPtr b_A = dd_CopyInequalities(H_);
+  if(canonicalize_cdd_matrix)
+  {
+    dd_ErrorType error = dd_NoError;
+    dd_rowset redset,impl_linset;
+    dd_rowindex newpos;
+    dd_MatrixCanonicalize(&b_A, &impl_linset, &redset, &newpos, &error);
+    set_free(redset);
+    set_free(impl_linset);
+    free(newpos);
+  }
   // get equalities and add them as complementary inequality constraints
   std::vector<long> eq_rows;
   for(long elem=1;elem<=(long)(b_A->linset[0]);++elem)
-- 
GitLab