platform/upstream/isl.git
14 years agoadd isl_point
Sven Verdoolaege [Thu, 4 Mar 2010 11:38:31 +0000 (12:38 +0100)]
add isl_point

14 years agoisl_basic_set_scan: make sure sufficient rows are allocated in tableau
Sven Verdoolaege [Mon, 1 Mar 2010 13:24:52 +0000 (14:24 +0100)]
isl_basic_set_scan: make sure sufficient rows are allocated in tableau

14 years agoisl_map_subtract: only add divs when needed
Sven Verdoolaege [Thu, 4 Mar 2010 09:08:47 +0000 (10:08 +0100)]
isl_map_subtract: only add divs when needed

Before, the divs from all basic maps were aligne with each
other, resulting in all divs being added to all basic maps,
even if the arguments of the subtract operation are disjoint.
Now, divs are only added at the point where they are needed
and removed again if it turns out that they are not needed
in the difference.

14 years agoadd isl_map_order_divs
Sven Verdoolaege [Tue, 2 Mar 2010 11:41:58 +0000 (12:41 +0100)]
add isl_map_order_divs

14 years agoextract isl_tab_add_div from isl_tab_pip.c
Sven Verdoolaege [Thu, 4 Mar 2010 10:07:42 +0000 (11:07 +0100)]
extract isl_tab_add_div from isl_tab_pip.c

14 years agoisl_vec.c: fix minor whitespace issue
Sven Verdoolaege [Mon, 1 Mar 2010 11:18:06 +0000 (12:18 +0100)]
isl_vec.c: fix minor whitespace issue

14 years agoadd isl_set_complement
Sven Verdoolaege [Mon, 1 Mar 2010 07:53:58 +0000 (08:53 +0100)]
add isl_set_complement

14 years agoexport isl_map_make_disjoint
Sven Verdoolaege [Sun, 28 Feb 2010 08:55:14 +0000 (09:55 +0100)]
export isl_map_make_disjoint

14 years agoadd isl_hash_table_foreach
Sven Verdoolaege [Fri, 19 Feb 2010 12:08:52 +0000 (13:08 +0100)]
add isl_hash_table_foreach

14 years agoisl_map_print: extract out print_disjuncts
Sven Verdoolaege [Sat, 20 Feb 2010 21:02:50 +0000 (22:02 +0100)]
isl_map_print: extract out print_disjuncts

14 years agoadd isl_set_fast_is_universe
Sven Verdoolaege [Tue, 23 Feb 2010 14:52:27 +0000 (15:52 +0100)]
add isl_set_fast_is_universe

14 years agoisl_input.c: accept_affine: fix memory leak on error path
Sven Verdoolaege [Sun, 21 Feb 2010 21:41:06 +0000 (22:41 +0100)]
isl_input.c: accept_affine: fix memory leak on error path

14 years agoisl_map_intersect: detect empty result also in case of adding a single constraint
Sven Verdoolaege [Sat, 20 Feb 2010 23:03:57 +0000 (00:03 +0100)]
isl_map_intersect: detect empty result also in case of adding a single constraint

Commit ed3b444 (isl_map_intersect: add special case for adding a single
constraint) added a special case of adding a single constraint but
neglected to detect an empty result in this special case.

14 years agoisl_map_read: skip until the end of the last line when reading in PolyLib format
Sven Verdoolaege [Wed, 3 Mar 2010 13:13:58 +0000 (14:13 +0100)]
isl_map_read: skip until the end of the last line when reading in PolyLib format

14 years agoisl_stream_next_token_on_same_line: check if last token read was a newline
Sven Verdoolaege [Wed, 3 Mar 2010 13:08:36 +0000 (14:08 +0100)]
isl_stream_next_token_on_same_line: check if last token read was a newline

14 years agoisl_set_wrap_facet: make sure set is marked rational
Sven Verdoolaege [Wed, 3 Mar 2010 15:23:21 +0000 (16:23 +0100)]
isl_set_wrap_facet: make sure set is marked rational

When isl_set_wrap_facet is used from with isl_convex_hull.c, then
the set should already have been marked rational, but when
called from outside, it may not, so we have to do it explicitly.

14 years agoisl_coalesce.c: fix typo in comment
Sven Verdoolaege [Wed, 3 Mar 2010 15:22:46 +0000 (16:22 +0100)]
isl_coalesce.c: fix typo in comment

14 years agoisl_map_read: accept list of predicated elements
Sven Verdoolaege [Fri, 19 Feb 2010 18:05:50 +0000 (19:05 +0100)]
isl_map_read: accept list of predicated elements

14 years agoisl_map_read: extract out parsing of map body
Sven Verdoolaege [Fri, 19 Feb 2010 16:01:31 +0000 (17:01 +0100)]
isl_map_read: extract out parsing of map body

14 years agoisl_map_read: add dummy variable name for unnamed variables
Sven Verdoolaege [Fri, 19 Feb 2010 17:57:13 +0000 (18:57 +0100)]
isl_map_read: add dummy variable name for unnamed variables

vars_drop assumes there is struct variable in the list of struct
variables for each variable in the dimension specification.

14 years agoisl_stream: accept ";" token
Sven Verdoolaege [Fri, 19 Feb 2010 10:55:14 +0000 (11:55 +0100)]
isl_stream: accept ";" token

14 years agouse -O1 optimization level for gcc 4.2
Sven Verdoolaege [Fri, 19 Feb 2010 08:26:19 +0000 (09:26 +0100)]
use -O1 optimization level for gcc 4.2

gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4) seems to miscopile isl with -O2

14 years agodrop comma at the end of enumerations in include files
Sven Verdoolaege [Fri, 19 Feb 2010 08:00:05 +0000 (09:00 +0100)]
drop comma at the end of enumerations in include files

Sun's CC compiler warns about them.

14 years agoisl_map_read: accept affine combinations of earlier variables in variable tuples
Sven Verdoolaege [Thu, 18 Feb 2010 20:37:04 +0000 (21:37 +0100)]
isl_map_read: accept affine combinations of earlier variables in variable tuples

14 years agoisl_map_read: construct basic map while reading variable tuples
Sven Verdoolaege [Thu, 18 Feb 2010 19:35:04 +0000 (20:35 +0100)]
isl_map_read: construct basic map while reading variable tuples

14 years agoisl_map_print: add primes to duplicate names
Sven Verdoolaege [Thu, 18 Feb 2010 16:29:09 +0000 (17:29 +0100)]
isl_map_print: add primes to duplicate names

And, conversely, accept primes in identifier names in isl_map_read.

14 years agoisl_map_transitive_closure: improve accuracy by copying some mixed delta constraints
Sven Verdoolaege [Thu, 18 Feb 2010 14:56:47 +0000 (15:56 +0100)]
isl_map_transitive_closure: improve accuracy by copying some mixed delta constraints

14 years agoisl_map_transitive_closure: perform exactness check per component
Sven Verdoolaege [Thu, 18 Feb 2010 14:13:55 +0000 (15:13 +0100)]
isl_map_transitive_closure: perform exactness check per component

14 years agoisl_map_transitive_closure: reformulate exactness test in terms of extended paths
Sven Verdoolaege [Thu, 18 Feb 2010 13:50:05 +0000 (14:50 +0100)]
isl_map_transitive_closure: reformulate exactness test in terms of extended paths

This will make it easier to compute exactness per component.

14 years agoadd a transitive closure example from the Omega test suite
Sven Verdoolaege [Tue, 16 Feb 2010 11:42:27 +0000 (12:42 +0100)]
add a transitive closure example from the Omega test suite

14 years agoisl_map_transitive_closure: compute power on strongly connected components
Sven Verdoolaege [Wed, 17 Feb 2010 21:06:58 +0000 (22:06 +0100)]
isl_map_transitive_closure: compute power on strongly connected components

By splitting the disjuncts of the input map into strongly connected
components, we can improve the accurateness of the result.
The computation may be more expensive, however, especially
the exactness test.

14 years agoisl_map_transitive_closure: intersect with domain and range before projection
Sven Verdoolaege [Wed, 17 Feb 2010 21:09:48 +0000 (22:09 +0100)]
isl_map_transitive_closure: intersect with domain and range before projection

This will allow us to compute powers per component in the graph of disjuncts.

14 years agoisl_map_transitive_closure: extract out construction of extended path
Sven Verdoolaege [Mon, 15 Feb 2010 20:47:26 +0000 (21:47 +0100)]
isl_map_transitive_closure: extract out construction of extended path

14 years agoisl_map_transitive_closure: move acyclicity test up to where path is constructed
Sven Verdoolaege [Wed, 17 Feb 2010 18:46:14 +0000 (19:46 +0100)]
isl_map_transitive_closure: move acyclicity test up to where path is constructed

This will allow us to compute acyclicity per component in the graph
of disjuncts.

14 years agoadd isl_set_lower_bound_si
Sven Verdoolaege [Tue, 16 Feb 2010 11:26:10 +0000 (12:26 +0100)]
add isl_set_lower_bound_si

14 years agoisl_map_print: use consistent names on all disjuncts
Sven Verdoolaege [Wed, 17 Feb 2010 18:39:42 +0000 (19:39 +0100)]
isl_map_print: use consistent names on all disjuncts

Although the dimension specifications of the basic maps in a map
are compatible with that of the map itself, the names need not
be the same.  Use the dimension specification of the map itself
whenever we need to print out a name to ensure the names are
consistent.

14 years agoisl_cat: allow specification of output format on command line
Sven Verdoolaege [Mon, 15 Feb 2010 21:25:23 +0000 (22:25 +0100)]
isl_cat: allow specification of output format on command line

14 years agoisl_map_print: support ISL_FORMAT_POLYLIB
Sven Verdoolaege [Mon, 15 Feb 2010 21:24:56 +0000 (22:24 +0100)]
isl_map_print: support ISL_FORMAT_POLYLIB

14 years agoisl_map_coalesce: fix some regressions introduced by recent extensions
Sven Verdoolaege [Wed, 17 Feb 2010 18:16:17 +0000 (19:16 +0100)]
isl_map_coalesce: fix some regressions introduced by recent extensions

c4dc489 (isl_map_coalesce: handle more cases) extended the possibilities
for fusing two basic maps, but introduced some regressions.
Specifically, a "continue" was missing and the code for copying
integer division definitions was removed by mistake.

14 years agoadd isl_closure test application
Sven Verdoolaege [Sun, 14 Feb 2010 18:04:13 +0000 (19:04 +0100)]
add isl_closure test application

14 years agoadd transitive closure example from Kelly's 1996 paper
Sven Verdoolaege [Sat, 13 Feb 2010 20:15:40 +0000 (21:15 +0100)]
add transitive closure example from Kelly's 1996 paper

14 years agoisl_map_transitive_closure: construct general paths
Sven Verdoolaege [Sat, 13 Feb 2010 22:10:07 +0000 (23:10 +0100)]
isl_map_transitive_closure: construct general paths

14 years agoisl_map_transitive_closure: prepare for the construction of general paths
Sven Verdoolaege [Sat, 13 Feb 2010 14:20:46 +0000 (15:20 +0100)]
isl_map_transitive_closure: prepare for the construction of general paths

In particular, integrate the collection of constant steps in construct_path.

14 years agoisl_map_transitive_closure: construct paths that can be composed
Sven Verdoolaege [Sat, 13 Feb 2010 13:36:23 +0000 (14:36 +0100)]
isl_map_transitive_closure: construct paths that can be composed

In particular, keep track of the number of steps in an extra
coordinates such that composition simply sums the number of steps.

14 years agoisl_transitive_closure: extract out construction of path from map_power
Sven Verdoolaege [Sat, 13 Feb 2010 13:51:44 +0000 (14:51 +0100)]
isl_transitive_closure: extract out construction of path from map_power

We want to generalize the construction to general mappings in a later
commit.

14 years agoisl_map_transitive_closure: use more generic acyclicity test
Sven Verdoolaege [Sat, 13 Feb 2010 13:02:00 +0000 (14:02 +0100)]
isl_map_transitive_closure: use more generic acyclicity test

14 years agoisl_map_print: add parentheses around disjuncts
Sven Verdoolaege [Mon, 15 Feb 2010 09:14:08 +0000 (10:14 +0100)]
isl_map_print: add parentheses around disjuncts

14 years agoisl_hash_table: use size that corresponds to the number of bits
Sven Verdoolaege [Mon, 15 Feb 2010 09:00:39 +0000 (10:00 +0100)]
isl_hash_table: use size that corresponds to the number of bits

14 years agoisl_hash_table: grow table when we run out of entries
Sven Verdoolaege [Mon, 15 Feb 2010 08:46:01 +0000 (09:46 +0100)]
isl_hash_table: grow table when we run out of entries

14 years agoisl_map_coalesce: only use non-redundant constraints as potential facets
Sven Verdoolaege [Mon, 15 Feb 2010 08:25:18 +0000 (09:25 +0100)]
isl_map_coalesce: only use non-redundant constraints as potential facets

14 years agoadd isl_set_fix_si
Sven Verdoolaege [Sat, 13 Feb 2010 10:05:40 +0000 (11:05 +0100)]
add isl_set_fix_si

14 years agoisl_map_read: accept chains of comparisons
Sven Verdoolaege [Sat, 13 Feb 2010 09:39:01 +0000 (10:39 +0100)]
isl_map_read: accept chains of comparisons

14 years agoexport isl_map_align_divs
Sven Verdoolaege [Wed, 10 Feb 2010 10:25:25 +0000 (11:25 +0100)]
export isl_map_align_divs

14 years agoisl_map_read: forget existentially quantified variables after each disjunct
Sven Verdoolaege [Wed, 10 Feb 2010 10:14:17 +0000 (11:14 +0100)]
isl_map_read: forget existentially quantified variables after each disjunct

14 years agoisl_input.c: remove needless indirection
Sven Verdoolaege [Wed, 10 Feb 2010 10:08:06 +0000 (11:08 +0100)]
isl_input.c: remove needless indirection

14 years agodoc: document how to inspect sets and relations
Sven Verdoolaege [Tue, 9 Feb 2010 15:46:55 +0000 (16:46 +0100)]
doc: document how to inspect sets and relations

14 years agoexport isl_map_compute_divs
Sven Verdoolaege [Mon, 8 Feb 2010 19:17:39 +0000 (20:17 +0100)]
export isl_map_compute_divs

14 years agoisl_constraint_div: make sure requested div is a known div
Sven Verdoolaege [Tue, 9 Feb 2010 10:48:38 +0000 (11:48 +0100)]
isl_constraint_div: make sure requested div is a known div

14 years agodoc: drop documentation of _dump functions
Sven Verdoolaege [Tue, 9 Feb 2010 10:39:55 +0000 (11:39 +0100)]
doc: drop documentation of _dump functions

We have proper output functions now, so these should no longer be used.

14 years agoisl_map_print: improve output
Sven Verdoolaege [Tue, 9 Feb 2010 10:26:08 +0000 (11:26 +0100)]
isl_map_print: improve output

14 years agoadd isl_basic_map_foreach_constraint
Sven Verdoolaege [Tue, 9 Feb 2010 14:29:12 +0000 (15:29 +0100)]
add isl_basic_map_foreach_constraint

14 years agoisl_map_coalesce: handle more cases
Sven Verdoolaege [Mon, 8 Feb 2010 18:24:16 +0000 (19:24 +0100)]
isl_map_coalesce: handle more cases

In particular, if one basic map has a single constraint that cuts
off all or part of the other basic map such that the part that is cut
off lies entirely on a hyperplane adjacent to the constraint,
then try to combine the two basic maps by adding some wrapping constraints.

14 years agoprivately export isl_set_wrap_facet
Sven Verdoolaege [Fri, 5 Feb 2010 16:11:11 +0000 (17:11 +0100)]
privately export isl_set_wrap_facet

14 years agoisl_convex_hull.c: wrap_facet: allow unbounded facets again.
Sven Verdoolaege [Fri, 5 Feb 2010 13:29:44 +0000 (14:29 +0100)]
isl_convex_hull.c: wrap_facet: allow unbounded facets again.

This reverts commit 7c08353 (isl_convex_hull.c: update wrap_facet to
the fact we only apply it on polytopes).
We want to export wrap_facet and allow it to be called on unbounded
polyhedra.

14 years agodoc: improve decription of isl_map_transitive_closure
Sven Verdoolaege [Mon, 8 Feb 2010 15:05:56 +0000 (16:05 +0100)]
doc: improve decription of isl_map_transitive_closure

14 years agoisl_map_transitive_closure: improve test for exactness
Sven Verdoolaege [Mon, 8 Feb 2010 15:04:28 +0000 (16:04 +0100)]
isl_map_transitive_closure: improve test for exactness

14 years agoadd a counter example for Theorem 1 of the COCOA paper
Sven Verdoolaege [Fri, 5 Feb 2010 09:04:51 +0000 (10:04 +0100)]
add a counter example for Theorem 1 of the COCOA paper

14 years agoadd isl_map_lower_bound_si
Sven Verdoolaege [Mon, 8 Feb 2010 14:12:17 +0000 (15:12 +0100)]
add isl_map_lower_bound_si

14 years agoisl_map_power: coalesce domain and range
Sven Verdoolaege [Mon, 8 Feb 2010 11:08:06 +0000 (12:08 +0100)]
isl_map_power: coalesce domain and range

14 years agoisl_flow.c: add missing isl_access_info_free return type
Sven Verdoolaege [Mon, 8 Feb 2010 08:36:02 +0000 (09:36 +0100)]
isl_flow.c: add missing isl_access_info_free return type

14 years agoisl_coalesce.c: fix typo in comment
Sven Verdoolaege [Fri, 5 Feb 2010 09:40:19 +0000 (10:40 +0100)]
isl_coalesce.c: fix typo in comment

14 years agoinclude/isl_int.h: argument of mp_get_memory_functions should have C linkage
Sven Verdoolaege [Sun, 7 Feb 2010 11:05:21 +0000 (12:05 +0100)]
include/isl_int.h: argument of mp_get_memory_functions should have C linkage

14 years agoisl_map_read: accept lists of affine expressions in constraints
Sven Verdoolaege [Thu, 4 Feb 2010 21:51:15 +0000 (22:51 +0100)]
isl_map_read: accept lists of affine expressions in constraints

14 years agoadd isl_mat_from_row_vec and isl_mat_vec_concat
Sven Verdoolaege [Thu, 4 Feb 2010 21:48:48 +0000 (22:48 +0100)]
add isl_mat_from_row_vec and isl_mat_vec_concat

14 years agoisl_map_read: read extended polylib format
Sven Verdoolaege [Thu, 4 Feb 2010 17:26:23 +0000 (18:26 +0100)]
isl_map_read: read extended polylib format

14 years agoadd isl_stream_next_token_on_same_line
Sven Verdoolaege [Thu, 4 Feb 2010 17:24:43 +0000 (18:24 +0100)]
add isl_stream_next_token_on_same_line

14 years agoisl_map_read: make sure polylib constraint coefficients are on a single line
Sven Verdoolaege [Thu, 4 Feb 2010 16:51:11 +0000 (17:51 +0100)]
isl_map_read: make sure polylib constraint coefficients are on a single line

14 years agoisl_{map,set}_dim: handle NULL input
Sven Verdoolaege [Thu, 4 Feb 2010 16:50:36 +0000 (17:50 +0100)]
isl_{map,set}_dim: handle NULL input

14 years agoisl_map_read: use more uniform way of reading in polylib constraint coefficients
Sven Verdoolaege [Thu, 4 Feb 2010 16:46:04 +0000 (17:46 +0100)]
isl_map_read: use more uniform way of reading in polylib constraint coefficients

14 years agoisl_transitive_closure.c: fix typo in comment
Sven Verdoolaege [Thu, 4 Feb 2010 13:08:51 +0000 (14:08 +0100)]
isl_transitive_closure.c: fix typo in comment

14 years agoisl_map_transitive_closure: use more relaxed exactness check on acyclic graphs
Sven Verdoolaege [Thu, 4 Feb 2010 12:58:40 +0000 (13:58 +0100)]
isl_map_transitive_closure: use more relaxed exactness check on acyclic graphs

In particular, for the transitive closure, we only need to check that
there is a path of _some_ length with a valid initial segment.
However, we can only do this if the corresponding graph is acyclic.
For now, we restrict ourselves to graphs that are obviously acyclic.

14 years agoadd isl_map_power and isl_map_transitive_closure
Sven Verdoolaege [Wed, 3 Feb 2010 17:29:52 +0000 (18:29 +0100)]
add isl_map_power and isl_map_transitive_closure

14 years agoisl_map_subtract.c: make some internal functions static
Sven Verdoolaege [Wed, 3 Feb 2010 17:13:49 +0000 (18:13 +0100)]
isl_map_subtract.c: make some internal functions static

14 years agoadd generic isl_map_project_out
Sven Verdoolaege [Wed, 3 Feb 2010 15:53:39 +0000 (16:53 +0100)]
add generic isl_map_project_out

14 years agoadd isl_{map,set}_add
Sven Verdoolaege [Tue, 2 Feb 2010 14:21:58 +0000 (15:21 +0100)]
add isl_{map,set}_add

14 years agorename isl_{map,set}_add to isl_{map,set}_add_basic_{map,set}
Sven Verdoolaege [Tue, 2 Feb 2010 13:39:25 +0000 (14:39 +0100)]
rename isl_{map,set}_add to isl_{map,set}_add_basic_{map,set}

14 years agoisl_set_project_out: always update dimension, even for empty sets
Sven Verdoolaege [Tue, 2 Feb 2010 13:23:02 +0000 (14:23 +0100)]
isl_set_project_out: always update dimension, even for empty sets

14 years agoisl_dim_join: don't require names of joined variables to match
Sven Verdoolaege [Tue, 2 Feb 2010 11:16:08 +0000 (12:16 +0100)]
isl_dim_join: don't require names of joined variables to match

14 years agoadd isl_map_from_domain_and_range
Sven Verdoolaege [Mon, 1 Feb 2010 16:03:54 +0000 (17:03 +0100)]
add isl_map_from_domain_and_range

14 years agoisl_stream: treat "-" as operator rather than as -1
Sven Verdoolaege [Mon, 1 Feb 2010 13:04:17 +0000 (14:04 +0100)]
isl_stream: treat "-" as operator rather than as -1

14 years agoisl_map_read: accept "strict" inequalities
Sven Verdoolaege [Mon, 1 Feb 2010 12:37:32 +0000 (13:37 +0100)]
isl_map_read: accept "strict" inequalities

14 years agoisl_input.c: fix memory deallocation problem on missing operator
Sven Verdoolaege [Mon, 1 Feb 2010 12:36:46 +0000 (13:36 +0100)]
isl_input.c: fix memory deallocation problem on missing operator

14 years agoadd dependence analysis
Sven Verdoolaege [Sun, 31 Jan 2010 20:15:48 +0000 (21:15 +0100)]
add dependence analysis

14 years agoadd isl_map_{partial_,}lexopt
Sven Verdoolaege [Sun, 31 Jan 2010 21:01:41 +0000 (22:01 +0100)]
add isl_map_{partial_,}lexopt

14 years agoadd private isl_{set,map}_make_disjoint
Sven Verdoolaege [Thu, 14 Jan 2010 20:30:26 +0000 (21:30 +0100)]
add private isl_{set,map}_make_disjoint

14 years agobasis_reduction_templ.c: fix typo in comment
Sven Verdoolaege [Sun, 31 Jan 2010 17:47:53 +0000 (18:47 +0100)]
basis_reduction_templ.c: fix typo in comment

14 years agoisl_tab_pip.c: find_solutions: break when context becomes empty
Sven Verdoolaege [Sun, 31 Jan 2010 17:29:12 +0000 (18:29 +0100)]
isl_tab_pip.c: find_solutions: break when context becomes empty

Normally, find_solutions: always operates on a non-empty context.
However, when we discover a pure-parametric cut in the main
tableau, the result of adding this cut to the context may be
an empty context.  In this case, we need to break out off the
main loop, because most code assumes the context is non-empty.

14 years agoisl_dim_equal: don't require names of input and output variables to match
Sven Verdoolaege [Tue, 26 Jan 2010 14:40:02 +0000 (15:40 +0100)]
isl_dim_equal: don't require names of input and output variables to match

14 years agoisl_dim_map: properly duplicate names
Sven Verdoolaege [Tue, 26 Jan 2010 19:50:12 +0000 (20:50 +0100)]
isl_dim_map: properly duplicate names

14 years agoisl_dim_drop: properly adjust length of names array
Sven Verdoolaege [Tue, 26 Jan 2010 19:49:11 +0000 (20:49 +0100)]
isl_dim_drop: properly adjust length of names array