Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-05-30 | fix some icc warnings | Sven Verdoolaege | 1 | -3/+5 | |
2010-04-23 | isl_tab_rollback: restore rows that are no longer marked redundant | Sven Verdoolaege | 1 | -0/+1 | |
When a row is marked redundant, it may have a negative (but strictly larger than -1) sample value. When undoing this marking, we need to make sure the sample value is restored to a non-negative value. | |||||
2010-04-02 | isl_tab_min_at_most_neg_one: restore sample value of non-redundant constraints | Sven Verdoolaege | 1 | -2/+6 | |
2010-04-02 | isl_tab.c: update debugging aid check_table to presence of big parameter | Sven Verdoolaege | 1 | -2/+9 | |
2010-04-02 | isl_tab_relax: make sure no non-negative rows get a negative sample value | Sven Verdoolaege | 1 | -2/+15 | |
2010-03-30 | isl_tab.c: unrelax: restore row if variable is non-negative | Sven Verdoolaege | 1 | -2/+6 | |
Unrelaxing a constraint means that the constraint is tightened. The sample value may therefore become negative and then have to restore the row again. This is guaranteed to succeed because the tableau was supposed to be in a valid state before the constraint was relaxed. | |||||
2010-03-30 | isl_tab.c: cut_to_hyperplane: add extra sanity check | Sven Verdoolaege | 1 | -0/+1 | |
2010-03-04 | extract isl_tab_add_div from isl_tab_pip.c | Sven Verdoolaege | 1 | -0/+144 | |
2010-01-08 | isl_basic_map_update_from_tab: re-gauss resulting bmap | Sven Verdoolaege | 1 | -0/+2 | |
Many functions assume that their inputs have been gaussed. | |||||
2009-12-16 | add copyright statements | Sven Verdoolaege | 1 | -0/+9 | |
2009-12-07 | isl_tab: keep track of isl_basic_map instead of isl_basic_set | Sven Verdoolaege | 1 | -22/+52 | |
2009-12-07 | isl_tab_detect_redundant: return status instead of isl_tab * | Sven Verdoolaege | 1 | -10/+7 | |
2009-12-07 | isl_tab: add isl_tab_freeze_constraint | Sven Verdoolaege | 1 | -0/+24 | |
2009-11-29 | isl_tab_add_ineq and isl_tab_mark_empty: return status instead of isl_tab * | Sven Verdoolaege | 1 | -31/+39 | |
isl_tabs are not reference counted, so it's easier to deal with a status than to have to keep track of whether the isl_tab may have been destroyed. | |||||
2009-11-01 | isl_tab: row is only (obviously) redundant if it does not depend on variables | Sven Verdoolaege | 1 | -1/+3 | |
Variables are not assumed to be nonnegative, but are only marked as being nonnegative based on the constraints. This nonnegativity can therefore not be used to mark rows as being redundant as that could lead to circular reasoning. | |||||
2009-10-16 | isl_tab: support generic undo records | Sven Verdoolaege | 1 | -0/+9 | |
2009-10-12 | mark some functions as requiring use of return value | Sven Verdoolaege | 1 | -0/+8 | |
2009-10-12 | isl_tab: improved error handling | Sven Verdoolaege | 1 | -126/+240 | |
2009-10-12 | isl_tab_pip.c: incrementally build recession cone of gbr context | Sven Verdoolaege | 1 | -0/+23 | |
When checking the feasibility of a constraint in the gbr context, we compute a sample. The first step of this computation builds a recession cone since we need to know which directions are unbounded. By incrementally building up the recession cone, we can avoid the complete recomputation. This is especially useful when the context is/becomes bounded, since we can then avoid the recession cone computation altogether. | |||||
2009-10-09 | isl_tab_basic_map_partial_lexopt: remove samples that are no longer useful | Sven Verdoolaege | 1 | -1/+62 | |
When we test an inequality in row_sign, it is useful to store any samples found, so we can use them to speed up the computation of future row signs. However, when we return from a branch, then all the samples found since we entered the branch all satisfy the constraints on that branch and so they will not satisfy the constraints on any other branch. We therefore save the current number of samples when we enter a branch and then discard all subsequently added samples when we return from the branch. | |||||
2009-10-09 | isl_tab.c: extract out samples handling from isl_tab_pip.c | Sven Verdoolaege | 1 | -0/+48 | |
2009-10-09 | isl_tab_compute_reduced_basis: handle unbounded directions in initial basis | Sven Verdoolaege | 1 | -0/+3 | |
2009-10-09 | isl_tab: keep (in)equalities of bset (if any) in sync | Sven Verdoolaege | 1 | -0/+40 | |
2009-10-09 | isl_tab_compute_reduced_basis: allow incremental computation | Sven Verdoolaege | 1 | -0/+13 | |
2009-10-09 | add isl_tab_product | Sven Verdoolaege | 1 | -0/+242 | |
2009-10-08 | add isl_tab_add_eq | Sven Verdoolaege | 1 | -0/+57 | |
2009-10-08 | isl_tab_add_valid_eq: add special treatment for manifestly zero rows | Sven Verdoolaege | 1 | -0/+18 | |
2009-10-08 | isl_tab_extend_cons: check tab argument | Sven Verdoolaege | 1 | -0/+4 | |
2009-10-08 | rename isl_tab_detect_equalities to isl_tab_detect_implicit_equalities | Sven Verdoolaege | 1 | -2/+2 | |
2009-10-08 | isl_tab_from_recession_cone: take basic set instead of basic map as argument | Sven Verdoolaege | 1 | -14/+14 | |
2009-10-07 | isl_tab_allocate_con: add extra assertion | Sven Verdoolaege | 1 | -0/+1 | |
2009-10-07 | isl_tab.c: close_row: push undo record for setting row to zero | Sven Verdoolaege | 1 | -1/+4 | |
2009-09-09 | isl_tab.c: cut_to_hyperplane: do nothing if selected constraint is an equality | Sven Verdoolaege | 1 | -0/+4 | |
2009-09-08 | isl_tab_dup: avoid out-of-bounds array access | Sven Verdoolaege | 1 | -3/+5 | |
tab->n_col is between 0 and mat->n_col - 2 - M and may not be equal to n_var after some columns have been dropped. | |||||
2009-09-06 | isl_tab.c: sign_of_min: only pivot back if we performed any pivot | Sven Verdoolaege | 1 | -2/+2 | |
2009-09-06 | isl_tab.c: isl_tab_mark_redundant: fix up error return | Sven Verdoolaege | 1 | -1/+1 | |
2009-09-06 | isl_tab.c: remove unused variables | Sven Verdoolaege | 1 | -4/+0 | |
2009-09-06 | isl_tab.c: fix up to_col | Sven Verdoolaege | 1 | -3/+3 | |
2009-08-28 | isl_seq_normalize: use pre-allocated temporary variable in isl_ctx | Sven Verdoolaege | 1 | -3/+4 | |
This requires that we pass along an isl_ctx, but it removes the need for allocating a temporary variable every time isl_seq_normalize is called. In some cases, up to 20% of the execution time of isl_seq_normalize was wasted on initializing and clearing this temporary variable. | |||||
2009-08-28 | add isl_vec_normalize | Sven Verdoolaege | 1 | -1/+1 | |
2009-08-28 | isl_solve_lp: optionally return solution point | Sven Verdoolaege | 1 | -1/+1 | |
The caller may now not be interested in the optimal value anymore, so make returning this optimal value optional. | |||||
2009-08-09 | isl_tab_min: read off all information from tableau before rollback | Sven Verdoolaege | 1 | -2/+2 | |
As it happens, the rollback has little effect in this case and the information is still available, but we shouldn't depend on this. | |||||
2009-08-09 | isl_tab_add_valid_eq: keep track of whether equality is negated | Sven Verdoolaege | 1 | -5/+16 | |
This is important during generalized basis reduction, because this procedure requires the dual variables of some of the equalities added to the tableau. If the original equality get negated then the dual of the original equality will be the opposite of the dual of the equality that was actually added. Without this fix, gbr could in some cases make completely inappropriate decisions. | |||||
2009-08-07 | isl_tab: add support for keeping track of samples | Sven Verdoolaege | 1 | -0/+13 | |
2009-08-07 | isl_tab: optionally keep track of row signs | Sven Verdoolaege | 1 | -2/+88 | |
2009-08-07 | isl_tab: add isl_basic_set field for optionally keeping track of inequalities | Sven Verdoolaege | 1 | -0/+12 | |
2009-08-07 | isl_tab: introduce support for "big parameters" | Sven Verdoolaege | 1 | -61/+133 | |
These will be used while solving PILP problems. | |||||
2009-08-07 | isl_tab: allow introduction of extra variables | Sven Verdoolaege | 1 | -1/+83 | |
2009-08-07 | isl_tab: introduce parameters and divs | Sven Verdoolaege | 1 | -1/+7 | |
2009-08-07 | isl_tab: allow saving and restoring the complete basis | Sven Verdoolaege | 1 | -0/+80 | |