Polly 20.0.0git
|
#include <isl_map_private.h>
#include <isl_union_map_private.h>
#include <isl_polynomial_private.h>
#include <isl_point_private.h>
#include <isl_space_private.h>
#include <isl_lp_private.h>
#include <isl_seq.h>
#include <isl_mat_private.h>
#include <isl_val_private.h>
#include <isl_vec_private.h>
#include <isl_config.h>
#include <isl_list_templ.c>
#include <isl_pw_templ.c>
#include <isl_pw_add_disjoint_templ.c>
#include <isl_pw_eval.c>
#include <isl_pw_fix_templ.c>
#include <isl_pw_from_range_templ.c>
#include <isl_pw_insert_dims_templ.c>
#include <isl_pw_lift_templ.c>
#include <isl_pw_morph_templ.c>
#include <isl_pw_move_dims_templ.c>
#include <isl_pw_opt_templ.c>
#include <isl_union_single.c>
#include <isl_union_eval.c>
Go to the source code of this file.
Classes | |
struct | isl_fold_dims_data |
struct | isl_fold_set_dim_name_data |
struct | isl_fold_move_dims_data |
struct | isl_fold_substitute |
struct | isl_apply_fold_data |
Macros | |
#define | EL_BASE pw_qpolynomial_fold |
#define | isl_qpolynomial_fold_involves_nan isl_qpolynomial_fold_is_nan |
#define | HAS_TYPE |
#define | PW isl_pw_qpolynomial_fold |
#define | BASE qpolynomial_fold |
#define | EL_IS_ZERO is_empty |
#define | ZERO zero |
#define | IS_ZERO is_zero |
#define | FIELD fold |
#define | DEFAULT_IS_ZERO 1 |
#define | BASE pw_qpolynomial_fold |
#define BASE qpolynomial_fold |
Definition at line 965 of file isl_fold.c.
#define BASE pw_qpolynomial_fold |
Definition at line 965 of file isl_fold.c.
#define DEFAULT_IS_ZERO 1 |
Definition at line 951 of file isl_fold.c.
#define EL_BASE pw_qpolynomial_fold |
Definition at line 24 of file isl_fold.c.
#define EL_IS_ZERO is_empty |
Definition at line 943 of file isl_fold.c.
#define FIELD fold |
Definition at line 949 of file isl_fold.c.
#define HAS_TYPE |
Definition at line 936 of file isl_fold.c.
#define IS_ZERO is_zero |
Definition at line 947 of file isl_fold.c.
#define isl_qpolynomial_fold_involves_nan isl_qpolynomial_fold_is_nan |
Definition at line 934 of file isl_fold.c.
#define PW isl_pw_qpolynomial_fold |
Definition at line 939 of file isl_fold.c.
#define ZERO zero |
Definition at line 945 of file isl_fold.c.
|
static |
Definition at line 1806 of file isl_fold.c.
References isl_hash_table_entry::data, isl_pw_qpolynomial_fold_add(), isl_pw_qpolynomial_fold_from_pw_qpolynomial(), isl_pw_qpolynomial_fold_is_zero(), isl_pw_qpolynomial_free(), isl_stat_error, isl_stat_ok, pwqp, and user.
Referenced by isl_union_pw_qpolynomial_fold_add_union_pw_qpolynomial().
|
static |
Definition at line 769 of file isl_fold.c.
References isl_qpolynomial_add(), isl_qpolynomial_copy(), and user.
Referenced by isl_qpolynomial_fold_add_qpolynomial().
|
static |
Definition at line 342 of file isl_fold.c.
References isl_dim_in, isl_dim_set, and type.
Referenced by isl_qpolynomial_fold_drop_dims(), isl_qpolynomial_fold_insert_dims(), isl_qpolynomial_fold_move_dims(), and isl_qpolynomial_fold_set_dim_name().
|
static |
Definition at line 373 of file isl_fold.c.
References isl_fold_dims_data::first, isl_qpolynomial_drop_dims(), isl_fold_dims_data::n, isl_fold_dims_data::type, and user.
Referenced by FN(), and isl_qpolynomial_fold_drop_dims().
|
static |
Definition at line 1222 of file isl_fold.c.
References isl_stat_ok, isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(), and user.
Referenced by isl_union_pw_qpolynomial_fold_fold().
|
static |
Definition at line 893 of file isl_fold.c.
References context, isl_qpolynomial_gist(), isl_set_copy(), and user.
|
static |
Definition at line 412 of file isl_fold.c.
References isl_fold_dims_data::first, isl_qpolynomial_insert_dims(), isl_fold_dims_data::n, isl_fold_dims_data::type, and user.
Referenced by FN(), isl_qpolynomial_fold_insert_dims(), and MULTI().
Definition at line 28 of file isl_fold.c.
References isl_die, isl_error_internal, isl_fold_error, isl_fold_list, isl_fold_max, isl_fold_min, and type.
Referenced by isl_qpolynomial_fold_mul_isl_int(), and isl_qpolynomial_fold_scale_val().
__isl_give isl_pw_qpolynomial_fold * isl_map_apply_pw_qpolynomial_fold | ( | __isl_take isl_map * | map, |
__isl_take isl_pw_qpolynomial_fold * | pwf, | ||
isl_bool * | tight | ||
) |
Definition at line 1883 of file isl_fold.c.
References isl_die, isl_dim_in, isl_error_invalid, isl_map_dim(), isl_map_free(), isl_map_get_ctx(), isl_map_get_space(), isl_map_wrap(), isl_pw_qpolynomial_fold_bound(), isl_pw_qpolynomial_fold_free(), isl_pw_qpolynomial_fold_get_space(), isl_pw_qpolynomial_fold_intersect_domain(), isl_pw_qpolynomial_fold_reset_domain_space(), isl_set_get_space(), isl_space_free(), join_compatible(), map, and tight.
Referenced by isl_set_apply_pw_qpolynomial_fold(), and pw_qpolynomial_fold_apply().
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_add | ( | __isl_take isl_pw_qpolynomial_fold * | pwf1, |
__isl_take isl_pw_qpolynomial_fold * | pwf2 | ||
) |
Definition at line 1277 of file isl_fold.c.
Referenced by add_pwqp().
isl_bool isl_pw_qpolynomial_fold_covers | ( | __isl_keep isl_pw_qpolynomial_fold * | pwf1, |
__isl_keep isl_pw_qpolynomial_fold * | pwf2 | ||
) |
Definition at line 1543 of file isl_fold.c.
References isl_bool_error, isl_bool_false, isl_bool_true, isl_pw_qpolynomial_fold_copy(), isl_pw_qpolynomial_fold_domain(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_is_empty(), isl_set_is_subset(), and qpolynomial_fold_covers_on_domain().
Referenced by bernstein_coefficients_base(), and isl_pw_qpolynomial_fold_bound().
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_fold | ( | __isl_take isl_pw_qpolynomial_fold * | pw1, |
__isl_take isl_pw_qpolynomial_fold * | pw2 | ||
) |
Definition at line 1115 of file isl_fold.c.
References isl_assert, isl_die, isl_error_invalid, isl_pw_qpolynomial_fold_free(), isl_pw_qpolynomial_fold_is_zero(), isl_qpolynomial_fold_copy(), isl_qpolynomial_fold_fold_on_domain(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_plain_is_empty(), isl_set_subtract(), isl_space_copy(), isl_space_is_equal(), n, res, and set.
Referenced by add_guarded_poly(), bernstein_coefficients_base(), bernstein_coefficients_cell(), isl_bound_add(), isl_bound_add_tight(), isl_obj_pw_qpf_add(), isl_pw_qpolynomial_fold_bound(), isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(), and obj_read_poly_or_fold().
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_from_pw_qpolynomial | ( | enum isl_fold | type, |
__isl_take isl_pw_qpolynomial * | pwqp | ||
) |
Definition at line 1254 of file isl_fold.c.
References isl_pw_qpolynomial_free(), isl_qpolynomial_copy(), isl_qpolynomial_fold_alloc(), isl_set_copy(), isl_space_copy(), pwqp, and type.
Referenced by add_pwqp(), isl_pw_qpolynomial_bound(), main(), and obj_read_poly_or_fold().
enum isl_fold isl_pw_qpolynomial_fold_get_type | ( | __isl_keep isl_pw_qpolynomial_fold * | pwf | ) |
Definition at line 1641 of file isl_fold.c.
References isl_fold_error.
size_t isl_pw_qpolynomial_fold_size | ( | __isl_keep isl_pw_qpolynomial_fold * | pwf | ) |
Definition at line 1433 of file isl_fold.c.
References isl_qpolynomial_fold_peek_list(), isl_size_error, and n.
|
static |
Definition at line 471 of file isl_fold.c.
References aff, isl_int_clear, isl_int_init, isl_int_is_neg, isl_int_is_pos, isl_lp_empty, isl_lp_error, isl_lp_ok, isl_qpolynomial_extract_affine(), isl_set_solve_lp(), isl_vec_free(), res, set, and sgn().
Referenced by isl_qpolynomial_sign().
|
static |
Definition at line 457 of file isl_fold.c.
References isl_int_sgn, isl_poly_as_cst(), and isl_qpolynomial_is_nan().
Referenced by isl_qpolynomial_sign().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_add_on_domain | ( | __isl_keep isl_set * | dom, |
__isl_take isl_qpolynomial_fold * | fold1, | ||
__isl_take isl_qpolynomial_fold * | fold2 | ||
) |
Definition at line 802 of file isl_fold.c.
References isl_qpolynomial_fold_add_on_domain(), isl_qpolynomial_fold_add_qpolynomial(), isl_qpolynomial_fold_copy(), isl_qpolynomial_fold_fold_on_domain(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_is_empty(), isl_qpolynomial_fold_peek_list(), and res.
Referenced by isl_qpolynomial_fold_add_on_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_add_qpolynomial | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_qpolynomial * | qp | ||
) |
Definition at line 777 of file isl_fold.c.
References add_qpolynomial(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), isl_qpolynomial_free(), and isl_qpolynomial_is_zero().
Referenced by isl_qpolynomial_fold_add_on_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_alloc | ( | enum isl_fold | type, |
__isl_take isl_qpolynomial * | qp | ||
) |
Definition at line 989 of file isl_fold.c.
References isl_qpolynomial_get_domain_space(), qpolynomial_fold_alloc(), and type.
Referenced by add_fold(), add_guarded_poly(), isl_pw_qpolynomial_fold_from_pw_qpolynomial(), and isl_qpolynomial_cst_bound().
|
static |
Definition at line 641 of file isl_fold.c.
References equal, isl_die, isl_error_invalid, isl_qpolynomial_fold_get_ctx(), isl_qpolynomial_fold_peek_domain_space(), isl_space_is_equal(), isl_stat_error, and isl_stat_ok.
Referenced by isl_qpolynomial_fold_fold(), and isl_qpolynomial_fold_fold_on_domain().
|
static |
Definition at line 623 of file isl_fold.c.
References isl_die, isl_error_invalid, isl_qpolynomial_fold_get_ctx(), isl_qpolynomial_fold_get_type(), isl_stat_error, and isl_stat_ok.
Referenced by isl_qpolynomial_fold_fold(), and isl_qpolynomial_fold_fold_on_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_copy | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 1000 of file isl_fold.c.
References isl_qpolynomial_fold::ref.
Referenced by isl_pw_qpolynomial_fold_fold(), and isl_qpolynomial_fold_add_on_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_cow | ( | __isl_take isl_qpolynomial_fold * | fold | ) |
Definition at line 1023 of file isl_fold.c.
References isl_qpolynomial_fold_dup(), and isl_qpolynomial_fold::ref.
Referenced by isl_qpolynomial_fold_move_dims(), isl_qpolynomial_fold_mul_isl_int(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), and isl_qpolynomial_fold_scale_val().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_drop_dims | ( | __isl_take isl_qpolynomial_fold * | fold, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Definition at line 382 of file isl_fold.c.
References domain_type(), drop_dims(), isl_fold_dims_data::first, isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_drop_dims(), n, set_type, and type.
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_dup | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 1010 of file isl_fold.c.
References isl_qpolynomial_fold_get_domain_space(), isl_qpolynomial_fold_get_list(), isl_qpolynomial_fold_get_type(), qpolynomial_fold_alloc(), and type.
Referenced by isl_qpolynomial_fold_cow().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_empty | ( | enum isl_fold | type, |
__isl_take isl_space * | space | ||
) |
Definition at line 973 of file isl_fold.c.
References isl_space_get_ctx(), qpolynomial_fold_alloc(), and type.
Referenced by bernstein_coefficients_cell(), isl_qpolynomial_fold_mul_isl_int(), isl_qpolynomial_fold_scale_val(), and isl_qpolynomial_fold_zero_in_space().
__isl_give isl_val * isl_qpolynomial_fold_eval | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_point * | pnt | ||
) |
Definition at line 1383 of file isl_fold.c.
References isl_assert, isl_fold_max, isl_fold_min, isl_point_copy(), isl_point_free(), isl_point_get_ctx(), isl_qpolynomial_eval(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_peek_list(), isl_space_is_equal(), isl_val_max(), isl_val_min(), isl_val_zero(), and n.
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_fold | ( | __isl_take isl_qpolynomial_fold * | fold1, |
__isl_take isl_qpolynomial_fold * | fold2 | ||
) |
Definition at line 1081 of file isl_fold.c.
References isl_qpolynomial_fold_check_equal_space(), isl_qpolynomial_fold_check_equal_type(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_is_empty(), isl_qpolynomial_fold_restore_list(), and isl_qpolynomial_fold_take_list().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_fold_on_domain | ( | __isl_keep isl_set * | set, |
__isl_take isl_qpolynomial_fold * | fold1, | ||
__isl_take isl_qpolynomial_fold * | fold2 | ||
) |
Definition at line 724 of file isl_fold.c.
References isl_fold_max, isl_qpolynomial_fold_check_equal_space(), isl_qpolynomial_fold_check_equal_type(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_is_empty(), isl_qpolynomial_fold_is_nan(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), merge_lists(), set, and isl_qpolynomial_fold::type.
Referenced by add_fold(), isl_pw_qpolynomial_fold_fold(), and isl_qpolynomial_fold_add_on_domain().
isl_stat isl_qpolynomial_fold_foreach_qpolynomial | ( | __isl_keep isl_qpolynomial_fold * | fold, |
isl_stat(*)(__isl_take isl_qpolynomial *qp, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 1695 of file isl_fold.c.
References fn, isl_qpolynomial_fold_peek_list(), and user.
Referenced by basic_guarded_fold().
__isl_null isl_qpolynomial_fold * isl_qpolynomial_fold_free | ( | __isl_take isl_qpolynomial_fold * | fold | ) |
Definition at line 1035 of file isl_fold.c.
References isl_space_free().
Referenced by bernstein_coefficients_cell(), guarded_fold(), isl_qpolynomial_fold_add_on_domain(), isl_qpolynomial_fold_add_qpolynomial(), isl_qpolynomial_fold_eval(), isl_qpolynomial_fold_fold(), isl_qpolynomial_fold_fold_on_domain(), isl_qpolynomial_fold_lift(), isl_qpolynomial_fold_morph_domain(), isl_qpolynomial_fold_mul_isl_int(), isl_qpolynomial_fold_opt_on_domain(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_scale_down_val(), and isl_qpolynomial_fold_scale_val().
isl_ctx * isl_qpolynomial_fold_get_ctx | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 74 of file isl_fold.c.
Referenced by isl_qpolynomial_fold_check_equal_space(), isl_qpolynomial_fold_check_equal_type(), isl_qpolynomial_fold_scale_down_val(), and isl_qpolynomial_fold_scale_val().
__isl_give isl_space * isl_qpolynomial_fold_get_domain_space | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 87 of file isl_fold.c.
References isl_qpolynomial_fold_peek_domain_space(), and isl_space_copy().
Referenced by isl_qpolynomial_fold_dup(), isl_qpolynomial_fold_gist_params(), isl_qpolynomial_fold_scale_val(), isl_qpolynomial_fold_take_domain_space(), and print_body_pw_qpolynomial_fold().
|
static |
Definition at line 169 of file isl_fold.c.
References isl_qpolynomial_fold_peek_list().
Referenced by isl_qpolynomial_fold_dup(), and isl_qpolynomial_fold_take_list().
__isl_give isl_space * isl_qpolynomial_fold_get_space | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 147 of file isl_fold.c.
References isl_dim_out, isl_space_add_dims(), isl_space_copy(), and isl_space_from_domain().
enum isl_fold isl_qpolynomial_fold_get_type | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 1632 of file isl_fold.c.
References isl_fold_error.
Referenced by guarded_fold(), isl_qpolynomial_fold_check_equal_type(), and isl_qpolynomial_fold_dup().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_gist | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_set * | context | ||
) |
Definition at line 901 of file isl_fold.c.
References context, gist, isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), and isl_set_free().
Referenced by isl_qpolynomial_fold_gist_params().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_gist_params | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_set * | context | ||
) |
Definition at line 914 of file isl_fold.c.
References context, isl_qpolynomial_fold_get_domain_space(), isl_qpolynomial_fold_gist(), isl_set_intersect_params(), and isl_set_universe().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_insert_dims | ( | __isl_take isl_qpolynomial_fold * | fold, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Definition at line 421 of file isl_fold.c.
References domain_type(), isl_fold_dims_data::first, insert_dims(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_insert_dims(), isl_space_is_named_or_nested(), n, set_type, and type.
|
static |
Definition at line 300 of file isl_fold.c.
References isl_fold_dims_data::first, isl_bool_error, isl_bool_false, isl_bool_not(), isl_qpolynomial_fold_peek_list(), n, not(), not_involved(), and type.
isl_bool isl_qpolynomial_fold_is_empty | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 1050 of file isl_fold.c.
References isl_bool_error, isl_bool_ok(), isl_qpolynomial_fold_peek_list(), and n.
Referenced by isl_qpolynomial_fold_add_on_domain(), isl_qpolynomial_fold_fold(), and isl_qpolynomial_fold_fold_on_domain().
isl_bool isl_qpolynomial_fold_is_nan | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 1065 of file isl_fold.c.
References isl_bool_error, isl_bool_false, isl_qpolynomial_fold_peek_list(), isl_qpolynomial_is_nan(), and n.
Referenced by isl_qpolynomial_fold_fold_on_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_lift | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_space * | space | ||
) |
Definition at line 1668 of file isl_fold.c.
References isl_qpolynomial_fold_free(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_free(), isl_space_is_equal(), and lift().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_morph_domain | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_morph * | morph | ||
) |
Definition at line 1605 of file isl_fold.c.
References isl_morph_check_applies(), isl_morph_free(), isl_morph_get_ran_space(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_peek_domain_space(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_free(), and morph_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_move_dims | ( | __isl_take isl_qpolynomial_fold * | fold, |
enum isl_dim_type | dst_type, | ||
unsigned | dst_pos, | ||
enum isl_dim_type | src_type, | ||
unsigned | src_pos, | ||
unsigned | n | ||
) |
Definition at line 1729 of file isl_fold.c.
References domain_type(), isl_fold_move_dims_data::dst_pos, isl_fold_move_dims_data::dst_type, isl_qpolynomial_fold_cow(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_move_dims(), move_dims(), n, isl_fold_move_dims_data::src_pos, and isl_fold_move_dims_data::src_type.
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_mul_isl_int | ( | __isl_take isl_qpolynomial_fold * | fold, |
isl_int | v | ||
) |
Definition at line 2068 of file isl_fold.c.
References isl_fold_type_negate(), isl_int_is_neg, isl_int_is_one, isl_int_is_zero, isl_qpolynomial_fold_cow(), isl_qpolynomial_fold_empty(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), isl_space_copy(), and mul_int().
Referenced by isl_qpolynomial_fold_scale().
__isl_give isl_val * isl_qpolynomial_fold_opt_on_domain | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_set * | set, | ||
int | max | ||
) |
Definition at line 1453 of file isl_fold.c.
References isl_qpolynomial_fold_free(), isl_qpolynomial_fold_peek_list(), isl_qpolynomial_opt_on_domain(), isl_set_copy(), isl_set_free(), isl_set_get_ctx(), isl_val_max(), isl_val_min(), isl_val_zero(), n, and set.
|
static |
Definition at line 81 of file isl_fold.c.
Referenced by isl_qpolynomial_fold_check_equal_space(), isl_qpolynomial_fold_get_domain_space(), and isl_qpolynomial_fold_morph_domain().
__isl_keep isl_qpolynomial_list * isl_qpolynomial_fold_peek_list | ( | __isl_keep isl_qpolynomial_fold * | fold | ) |
Definition at line 161 of file isl_fold.c.
Referenced by isl_pw_qpolynomial_fold_size(), isl_qpolynomial_fold_add_on_domain(), isl_qpolynomial_fold_eval(), isl_qpolynomial_fold_foreach_qpolynomial(), isl_qpolynomial_fold_get_list(), isl_qpolynomial_fold_involves_dims(), isl_qpolynomial_fold_is_empty(), isl_qpolynomial_fold_is_nan(), isl_qpolynomial_fold_opt_on_domain(), isl_qpolynomial_fold_plain_cmp(), isl_qpolynomial_fold_plain_is_equal(), print_qpolynomial_fold_c(), qpolynomial_fold_covers_on_domain(), and qpolynomial_fold_print().
int isl_qpolynomial_fold_plain_cmp | ( | __isl_keep isl_qpolynomial_fold * | fold1, |
__isl_keep isl_qpolynomial_fold * | fold2 | ||
) |
Definition at line 1289 of file isl_fold.c.
References cmp(), isl_qpolynomial_fold_peek_list(), and isl_qpolynomial_plain_cmp().
isl_bool isl_qpolynomial_fold_plain_is_equal | ( | __isl_keep isl_qpolynomial_fold * | fold1, |
__isl_keep isl_qpolynomial_fold * | fold2 | ||
) |
Definition at line 1355 of file isl_fold.c.
References equal, isl_bool_error, isl_bool_false, isl_qpolynomial_fold_peek_list(), isl_qpolynomial_list_plain_is_equal(), and qpolynomial_cmp().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_realign_domain | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_reordering * | r | ||
) |
Definition at line 2038 of file isl_fold.c.
References isl_qpolynomial_fold_reset_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), isl_reordering_free(), isl_reordering_get_space(), and realign_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_reset_domain_space | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_space * | space | ||
) |
Definition at line 245 of file isl_fold.c.
References isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_free(), and reset_domain_space().
Referenced by isl_qpolynomial_fold_realign_domain(), and isl_qpolynomial_fold_reset_space_and_domain().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_reset_space_and_domain | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_space * | space, | ||
__isl_take isl_space * | domain | ||
) |
Definition at line 264 of file isl_fold.c.
References domain, isl_qpolynomial_fold_reset_domain_space(), and isl_space_free().
|
static |
Definition at line 123 of file isl_fold.c.
References isl_qpolynomial_fold_cow(), isl_qpolynomial_fold_free(), and isl_space_free().
Referenced by isl_qpolynomial_fold_drop_dims(), isl_qpolynomial_fold_insert_dims(), isl_qpolynomial_fold_lift(), isl_qpolynomial_fold_morph_domain(), isl_qpolynomial_fold_move_dims(), isl_qpolynomial_fold_reset_domain_space(), and isl_qpolynomial_fold_set_dim_name().
|
static |
Definition at line 204 of file isl_fold.c.
References isl_qpolynomial_fold_cow(), and isl_qpolynomial_fold_free().
Referenced by isl_qpolynomial_fold_add_qpolynomial(), isl_qpolynomial_fold_drop_dims(), isl_qpolynomial_fold_fold(), isl_qpolynomial_fold_fold_on_domain(), isl_qpolynomial_fold_gist(), isl_qpolynomial_fold_insert_dims(), isl_qpolynomial_fold_lift(), isl_qpolynomial_fold_morph_domain(), isl_qpolynomial_fold_move_dims(), isl_qpolynomial_fold_mul_isl_int(), isl_qpolynomial_fold_realign_domain(), isl_qpolynomial_fold_reset_domain_space(), isl_qpolynomial_fold_scale_val(), isl_qpolynomial_fold_set_dim_name(), isl_qpolynomial_fold_substitute(), and isl_qpolynomial_fold_substitute_equalities().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_scale | ( | __isl_take isl_qpolynomial_fold * | fold, |
isl_int | v | ||
) |
Definition at line 2097 of file isl_fold.c.
References isl_qpolynomial_fold_mul_isl_int().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_scale_down_val | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_val * | v | ||
) |
Definition at line 2162 of file isl_fold.c.
References isl_die, isl_error_invalid, isl_qpolynomial_fold_free(), isl_qpolynomial_fold_get_ctx(), isl_qpolynomial_fold_scale_val(), isl_val_free(), isl_val_get_ctx(), isl_val_inv(), isl_val_is_one(), isl_val_is_rat(), and isl_val_is_zero().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_scale_val | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_val * | v | ||
) |
Definition at line 2117 of file isl_fold.c.
References isl_die, isl_error_invalid, isl_fold_type_negate(), isl_qpolynomial_fold_cow(), isl_qpolynomial_fold_empty(), isl_qpolynomial_fold_free(), isl_qpolynomial_fold_get_ctx(), isl_qpolynomial_fold_get_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), isl_val_free(), isl_val_is_neg(), isl_val_is_one(), isl_val_is_rat(), isl_val_is_zero(), and scale_val().
Referenced by isl_qpolynomial_fold_scale_down_val().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_set_dim_name | ( | __isl_take isl_qpolynomial_fold * | fold, |
enum isl_dim_type | type, | ||
unsigned | pos, | ||
const char * | s | ||
) |
Definition at line 349 of file isl_fold.c.
References domain_type(), isl_qpolynomial_fold_restore_domain_space(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_domain_space(), isl_qpolynomial_fold_take_list(), isl_space_set_dim_name(), pos(), isl_fold_set_dim_name_data::s, set_dim_name(), set_type, and type.
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_substitute | ( | __isl_take isl_qpolynomial_fold * | fold, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n, | ||
__isl_keep isl_qpolynomial ** | subs | ||
) |
Definition at line 1788 of file isl_fold.c.
References isl_fold_substitute::first, isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), n, isl_fold_substitute::subs, substitute(), and type.
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_substitute_equalities | ( | __isl_take isl_qpolynomial_fold * | fold, |
__isl_take isl_basic_set * | eq | ||
) |
Definition at line 877 of file isl_fold.c.
References isl_basic_set_free(), isl_qpolynomial_fold_restore_list(), isl_qpolynomial_fold_take_list(), and substitute_equalities().
|
static |
Definition at line 102 of file isl_fold.c.
References isl_qpolynomial_fold_get_domain_space().
Referenced by isl_qpolynomial_fold_drop_dims(), isl_qpolynomial_fold_insert_dims(), isl_qpolynomial_fold_lift(), isl_qpolynomial_fold_morph_domain(), isl_qpolynomial_fold_move_dims(), isl_qpolynomial_fold_reset_domain_space(), and isl_qpolynomial_fold_set_dim_name().
|
static |
Definition at line 184 of file isl_fold.c.
References isl_qpolynomial_fold_get_list().
Referenced by isl_qpolynomial_fold_add_qpolynomial(), isl_qpolynomial_fold_drop_dims(), isl_qpolynomial_fold_fold(), isl_qpolynomial_fold_fold_on_domain(), isl_qpolynomial_fold_gist(), isl_qpolynomial_fold_insert_dims(), isl_qpolynomial_fold_lift(), isl_qpolynomial_fold_morph_domain(), isl_qpolynomial_fold_move_dims(), isl_qpolynomial_fold_mul_isl_int(), isl_qpolynomial_fold_realign_domain(), isl_qpolynomial_fold_reset_domain_space(), isl_qpolynomial_fold_scale_val(), isl_qpolynomial_fold_set_dim_name(), isl_qpolynomial_fold_substitute(), and isl_qpolynomial_fold_substitute_equalities().
|
static |
Definition at line 928 of file isl_fold.c.
References isl_qpolynomial_fold_empty(), isl_space_domain(), and type.
|
static |
Definition at line 1327 of file isl_fold.c.
References isl_bool_true, isl_qpolynomial_plain_is_equal(), and n.
Referenced by isl_qpolynomial_fold_plain_is_equal().
|
static |
Definition at line 526 of file isl_fold.c.
References isl_vec::el, isl_dim_all, isl_int_clear, isl_int_init, isl_int_set_si, isl_lp_ok, isl_poly_as_rec(), isl_poly_copy(), isl_qpolynomial_add(), isl_qpolynomial_aff_sign(), isl_qpolynomial_alloc(), isl_qpolynomial_copy(), isl_qpolynomial_cst_on_domain(), isl_qpolynomial_cst_sign(), isl_qpolynomial_free(), isl_qpolynomial_is_affine(), isl_qpolynomial_is_cst(), isl_qpolynomial_is_zero(), isl_qpolynomial_mul(), isl_qpolynomial_sign(), isl_qpolynomial_var_pow_on_domain(), isl_seq_clr(), isl_set_solve_lp(), isl_space_copy(), isl_space_dim(), isl_vec_alloc(), isl_vec_free(), isl_poly_rec::n, isl_poly_rec::p, res, set, sgn(), and t.
Referenced by isl_qpolynomial_sign(), merge_lists(), and qpolynomial_fold_covers_on_domain().
__isl_give isl_pw_qpolynomial_fold * isl_set_apply_pw_qpolynomial_fold | ( | __isl_take isl_set * | set, |
__isl_take isl_pw_qpolynomial_fold * | pwf, | ||
isl_bool * | tight | ||
) |
Definition at line 1928 of file isl_fold.c.
References isl_map_apply_pw_qpolynomial_fold(), set, and tight.
__isl_give isl_union_pw_qpolynomial_fold * isl_union_map_apply_union_pw_qpolynomial_fold | ( | __isl_take isl_union_map * | umap, |
__isl_take isl_union_pw_qpolynomial_fold * | upwf, | ||
isl_bool * | tight | ||
) |
Definition at line 1982 of file isl_fold.c.
References isl_bool_false, isl_bool_true, isl_union_map_align_params(), isl_union_map_foreach_map(), isl_union_map_free(), isl_union_map_get_space(), isl_union_pw_qpolynomial_fold_align_params(), isl_union_pw_qpolynomial_fold_free(), isl_union_pw_qpolynomial_fold_get_space(), isl_union_pw_qpolynomial_fold_get_type(), isl_union_pw_qpolynomial_fold_zero(), map_apply(), isl_apply_fold_data::res, isl_apply_fold_data::tight, tight, type, and isl_apply_fold_data::upwf.
Referenced by isl_union_set_apply_union_pw_qpolynomial_fold().
__isl_give isl_union_pw_qpolynomial_fold * isl_union_pw_qpolynomial_fold_add_union_pw_qpolynomial | ( | __isl_take isl_union_pw_qpolynomial_fold * | upwf, |
__isl_take isl_union_pw_qpolynomial * | upwqp | ||
) |
Definition at line 1837 of file isl_fold.c.
References add_pwqp(), isl_union_pw_qpolynomial_align_params(), isl_union_pw_qpolynomial_fold_align_params(), isl_union_pw_qpolynomial_fold_free(), isl_union_pw_qpolynomial_fold_get_space(), isl_union_pw_qpolynomial_foreach_pw_qpolynomial(), isl_union_pw_qpolynomial_free(), and isl_union_pw_qpolynomial_get_space().
__isl_give isl_union_pw_qpolynomial_fold * isl_union_pw_qpolynomial_fold_fold | ( | __isl_take isl_union_pw_qpolynomial_fold * | u1, |
__isl_take isl_union_pw_qpolynomial_fold * | u2 | ||
) |
Definition at line 1232 of file isl_fold.c.
References fold_part(), isl_union_pw_qpolynomial_fold_foreach_pw_qpolynomial_fold(), and isl_union_pw_qpolynomial_fold_free().
Referenced by isl_obj_union_pw_qpf_add().
__isl_give isl_union_pw_qpolynomial_fold * isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold | ( | __isl_take isl_union_pw_qpolynomial_fold * | u, |
__isl_take isl_pw_qpolynomial_fold * | part | ||
) |
Definition at line 1188 of file isl_fold.c.
References isl_hash_table_entry::data, isl_pw_qpolynomial_fold_copy(), isl_pw_qpolynomial_fold_fold(), isl_pw_qpolynomial_fold_free(), isl_space_check_equal_params(), and isl_union_pw_qpolynomial_fold_free().
Referenced by bound_pw(), fold_part(), and pw_qpolynomial_fold_apply().
enum isl_fold isl_union_pw_qpolynomial_fold_get_type | ( | __isl_keep isl_union_pw_qpolynomial_fold * | upwf | ) |
Definition at line 1649 of file isl_fold.c.
References isl_fold_error.
Referenced by isl_union_map_apply_union_pw_qpolynomial_fold().
__isl_give isl_union_pw_qpolynomial_fold * isl_union_set_apply_union_pw_qpolynomial_fold | ( | __isl_take isl_union_set * | uset, |
__isl_take isl_union_pw_qpolynomial_fold * | upwf, | ||
isl_bool * | tight | ||
) |
Definition at line 2017 of file isl_fold.c.
References isl_union_map_apply_union_pw_qpolynomial_fold(), tight, and isl_apply_fold_data::upwf.
|
static |
Definition at line 1863 of file isl_fold.c.
References isl_dim_in, isl_dim_out, isl_space_has_equal_params(), isl_space_tuple_is_equal(), and m.
Referenced by isl_map_apply_pw_qpolynomial_fold(), and pw_qpolynomial_fold_apply().
|
static |
Definition at line 1660 of file isl_fold.c.
References isl_qpolynomial_lift(), isl_space_copy(), and user.
Referenced by foreach_lifted_subset(), and isl_qpolynomial_fold_lift().
|
static |
Definition at line 1969 of file isl_fold.c.
References isl_map_free(), isl_union_pw_qpolynomial_fold_foreach_pw_qpolynomial_fold(), isl_apply_fold_data::map, map, pw_qpolynomial_fold_apply(), isl_apply_fold_data::upwf, and user.
Referenced by isl_union_map_apply_union_pw_qpolynomial_fold().
|
static |
Definition at line 666 of file isl_fold.c.
References equal, isl_qpolynomial_copy(), isl_qpolynomial_free(), isl_qpolynomial_plain_is_equal(), isl_qpolynomial_sign(), isl_qpolynomial_sub(), set, and sgn().
Referenced by isl_qpolynomial_fold_fold_on_domain().
|
static |
Definition at line 1597 of file isl_fold.c.
References isl_morph_copy(), isl_qpolynomial_morph_domain(), and user.
Referenced by FN(), and isl_qpolynomial_fold_morph_domain().
|
static |
Definition at line 1719 of file isl_fold.c.
References isl_fold_move_dims_data::dst_pos, isl_fold_move_dims_data::dst_type, isl_qpolynomial_move_dims(), isl_fold_move_dims_data::n, isl_fold_move_dims_data::src_pos, isl_fold_move_dims_data::src_type, and user.
Referenced by FN(), isl_qpolynomial_fold_move_dims(), and MULTI().
|
static |
Definition at line 2059 of file isl_fold.c.
References isl_qpolynomial_mul_isl_int(), and user.
Referenced by isl_qpolynomial_fold_mul_isl_int().
|
static |
Definition at line 284 of file isl_fold.c.
References isl_fold_dims_data::first, isl_bool_not(), isl_qpolynomial_involves_dims(), isl_fold_dims_data::n, isl_fold_dims_data::type, and user.
Referenced by isl_qpolynomial_fold_involves_dims().
|
static |
Definition at line 1942 of file isl_fold.c.
References isl_map_apply_pw_qpolynomial_fold(), isl_map_copy(), isl_map_get_space(), isl_pw_qpolynomial_fold_free(), isl_pw_qpolynomial_fold_get_space(), isl_space_free(), isl_stat_error, isl_stat_ok, isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(), join_compatible(), isl_apply_fold_data::map, isl_apply_fold_data::res, isl_apply_fold_data::tight, and user.
Referenced by map_apply().
|
static |
Definition at line 1349 of file isl_fold.c.
References a(), b(), and isl_qpolynomial_plain_cmp().
Referenced by isl_qpolynomial_fold_plain_is_equal().
|
static |
Definition at line 47 of file isl_fold.c.
References isl_qpolynomial_fold::dim, isl_calloc_type, isl_space_free(), isl_space_get_ctx(), isl_qpolynomial_fold::list, isl_qpolynomial_fold::ref, isl_qpolynomial_fold::type, and type.
Referenced by isl_qpolynomial_fold_alloc(), isl_qpolynomial_fold_dup(), and isl_qpolynomial_fold_empty().
|
static |
Definition at line 1501 of file isl_fold.c.
References isl_bool_error, isl_bool_false, isl_bool_true, isl_fold_max, isl_qpolynomial_fold_peek_list(), isl_qpolynomial_free(), isl_qpolynomial_sign(), isl_qpolynomial_sub(), set, and sgn().
Referenced by isl_pw_qpolynomial_fold_covers().
|
static |
Definition at line 2027 of file isl_fold.c.
References isl_qpolynomial_realign_domain(), isl_reordering_copy(), and user.
Referenced by FN(), and isl_qpolynomial_fold_realign_domain().
|
static |
Definition at line 232 of file isl_fold.c.
References isl_qpolynomial_reset_domain_space(), isl_space_copy(), and user.
Referenced by FN(), isl_qpolynomial_fold_reset_domain_space(), and MULTI().
|
static |
Definition at line 2106 of file isl_fold.c.
References isl_qpolynomial_scale_val(), isl_val_copy(), and user.
Referenced by FN(), and isl_qpolynomial_fold_scale_val().
|
static |
Definition at line 330 of file isl_fold.c.
References isl_qpolynomial_set_dim_name(), isl_fold_set_dim_name_data::pos, isl_fold_set_dim_name_data::s, isl_fold_set_dim_name_data::type, and user.
Referenced by FN(), and isl_qpolynomial_fold_set_dim_name().
|
static |
Definition at line 1775 of file isl_fold.c.
References isl_fold_substitute::first, isl_qpolynomial_substitute(), isl_fold_substitute::n, isl_fold_substitute::subs, isl_fold_substitute::type, and user.
Referenced by isl_qpolynomial_fold_substitute().
|
static |
Definition at line 868 of file isl_fold.c.
References isl_basic_set_copy(), isl_qpolynomial_substitute_equalities(), and user.
Referenced by FN(), and isl_qpolynomial_fold_substitute_equalities().