Sven Verdoolaege [Mon, 7 Jun 2010 13:29:25 +0000 (15:29 +0200)]
extract out generic part of isl_pw_qpolynomial_bound_range
Sven Verdoolaege [Sat, 12 Jun 2010 02:50:06 +0000 (04:50 +0200)]
isl_pw_qpolynomial_bound_range: also set exactness in special cases
Sven Verdoolaege [Mon, 7 Jun 2010 12:19:53 +0000 (14:19 +0200)]
add isl_basic_set_factorizer
Sven Verdoolaege [Mon, 7 Jun 2010 11:30:40 +0000 (13:30 +0200)]
export isl_pw_qpolynomial_fold_drop_dims
Sven Verdoolaege [Mon, 7 Jun 2010 11:28:28 +0000 (13:28 +0200)]
export isl_qpolynomial_is_zero
Sven Verdoolaege [Sun, 6 Jun 2010 15:59:59 +0000 (17:59 +0200)]
add isl_qpolynomial_coeff
Sven Verdoolaege [Sun, 6 Jun 2010 13:05:54 +0000 (15:05 +0200)]
add isl_qpolynomial_from_affine
Sven Verdoolaege [Sun, 6 Jun 2010 12:51:07 +0000 (14:51 +0200)]
export isl_qpolynomial_add_dims
Sven Verdoolaege [Sun, 6 Jun 2010 12:12:47 +0000 (14:12 +0200)]
add isl_qpolynomial_homogenize
Sven Verdoolaege [Sun, 6 Jun 2010 12:12:47 +0000 (14:12 +0200)]
add isl_qpolynomial_degree
Sven Verdoolaege [Sat, 12 Jun 2010 09:14:31 +0000 (11:14 +0200)]
add isl_qpolynomial_insert_dims
Sven Verdoolaege [Sun, 6 Jun 2010 12:12:29 +0000 (14:12 +0200)]
add isl_qpolynomial_dim
Sven Verdoolaege [Sat, 5 Jun 2010 17:07:35 +0000 (19:07 +0200)]
isl_ctx: add two
Sven Verdoolaege [Sat, 5 Jun 2010 14:23:04 +0000 (16:23 +0200)]
isl_tab_detect_implicit_equalities: return integer instead of struct isl_tab *
Sven Verdoolaege [Tue, 25 May 2010 11:33:31 +0000 (13:33 +0200)]
add isl_tab_sign_of_max
Make sure it's not called on zero or redundant constraints, though.
A zero constraint, in particular a dead column, could mistakenly be
considered to be manifestly unbounded. Redundant constraints could
end up getting pivoted, which would destroy the invariant.
The internal code would never call sign_of_max on such constraints,
but external users may not be aware of this restriction.
Sven Verdoolaege [Tue, 25 May 2010 11:22:51 +0000 (13:22 +0200)]
isl_tab_select_facet: return int instead of isl_tab *
Sven Verdoolaege [Tue, 25 May 2010 08:23:58 +0000 (10:23 +0200)]
add isl_basic_set_full_compression
Sven Verdoolaege [Mon, 24 May 2010 16:23:01 +0000 (18:23 +0200)]
privately export isl_pw_qpolynomial_morph
Sven Verdoolaege [Mon, 24 May 2010 15:04:56 +0000 (17:04 +0200)]
add isl_qpolynomial_fold_foreach_qpolynomial
Sven Verdoolaege [Mon, 24 May 2010 15:04:26 +0000 (17:04 +0200)]
add isl_pw_qpolynomial_fold_foreach_lifted_piece
Sven Verdoolaege [Mon, 24 May 2010 15:02:38 +0000 (17:02 +0200)]
export isl_pw_qpolynomial_fold_is_zero
Sven Verdoolaege [Mon, 24 May 2010 15:01:12 +0000 (17:01 +0200)]
privately export isl_morph_alloc and isl_morph_identity
Sven Verdoolaege [Mon, 24 May 2010 14:59:16 +0000 (16:59 +0200)]
add isl_qpolynomial_fold_get_type
Sven Verdoolaege [Mon, 24 May 2010 14:57:47 +0000 (16:57 +0200)]
export isl_pw_qpolynomial_get_ctx
Sven Verdoolaege [Sun, 23 May 2010 16:23:04 +0000 (18:23 +0200)]
add isl_ctx_peek_options
Sven Verdoolaege [Sun, 23 May 2010 14:30:42 +0000 (16:30 +0200)]
isl_range.c: fix typo in comment
Sven Verdoolaege [Sun, 23 May 2010 14:27:32 +0000 (16:27 +0200)]
export isl_set_is_bounded
Sven Verdoolaege [Mon, 7 Jun 2010 14:51:39 +0000 (16:51 +0200)]
isl_bound: plug memory leak
Sven Verdoolaege [Mon, 7 Jun 2010 13:55:37 +0000 (15:55 +0200)]
fix isl_qpolynomial_fold_dup
Sven Verdoolaege [Tue, 25 May 2010 08:22:50 +0000 (10:22 +0200)]
isl_pw_qpolynomial_bound_range: fix removal of dims after compression
Sven Verdoolaege [Sat, 12 Jun 2010 11:15:29 +0000 (13:15 +0200)]
add bound_test.sh to distribution
Sven Verdoolaege [Fri, 11 Jun 2010 18:53:54 +0000 (20:53 +0200)]
doc: document gist operations
Sven Verdoolaege [Fri, 4 Jun 2010 18:41:00 +0000 (20:41 +0200)]
doc: document isl_constraint_is_equality
Sven Verdoolaege [Fri, 4 Jun 2010 18:20:37 +0000 (20:20 +0200)]
add isl_map_is_single_valued
Sven Verdoolaege [Fri, 4 Jun 2010 17:08:34 +0000 (19:08 +0200)]
isl_basic_map_foreach_constraint: make sure input has been finalized
Each constraint gets a copy of the input and a line from the constraint
matrix of the input. If the input wouldn't be finalized, then the copy
would create a duplicate and then the line wouldn't match the basic map.
This is problematic for especially isl_constraint_is_equality.
Sven Verdoolaege [Thu, 3 Jun 2010 16:36:56 +0000 (18:36 +0200)]
isl_basic_map_copy: mark duplicated copy as finalized
If an unfinalized copy is needed, the caller will perform an
isl_basic_map_cow on the copy.
Sven Verdoolaege [Thu, 3 Jun 2010 16:34:04 +0000 (18:34 +0200)]
isl_basic_set_lift: finalize result
Sven Verdoolaege [Thu, 3 Jun 2010 16:33:14 +0000 (18:33 +0200)]
isl_basic_map_move_dims: always finalize result
Sven Verdoolaege [Thu, 3 Jun 2010 16:32:26 +0000 (18:32 +0200)]
isl_basic_map_from_constraint: finalize result
Sven Verdoolaege [Wed, 26 May 2010 18:51:25 +0000 (20:51 +0200)]
isl_access_info_compute_flow: handle may accesses
Sven Verdoolaege [Wed, 26 May 2010 20:30:49 +0000 (22:30 +0200)]
isl_access_info_compute_flow: handle multi-valued sink access relations
In particular, if any given sink iteration accesses more than one
data element, then we compute dependences for each of these data elements.
Before, we would only compute a dependence for the data elements
that was accessed last before the sink.
Sven Verdoolaege [Sun, 30 May 2010 15:17:03 +0000 (17:17 +0200)]
remove some unused variables
Sven Verdoolaege [Sun, 30 May 2010 14:34:08 +0000 (16:34 +0200)]
fix some icc warnings
Sven Verdoolaege [Mon, 24 May 2010 16:04:24 +0000 (18:04 +0200)]
rename isl_pw_qpolynomial_move and add isl_pw_qpolynomial_fold_move_dims
Sven Verdoolaege [Fri, 21 May 2010 14:26:43 +0000 (16:26 +0200)]
isl_ctx: keep track of user options
Sven Verdoolaege [Tue, 18 May 2010 09:56:46 +0000 (11:56 +0200)]
improved argument parsing
Sven Verdoolaege [Sat, 15 May 2010 14:40:46 +0000 (16:40 +0200)]
isl_options_parse: print help message
Sven Verdoolaege [Mon, 10 May 2010 11:14:49 +0000 (13:14 +0200)]
add isl_bound test application
Sven Verdoolaege [Sat, 8 May 2010 09:43:15 +0000 (11:43 +0200)]
add isl_pw_qpolynomial_bound_range
Sven Verdoolaege [Wed, 12 May 2010 20:58:02 +0000 (22:58 +0200)]
add isl_pw_qpolynomial_fold_morph
Sven Verdoolaege [Wed, 12 May 2010 09:36:58 +0000 (11:36 +0200)]
add rudimentary isl_morph
Sven Verdoolaege [Thu, 13 May 2010 11:40:22 +0000 (13:40 +0200)]
add isl_seq_set
Sven Verdoolaege [Wed, 12 May 2010 21:08:21 +0000 (23:08 +0200)]
isl_equalities.c: fix typo in comment
Sven Verdoolaege [Wed, 12 May 2010 09:36:19 +0000 (11:36 +0200)]
add isl_mat_insert_rows
Sven Verdoolaege [Wed, 12 May 2010 09:35:54 +0000 (11:35 +0200)]
add isl_mat_normalize
Sven Verdoolaege [Wed, 12 May 2010 09:34:55 +0000 (11:34 +0200)]
add isl_mat_diagonal
Sven Verdoolaege [Wed, 12 May 2010 09:33:33 +0000 (11:33 +0200)]
isl_mat_lin_to_aff: fix error handling
Sven Verdoolaege [Wed, 12 May 2010 09:30:46 +0000 (11:30 +0200)]
isl_qpolynomial_opt_on_domain: handle empty input
Sven Verdoolaege [Wed, 12 May 2010 09:29:06 +0000 (11:29 +0200)]
isl_name_alloc: fix error handling
Sven Verdoolaege [Wed, 12 May 2010 09:27:14 +0000 (11:27 +0200)]
add isl_dim_offset
Sven Verdoolaege [Tue, 11 May 2010 11:25:32 +0000 (13:25 +0200)]
isl_equalities.c: fix typos in comments
Sven Verdoolaege [Mon, 10 May 2010 10:56:42 +0000 (12:56 +0200)]
add isl_pw_qpolynomial_fold_covers
Sven Verdoolaege [Sun, 9 May 2010 17:25:41 +0000 (19:25 +0200)]
add isl_qpolynomial_le_cst
Sven Verdoolaege [Sun, 9 May 2010 14:06:52 +0000 (16:06 +0200)]
privately export isl_set_is_bounded
Sven Verdoolaege [Sat, 8 May 2010 17:23:08 +0000 (19:23 +0200)]
add isl_set_count_upto
Sven Verdoolaege [Sat, 8 May 2010 17:08:10 +0000 (19:08 +0200)]
add isl_set_scan
Sven Verdoolaege [Sat, 8 May 2010 10:19:49 +0000 (12:19 +0200)]
add isl_stream_read_pw_qpolynomial
Sven Verdoolaege [Mon, 3 May 2010 20:52:51 +0000 (22:52 +0200)]
add isl_qpolynomial_from_term
Sven Verdoolaege [Mon, 3 May 2010 20:03:39 +0000 (22:03 +0200)]
add isl_qpolynomial_from_constraint
Sven Verdoolaege [Mon, 3 May 2010 17:05:32 +0000 (19:05 +0200)]
add isl_basic_set_foreach_bound_pair
Sven Verdoolaege [Sat, 1 May 2010 12:09:59 +0000 (14:09 +0200)]
add isl_qpolynomial_as_polynomial_on_domain
Sven Verdoolaege [Mon, 10 May 2010 19:33:43 +0000 (21:33 +0200)]
add isl_qpolynomial_substitute
Sven Verdoolaege [Sat, 24 Apr 2010 17:13:17 +0000 (19:13 +0200)]
add isl_basic_set_dims_get_sign
Sven Verdoolaege [Mon, 3 May 2010 18:56:34 +0000 (20:56 +0200)]
isl_ctx: add zero
Sven Verdoolaege [Mon, 3 May 2010 18:43:06 +0000 (20:43 +0200)]
add isl_qpolynomial_neginfty
Sven Verdoolaege [Mon, 3 May 2010 17:04:17 +0000 (19:04 +0200)]
add isl_basic_set_drop
Sven Verdoolaege [Mon, 3 May 2010 16:58:17 +0000 (18:58 +0200)]
isl_qpolynomial_fold_opt_on_domain: fix typo
Sven Verdoolaege [Mon, 3 May 2010 16:57:18 +0000 (18:57 +0200)]
isl_pw_*_eval: fix handling of empty input
Sven Verdoolaege [Sun, 2 May 2010 17:57:47 +0000 (19:57 +0200)]
add isl_basic_set_move_dims
Sven Verdoolaege [Sun, 2 May 2010 16:17:30 +0000 (18:17 +0200)]
export isl_qpolynomial_sub
Sven Verdoolaege [Sun, 2 May 2010 16:11:57 +0000 (18:11 +0200)]
add isl_qpolynomial_get_dim
Sven Verdoolaege [Tue, 4 May 2010 06:10:12 +0000 (08:10 +0200)]
isl_map_transitive_closure: coalesce input before checking closedness of input
Sven Verdoolaege [Sun, 2 May 2010 08:14:37 +0000 (10:14 +0200)]
add map_lex_*_first
Sven Verdoolaege [Sat, 1 May 2010 17:11:12 +0000 (19:11 +0200)]
isl_map_lex_le: use one basic set less in result
Sven Verdoolaege [Sat, 1 May 2010 17:08:46 +0000 (19:08 +0200)]
isl_stream: accept lexicographic operators
Sven Verdoolaege [Wed, 28 Apr 2010 21:45:49 +0000 (23:45 +0200)]
isl_map_transitive_closure: check if input is closed already
Sven Verdoolaege [Sat, 24 Apr 2010 15:43:32 +0000 (17:43 +0200)]
add isl_printer_flush
Sven Verdoolaege [Wed, 28 Apr 2010 14:26:27 +0000 (16:26 +0200)]
isl_map_read: parse parametric Omega input
Sven Verdoolaege [Wed, 28 Apr 2010 14:26:01 +0000 (16:26 +0200)]
isl_map_read: fix typo
Sven Verdoolaege [Wed, 28 Apr 2010 09:58:32 +0000 (11:58 +0200)]
isl_convex_hull.c: is_bound: any inequality is a bound on an empty set
Sven Verdoolaege [Wed, 28 Apr 2010 09:55:44 +0000 (11:55 +0200)]
isl_convex_hull.c: add_bounds: propagate errors from add_bound
Sven Verdoolaege [Sun, 25 Apr 2010 13:38:00 +0000 (15:38 +0200)]
document isl_map_reverse
Sven Verdoolaege [Sat, 24 Apr 2010 09:46:15 +0000 (11:46 +0200)]
isl_stream_next_token: terminate string tokens
Sven Verdoolaege [Fri, 23 Apr 2010 21:45:01 +0000 (23:45 +0200)]
isl_map_transitive_closure: treat equality as pair of ineq for mixed constraints
Sven Verdoolaege [Wed, 21 Apr 2010 13:53:01 +0000 (15:53 +0200)]
isl_map_transitive_closure, omega-like: only use ?-closure if result is exact
Sven Verdoolaege [Tue, 20 Apr 2010 22:05:02 +0000 (00:05 +0200)]
isl_map_transitive_closure: use simple hull in omega-like implementation
Sven Verdoolaege [Fri, 16 Apr 2010 15:36:29 +0000 (17:36 +0200)]
isl_map_transitive_closure: try and compute closure incrementally
Sven Verdoolaege [Sun, 18 Apr 2010 15:50:05 +0000 (17:50 +0200)]
isl_map_coalesce: allow wrapping in sets that stick out in different directions
Before, we would only wrap in sets that extend beyond exactly
one facet of a given set and such that the wrapped in set itself
has a facet that is adjacent to this facet.
We now extend this process in several ways.
First, the wrapped-in set is allowed to extend beyond several facets.
Second, the wrapped-in set need not have facets adjacent to these facets.
It is sufficient that the adjacent facets are valid for the wrapped-in set.
Finally, the wrapped-in set is allowed to be of a lower dimension.
Sven Verdoolaege [Sun, 18 Apr 2010 16:37:56 +0000 (18:37 +0200)]
isl_map_coalesce: allowing cutting equalities in adjacent facet
From the start, we have been very careful not to allow any cutting
equalities anywhere. However, it makes sense to wrap in a piece
of a hyperplane adjacent to a facet, even if this piece is
lower-dimensional.
Sven Verdoolaege [Thu, 22 Apr 2010 06:42:32 +0000 (08:42 +0200)]
add some more coalescing test cases