platform/upstream/isl.git
15 years agoadd isl_seq_cdiv_q
Sven Verdoolaege [Wed, 15 Jul 2009 09:00:18 +0000 (11:00 +0200)]
add isl_seq_cdiv_q

15 years agoisl_sample.c: interval_sample: drop redundant argument
Sven Verdoolaege [Sun, 12 Jul 2009 10:30:49 +0000 (12:30 +0200)]
isl_sample.c: interval_sample: drop redundant argument

15 years agoisl_sample.c: clean up handling of lineality space
Sven Verdoolaege [Sun, 12 Jul 2009 16:47:58 +0000 (18:47 +0200)]
isl_sample.c: clean up handling of lineality space

15 years agoisl_sample.c: extract out sample_eq
Sven Verdoolaege [Sun, 12 Jul 2009 09:43:03 +0000 (11:43 +0200)]
isl_sample.c: extract out sample_eq

15 years agoisl_sample.c: interval_sample: handle equalities directly
Sven Verdoolaege [Sun, 12 Jul 2009 09:16:34 +0000 (11:16 +0200)]
isl_sample.c: interval_sample: handle equalities directly

15 years agoisl_sample.c: extract out empty_sample
Sven Verdoolaege [Sun, 12 Jul 2009 08:47:22 +0000 (10:47 +0200)]
isl_sample.c: extract out empty_sample

15 years agoisl_sample.c: generalize point_sample to zero_sample
Sven Verdoolaege [Sat, 11 Jul 2009 17:56:06 +0000 (19:56 +0200)]
isl_sample.c: generalize point_sample to zero_sample

15 years agoisl_tab: don't create new undo records during rollback
Sven Verdoolaege [Sat, 11 Jul 2009 13:40:41 +0000 (15:40 +0200)]
isl_tab: don't create new undo records during rollback

15 years agoisl_tab_min: use general rollback mechanism
Sven Verdoolaege [Sat, 11 Jul 2009 13:33:25 +0000 (15:33 +0200)]
isl_tab_min: use general rollback mechanism

15 years agoisl_tab: optionally save dual solution
Sven Verdoolaege [Sat, 11 Jul 2009 13:15:26 +0000 (15:15 +0200)]
isl_tab: optionally save dual solution

15 years agoisl_tab: add isl_tab_add_valid_eq
Sven Verdoolaege [Sat, 11 Jul 2009 12:26:15 +0000 (14:26 +0200)]
isl_tab: add isl_tab_add_valid_eq

15 years agoexport isl_tab_alloc
Sven Verdoolaege [Sat, 11 Jul 2009 09:11:23 +0000 (11:11 +0200)]
export isl_tab_alloc

15 years agoadd isl_int_le
Sven Verdoolaege [Fri, 10 Jul 2009 16:00:48 +0000 (18:00 +0200)]
add isl_int_le

15 years agoprivately export isl_basic_set_recession_cone
Sven Verdoolaege [Thu, 9 Jul 2009 14:20:47 +0000 (16:20 +0200)]
privately export isl_basic_set_recession_cone

15 years agoisl_convex_hull.c: add missing assignment
Sven Verdoolaege [Thu, 9 Jul 2009 13:49:07 +0000 (15:49 +0200)]
isl_convex_hull.c: add missing assignment

15 years agoprivately export isl_basic_set_lineality_space
Sven Verdoolaege [Thu, 9 Jul 2009 13:15:51 +0000 (15:15 +0200)]
privately export isl_basic_set_lineality_space

15 years agoisl_vec: keep track of isl_ctx
Sven Verdoolaege [Thu, 9 Jul 2009 09:16:41 +0000 (11:16 +0200)]
isl_vec: keep track of isl_ctx

15 years agoisl_coalesce.c: fix typo
Sven Verdoolaege [Sun, 12 Jul 2009 10:23:35 +0000 (12:23 +0200)]
isl_coalesce.c: fix typo

15 years agoupdate piplib for change in configure arguments
Sven Verdoolaege [Sat, 13 Jun 2009 11:20:54 +0000 (13:20 +0200)]
update piplib for change in configure arguments

15 years agoisl_basic_map_drop_redundant_divs: coalesce divs if possible
Sven Verdoolaege [Mon, 25 May 2009 21:43:50 +0000 (23:43 +0200)]
isl_basic_map_drop_redundant_divs: coalesce divs if possible

15 years agoisl_basic_map_drop_redundant_divs: set div expression if obvious from constraints
Sven Verdoolaege [Fri, 22 May 2009 10:17:00 +0000 (12:17 +0200)]
isl_basic_map_drop_redundant_divs: set div expression if obvious from constraints

15 years agoisl_basic_map_drop_redundant_divs: drop more kinds of redundant divs
Sven Verdoolaege [Sat, 23 May 2009 11:59:32 +0000 (13:59 +0200)]
isl_basic_map_drop_redundant_divs: drop more kinds of redundant divs

15 years agoisl_map_compute_divs: drop obviously redundant divs first
Sven Verdoolaege [Fri, 22 May 2009 09:26:31 +0000 (11:26 +0200)]
isl_map_compute_divs: drop obviously redundant divs first

15 years agoisl_map_piplib.c: extremum_on: detect equalities first
Sven Verdoolaege [Fri, 22 May 2009 09:18:26 +0000 (11:18 +0200)]
isl_map_piplib.c: extremum_on: detect equalities first

In a map with several divs, there may be some that are
actually equal to each other (up to a constant).  Any
div present in the map will make the search for the
lexicographic maximum or minimum more difficult, so
we want to remove such duplicate divs before embarking
on the search.

This situation occurs especially during dependence
analysis (in an outside user of isl).  Perhaps it
would be best if the outside user would attempt
to remove duplicate divs instead of doing it
indiscriminately inside the library, but for now
it is easiest to just put it here.

15 years agoisl_pip_basic_map_compute_divs: remove some equalities first
Sven Verdoolaege [Mon, 25 May 2009 10:59:23 +0000 (12:59 +0200)]
isl_pip_basic_map_compute_divs: remove some equalities first

15 years agoisl_pip_basic_map_compute_divs: separate out dimension games
Sven Verdoolaege [Sun, 24 May 2009 14:18:34 +0000 (16:18 +0200)]
isl_pip_basic_map_compute_divs: separate out dimension games

We want to do some additional transformations on the input
set and it is easier to perform these transformations
with the existential variables considered as output variables.

15 years agoisl_basic_set_preimage: handle divs in input
Sven Verdoolaege [Mon, 25 May 2009 10:10:38 +0000 (12:10 +0200)]
isl_basic_set_preimage: handle divs in input

15 years agoisl_input_omega.c: make variable_{free,new} static
Sven Verdoolaege [Sun, 7 Jun 2009 14:29:08 +0000 (16:29 +0200)]
isl_input_omega.c: make variable_{free,new} static

15 years agoisl_map.c: make add_divs static
Sven Verdoolaege [Sun, 7 Jun 2009 14:24:47 +0000 (16:24 +0200)]
isl_map.c: make add_divs static

15 years agoisl_basic_map_simplify: detect div constraints while looking for duplicates
Sven Verdoolaege [Tue, 2 Jun 2009 13:05:56 +0000 (15:05 +0200)]
isl_basic_map_simplify: detect div constraints while looking for duplicates

During the detection of duplicate constraints we also look for pairs
of opposite constraints and these can potentially be used to define
a div.

15 years agoisl_basic_map_drop: properly handle dimensions of type isl_dim_div
Sven Verdoolaege [Fri, 22 May 2009 19:25:49 +0000 (21:25 +0200)]
isl_basic_map_drop: properly handle dimensions of type isl_dim_div

15 years agoadd isl_int_mul_ui
Sven Verdoolaege [Mon, 25 May 2009 14:40:27 +0000 (16:40 +0200)]
add isl_int_mul_ui

15 years agoadd isl_seq_fdiv_q
Sven Verdoolaege [Mon, 25 May 2009 15:06:22 +0000 (17:06 +0200)]
add isl_seq_fdiv_q

15 years agoadd isl_seq_fdiv_r
Sven Verdoolaege [Fri, 22 May 2009 10:33:20 +0000 (12:33 +0200)]
add isl_seq_fdiv_r

15 years agoisl_basic_map_detect_equalities: properly handle empty basic sets
Sven Verdoolaege [Tue, 2 Jun 2009 17:41:40 +0000 (19:41 +0200)]
isl_basic_map_detect_equalities: properly handle empty basic sets

If we find out during the computation of the equalities in
the basic map that it was empty, then there is no point in
trying to add any equalities we may have found.

15 years agoisl_basic_map_is_empty: explicitly mark basic sets determined to be empty
Sven Verdoolaege [Tue, 2 Jun 2009 17:32:23 +0000 (19:32 +0200)]
isl_basic_map_is_empty: explicitly mark basic sets determined to be empty

15 years agoisl_map.c: order_divs: swap with correct div
Sven Verdoolaege [Sat, 6 Jun 2009 09:12:57 +0000 (11:12 +0200)]
isl_map.c: order_divs: swap with correct div

The bug in the original code could result in a div being swapped
with itself, in turn resulting in an infinite loop.

15 years agoisl_map_coalesce: remove extra divs introduced by isl_map_align_divs
Sven Verdoolaege [Sun, 7 Jun 2009 08:42:28 +0000 (10:42 +0200)]
isl_map_coalesce: remove extra divs introduced by isl_map_align_divs

15 years agoadd isl_map_coalesce
Sven Verdoolaege [Mon, 25 May 2009 12:01:02 +0000 (14:01 +0200)]
add isl_map_coalesce

15 years agoadd isl_set_product
Sven Verdoolaege [Tue, 19 May 2009 10:38:47 +0000 (12:38 +0200)]
add isl_set_product

15 years agoexport isl_map_dim
Sven Verdoolaege [Tue, 19 May 2009 08:59:14 +0000 (10:59 +0200)]
export isl_map_dim

15 years agoisl_map_convex_hull: handle unbounded, but pointed, case using wrapping
Sven Verdoolaege [Mon, 13 Apr 2009 21:11:19 +0000 (23:11 +0200)]
isl_map_convex_hull: handle unbounded, but pointed, case using wrapping

The case where the convex hull may be unbounded (but still pointed)
cannot be handled directly using wrapping.  However, by changing
the homogeneous direction, we can in such cases always transform
the input polyhedra to polytopes, compute the hull and then transform back.

Since we already handle the case where the convex hull may not be
pointed, we can now handle all cases using wrapping.
The convex_hull_pair_elim function is therefore no longer used.
We leave it in, because we may want to allow the user to choose
in future which convex hull algorithm to use.

15 years agoprivately export isl_mat_unimodular_complete
Sven Verdoolaege [Wed, 15 Apr 2009 18:43:08 +0000 (20:43 +0200)]
privately export isl_mat_unimodular_complete

15 years agoisl_tab.c: add isl_tab_get_sample_value
Sven Verdoolaege [Mon, 13 Apr 2009 19:19:41 +0000 (21:19 +0200)]
isl_tab.c: add isl_tab_get_sample_value

15 years agoisl_map_convex_hull: avoid introducing lineality spaces in convex hull of pairs
Sven Verdoolaege [Mon, 13 Apr 2009 15:51:08 +0000 (17:51 +0200)]
isl_map_convex_hull: avoid introducing lineality spaces in convex hull of pairs

15 years agoadd two more convex hull test cases
Sven Verdoolaege [Mon, 13 Apr 2009 13:59:33 +0000 (15:59 +0200)]
add two more convex hull test cases

15 years agoisl_map_convex_hull: remove lineality space if any before computing convex hull
Sven Verdoolaege [Wed, 25 Mar 2009 18:30:41 +0000 (19:30 +0100)]
isl_map_convex_hull: remove lineality space if any before computing convex hull

15 years agoadd isl_basic_set_is_universe
Sven Verdoolaege [Tue, 24 Mar 2009 19:34:46 +0000 (20:34 +0100)]
add isl_basic_set_is_universe

15 years agoadd isl_set_get_dim
Sven Verdoolaege [Tue, 24 Mar 2009 19:34:16 +0000 (20:34 +0100)]
add isl_set_get_dim

15 years agoisl_convex_hull.c: update wrap_facet to the fact we only apply it on polytopes
Sven Verdoolaege [Fri, 17 Apr 2009 15:00:44 +0000 (17:00 +0200)]
isl_convex_hull.c: update wrap_facet to the fact we only apply it on polytopes

15 years agoisl_convex_hull.c: fix typo in comment
Sven Verdoolaege [Fri, 17 Apr 2009 14:41:16 +0000 (16:41 +0200)]
isl_convex_hull.c: fix typo in comment

15 years agoisl_coalesce.c: fix typo in comment
Sven Verdoolaege [Thu, 16 Apr 2009 15:16:12 +0000 (17:16 +0200)]
isl_coalesce.c: fix typo in comment

15 years agoisl_tab.c: fix typo in comment
Sven Verdoolaege [Thu, 16 Apr 2009 08:24:44 +0000 (10:24 +0200)]
isl_tab.c: fix typo in comment

15 years agoconfigure.in: set AC_CONFIG_MACRO_DIR
Sven Verdoolaege [Sun, 3 May 2009 21:26:16 +0000 (22:26 +0100)]
configure.in: set AC_CONFIG_MACRO_DIR

15 years agoadd isl_basic_set_get_dim
Sven Verdoolaege [Sun, 22 Mar 2009 21:00:14 +0000 (22:00 +0100)]
add isl_basic_set_get_dim

15 years agoisl_basic_map_gist: normalize divs (if any) in context
Sven Verdoolaege [Sun, 22 Mar 2009 17:36:52 +0000 (18:36 +0100)]
isl_basic_map_gist: normalize divs (if any) in context

15 years agoisl_basic_map_simplify: remove duplicate divs before dropping divs
Sven Verdoolaege [Sun, 22 Mar 2009 17:21:09 +0000 (18:21 +0100)]
isl_basic_map_simplify: remove duplicate divs before dropping divs

The equalities on the duplicate but separate divs may
entail additional equalities among the variables that we do
not want to ignore.

15 years agoadd isl_basic_set_div
Sven Verdoolaege [Sun, 22 Mar 2009 17:20:26 +0000 (18:20 +0100)]
add isl_basic_set_div

15 years agochange calling convention of isl_basic_map_div
Sven Verdoolaege [Sun, 22 Mar 2009 17:19:32 +0000 (18:19 +0100)]
change calling convention of isl_basic_map_div

15 years agoisl_map_simplify.c: uset_gist: break early if there are no inequalities
Sven Verdoolaege [Sat, 21 Mar 2009 13:26:33 +0000 (14:26 +0100)]
isl_map_simplify.c: uset_gist: break early if there are no inequalities

15 years agoisl_map_simplify.c: uset_gist: break early if intersection is empty
Sven Verdoolaege [Sat, 21 Mar 2009 11:47:42 +0000 (12:47 +0100)]
isl_map_simplify.c: uset_gist: break early if intersection is empty

15 years agoadd isl_basic_set_fast_is_empty
Sven Verdoolaege [Sat, 21 Mar 2009 11:43:58 +0000 (12:43 +0100)]
add isl_basic_set_fast_is_empty

15 years agoupdate piplib to 1.4.0
Sven Verdoolaege [Sun, 22 Mar 2009 20:11:22 +0000 (21:11 +0100)]
update piplib to 1.4.0

15 years agoisl_tab.c: store number of equalities among the constraints in tableau
Sven Verdoolaege [Mon, 23 Mar 2009 08:21:22 +0000 (09:21 +0100)]
isl_tab.c: store number of equalities among the constraints in tableau

Before, we would check the bmap to figure out how many equalities we
had added, but there was at least one instance where we didn't actually
store the equalities in the tableau, leading to problems if any additional
equalities would be found in the tableau.

15 years agoisl_mat_extend: properly extend matrices with reordered rows
Sven Verdoolaege [Mon, 23 Mar 2009 08:21:10 +0000 (09:21 +0100)]
isl_mat_extend: properly extend matrices with reordered rows

15 years agoisl_map_gist: handle some special cases
Sven Verdoolaege [Thu, 19 Mar 2009 09:46:05 +0000 (10:46 +0100)]
isl_map_gist: handle some special cases

15 years agoadd isl_map_universe
Sven Verdoolaege [Thu, 19 Mar 2009 09:22:38 +0000 (10:22 +0100)]
add isl_map_universe

15 years agoadd isl_basic_map_fast_is_empty
Sven Verdoolaege [Thu, 19 Mar 2009 08:50:34 +0000 (09:50 +0100)]
add isl_basic_map_fast_is_empty

15 years agoisl_basic_map_gist: replace by new version based on tableaus
Sven Verdoolaege [Wed, 18 Mar 2009 17:30:39 +0000 (18:30 +0100)]
isl_basic_map_gist: replace by new version based on tableaus

The new version should be a little bit more efficient because
it only constructs a single tableau.

More importantly, the new version keeps better track of the original
constraints and never introduces an inequality constraint in the result
that did not appear in the input.
This is especially important in the presence of divs.
Throught variable compression, the original version would sometimes
translate constraints that did not involve any divs into constraints
that did involve divs.

15 years agoisl_map_simplify.c: compute_elimination_index: don't assume equalities are in order
Sven Verdoolaege [Wed, 18 Mar 2009 16:43:38 +0000 (17:43 +0100)]
isl_map_simplify.c: compute_elimination_index: don't assume equalities are in order

15 years agoadd isl_map_implicit_equalities
Sven Verdoolaege [Wed, 18 Mar 2009 16:35:41 +0000 (17:35 +0100)]
add isl_map_implicit_equalities

15 years agoadd isl_basic_set_free_equality
Sven Verdoolaege [Wed, 18 Mar 2009 12:09:24 +0000 (13:09 +0100)]
add isl_basic_set_free_equality

15 years agoisl_map_convex_hull: mark result as not having any implicit equalities
Sven Verdoolaege [Tue, 10 Mar 2009 12:46:08 +0000 (13:46 +0100)]
isl_map_convex_hull: mark result as not having any implicit equalities

15 years agoconvex_hull: coalesce set first
Sven Verdoolaege [Tue, 17 Mar 2009 13:46:50 +0000 (14:46 +0100)]
convex_hull: coalesce set first

15 years agoadd isl_set_coalesce
Sven Verdoolaege [Mon, 16 Mar 2009 10:58:57 +0000 (11:58 +0100)]
add isl_set_coalesce

15 years agoisl_input_omega.c: basic_map_read: accept "+" in constraints
Sven Verdoolaege [Fri, 20 Mar 2009 15:21:58 +0000 (16:21 +0100)]
isl_input_omega.c: basic_map_read: accept "+" in constraints

15 years agoadd isl_basic_set_alloc_div
Sven Verdoolaege [Mon, 16 Mar 2009 10:55:08 +0000 (11:55 +0100)]
add isl_basic_set_alloc_div

15 years agoadd isl_set_align_divs
Sven Verdoolaege [Sun, 15 Mar 2009 21:21:40 +0000 (22:21 +0100)]
add isl_set_align_divs

15 years agouset_affine_hull: ignore directions in affine hull of recession cone
Sven Verdoolaege [Sat, 14 Mar 2009 12:03:52 +0000 (13:03 +0100)]
uset_affine_hull: ignore directions in affine hull of recession cone

15 years agoisl_basic_map_implicit_equalities: perform Gaussian elimination on result
Sven Verdoolaege [Wed, 18 Mar 2009 16:34:58 +0000 (17:34 +0100)]
isl_basic_map_implicit_equalities: perform Gaussian elimination on result

15 years agoisl_affine_hull.c: outside_point: check for obvious candidate first
Sven Verdoolaege [Fri, 13 Mar 2009 23:41:10 +0000 (00:41 +0100)]
isl_affine_hull.c: outside_point: check for obvious candidate first

15 years agoprivately export isl_basic_set_contains
Sven Verdoolaege [Fri, 13 Mar 2009 23:40:21 +0000 (00:40 +0100)]
privately export isl_basic_set_contains

15 years agoisl_ctx: add negone
Sven Verdoolaege [Fri, 13 Mar 2009 23:39:50 +0000 (00:39 +0100)]
isl_ctx: add negone

15 years agoisl_vec_dump: handle NULL vec
Sven Verdoolaege [Fri, 13 Mar 2009 20:19:36 +0000 (21:19 +0100)]
isl_vec_dump: handle NULL vec

15 years agoisl_affine_hull.c: extract uset_affine_hull
Sven Verdoolaege [Wed, 18 Mar 2009 18:56:55 +0000 (19:56 +0100)]
isl_affine_hull.c: extract uset_affine_hull

15 years agoisl_mat_transpose: handle non-rectangular matrices
Sven Verdoolaege [Thu, 12 Mar 2009 13:44:21 +0000 (14:44 +0100)]
isl_mat_transpose: handle non-rectangular matrices

15 years agoisl_map_simple_hull: compute affine hull before aligning divs
Sven Verdoolaege [Wed, 11 Mar 2009 11:42:27 +0000 (12:42 +0100)]
isl_map_simple_hull: compute affine hull before aligning divs

Computing the affine hull may change the internal representation.
In particular, it may simplify div constraints that are added
during the alignment to constraints that did not appear in the
original set and we do not want to introduce such constraints
in the simple hull.

15 years agoisl_map_simple_hull: mark result as not having any implicit equalities
Sven Verdoolaege [Wed, 11 Mar 2009 09:43:38 +0000 (10:43 +0100)]
isl_map_simple_hull: mark result as not having any implicit equalities

15 years agoadd isl_set_bounded_simple_hull
Sven Verdoolaege [Wed, 11 Mar 2009 08:10:07 +0000 (09:10 +0100)]
add isl_set_bounded_simple_hull

15 years agoisl_map_affine_hull: detect equalities of integer affine hull before cowing
Sven Verdoolaege [Tue, 10 Mar 2009 12:45:31 +0000 (13:45 +0100)]
isl_map_affine_hull: detect equalities of integer affine hull before cowing

15 years agoisl_basic_map_dup: copy flags of original to duplicate
Sven Verdoolaege [Tue, 10 Mar 2009 12:29:41 +0000 (13:29 +0100)]
isl_basic_map_dup: copy flags of original to duplicate

Before, the copied flags would get removed by the subsequent dup_constraints.
Some other code depended on isl_basic_map_cow clearing all flags and
failed to clear some flags.

15 years agoisl_basic_map_extend_dim: move responsibility of cow'ing to the caller
Sven Verdoolaege [Tue, 10 Mar 2009 10:06:43 +0000 (11:06 +0100)]
isl_basic_map_extend_dim: move responsibility of cow'ing to the caller

Some callers, notably isl_basic_map_detect_equalities, want to
extend the basic map to add equalities that are implicit to the
basic map.  These equalities should be added to all copies,
so we definitely do not want to cow in such cases.

15 years agoisl_basic_map_extend_dim: only extend constraint matrix if needed
Sven Verdoolaege [Tue, 10 Mar 2009 09:51:09 +0000 (10:51 +0100)]
isl_basic_map_extend_dim: only extend constraint matrix if needed

15 years agoisl_solve_lp: use tableaus instead of calling piplib (by default)
Sven Verdoolaege [Sun, 8 Mar 2009 14:09:50 +0000 (15:09 +0100)]
isl_solve_lp: use tableaus instead of calling piplib (by default)

15 years agoisl_solve_lp: accept affine object function instead of linear function
Sven Verdoolaege [Sat, 7 Mar 2009 22:24:40 +0000 (23:24 +0100)]
isl_solve_lp: accept affine object function instead of linear function

15 years agoisl_map_simple_hull: use hash tables and tableaus
Sven Verdoolaege [Sat, 7 Mar 2009 13:19:31 +0000 (14:19 +0100)]
isl_map_simple_hull: use hash tables and tableaus

15 years agoisl_convex_hull.c: extract out uset_simple_hull
Sven Verdoolaege [Fri, 6 Mar 2009 16:59:33 +0000 (17:59 +0100)]
isl_convex_hull.c: extract out uset_simple_hull

15 years agoisl_convex_hull.c: extend: avoid wrapping around already known ridges
Sven Verdoolaege [Tue, 3 Mar 2009 20:43:36 +0000 (21:43 +0100)]
isl_convex_hull.c: extend: avoid wrapping around already known ridges

15 years agoisl_convex_hull.c: introduce proto_hull based on obvious facet constraints
Sven Verdoolaege [Tue, 3 Mar 2009 18:04:39 +0000 (19:04 +0100)]
isl_convex_hull.c: introduce proto_hull based on obvious facet constraints

proto_hull looks for for obvious facet constraints.
If any such constraints can be found, then the calling function
no longer needs to call initial_hull.

15 years agoisl_convex_hull.c: move initial hull construction into separate function
Sven Verdoolaege [Tue, 3 Mar 2009 14:02:53 +0000 (15:02 +0100)]
isl_convex_hull.c: move initial hull construction into separate function