Polly 20.0.0git
|
#include <isl/aff.h>
#include <isl/vec.h>
#include <isl/mat.h>
#include <isl/local_space.h>
#include <isl_int.h>
#include <isl_reordering.h>
#include <isl/stream.h>
#include <isl_list_templ.h>
#include <isl_pw_templ.h>
#include <isl_multi_templ.h>
Go to the source code of this file.
Classes | |
struct | isl_aff |
struct | isl_pw_aff_piece |
struct | isl_pw_aff |
struct | isl_pw_multi_aff_piece |
struct | isl_pw_multi_aff |
Macros | |
#define | EL isl_aff |
#define | PW isl_pw_aff |
#define | EL isl_pw_aff |
#define | PW isl_pw_multi_aff |
#define | BASE aff |
#define | EL isl_pw_multi_aff |
#define | BASE pw_aff |
#define | DOMBASE set |
#define | EXPLICIT_DOMAIN |
#define | EL isl_union_pw_aff |
#define | BASE union_pw_aff |
#define | DOMBASE union_set |
#define | EXPLICIT_DOMAIN |
#define | EL isl_union_pw_multi_aff |
#define BASE aff |
Definition at line 228 of file isl_aff_private.h.
#define BASE pw_aff |
Definition at line 228 of file isl_aff_private.h.
#define BASE union_pw_aff |
Definition at line 228 of file isl_aff_private.h.
#define DOMBASE set |
Definition at line 230 of file isl_aff_private.h.
#define DOMBASE union_set |
Definition at line 230 of file isl_aff_private.h.
#define EL isl_aff |
Definition at line 238 of file isl_aff_private.h.
#define EL isl_pw_aff |
Definition at line 238 of file isl_aff_private.h.
#define EL isl_pw_multi_aff |
Definition at line 238 of file isl_aff_private.h.
#define EL isl_union_pw_aff |
Definition at line 238 of file isl_aff_private.h.
#define EL isl_union_pw_multi_aff |
Definition at line 238 of file isl_aff_private.h.
#define EXPLICIT_DOMAIN |
Definition at line 231 of file isl_aff_private.h.
#define EXPLICIT_DOMAIN |
Definition at line 231 of file isl_aff_private.h.
#define PW isl_pw_aff |
Definition at line 72 of file isl_aff_private.h.
#define PW isl_pw_multi_aff |
Definition at line 72 of file isl_aff_private.h.
__isl_give isl_aff * isl_aff_add_constant | ( | __isl_take isl_aff * | aff, |
isl_int | v | ||
) |
Definition at line 913 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_free(), isl_aff_is_nan(), isl_int_addmul, isl_int_is_zero, and isl_vec_cow().
Referenced by accept_affine_factor(), and isl_aff_add_constant_si().
__isl_give isl_aff * isl_aff_alloc | ( | __isl_take isl_local_space * | ls | ) |
Definition at line 124 of file isl_aff.c.
References isl_aff_alloc_vec(), isl_dim_all, isl_local_space_dim(), isl_local_space_free(), isl_local_space_get_ctx(), isl_vec_alloc(), and total().
Referenced by extract_aff_from_equality(), extract_div(), isl_aff_nan_on_domain(), isl_aff_pullback_multi_aff(), isl_aff_val_on_domain(), isl_aff_var_on_domain(), isl_aff_zero_on_domain(), isl_constraint_get_aff(), isl_constraint_get_bound(), isl_term_get_div(), pw_multi_aff_from_map_stride(), set_from_affine_matrix(), and set_minimum_pa().
__isl_give isl_aff * isl_aff_alloc_vec | ( | __isl_take isl_local_space * | ls, |
__isl_take isl_vec * | v | ||
) |
Definition at line 101 of file isl_aff.c.
References isl_aff_alloc_vec_validated(), isl_die, isl_error_invalid, isl_local_space_divs_known(), isl_local_space_free(), isl_local_space_get_ctx(), isl_local_space_is_set(), and isl_vec_free().
Referenced by isl_aff_alloc(), and isl_morph_get_var_multi_aff().
isl_stat isl_aff_check_match_domain_space | ( | __isl_keep isl_aff * | aff, |
__isl_keep isl_space * | space | ||
) |
Definition at line 3923 of file isl_aff.c.
References aff, isl_aff_get_ctx(), isl_aff_get_domain_space(), isl_die, isl_dim_in, isl_dim_set, isl_error_invalid, isl_space_free(), isl_space_has_equal_params(), isl_space_tuple_is_equal(), isl_stat_error, isl_stat_ok, and match().
isl_size isl_aff_domain_dim | ( | __isl_keep isl_aff * | aff, |
enum isl_dim_type | type | ||
) |
Definition at line 439 of file isl_aff.c.
References aff, isl_aff_peek_domain_local_space(), isl_local_space_dim(), and type.
Referenced by isl_aff_align_divs(), isl_aff_dim(), isl_aff_expand_divs(), isl_aff_remove_unused_divs(), isl_aff_substitute(), isl_aff_substitute_equalities(), plug_in_integral_divs(), plug_in_unit_divs(), print_aff_c(), and print_aff_num_base().
__isl_give isl_aff * isl_aff_domain_factor_domain | ( | __isl_take isl_aff * | aff | ) |
Referenced by compute_size_in_direction(), and isl_map_get_range_stride_info().
isl_size isl_aff_domain_offset | ( | __isl_keep isl_aff * | aff, |
enum isl_dim_type | type | ||
) |
Definition at line 464 of file isl_aff.c.
References aff, isl_aff_peek_domain_local_space(), isl_local_space_offset(), and type.
Referenced by isl_aff_expand_divs(), isl_aff_move_dims(), isl_aff_remove_unused_divs(), last_modulo(), merge_divs(), plug_in_integral_divs(), plug_in_unit_divs(), and swap_div().
__isl_give isl_aff * isl_aff_expand_divs | ( | __isl_take isl_aff * | aff, |
__isl_take isl_mat * | div, | ||
int * | exp | ||
) |
Definition at line 1821 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_domain_dim(), isl_aff_domain_offset(), isl_aff_free(), isl_dim_div, isl_local_space_replace_divs(), isl_mat_free(), isl_mat_rows(), isl_vec_expand(), and offset.
Referenced by isl_aff_add(), isl_aff_align_divs(), isl_basic_set_opt(), and isl_basic_set_opt_lp_val_aligned().
isl_bool isl_aff_matching_params | ( | __isl_keep isl_aff * | aff, |
__isl_keep isl_space * | space | ||
) |
Definition at line 3904 of file isl_aff.c.
References aff, isl_aff_get_domain_space(), isl_bool_error, isl_space_free(), isl_space_has_equal_params(), and match().
__isl_give isl_aff * isl_aff_normalize | ( | __isl_take isl_aff * | aff | ) |
Definition at line 1624 of file isl_aff.c.
References aff, isl_aff_free(), isl_aff_remove_unused_divs(), isl_vec_normalize(), plug_in_integral_divs(), plug_in_unit_divs(), and sort_divs().
Referenced by add_expanded(), isl_aff_floor(), isl_aff_pullback_multi_aff(), isl_aff_substitute_equalities_lifted(), isl_constraint_get_bound(), isl_term_get_div(), and set_from_affine_matrix().
int isl_aff_plain_cmp | ( | __isl_keep isl_aff * | aff1, |
__isl_keep isl_aff * | aff2 | ||
) |
Definition at line 7610 of file isl_aff.c.
References cmp(), isl_local_space_cmp(), isl_seq_cmp(), and isl_seq_last_non_zero().
Referenced by isl_pw_aff_plain_cmp().
__isl_give isl_basic_set * isl_aff_pos_basic_set | ( | __isl_take isl_aff * | aff | ) |
Definition at line 2342 of file isl_aff.c.
References aff, isl_aff_add_constant_num_si(), and isl_aff_nonneg_basic_set().
Referenced by isl_aff_gt_basic_set(), and isl_aff_neg_basic_set().
__isl_give isl_aff * isl_aff_realign_domain | ( | __isl_take isl_aff * | aff, |
__isl_take isl_reordering * | r | ||
) |
Definition at line 630 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_free(), isl_local_space_realign(), isl_reordering_copy(), isl_reordering_extend(), isl_reordering_free(), and isl_vec_reorder().
Referenced by isl_aff_align_params().
__isl_give isl_aff * isl_aff_remove_unused_divs | ( | __isl_take isl_aff * | aff | ) |
Definition at line 1403 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_domain_dim(), isl_aff_domain_offset(), isl_aff_free(), isl_dim_div, isl_local_space_drop_dims(), isl_seq_last_non_zero(), isl_vec_drop_els(), n, and pos().
Referenced by detect_stride(), extract_isl_aff_from_basic_map(), and isl_aff_normalize().
__isl_give isl_aff * isl_aff_reset_domain_space | ( | __isl_take isl_aff * | aff, |
__isl_take isl_space * | space | ||
) |
Definition at line 598 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_free(), isl_local_space_reset_space(), and isl_space_free().
Referenced by isl_aff_project_domain_on_params(), isl_aff_reset_space_and_domain(), and isl_multi_pw_aff_apply_aff_aligned().
__isl_give isl_aff * isl_aff_reset_space_and_domain | ( | __isl_take isl_aff * | aff, |
__isl_take isl_space * | space, | ||
__isl_take isl_space * | domain | ||
) |
Definition at line 620 of file isl_aff.c.
References aff, domain, isl_aff_reset_domain_space(), and isl_space_free().
__isl_give isl_aff * isl_aff_scale_down | ( | __isl_take isl_aff * | aff, |
isl_int | f | ||
) |
Definition at line 2025 of file isl_aff.c.
References aff, f, gcd(), isl_aff_cow(), isl_aff_free(), isl_aff_get_ctx(), isl_aff_is_nan(), isl_die, isl_error_invalid, isl_int_clear, isl_int_divexact, isl_int_gcd, isl_int_init, isl_int_is_one, isl_int_is_zero, isl_int_mul, isl_seq_gcd(), isl_seq_scale_down(), and isl_vec_cow().
Referenced by isl_aff_div(), isl_aff_mul(), isl_aff_scale_down_ui(), isl_aff_scale_down_val(), isl_aff_scale_val(), isl_pw_aff_scale_down(), and subtract_initial().
__isl_give isl_aff * isl_aff_set_coefficient | ( | __isl_take isl_aff * | aff, |
enum isl_dim_type | type, | ||
int | pos, | ||
isl_int | v | ||
) |
Definition at line 1111 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_free(), isl_aff_is_nan(), isl_die, isl_dim_in, isl_dim_out, isl_dim_set, isl_error_invalid, isl_int_set, isl_local_space_check_range(), isl_local_space_offset(), isl_vec_cow(), pos(), and type.
Referenced by extract_schedule_row().
__isl_give isl_aff * isl_aff_set_constant | ( | __isl_take isl_aff * | aff, |
isl_int | v | ||
) |
Definition at line 836 of file isl_aff.c.
References aff, isl_aff_cow(), isl_aff_free(), isl_aff_is_nan(), isl_int_set, and isl_vec_cow().
Referenced by extract_schedule_row().
__isl_give isl_aff * isl_aff_substitute_equalities | ( | __isl_take isl_aff * | aff, |
__isl_take isl_basic_set * | eq | ||
) |
Definition at line 2223 of file isl_aff.c.
References aff, isl_aff_domain_dim(), isl_aff_free(), isl_aff_substitute_equalities_lifted(), isl_basic_set_add_dims(), isl_basic_set_free(), isl_dim_div, and isl_dim_set.
Referenced by harmonize_divs_with_hulls(), isl_multi_aff_substitute_equalities(), and set_up_substitutions().
__isl_give isl_map * isl_map_intersect_multi_pw_aff_explicit_domain | ( | __isl_take isl_map * | map, |
__isl_keep isl_multi_pw_aff * | mpa | ||
) |
Definition at line 6719 of file isl_aff.c.
References isl_map_intersect_domain(), isl_multi_pw_aff_domain(), and map.
Referenced by map_from_multi_pw_aff().
__isl_give isl_multi_aff * isl_multi_aff_align_divs | ( | __isl_take isl_multi_aff * | maff | ) |
Definition at line 6139 of file isl_aff.c.
References isl_aff_align_divs(), and n.
Referenced by FN(), isl_aff_pullback_multi_aff(), isl_basic_map_preimage_multi_aff(), isl_local_space_preimage_multi_aff(), isl_multi_aff_lift(), isl_multi_aff_pullback_multi_aff(), and map_preimage_multi_aff().
isl_stat isl_multi_aff_check_named_params | ( | __isl_keep isl_multi_aff * | ma | ) |
__isl_give isl_multi_aff * isl_multi_aff_dup | ( | __isl_keep isl_multi_aff * | multi | ) |
__isl_give isl_multi_aff * isl_multi_aff_from_aff_mat | ( | __isl_take isl_space * | space, |
__isl_take isl_mat * | mat | ||
) |
Definition at line 4009 of file isl_aff.c.
References aff, isl_vec::el, isl_aff_alloc_vec_validated(), isl_die, isl_dim_all, isl_dim_out, isl_error_invalid, isl_int_set, isl_local_space_copy(), isl_local_space_free(), isl_local_space_from_space(), isl_mat_cols(), isl_mat_free(), isl_mat_get_ctx(), isl_mat_rows(), isl_seq_cpy(), isl_space_copy(), isl_space_dim(), isl_space_domain(), isl_space_free(), isl_vec_alloc(), isl_vec_normalize(), ma, and total().
Referenced by add_non_trivial_lineality(), isl_basic_set_coefficients_morphed_product(), and isl_multi_aff_from_aff_mat_anonymous().
__isl_give isl_multi_aff * isl_multi_aff_from_basic_set_equalities | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 5026 of file isl_aff.c.
References extract_isl_multi_aff_from_basic_map().
Referenced by isl_vertex_get_expr().
__isl_give isl_pw_aff * isl_pw_aff_add_disjoint | ( | __isl_take isl_pw_aff * | pwaff1, |
__isl_take isl_pw_aff * | pwaff2 | ||
) |
__isl_give isl_pw_aff * isl_pw_aff_alloc_size | ( | __isl_take isl_space * | space, |
int | n | ||
) |
Referenced by isl_pw_multi_aff_get_at(), and set_minimum_pa().
isl_stat isl_pw_aff_check_match_domain_space | ( | __isl_keep isl_pw_aff * | pa, |
__isl_keep isl_space * | space | ||
) |
Definition at line 6617 of file isl_aff.c.
References isl_die, isl_dim_in, isl_error_invalid, isl_pw_aff_get_ctx(), isl_pw_aff_get_space(), isl_space_free(), isl_space_has_equal_params(), isl_space_tuple_is_equal(), isl_stat_error, isl_stat_ok, and match().
isl_stat isl_pw_aff_check_named_params | ( | __isl_keep isl_pw_aff * | pa | ) |
Referenced by isl_pw_multi_aff_set_pw_aff().
__isl_give isl_pw_aff * isl_pw_aff_domain_factor_domain | ( | __isl_take isl_pw_aff * | pa | ) |
Referenced by read_tuple_var_def(), and update_piecewise_affine_colon().
__isl_give isl_pw_aff_list * isl_pw_aff_list_set_rational | ( | __isl_take isl_pw_aff_list * | list | ) |
Definition at line 3880 of file isl_aff.c.
References isl_pw_aff_set_rational(), and n.
Referenced by construct_constraints().
isl_bool isl_pw_aff_matching_params | ( | __isl_keep isl_pw_aff * | pa, |
__isl_keep isl_space * | space | ||
) |
Definition at line 6598 of file isl_aff.c.
References isl_bool_error, isl_pw_aff_get_space(), isl_space_free(), isl_space_has_equal_params(), and match().
__isl_keep isl_aff * isl_pw_aff_peek_base_at | ( | __isl_keep isl_pw_aff * | pa, |
int | pos | ||
) |
__isl_give isl_pw_aff * isl_pw_aff_reset_domain_space | ( | __isl_take isl_pw_aff * | pwaff, |
__isl_take isl_space * | space | ||
) |
Referenced by pw_aff_on_domain(), and separate_tuple_entry().
__isl_give isl_pw_aff * isl_pw_aff_reset_space | ( | __isl_take isl_pw_aff * | pwaff, |
__isl_take isl_space * | space | ||
) |
Referenced by reset_params().
__isl_give isl_pw_aff * isl_pw_aff_scale | ( | __isl_take isl_pw_aff * | pwaff, |
isl_int | f | ||
) |
Referenced by accept_affine_factor(), affine_mod(), and isl_pw_aff_mod().
__isl_give isl_pw_aff * isl_pw_aff_scale_down | ( | __isl_take isl_pw_aff * | pwaff, |
isl_int | f | ||
) |
Definition at line 3255 of file isl_aff.c.
References isl_aff_scale_down(), isl_die, isl_error_invalid, isl_int_is_one, isl_int_is_pos, isl_pw_aff_free(), and isl_pw_aff_get_ctx().
Referenced by affine_mod(), isl_pw_aff_mod(), and pw_aff_div_by_cst().
__isl_give isl_pw_aff * isl_pw_aff_set_rational | ( | __isl_take isl_pw_aff * | pwaff | ) |
Definition at line 3859 of file isl_aff.c.
References isl_pw_aff_free(), and isl_set_set_rational().
Referenced by accept_extended_affine(), isl_pw_aff_list_set_rational(), map_from_tuple(), and update_piecewise_affine_colon().
__isl_give isl_pw_aff * isl_pw_aff_union_opt | ( | __isl_take isl_pw_aff * | pwaff1, |
__isl_take isl_pw_aff * | pwaff2, | ||
int | max | ||
) |
Definition at line 2849 of file isl_aff.c.
References isl_pw_aff_union_max(), and isl_pw_aff_union_min().
Referenced by map_dim_opt().
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_add_disjoint | ( | __isl_take isl_pw_multi_aff * | pma1, |
__isl_take isl_pw_multi_aff * | pma2 | ||
) |
Referenced by pw_multi_aff_from_map_base(), sol_pma_add(), and split_domain_pma().
isl_stat isl_pw_multi_aff_check_named_params | ( | __isl_keep isl_pw_multi_aff * | pma | ) |
Referenced by isl_map_preimage_pw_multi_aff(), and isl_pw_multi_aff_set_pw_aff().
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_move_dims | ( | __isl_take isl_pw_multi_aff * | pma, |
enum isl_dim_type | dst_type, | ||
unsigned | dst_pos, | ||
enum isl_dim_type | src_type, | ||
unsigned | src_pos, | ||
unsigned | n | ||
) |
__isl_keep isl_multi_aff * isl_pw_multi_aff_peek_base_at | ( | __isl_keep isl_pw_multi_aff * | pma, |
int | pos | ||
) |
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_project_out | ( | __isl_take isl_pw_multi_aff * | pma, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Referenced by split_domain_pma().
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_reset_domain_space | ( | __isl_take isl_pw_multi_aff * | pwmaff, |
__isl_take isl_space * | space | ||
) |
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_reset_space | ( | __isl_take isl_pw_multi_aff * | pwmaff, |
__isl_take isl_space * | space | ||
) |
Referenced by isl_pw_multi_aff_from_multi_pw_aff(), project_out_fixed(), and reset_range_space().
__isl_give isl_pw_multi_aff * isl_pw_multi_aff_substitute | ( | __isl_take isl_pw_multi_aff * | pma, |
unsigned | pos, | ||
__isl_keep isl_pw_aff * | subs | ||
) |
Definition at line 5811 of file isl_aff.c.
References isl_dim_in, isl_multi_aff_substitute(), isl_pw_multi_aff_free(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_plain_is_empty(), isl_set_substitute(), isl_space_copy(), n, pma, pos(), and res.
Referenced by split_domain_pma().
isl_stat isl_seq_preimage | ( | isl_int * | dst, |
isl_int * | src, | ||
__isl_keep isl_multi_aff * | ma, | ||
int | n_before, | ||
int | n_after, | ||
int | n_div_ma, | ||
int | n_div_bmap, | ||
isl_int | f, | ||
isl_int | c1, | ||
isl_int | c2, | ||
isl_int | g, | ||
int | has_denom | ||
) |
Definition at line 5895 of file isl_aff.c.
References c1, c2, f, isl_dim_in, isl_dim_out, isl_dim_param, isl_int_divexact, isl_int_gcd, isl_int_is_zero, isl_int_mul, isl_int_set, isl_int_set_si, isl_seq_clr(), isl_seq_combine(), isl_seq_cpy(), isl_seq_scale(), isl_stat_error, isl_stat_ok, ma, and offset.
Referenced by isl_aff_pullback_multi_aff(), isl_basic_map_preimage_multi_aff(), and isl_local_space_preimage_multi_aff().
__isl_give isl_aff * isl_stream_read_aff | ( | __isl_keep isl_stream * | s | ) |
Definition at line 3550 of file isl_input.c.
References aff, isl_die, isl_dim_out, isl_error_invalid, isl_stream_read_multi_aff(), ma, and isl_token::s.
__isl_give isl_pw_aff * isl_stream_read_pw_aff | ( | __isl_keep isl_stream * | s | ) |
__isl_give isl_pw_multi_aff * isl_stream_read_pw_multi_aff | ( | __isl_keep isl_stream * | s | ) |
__isl_give isl_union_pw_aff * isl_stream_read_union_pw_aff | ( | __isl_keep isl_stream * | s | ) |