platform/upstream/isl.git
14 years agoisl_map_transitive_closure: handle existentials
Sven Verdoolaege [Mon, 5 Apr 2010 20:55:17 +0000 (22:55 +0200)]
isl_map_transitive_closure: handle existentials

14 years agoisl_map_deltas: preserve dimension names
Sven Verdoolaege [Wed, 7 Apr 2010 15:18:06 +0000 (17:18 +0200)]
isl_map_deltas: preserve dimension names

14 years agoisl_map_print: support LaTeX output format
Sven Verdoolaege [Wed, 7 Apr 2010 14:03:00 +0000 (16:03 +0200)]
isl_map_print: support LaTeX output format

14 years agoisl_map_simplify: don't remove any div definitions if all divs are known
Sven Verdoolaege [Wed, 7 Apr 2010 13:59:02 +0000 (15:59 +0200)]
isl_map_simplify: don't remove any div definitions if all divs are known

isl_map_simplify is called from within compute_divs, so we need
to make sure it doesn't remove any divs just computed.
Unfortunately, being more strict about not removing any div definition
means that we break some test cases, so they are disabled now.
Perhaps we can think of a better way of making the tests pass later.

14 years agoisl_map_intersect: add special cases for empty input maps
Sven Verdoolaege [Mon, 5 Apr 2010 17:57:27 +0000 (19:57 +0200)]
isl_map_intersect: add special cases for empty input maps

In particular, if both input maps consist of a single basic map
and that of the first map turns out to be empty, then we need
to take into account that after cowing the map, it may not
have any basic maps anymore.

14 years agoisl_transitive_closure.c: path_along_delta: share code for handling {in,}equalities
Sven Verdoolaege [Mon, 5 Apr 2010 15:03:33 +0000 (17:03 +0200)]
isl_transitive_closure.c: path_along_delta: share code for handling {in,}equalities

14 years agoisl_transitive_closure.c: path_along_delta: try and avoid splitting off identity
Sven Verdoolaege [Mon, 5 Apr 2010 14:30:49 +0000 (16:30 +0200)]
isl_transitive_closure.c: path_along_delta: try and avoid splitting off identity

Usually, path_along_delta returns a union of the identity mapping and
of paths of length at least 1.  In some cases, the paths of length
0 correspond exactly to the identity mapping and then it is more
efficient to return a single mapping with paths of length at least 0.

14 years agoexport isl_qpolynomial_move_dims
Sven Verdoolaege [Sun, 4 Apr 2010 13:41:21 +0000 (15:41 +0200)]
export isl_qpolynomial_move_dims

14 years agoadd isl_qpolynomial_get_ctx
Sven Verdoolaege [Sat, 3 Apr 2010 14:47:27 +0000 (16:47 +0200)]
add isl_qpolynomial_get_ctx

14 years agoadd isl_pw_qpolynomial_fold_get_dim
Sven Verdoolaege [Sat, 3 Apr 2010 13:10:15 +0000 (15:10 +0200)]
add isl_pw_qpolynomial_fold_get_dim

14 years agoadd some qpolynomial test functions
Sven Verdoolaege [Sat, 3 Apr 2010 09:08:29 +0000 (11:08 +0200)]
add some qpolynomial test functions

14 years agoadd isl_pw_qpolynomial_fold_{max,min}
Sven Verdoolaege [Sat, 3 Apr 2010 08:49:39 +0000 (10:49 +0200)]
add isl_pw_qpolynomial_fold_{max,min}

14 years agoisl_tab_min_at_most_neg_one: restore sample value of non-redundant constraints
Sven Verdoolaege [Fri, 2 Apr 2010 20:59:43 +0000 (22:59 +0200)]
isl_tab_min_at_most_neg_one: restore sample value of non-redundant constraints

14 years agoisl_map_coalesce: avoid reconsidering pairs considered before on change
Sven Verdoolaege [Fri, 2 Apr 2010 20:45:57 +0000 (22:45 +0200)]
isl_map_coalesce: avoid reconsidering pairs considered before on change

Before, whenever anything changed (two elements get fused or one
element gets dropped), we would start all over from scratch.
Pairs that were already considered before and that are not related
to the change do not need to be reconsidered.
We may still reconsider some pairs, even after this commit.
In particular, if one element gets dropped, then we will still reconsider
all combinations with the element that did not get dropped.

14 years agoisl_tab.c: update debugging aid check_table to presence of big parameter
Sven Verdoolaege [Fri, 2 Apr 2010 15:37:02 +0000 (17:37 +0200)]
isl_tab.c: update debugging aid check_table to presence of big parameter

14 years agoisl_tab_relax: make sure no non-negative rows get a negative sample value
Sven Verdoolaege [Fri, 2 Apr 2010 15:34:02 +0000 (17:34 +0200)]
isl_tab_relax: make sure no non-negative rows get a negative sample value

14 years agoisl_tab_pip.c: always set row sign of found row to isl_tab_row_neg
Sven Verdoolaege [Fri, 2 Apr 2010 10:13:22 +0000 (12:13 +0200)]
isl_tab_pip.c: always set row sign of found row to isl_tab_row_neg

first_neg returns row that is obviously negative and usually
sets the sign of the row to isl_tab_row_neg.  However, if
the row happens to be obviously negative because the big parameter
has a negative coefficient, then it would fail to set the row sign,
while update_row_sign check that the row sign is effectively set
to isl_tab_row_neg.

14 years agoisl_printer_print_basic_{set,map}: add closing "}"
Sven Verdoolaege [Fri, 2 Apr 2010 09:03:50 +0000 (11:03 +0200)]
isl_printer_print_basic_{set,map}: add closing "}"

They were removed by accident in commit 5aef299 (add isl_printer).

14 years agoexport isl_set_split_dims
Sven Verdoolaege [Thu, 1 Apr 2010 16:13:51 +0000 (18:13 +0200)]
export isl_set_split_dims

14 years agoadd isl_set_recession_cone
Sven Verdoolaege [Thu, 1 Apr 2010 15:17:42 +0000 (17:17 +0200)]
add isl_set_recession_cone

14 years agoadd isl_set_dim_is_bounded
Sven Verdoolaege [Thu, 1 Apr 2010 14:39:52 +0000 (16:39 +0200)]
add isl_set_dim_is_bounded

14 years agoisl_map_transitive_closure: break early if input map doesn't compose with itself
Sven Verdoolaege [Wed, 31 Mar 2010 19:37:00 +0000 (21:37 +0200)]
isl_map_transitive_closure: break early if input map doesn't compose with itself

14 years agoisl_map_transitive_closure: coalesce after each step
Sven Verdoolaege [Wed, 31 Mar 2010 19:19:22 +0000 (21:19 +0200)]
isl_map_transitive_closure: coalesce after each step

Without coalescing, the number of disjuncts in the result
is exponential in the number of disjuncts in the input.

14 years agoexport isl_pw_qpolynomial_coalesce
Sven Verdoolaege [Tue, 30 Mar 2010 15:26:11 +0000 (17:26 +0200)]
export isl_pw_qpolynomial_coalesce

14 years agoisl_tab.c: unrelax: restore row if variable is non-negative
Sven Verdoolaege [Tue, 30 Mar 2010 09:56:41 +0000 (11:56 +0200)]
isl_tab.c: unrelax: restore row if variable is non-negative

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.

14 years agoisl_tab.c: cut_to_hyperplane: add extra sanity check
Sven Verdoolaege [Tue, 30 Mar 2010 09:49:21 +0000 (11:49 +0200)]
isl_tab.c: cut_to_hyperplane: add extra sanity check

14 years agoadd isl_pw_qpolynomial_fold_size
Sven Verdoolaege [Sun, 28 Mar 2010 11:11:55 +0000 (13:11 +0200)]
add isl_pw_qpolynomial_fold_size

14 years agoadd isl_pw_qpolynomial_split_dims
Sven Verdoolaege [Sun, 28 Mar 2010 11:10:40 +0000 (13:10 +0200)]
add isl_pw_qpolynomial_split_dims

14 years agoisl_qpolynomial_max: fix detection of inactive variables
Sven Verdoolaege [Sat, 27 Mar 2010 12:21:00 +0000 (13:21 +0100)]
isl_qpolynomial_max: fix detection of inactive variables

Without this patch, some active set dimensions would be treated
as inactive and effectively be removed, resulting in an incorrect maximum.

14 years agodoc: fix transitive closure example
Sven Verdoolaege [Thu, 25 Mar 2010 15:21:08 +0000 (16:21 +0100)]
doc: fix transitive closure example

14 years agoisl_convex_hull.c: valid_direction: properly normalize valid direction
Sven Verdoolaege [Tue, 23 Mar 2010 23:07:14 +0000 (00:07 +0100)]
isl_convex_hull.c: valid_direction: properly normalize valid direction

The original code would only normalize all but one of the coordinates
of the valid direction, possibly resulting in a scaled direction, which
may no longer be valid.  Normalize the whole vector, resulting in only
a change of representation and not a change of direction.

14 years agoisl_convex_hull.c: simplify computation of initial facet constraint
Sven Verdoolaege [Tue, 23 Mar 2010 13:46:50 +0000 (14:46 +0100)]
isl_convex_hull.c: simplify computation of initial facet constraint

The old implementation was needlessly complicated and apparently
incorrect (witness the extra test case).
The simplified version passes the new test case.

The new test case is based on a bug report for CLooG/isl
by Muthu Manikandan <muthumanikandan@gmail.com>.

14 years agoexport isl_pw_qpolynomial_is_zero
Sven Verdoolaege [Mon, 22 Mar 2010 20:09:55 +0000 (21:09 +0100)]
export isl_pw_qpolynomial_is_zero

14 years agoadd isl_pw_qpolynomial_fold_dim
Sven Verdoolaege [Mon, 22 Mar 2010 18:21:21 +0000 (19:21 +0100)]
add isl_pw_qpolynomial_fold_dim

14 years agoadd isl_int_get_d
Sven Verdoolaege [Mon, 22 Mar 2010 14:15:19 +0000 (15:15 +0100)]
add isl_int_get_d

14 years agoadd isl_pw_qpolynomial_min
Sven Verdoolaege [Mon, 22 Mar 2010 12:20:44 +0000 (13:20 +0100)]
add isl_pw_qpolynomial_min

14 years agoadd isl_pw_qpolynomial_fix_dim
Sven Verdoolaege [Mon, 22 Mar 2010 12:04:52 +0000 (13:04 +0100)]
add isl_pw_qpolynomial_fix_dim

14 years agoadd isl_pw_qpolynomial_add_dims
Sven Verdoolaege [Sun, 21 Mar 2010 15:36:46 +0000 (16:36 +0100)]
add isl_pw_qpolynomial_add_dims

14 years agoexport isl_dim_move
Sven Verdoolaege [Sun, 21 Mar 2010 14:42:00 +0000 (15:42 +0100)]
export isl_dim_move

14 years agoisl_pw_qpolynomial_fold_add: remove redundant quasipolynomials from folds
Sven Verdoolaege [Sun, 21 Mar 2010 13:48:48 +0000 (14:48 +0100)]
isl_pw_qpolynomial_fold_add: remove redundant quasipolynomials from folds

14 years agoisl_qpolynomial_alloc: take initial struct isl_upoly as argument
Sven Verdoolaege [Sun, 21 Mar 2010 13:06:48 +0000 (14:06 +0100)]
isl_qpolynomial_alloc: take initial struct isl_upoly as argument

14 years agoadd isl_set_solve_lp
Sven Verdoolaege [Sun, 21 Mar 2010 12:24:47 +0000 (13:24 +0100)]
add isl_set_solve_lp

14 years agoisl_polynomial.c: separate out fold functionality to isl_fold.c
Sven Verdoolaege [Sat, 20 Mar 2010 16:15:51 +0000 (17:15 +0100)]
isl_polynomial.c: separate out fold functionality to isl_fold.c

14 years agoisl_pw_qpolynomial_{fold_,}print: set output format
Sven Verdoolaege [Sat, 20 Mar 2010 15:58:39 +0000 (16:58 +0100)]
isl_pw_qpolynomial_{fold_,}print: set output format

14 years agoimprove isl_pw_qpolynomial_move
Sven Verdoolaege [Sat, 20 Mar 2010 14:46:54 +0000 (15:46 +0100)]
improve isl_pw_qpolynomial_move

14 years agoadd isl_mat_move_cols
Sven Verdoolaege [Sat, 20 Mar 2010 13:19:05 +0000 (14:19 +0100)]
add isl_mat_move_cols

14 years agoadd isl_pw_qpolynomial_drop_dims
Sven Verdoolaege [Fri, 19 Mar 2010 16:51:21 +0000 (17:51 +0100)]
add isl_pw_qpolynomial_drop_dims

14 years agoadd isl_set_drop
Sven Verdoolaege [Fri, 19 Mar 2010 16:23:04 +0000 (17:23 +0100)]
add isl_set_drop

14 years agoadd isl_pw_qpolynomial_involves_dims
Sven Verdoolaege [Fri, 19 Mar 2010 16:08:47 +0000 (17:08 +0100)]
add isl_pw_qpolynomial_involves_dims

14 years agoisl_stream: accept "%" token
Sven Verdoolaege [Thu, 18 Mar 2010 16:43:59 +0000 (17:43 +0100)]
isl_stream: accept "%" token

14 years agodoc: fix typo
Sven Verdoolaege [Thu, 18 Mar 2010 12:47:02 +0000 (13:47 +0100)]
doc: fix typo

14 years agoadd basic isl_pw_qpolynomial_fold_coalesce
Sven Verdoolaege [Wed, 17 Mar 2010 16:23:03 +0000 (17:23 +0100)]
add basic isl_pw_qpolynomial_fold_coalesce

14 years agoadd isl_pw_qpolynomial_fold_get_ctx
Sven Verdoolaege [Wed, 17 Mar 2010 11:48:15 +0000 (12:48 +0100)]
add isl_pw_qpolynomial_fold_get_ctx

14 years agoisl_printer_print_pw_qpolynomial{,_fold}: allow printing in "C" format
Sven Verdoolaege [Wed, 17 Mar 2010 11:32:52 +0000 (12:32 +0100)]
isl_printer_print_pw_qpolynomial{,_fold}: allow printing in "C" format

14 years agoadd isl_qpolynomial_get_den
Sven Verdoolaege [Wed, 17 Mar 2010 11:07:15 +0000 (12:07 +0100)]
add isl_qpolynomial_get_den

14 years agoadd isl_pw_qpolynomial_gist and isl_pw_qpolynomial_fold_gist
Sven Verdoolaege [Tue, 16 Mar 2010 15:42:59 +0000 (16:42 +0100)]
add isl_pw_qpolynomial_gist and isl_pw_qpolynomial_fold_gist

14 years agoexport isl_map_gist
Sven Verdoolaege [Thu, 18 Mar 2010 13:23:58 +0000 (14:23 +0100)]
export isl_map_gist

14 years agoadd isl_map_insert
Sven Verdoolaege [Tue, 16 Mar 2010 11:47:28 +0000 (12:47 +0100)]
add isl_map_insert

14 years agoadd isl_printer
Sven Verdoolaege [Thu, 18 Mar 2010 09:34:13 +0000 (10:34 +0100)]
add isl_printer

14 years agoadd isl_pw_qpolynomial_max
Sven Verdoolaege [Sun, 14 Mar 2010 21:49:39 +0000 (22:49 +0100)]
add isl_pw_qpolynomial_max

14 years agoisl_qpolynomial_add: replace 0-degree polynomials by their constant terms
Sven Verdoolaege [Sun, 14 Mar 2010 21:14:40 +0000 (22:14 +0100)]
isl_qpolynomial_add: replace 0-degree polynomials by their constant terms

14 years agoadd isl_set_eliminate
Sven Verdoolaege [Sun, 14 Mar 2010 21:09:15 +0000 (22:09 +0100)]
add isl_set_eliminate

14 years agoisl_map_range: optimize case where the number of input dimensions is zero
Sven Verdoolaege [Sun, 14 Mar 2010 21:07:48 +0000 (22:07 +0100)]
isl_map_range: optimize case where the number of input dimensions is zero

14 years agoisl_pw_qpolynomial_print: fix printing of unnamed piecewise quasipolynomials
Sven Verdoolaege [Sun, 14 Mar 2010 17:28:45 +0000 (18:28 +0100)]
isl_pw_qpolynomial_print: fix printing of unnamed piecewise quasipolynomials

14 years agodocument transitive closure implementation
Sven Verdoolaege [Sat, 13 Mar 2010 23:10:53 +0000 (00:10 +0100)]
document transitive closure implementation

14 years agoisl_stream: accept "." token
Sven Verdoolaege [Sat, 13 Mar 2010 18:45:08 +0000 (19:45 +0100)]
isl_stream: accept "." token

14 years agoadd isl_pw_*_intersect_domain
Sven Verdoolaege [Thu, 11 Mar 2010 14:26:38 +0000 (15:26 +0100)]
add isl_pw_*_intersect_domain

14 years agoadd isl_pw_*_domain
Sven Verdoolaege [Thu, 11 Mar 2010 14:13:11 +0000 (15:13 +0100)]
add isl_pw_*_domain

14 years agoisl 0.02 isl-0.02
Sven Verdoolaege [Wed, 10 Mar 2010 15:27:50 +0000 (16:27 +0100)]
isl 0.02

14 years agoisl_pw_templ.c: copy: fix return
Sven Verdoolaege [Wed, 10 Mar 2010 16:32:00 +0000 (17:32 +0100)]
isl_pw_templ.c: copy: fix return

14 years agoisl_polynomial.c: qpolynomial_fold_alloc: fix up condition
Sven Verdoolaege [Wed, 10 Mar 2010 16:00:12 +0000 (17:00 +0100)]
isl_polynomial.c: qpolynomial_fold_alloc: fix up condition

14 years agoupdate AUTHORS
Sven Verdoolaege [Wed, 10 Mar 2010 15:25:37 +0000 (16:25 +0100)]
update AUTHORS

14 years agoisl_pip: use isl_set_print instead of isl_set_dump to print results
Sven Verdoolaege [Wed, 10 Mar 2010 12:43:52 +0000 (13:43 +0100)]
isl_pip: use isl_set_print instead of isl_set_dump to print results

14 years agoadd some pip tests from the piplib distribution
Sven Verdoolaege [Wed, 10 Mar 2010 12:40:08 +0000 (13:40 +0100)]
add some pip tests from the piplib distribution

14 years agodon't print newline in ISL_FORMAT_ISL
Sven Verdoolaege [Wed, 10 Mar 2010 14:22:26 +0000 (15:22 +0100)]
don't print newline in ISL_FORMAT_ISL

14 years agouse typedef to ensure argument to mp_get_memory_functions has C linkage
Sven Verdoolaege [Tue, 9 Mar 2010 15:49:39 +0000 (16:49 +0100)]
use typedef to ensure argument to mp_get_memory_functions has C linkage

14 years agoadd isl_obj_pw_qpolynomial_fold
Sven Verdoolaege [Mon, 8 Mar 2010 21:26:35 +0000 (22:26 +0100)]
add isl_obj_pw_qpolynomial_fold

14 years agoadd isl_pw_qpolynomial_fold_eval
Sven Verdoolaege [Tue, 9 Mar 2010 10:47:02 +0000 (11:47 +0100)]
add isl_pw_qpolynomial_fold_eval

14 years agoadd isl_pw_qpolynomial_fold
Sven Verdoolaege [Mon, 8 Mar 2010 14:04:57 +0000 (15:04 +0100)]
add isl_pw_qpolynomial_fold

14 years agoadd isl_pw_qpolynomial_foreach_lifted_piece
Sven Verdoolaege [Sun, 7 Mar 2010 18:01:09 +0000 (19:01 +0100)]
add isl_pw_qpolynomial_foreach_lifted_piece

14 years agoadd isl_set_lift
Sven Verdoolaege [Sun, 7 Mar 2010 17:58:51 +0000 (18:58 +0100)]
add isl_set_lift

14 years agoadd isl_set_from_point
Sven Verdoolaege [Sun, 7 Mar 2010 17:57:57 +0000 (18:57 +0100)]
add isl_set_from_point

14 years agoadd isl_mat_insert_cols
Sven Verdoolaege [Sun, 7 Mar 2010 17:56:19 +0000 (18:56 +0100)]
add isl_mat_insert_cols

14 years agoadd isl_pw_qpolynomial_dim
Sven Verdoolaege [Sun, 7 Mar 2010 09:56:10 +0000 (10:56 +0100)]
add isl_pw_qpolynomial_dim

14 years agoadd isl_pw_qpolynomial_foreach_piece
Sven Verdoolaege [Sat, 6 Mar 2010 15:57:09 +0000 (16:57 +0100)]
add isl_pw_qpolynomial_foreach_piece

14 years agoadd isl_pw_qpolynomial_get_dim
Sven Verdoolaege [Fri, 5 Mar 2010 11:54:17 +0000 (12:54 +0100)]
add isl_pw_qpolynomial_get_dim

14 years agoadd isl_div_dim
Sven Verdoolaege [Sat, 6 Mar 2010 13:53:13 +0000 (14:53 +0100)]
add isl_div_dim

14 years agoisl_stream: allow "_" in tokens
Sven Verdoolaege [Tue, 9 Mar 2010 11:31:19 +0000 (12:31 +0100)]
isl_stream: allow "_" in tokens

14 years agoisl_stream: accept "@" token
Sven Verdoolaege [Sun, 7 Mar 2010 17:55:57 +0000 (18:55 +0100)]
isl_stream: accept "@" token

14 years agoisl_map_read: accept '*' in affine expressions
Sven Verdoolaege [Sat, 6 Mar 2010 15:43:10 +0000 (16:43 +0100)]
isl_map_read: accept '*' in affine expressions

14 years agoisl_qpolynomial_eval: use consistent dimension for result
Sven Verdoolaege [Sun, 7 Mar 2010 18:00:10 +0000 (19:00 +0100)]
isl_qpolynomial_eval: use consistent dimension for result

14 years agodoc: update to removal of piplib as a submodule
Sven Verdoolaege [Thu, 4 Mar 2010 16:04:33 +0000 (17:04 +0100)]
doc: update to removal of piplib as a submodule

14 years agodoc: fix typo
Sven Verdoolaege [Thu, 4 Mar 2010 15:15:29 +0000 (16:15 +0100)]
doc: fix typo

14 years agoisl_stream_read_obj: add support for reading piecewise quasipolynomials
Sven Verdoolaege [Thu, 4 Mar 2010 11:33:34 +0000 (12:33 +0100)]
isl_stream_read_obj: add support for reading piecewise quasipolynomials

14 years agoadd isl_stream_read_obj
Sven Verdoolaege [Fri, 19 Feb 2010 12:11:21 +0000 (13:11 +0100)]
add isl_stream_read_obj

14 years agoadd generic isl_obj
Sven Verdoolaege [Thu, 4 Mar 2010 10:37:21 +0000 (11:37 +0100)]
add generic isl_obj

14 years agoadd support for (piecewise) quasipolynomials
Sven Verdoolaege [Thu, 4 Mar 2010 11:33:24 +0000 (12:33 +0100)]
add support for (piecewise) quasipolynomials

14 years agoadd isl_map_move
Sven Verdoolaege [Thu, 4 Mar 2010 09:01:54 +0000 (10:01 +0100)]
add isl_map_move

14 years agoisl_stream: parse NaN
Sven Verdoolaege [Wed, 3 Mar 2010 22:04:34 +0000 (23:04 +0100)]
isl_stream: parse NaN

14 years agoisl_stream: parse infty
Sven Verdoolaege [Wed, 3 Mar 2010 21:22:21 +0000 (22:22 +0100)]
isl_stream: parse infty