platform/upstream/isl.git
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

15 years agoisl_convex_hull.c: move computation of bounds into uset_convex_hull_wrap
Sven Verdoolaege [Tue, 3 Mar 2009 13:30:32 +0000 (14:30 +0100)]
isl_convex_hull.c: move computation of bounds into uset_convex_hull_wrap

15 years agoisl_map_convex_hull: check for boundedness using recession cone
Sven Verdoolaege [Tue, 3 Mar 2009 13:29:10 +0000 (14:29 +0100)]
isl_map_convex_hull: check for boundedness using recession cone

15 years agoisl_basic_map_convex_hull: use tableau to detect redundant constraints
Sven Verdoolaege [Fri, 27 Feb 2009 21:20:21 +0000 (22:20 +0100)]
isl_basic_map_convex_hull: use tableau to detect redundant constraints

15 years agoisl_affine_hull.c: use tableau to detect implicit equalities
Sven Verdoolaege [Wed, 4 Mar 2009 17:12:30 +0000 (18:12 +0100)]
isl_affine_hull.c: use tableau to detect implicit equalities

15 years agoisl_tab.c: don't detect equalities while setting up tableau
Sven Verdoolaege [Sun, 15 Mar 2009 09:49:48 +0000 (10:49 +0100)]
isl_tab.c: don't detect equalities while setting up tableau

The original description of the algorithm tries to detect equalities
as soon as possible.  In our application it may be best to wait
until all constraints are available.  In some case we are not
even interested in the equalities.

15 years agoadd internal representation of LP tableaus
Sven Verdoolaege [Wed, 4 Mar 2009 17:12:30 +0000 (18:12 +0100)]
add internal representation of LP tableaus

15 years agoadd isl_mat_extend
Sven Verdoolaege [Wed, 11 Mar 2009 16:23:09 +0000 (17:23 +0100)]
add isl_mat_extend

15 years agoadd isl_set_dim
Sven Verdoolaege [Mon, 9 Mar 2009 10:44:05 +0000 (11:44 +0100)]
add isl_set_dim

15 years agoprivately export isl_basic_{set,map}_normalize_constraints
Sven Verdoolaege [Tue, 3 Mar 2009 20:28:00 +0000 (21:28 +0100)]
privately export isl_basic_{set,map}_normalize_constraints

15 years agoadd isl_basic_set_extend_dim
Sven Verdoolaege [Tue, 3 Mar 2009 14:01:51 +0000 (15:01 +0100)]
add isl_basic_set_extend_dim

15 years agoisl_basic_map_eliminate_vars: clear divs first
Sven Verdoolaege [Sun, 1 Mar 2009 22:16:04 +0000 (23:16 +0100)]
isl_basic_map_eliminate_vars: clear divs first

15 years agoisl_basic_map_eliminate_vars: remove all dependent vars first
Sven Verdoolaege [Sat, 28 Feb 2009 14:16:44 +0000 (15:16 +0100)]
isl_basic_map_eliminate_vars: remove all dependent vars first

15 years agoadd isl_hash_table_alloc and isl_hash_table_free
Sven Verdoolaege [Fri, 6 Mar 2009 17:26:34 +0000 (18:26 +0100)]
add isl_hash_table_alloc and isl_hash_table_free

15 years agoisl_hash_table_init: take minimal size instead of number of bits needed
Sven Verdoolaege [Tue, 3 Mar 2009 14:54:03 +0000 (15:54 +0100)]
isl_hash_table_init: take minimal size instead of number of bits needed

15 years agoisl_{basic_,}set_preimage: drop ctx argument
Sven Verdoolaege [Tue, 3 Mar 2009 21:08:14 +0000 (22:08 +0100)]
isl_{basic_,}set_preimage: drop ctx argument

15 years agoisl_basic_map_intersect: reuse sample value of either basic map if possible
Sven Verdoolaege [Fri, 27 Feb 2009 10:18:01 +0000 (11:18 +0100)]
isl_basic_map_intersect: reuse sample value of either basic map if possible

If the sample value stored in one of the two basic maps is an element
of both basic maps, then we can keep it as sample value for the intersection.

15 years agoadd isl_int_ge
Sven Verdoolaege [Thu, 26 Feb 2009 18:25:42 +0000 (19:25 +0100)]
add isl_int_ge

15 years agoisl_basic_set_has_defining_inequalities: fix typo
Sven Verdoolaege [Tue, 10 Mar 2009 18:23:24 +0000 (19:23 +0100)]
isl_basic_set_has_defining_inequalities: fix typo

15 years agoisl_constraint_div: perform required reference increase on basic map
Sven Verdoolaege [Mon, 9 Mar 2009 12:22:45 +0000 (13:22 +0100)]
isl_constraint_div: perform required reference increase on basic map

Both divs and constraints own their contained basic maps, so we
can't just steal the basic map from the constraint.

15 years agoisl_basic_map: put inequalities before equalities
Sven Verdoolaege [Thu, 26 Feb 2009 15:38:45 +0000 (16:38 +0100)]
isl_basic_map: put inequalities before equalities

When confronted with a list of inequalities that need to be
turned into equalities, we want to handle the inequalities
in the same order in which we handle inequalities that can
be removed.  Eventually, we would want to do these at the
same time.

15 years agoadd isl_seq_normalize
Sven Verdoolaege [Thu, 26 Feb 2009 11:35:55 +0000 (12:35 +0100)]
add isl_seq_normalize

15 years agoisl_ctx.h: make FL_ISSET return a boolean value
Sven Verdoolaege [Thu, 26 Feb 2009 11:14:21 +0000 (12:14 +0100)]
isl_ctx.h: make FL_ISSET return a boolean value

15 years agorename F_ and FL_ macros to ISL_F_ and ISL_FL_ to avoid name clashes
Sven Verdoolaege [Wed, 4 Mar 2009 10:44:51 +0000 (11:44 +0100)]
rename F_ and FL_ macros to ISL_F_ and ISL_FL_ to avoid name clashes

15 years agoadd isl_mat_swap_cols
Sven Verdoolaege [Thu, 26 Feb 2009 10:59:03 +0000 (11:59 +0100)]
add isl_mat_swap_cols

15 years agoisl_mat_dump: also indent NULL mat
Sven Verdoolaege [Wed, 25 Feb 2009 20:01:24 +0000 (21:01 +0100)]
isl_mat_dump: also indent NULL mat

15 years agoadd isl_calloc_type
Sven Verdoolaege [Wed, 25 Feb 2009 20:00:47 +0000 (21:00 +0100)]
add isl_calloc_type

15 years agoisl_map_convex_hull: normalize map first
Sven Verdoolaege [Mon, 2 Mar 2009 22:20:19 +0000 (23:20 +0100)]
isl_map_convex_hull: normalize map first

15 years agoisl_set_preimage: clear ISL_SET_NORMALIZED flag
Sven Verdoolaege [Tue, 3 Mar 2009 09:49:52 +0000 (10:49 +0100)]
isl_set_preimage: clear ISL_SET_NORMALIZED flag

15 years agoadd isl_basic_map_detect_equalities
Sven Verdoolaege [Sun, 22 Feb 2009 15:58:56 +0000 (16:58 +0100)]
add isl_basic_map_detect_equalities

15 years agoadd isl_map_remove
Sven Verdoolaege [Fri, 20 Feb 2009 16:12:30 +0000 (17:12 +0100)]
add isl_map_remove

15 years agoexport isl_basic_map_is_equal
Sven Verdoolaege [Thu, 19 Feb 2009 08:17:01 +0000 (09:17 +0100)]
export isl_basic_map_is_equal

15 years agoadd isl_basic_map_remove
Sven Verdoolaege [Wed, 18 Feb 2009 12:42:55 +0000 (13:42 +0100)]
add isl_basic_map_remove

15 years agoadd isl_dim_range
Sven Verdoolaege [Wed, 18 Feb 2009 12:02:41 +0000 (13:02 +0100)]
add isl_dim_range

15 years agoadd isl_map_product
Sven Verdoolaege [Tue, 17 Feb 2009 19:49:14 +0000 (20:49 +0100)]
add isl_map_product

15 years agoadd isl_basic_map_add_constraint
Sven Verdoolaege [Tue, 17 Feb 2009 17:39:31 +0000 (18:39 +0100)]
add isl_basic_map_add_constraint

15 years agoadd isl_dim_add
Sven Verdoolaege [Tue, 17 Feb 2009 17:17:17 +0000 (18:17 +0100)]
add isl_dim_add

15 years agoisl_map_piplib.c: isl_map_from_quast: properly keep track of dimension names
Sven Verdoolaege [Mon, 16 Feb 2009 21:56:06 +0000 (22:56 +0100)]
isl_map_piplib.c: isl_map_from_quast: properly keep track of dimension names

15 years agochange calling convention of isl_basic_map_{equal,less_at,more_at}
Sven Verdoolaege [Mon, 16 Feb 2009 15:00:09 +0000 (16:00 +0100)]
change calling convention of isl_basic_map_{equal,less_at,more_at}

15 years agoadd isl_map_copy_basic_map and isl_map_drop_basic_map
Sven Verdoolaege [Mon, 16 Feb 2009 14:47:30 +0000 (15:47 +0100)]
add isl_map_copy_basic_map and isl_map_drop_basic_map

15 years agoadd isl_map_from_range
Sven Verdoolaege [Mon, 16 Feb 2009 12:54:01 +0000 (13:54 +0100)]
add isl_map_from_range

15 years agoadd isl_map_fast_is_empty
Sven Verdoolaege [Mon, 16 Feb 2009 12:45:23 +0000 (13:45 +0100)]
add isl_map_fast_is_empty

15 years agochange calling convention of isl_map_empty and add isl_map_empty_like
Sven Verdoolaege [Mon, 16 Feb 2009 12:36:14 +0000 (13:36 +0100)]
change calling convention of isl_map_empty and add isl_map_empty_like

15 years agoisl_map_intersect_{domain,range}: allow intersection with parameter constraints
Sven Verdoolaege [Thu, 22 Jan 2009 18:45:22 +0000 (19:45 +0100)]
isl_map_intersect_{domain,range}: allow intersection with parameter constraints

15 years agoisl_map_intersect: allow intersection with pure parameter constraints
Sven Verdoolaege [Thu, 22 Jan 2009 16:09:13 +0000 (17:09 +0100)]
isl_map_intersect: allow intersection with pure parameter constraints

15 years agoisl_basic_map_affine_hull: fix search for integer points
Sven Verdoolaege [Sun, 22 Feb 2009 15:12:53 +0000 (16:12 +0100)]
isl_basic_map_affine_hull: fix search for integer points

Before, we would mistakenly only look for integer points
in adjacent hyperplanes.  This would be sufficient if we
were looking instead for rational points, although we could
then obtain an over-approximation of the integer affine hull.

15 years agoisl_basic_map_overlying_set: don't add div constraints for unknown divs
Sven Verdoolaege [Sun, 22 Feb 2009 11:22:51 +0000 (12:22 +0100)]
isl_basic_map_overlying_set: don't add div constraints for unknown divs

Constructing div constraints as if the div were known, results in
unsatisfiable constraints.
Perhaps isl_basic_map_overlying_set shouldn't get called with a model
with unknown divs, but we currently allow it.

15 years agoisl_dim.c: update n_name (only) when changing names
Sven Verdoolaege [Tue, 17 Feb 2009 19:27:29 +0000 (20:27 +0100)]
isl_dim.c: update n_name (only) when changing names

15 years agofix serious error in isl_mat_parameter_compression
Sven Verdoolaege [Wed, 11 Feb 2009 18:22:36 +0000 (19:22 +0100)]
fix serious error in isl_mat_parameter_compression

The old version would sometimes remove valid solutions.
Since isl_mat_parameter_compression is used during simplification
on practically any set containing existentially quantified variables
involved in equalities, any such set could get corrupted.

15 years agoexport isl_basic_map_intersect_range
Sven Verdoolaege [Wed, 11 Feb 2009 10:24:37 +0000 (11:24 +0100)]
export isl_basic_map_intersect_range

15 years agoadd isl_basic_map_floordiv
Sven Verdoolaege [Tue, 10 Feb 2009 17:34:53 +0000 (18:34 +0100)]
add isl_basic_map_floordiv

15 years agoadd isl_basic_map_fast_is_fixed
Sven Verdoolaege [Tue, 10 Feb 2009 16:58:46 +0000 (17:58 +0100)]
add isl_basic_map_fast_is_fixed

15 years agoadd isl_basic_map_neg
Sven Verdoolaege [Tue, 10 Feb 2009 16:30:43 +0000 (17:30 +0100)]
add isl_basic_map_neg

15 years agoadd isl_basic_map_sum
Sven Verdoolaege [Tue, 10 Feb 2009 15:50:30 +0000 (16:50 +0100)]
add isl_basic_map_sum

15 years agoadd isl_map_fix_si, a generalization of isl_basic_map_fix_input_si
Sven Verdoolaege [Tue, 10 Feb 2009 14:49:03 +0000 (15:49 +0100)]
add isl_map_fix_si, a generalization of isl_basic_map_fix_input_si

15 years agoisl_map_simplify.c: remove_duplicate_divs: remove divs from last to first
Sven Verdoolaege [Wed, 4 Feb 2009 15:33:45 +0000 (16:33 +0100)]
isl_map_simplify.c: remove_duplicate_divs: remove divs from last to first