summaryrefslogtreecommitdiff
path: root/isl_tab.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2009-08-08 20:08:16 +0200
committerSven Verdoolaege <skimo@kotnet.org>2009-08-09 16:19:41 +0200
commitf80ad554b5f83d490789b54c7089a440a0aa79cb (patch)
tree12a89bc7814c4c440c4e08926f19bf2e8b4494e0 /isl_tab.c
parent93c3a33b16a896b32fd09396f149be0bdab71665 (diff)
downloadisl-f80ad554b5f83d490789b54c7089a440a0aa79cb.tar.gz
isl-f80ad554b5f83d490789b54c7089a440a0aa79cb.tar.bz2
isl-f80ad554b5f83d490789b54c7089a440a0aa79cb.zip
isl_tab_min: read off all information from tableau before rollback
As it happens, the rollback has little effect in this case and the information is still available, but we shouldn't depend on this.
Diffstat (limited to 'isl_tab.c')
-rw-r--r--isl_tab.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/isl_tab.c b/isl_tab.c
index ea1f85c7..ff6ed85e 100644
--- a/isl_tab.c
+++ b/isl_tab.c
@@ -1912,8 +1912,6 @@ enum isl_lp_result isl_tab_min(struct isl_tab *tab,
break;
isl_tab_pivot(tab, row, col);
}
- if (isl_tab_rollback(tab, snap) < 0)
- return isl_lp_error;
if (ISL_FL_ISSET(flags, ISL_TAB_SAVE_DUAL)) {
int i;
@@ -1945,6 +1943,8 @@ enum isl_lp_result isl_tab_min(struct isl_tab *tab,
isl_int_cdiv_q(*opt, tab->mat->row[var->index][1],
tab->mat->row[var->index][0]);
}
+ if (isl_tab_rollback(tab, snap) < 0)
+ return isl_lp_error;
return res;
}