return bmap;
tab = isl_tab_from_basic_map(bmap);
- tab = isl_tab_detect_equalities(tab);
+ tab = isl_tab_detect_implicit_equalities(tab);
bmap = isl_basic_map_update_from_tab(bmap, tab);
isl_tab_free(tab);
bmap = isl_basic_map_gauss(bmap, NULL);
if (!tabs[i])
goto error;
if (!ISL_F_ISSET(map->p[i], ISL_BASIC_MAP_NO_IMPLICIT))
- tabs[i] = isl_tab_detect_equalities(tabs[i]);
+ tabs[i] = isl_tab_detect_implicit_equalities(tabs[i]);
if (!ISL_F_ISSET(map->p[i], ISL_BASIC_MAP_NO_REDUNDANT))
tabs[i] = isl_tab_detect_redundant(tabs[i]);
}
return bmap;
tab = isl_tab_from_basic_map(bmap);
- tab = isl_tab_detect_equalities(tab);
+ tab = isl_tab_detect_implicit_equalities(tab);
tab = isl_tab_detect_redundant(tab);
bmap = isl_basic_map_update_from_tab(bmap, tab);
isl_tab_free(tab);
for (i = 0; i < bset->n_ineq; ++i)
tab = isl_tab_add_ineq(tab, bset->ineq[i]);
bset = isl_basic_set_add_constraints(combined, bset, 0);
- tab = isl_tab_detect_equalities(tab);
+ tab = isl_tab_detect_implicit_equalities(tab);
tab = isl_tab_detect_redundant(tab);
if (!tab)
goto error2;
* tableau is integer), then we restrict the value to being zero
* by adding an opposite non-negative variable.
*/
-struct isl_tab *isl_tab_detect_equalities(struct isl_tab *tab)
+struct isl_tab *isl_tab_detect_implicit_equalities(struct isl_tab *tab)
{
int i;
unsigned n_marked;
close_row(tab, var);
else if (!tab->rational && !at_least_one(tab, var)) {
tab = cut_to_hyperplane(tab, var);
- return isl_tab_detect_equalities(tab);
+ return isl_tab_detect_implicit_equalities(tab);
}
for (i = tab->n_redundant; i < tab->n_row; ++i) {
var = isl_tab_var_from_row(tab, i);
* Dead columns and redundant rows are detected on the fly.
* However, the basic operations do not ensure that all dead columns
* or all redundant rows are detected.
- * isl_tab_detect_equalities and isl_tab_detect_redundant can be used
+ * isl_tab_detect_implicit_equalities and isl_tab_detect_redundant can be used
* to perform and exhaustive search for dead columns and redundant rows.
*
* The samples matrix contains "n_sample" integer points that have at some
struct isl_tab *tab);
struct isl_basic_set *isl_basic_set_update_from_tab(struct isl_basic_set *bset,
struct isl_tab *tab);
-struct isl_tab *isl_tab_detect_equalities(struct isl_tab *tab);
+struct isl_tab *isl_tab_detect_implicit_equalities(struct isl_tab *tab);
struct isl_tab *isl_tab_detect_redundant(struct isl_tab *tab);
#define ISL_TAB_SAVE_DUAL (1 << 0)
enum isl_lp_result isl_tab_min(struct isl_tab *tab,