Polly 20.0.0git
|
#include <stdio.h>
#include <isl_int.h>
#include <isl/map.h>
#include <isl/mat.h>
#include <isl_morph.h>
#include <isl/polynomial.h>
#include <isl_reordering.h>
#include "isl_list_private.h"
#include <isl_list_templ.h>
#include <isl_pw_templ.h>
Go to the source code of this file.
Classes | |
struct | isl_poly |
struct | isl_poly_cst |
struct | isl_poly_rec |
struct | isl_qpolynomial |
struct | isl_term |
struct | isl_pw_qpolynomial_piece |
struct | isl_pw_qpolynomial |
struct | isl_qpolynomial_fold |
struct | isl_pw_qpolynomial_fold_piece |
struct | isl_pw_qpolynomial_fold |
Macros | |
#define | EL isl_qpolynomial |
#define | PW isl_pw_qpolynomial |
#define | EL isl_pw_qpolynomial |
#define | PW isl_pw_qpolynomial_fold |
#define | EL isl_pw_qpolynomial_fold |
Typedefs | |
typedef struct isl_poly | isl_poly |
typedef struct isl_poly_cst | isl_poly_cst |
typedef struct isl_poly_rec | isl_poly_rec |
#define EL isl_qpolynomial |
Definition at line 121 of file isl_polynomial_private.h.
#define EL isl_pw_qpolynomial |
Definition at line 121 of file isl_polynomial_private.h.
#define EL isl_pw_qpolynomial_fold |
Definition at line 121 of file isl_polynomial_private.h.
#define PW isl_pw_qpolynomial |
Definition at line 116 of file isl_polynomial_private.h.
#define PW isl_pw_qpolynomial_fold |
Definition at line 116 of file isl_polynomial_private.h.
Definition at line 16 of file isl_polynomial_private.h.
typedef struct isl_poly_cst isl_poly_cst |
Definition at line 23 of file isl_polynomial_private.h.
typedef struct isl_poly_rec isl_poly_rec |
Definition at line 32 of file isl_polynomial_private.h.
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_keep isl_poly_cst * isl_poly_as_cst | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 59 of file isl_polynomial.c.
References isl_assert, and poly.
Referenced by isl_poly_cst_add_isl_int(), isl_poly_cst_mul_isl_int(), isl_poly_cst_scale_val(), isl_poly_dup_cst(), isl_poly_foreach_term(), isl_poly_get_constant_val(), isl_poly_is_equal(), isl_poly_is_infty(), isl_poly_is_nan(), isl_poly_is_neginfty(), isl_poly_is_negone(), isl_poly_is_one(), isl_poly_is_zero(), isl_poly_mul_cst(), isl_poly_plain_cmp(), isl_poly_sgn(), isl_poly_sum_cst(), isl_poly_update_affine(), isl_poly_var_pow(), isl_qpolynomial_cst_on_domain(), isl_qpolynomial_cst_sign(), isl_qpolynomial_is_cst(), isl_qpolynomial_rat_cst_on_domain(), isl_qpolynomial_val_on_domain(), poly_print_cst(), and poly_update_den().
__isl_keep isl_poly_rec * isl_poly_as_rec | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 69 of file isl_polynomial.c.
References isl_assert, and poly.
Referenced by expand(), isl_poly_add_isl_int(), isl_poly_coeff(), isl_poly_degree(), isl_poly_drop(), isl_poly_dup_rec(), isl_poly_eval(), isl_poly_foreach_term(), isl_poly_get_constant_val(), isl_poly_homogenize(), isl_poly_is_affine(), isl_poly_is_equal(), isl_poly_mul(), isl_poly_mul_isl_int(), isl_poly_mul_rec(), isl_poly_plain_cmp(), isl_poly_scale_val(), isl_poly_subs(), isl_poly_sum(), isl_poly_update_affine(), isl_qpolynomial_sign(), poly_print(), poly_set_active(), poly_update_den(), reorder(), and replace_by_constant_term().
__isl_give isl_poly * isl_poly_copy | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 639 of file isl_polynomial.c.
References poly.
Referenced by isl_poly_coeff(), isl_poly_dup_rec(), isl_poly_eval(), isl_poly_mul(), isl_poly_mul_rec(), isl_poly_pow(), isl_poly_subs(), isl_poly_sum(), isl_qpolynomial_add(), isl_qpolynomial_as_polynomial_on_domain(), isl_qpolynomial_dup(), isl_qpolynomial_eval(), isl_qpolynomial_mul(), isl_qpolynomial_sign(), reorder(), and replace_by_constant_term().
__isl_give isl_poly * isl_poly_cow | ( | __isl_take isl_poly * | poly | ) |
Definition at line 706 of file isl_polynomial.c.
References isl_poly_dup(), and poly.
Referenced by expand(), isl_poly_add_isl_int(), isl_poly_coeff(), isl_poly_cst_add_isl_int(), isl_poly_cst_mul_isl_int(), isl_poly_cst_scale_val(), isl_poly_drop(), isl_poly_homogenize(), isl_poly_mul(), isl_poly_mul_cst(), isl_poly_mul_isl_int(), isl_poly_scale_val(), isl_poly_sum(), and isl_poly_sum_cst().
__isl_give isl_poly * isl_poly_dup | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 693 of file isl_polynomial.c.
References isl_poly_dup_cst(), isl_poly_dup_rec(), isl_poly_is_cst(), and poly.
Referenced by isl_poly_cow().
__isl_null isl_poly * isl_poly_free | ( | __isl_take isl_poly * | poly | ) |
Definition at line 717 of file isl_polynomial.c.
References isl_ctx_deref(), poly, poly_free_cst(), and poly_free_rec().
Referenced by expand(), isl_poly_add_isl_int(), isl_poly_coeff(), isl_poly_cst_mul_isl_int(), isl_poly_cst_scale_val(), isl_poly_drop(), isl_poly_dup_rec(), isl_poly_eval(), isl_poly_homogenize(), isl_poly_mul(), isl_poly_mul_cst(), isl_poly_mul_isl_int(), isl_poly_mul_rec(), isl_poly_pow(), isl_poly_scale_val(), isl_poly_subs(), isl_poly_sum(), isl_poly_sum_cst(), isl_poly_var_pow(), isl_qpolynomial_alloc(), isl_qpolynomial_free(), isl_qpolynomial_morph_domain(), isl_qpolynomial_substitute_equalities_lifted(), make_divs_pos(), poly_free_rec(), reduce_divs(), reorder(), replace_by_constant_term(), replace_by_zero(), and substitute_div().
isl_bool isl_poly_is_cst | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 51 of file isl_polynomial.c.
References isl_bool_error, isl_bool_ok(), and poly.
Referenced by expand(), isl_poly_add_isl_int(), isl_poly_coeff(), isl_poly_degree(), isl_poly_dup(), isl_poly_eval(), isl_poly_foreach_term(), isl_poly_get_constant_val(), isl_poly_homogenize(), isl_poly_is_affine(), isl_poly_is_equal(), isl_poly_is_infty(), isl_poly_is_nan(), isl_poly_is_neginfty(), isl_poly_is_negone(), isl_poly_is_one(), isl_poly_is_zero(), isl_poly_mul(), isl_poly_mul_isl_int(), isl_poly_plain_cmp(), isl_poly_scale_val(), isl_poly_sgn(), isl_poly_subs(), isl_poly_sum(), isl_qpolynomial_is_cst(), isl_qpolynomial_opt_on_domain(), poly_print(), poly_set_active(), poly_update_den(), and reorder().
isl_bool isl_poly_is_negone | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 273 of file isl_polynomial.c.
References isl_bool_error, isl_bool_ok(), isl_int_is_negone, isl_int_is_one, isl_poly_as_cst(), isl_poly_is_cst(), and poly.
Referenced by poly_print().
isl_bool isl_poly_is_one | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 255 of file isl_polynomial.c.
References isl_bool_error, isl_bool_ok(), isl_int_eq, isl_int_is_pos, isl_poly_as_cst(), isl_poly_is_cst(), and poly.
Referenced by isl_poly_mul(), isl_qpolynomial_is_one(), and poly_print().
isl_bool isl_poly_is_zero | ( | __isl_keep isl_poly * | poly | ) |
Definition at line 175 of file isl_polynomial.c.
References isl_bool_error, isl_bool_ok(), isl_int_is_pos, isl_int_is_zero, isl_poly_as_cst(), isl_poly_is_cst(), and poly.
Referenced by isl_poly_cst_mul_isl_int(), isl_poly_cst_scale_val(), isl_poly_degree(), isl_poly_foreach_term(), isl_poly_homogenize(), isl_poly_mul(), isl_poly_sum(), isl_qpolynomial_is_zero(), poly_print(), and poly_rec_n_non_zero().
__isl_give struct isl_poly * isl_poly_mul | ( | __isl_take struct isl_poly * | poly1, |
__isl_take struct isl_poly * | poly2 | ||
) |
__isl_give struct isl_poly * isl_poly_mul_isl_int | ( | __isl_take isl_poly * | poly, |
isl_int | v | ||
) |
Definition at line 993 of file isl_polynomial.c.
References isl_ctx::error, isl_poly_as_rec(), isl_poly_cow(), isl_poly_cst_mul_isl_int(), isl_poly_free(), isl_poly_is_cst(), isl_poly_mul_isl_int(), isl_poly_rec::n, isl_poly_rec::p, and poly.
Referenced by isl_poly_mul_isl_int(), and isl_qpolynomial_mul_isl_int().
__isl_give isl_poly * isl_poly_sum | ( | __isl_take isl_poly * | poly1, |
__isl_take isl_poly * | poly2 | ||
) |
Definition at line 809 of file isl_polynomial.c.
References isl_ctx::error, isl_poly_as_rec(), isl_poly_copy(), isl_poly_cow(), isl_poly_free(), isl_poly_is_cst(), isl_poly_is_infty(), isl_poly_is_nan(), isl_poly_is_neginfty(), isl_poly_is_zero(), isl_poly_sum(), isl_poly_sum_cst(), isl_poly_rec::n, isl_poly_rec::p, replace_by_constant_term(), and replace_by_zero().
Referenced by isl_poly_from_affine(), isl_poly_mul_rec(), isl_poly_subs(), isl_poly_sum(), isl_qpolynomial_add(), and reorder().
__isl_give isl_poly * isl_poly_zero | ( | struct isl_ctx * | ctx | ) |
Definition at line 308 of file isl_polynomial.c.
References isl_int_set_si, and isl_poly_cst_alloc().
Referenced by isl_poly_coeff(), isl_poly_dup_cst(), isl_poly_mul_rec(), isl_poly_var_pow(), isl_qpolynomial_zero_on_domain(), and replace_by_zero().
__isl_give isl_pw_qpolynomial * isl_pw_qpolynomial_add_piece | ( | __isl_take isl_pw_qpolynomial * | pwqp, |
__isl_take isl_set * | set, | ||
__isl_take isl_qpolynomial * | qp | ||
) |
Referenced by isl_pw_qpolynomial_from_pw_aff(), and isl_pw_qpolynomial_mul().
__isl_give isl_pw_qpolynomial * isl_pw_qpolynomial_cow | ( | __isl_take isl_pw_qpolynomial * | pwqp | ) |
Referenced by isl_pw_qpolynomial_pow(), and pwqp_drop_floors().
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_cow | ( | __isl_take isl_pw_qpolynomial_fold * | pwf | ) |
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_morph_domain | ( | __isl_take isl_pw_qpolynomial_fold * | pwf, |
__isl_take isl_morph * | morph | ||
) |
Referenced by unwrapped_guarded_poly_bound().
__isl_keep isl_qpolynomial_fold * isl_pw_qpolynomial_fold_peek_base_at | ( | __isl_keep isl_pw_qpolynomial_fold * | pwf, |
int | pos | ||
) |
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_reset_domain_space | ( | __isl_take isl_pw_qpolynomial_fold * | pwf, |
__isl_take isl_space * | space | ||
) |
Referenced by isl_map_apply_pw_qpolynomial_fold().
int isl_pw_qpolynomial_is_one | ( | __isl_keep isl_pw_qpolynomial * | pwqp | ) |
Definition at line 3133 of file isl_polynomial.c.
References isl_qpolynomial_is_one(), isl_set_plain_is_universe(), and pwqp.
Referenced by isl_pw_qpolynomial_mul().
__isl_give isl_pw_qpolynomial * isl_pw_qpolynomial_morph_domain | ( | __isl_take isl_pw_qpolynomial * | pwqp, |
__isl_take isl_morph * | morph | ||
) |
Referenced by bernstein_coefficients_factors(), and isl_basic_set_multiplicative_call().
__isl_keep isl_qpolynomial * isl_pw_qpolynomial_peek_base_at | ( | __isl_keep isl_pw_qpolynomial * | pwqp, |
int | pos | ||
) |
__isl_give isl_pw_qpolynomial * isl_pw_qpolynomial_project_out | ( | __isl_take isl_pw_qpolynomial * | pwqp, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
__isl_give isl_pw_qpolynomial * isl_pw_qpolynomial_reset_space | ( | __isl_take isl_pw_qpolynomial * | pwqp, |
__isl_take isl_space * | space | ||
) |
__isl_give isl_qpolynomial * isl_qpolynomial_add_isl_int | ( | __isl_take isl_qpolynomial * | qp, |
isl_int | v | ||
) |
Definition at line 1728 of file isl_polynomial.c.
References isl_int_is_zero, isl_poly_add_isl_int(), isl_qpolynomial_cow(), and isl_qpolynomial_free().
__isl_give isl_qpolynomial * isl_qpolynomial_add_on_domain | ( | __isl_keep isl_set * | dom, |
__isl_take isl_qpolynomial * | qp1, | ||
__isl_take isl_qpolynomial * | qp2 | ||
) |
Definition at line 1712 of file isl_polynomial.c.
References isl_qpolynomial_add(), isl_qpolynomial_gist(), and isl_set_copy().
__isl_give isl_qpolynomial * isl_qpolynomial_alloc | ( | __isl_take isl_space * | space, |
unsigned | n_div, | ||
__isl_take isl_poly * | poly | ||
) |
Definition at line 1287 of file isl_polynomial.c.
References isl_qpolynomial::dim, isl_qpolynomial::div, isl_calloc_type, isl_die, isl_dim_all, isl_error_invalid, isl_mat_alloc(), isl_poly_free(), isl_qpolynomial_free(), isl_space_dim(), isl_space_free(), isl_space_get_ctx(), isl_space_is_set(), isl_qpolynomial::poly, poly, isl_qpolynomial::ref, and total().
Referenced by isl_qpolynomial_as_polynomial_on_domain(), isl_qpolynomial_coeff(), isl_qpolynomial_dup(), isl_qpolynomial_from_aff(), isl_qpolynomial_from_affine(), isl_qpolynomial_from_term(), isl_qpolynomial_infty_on_domain(), isl_qpolynomial_nan_on_domain(), isl_qpolynomial_neginfty_on_domain(), isl_qpolynomial_one_on_domain(), isl_qpolynomial_sign(), isl_qpolynomial_var_pow_on_domain(), and isl_qpolynomial_zero_on_domain().
__isl_give isl_qpolynomial * isl_qpolynomial_coeff | ( | __isl_keep isl_qpolynomial * | poly, |
enum isl_dim_type | type, | ||
unsigned | pos, | ||
int | deg | ||
) |
Definition at line 3768 of file isl_polynomial.c.
References isl_qpolynomial::div, domain_type(), isl_die, isl_dim_out, isl_error_invalid, isl_mat_copy(), isl_mat_free(), isl_poly_coeff(), isl_qpolynomial_alloc(), isl_qpolynomial_free(), isl_space_copy(), poly, pos(), and type.
Referenced by extract_coefficients().
__isl_give isl_qpolynomial * isl_qpolynomial_cow | ( | __isl_take isl_qpolynomial * | qp | ) |
Definition at line 1352 of file isl_polynomial.c.
References isl_qpolynomial_dup(), and isl_qpolynomial::ref.
Referenced by isl_qpolynomial_add(), isl_qpolynomial_add_isl_int(), isl_qpolynomial_drop_dims(), isl_qpolynomial_homogenize(), isl_qpolynomial_insert_dims(), isl_qpolynomial_lift(), isl_qpolynomial_morph_domain(), isl_qpolynomial_move_dims(), isl_qpolynomial_mul(), isl_qpolynomial_mul_isl_int(), isl_qpolynomial_pow(), isl_qpolynomial_realign_domain(), isl_qpolynomial_reset_domain_space(), isl_qpolynomial_scale_val(), isl_qpolynomial_set_dim_name(), isl_qpolynomial_substitute(), isl_qpolynomial_substitute_equalities_lifted(), make_divs_pos(), qp_drop_floors(), substitute_div(), and with_merged_divs().
__isl_give isl_qpolynomial * isl_qpolynomial_cst_on_domain | ( | __isl_take isl_space * | domain, |
isl_int | v | ||
) |
Definition at line 1965 of file isl_polynomial.c.
References domain, isl_int_set, isl_poly_as_cst(), isl_qpolynomial_zero_on_domain(), and isl_qpolynomial::poly.
Referenced by isl_qpolynomial_sign(), and read_factor().
int isl_qpolynomial_degree | ( | __isl_keep isl_qpolynomial * | poly | ) |
Definition at line 3702 of file isl_polynomial.c.
References isl_dim_set, isl_poly_degree(), isl_space_dim(), isl_space_offset(), and poly.
Referenced by bernstein_coefficients_base(), compressed_guarded_poly_bound(), extract_coefficients(), and isl_qpolynomial_homogenize().
unsigned isl_qpolynomial_domain_offset | ( | __isl_keep isl_qpolynomial * | qp, |
enum isl_dim_type | type | ||
) |
Definition at line 580 of file isl_polynomial.c.
References isl_dim_cst, isl_dim_div, isl_dim_param, isl_dim_set, isl_qpolynomial_domain_var_offset(), and type.
Referenced by reduce_divs().
__isl_give isl_qpolynomial * isl_qpolynomial_dup | ( | __isl_keep isl_qpolynomial * | qp | ) |
Definition at line 1330 of file isl_polynomial.c.
References dup(), isl_mat_copy(), isl_mat_free(), isl_poly_copy(), isl_qpolynomial_alloc(), isl_qpolynomial_free(), and isl_space_copy().
Referenced by isl_qpolynomial_cow().
__isl_give isl_vec * isl_qpolynomial_extract_affine | ( | __isl_keep isl_qpolynomial * | qp | ) |
Definition at line 2134 of file isl_polynomial.c.
References aff, isl_dim_all, isl_int_set_si, isl_poly_update_affine(), isl_qpolynomial_domain_dim(), isl_seq_clr(), isl_vec_alloc(), and isl_vec_free().
Referenced by isl_basic_map_from_qpolynomial(), and isl_qpolynomial_aff_sign().
__isl_give isl_qpolynomial_fold * isl_qpolynomial_fold_add_on_domain | ( | __isl_keep isl_set * | set, |
__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_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_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_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_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.
Referenced by isl_qpolynomial_fold_gist_params().
__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_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.
__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_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().
__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_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().
__isl_give isl_qpolynomial * isl_qpolynomial_from_affine | ( | __isl_take isl_space * | space, |
isl_int * | f, | ||
isl_int | denom | ||
) |
Definition at line 3485 of file isl_polynomial.c.
References f, isl_dim_all, isl_poly_from_affine(), isl_qpolynomial_alloc(), isl_space_dim(), isl_space_domain(), and poly.
Referenced by vertex_coordinate().
__isl_give isl_val * isl_qpolynomial_get_den | ( | __isl_keep isl_qpolynomial * | qp | ) |
Definition at line 2242 of file isl_polynomial.c.
References isl_qpolynomial_get_ctx(), isl_val_free(), isl_val_one(), isl_val::n, and poly_update_den().
Referenced by print_qpolynomial_c().
isl_bool isl_qpolynomial_is_affine | ( | __isl_keep isl_qpolynomial * | qp | ) |
Definition at line 2072 of file isl_polynomial.c.
References isl_bool_error, isl_bool_false, and isl_poly_is_affine().
Referenced by isl_qpolynomial_sign().
isl_bool isl_qpolynomial_is_cst | ( | __isl_keep isl_qpolynomial * | qp, |
isl_int * | n, | ||
isl_int * | d | ||
) |
Definition at line 1982 of file isl_polynomial.c.
References isl_bool_error, isl_bool_true, isl_int_set, isl_poly_as_cst(), isl_poly_is_cst(), and n.
Referenced by isl_qpolynomial_sign(), and propagate_on_domain().
isl_bool isl_qpolynomial_is_one | ( | __isl_keep isl_qpolynomial * | qp | ) |
Definition at line 600 of file isl_polynomial.c.
References isl_bool_error, and isl_poly_is_one().
Referenced by isl_pw_qpolynomial_is_one().
__isl_give isl_qpolynomial * isl_qpolynomial_lift | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_space * | space | ||
) |
Definition at line 4220 of file isl_polynomial.c.
References expand(), isl_alloc_array, isl_dim_all, isl_dim_set, isl_mat_insert_cols(), isl_qpolynomial_cow(), isl_qpolynomial_domain_dim(), isl_qpolynomial_free(), isl_seq_clr(), isl_space_dim(), isl_space_free(), isl_space_is_equal(), and total().
Referenced by lift().
__isl_give isl_qpolynomial * isl_qpolynomial_morph_domain | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_morph * | morph | ||
) |
Definition at line 4392 of file isl_polynomial.c.
References isl_qpolynomial::dim, isl_qpolynomial::div, isl_calloc_array, isl_mat_copy(), isl_mat_diag(), isl_mat_diagonal(), isl_mat_product(), isl_morph_check_applies(), isl_morph_free(), isl_poly_free(), isl_poly_from_affine(), isl_poly_subs(), isl_poly_var_pow(), isl_qpolynomial_cow(), isl_qpolynomial_free(), isl_qpolynomial_get_ctx(), isl_qpolynomial_peek_domain_space(), isl_space_copy(), isl_space_free(), isl_mat::n_row, isl_qpolynomial::poly, and isl_opt_data::qp.
Referenced by morph_domain(), and unwrapped_guarded_poly_bound().
__isl_give isl_qpolynomial * isl_qpolynomial_mul_isl_int | ( | __isl_take isl_qpolynomial * | qp, |
isl_int | v | ||
) |
Definition at line 1757 of file isl_polynomial.c.
References isl_int_is_one, isl_int_is_zero, isl_poly_mul_isl_int(), isl_qpolynomial_cow(), isl_qpolynomial_free(), isl_qpolynomial_zero_on_domain(), and isl_space_copy().
Referenced by isl_qpolynomial_neg(), isl_qpolynomial_scale(), and mul_int().
__isl_give isl_val * isl_qpolynomial_opt_on_domain | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_set * | set, | ||
int | max | ||
) |
Definition at line 4354 of file isl_polynomial.c.
References isl_opt_data::first, fix_inactive(), isl_poly_is_cst(), isl_qpolynomial_free(), isl_qpolynomial_get_constant_val(), isl_set_foreach_point(), isl_set_free(), isl_set_get_ctx(), isl_val_free(), isl_val_zero(), isl_opt_data::max, isl_opt_data::opt, opt_fn(), isl_qpolynomial::poly, isl_opt_data::qp, and set.
Referenced by isl_qpolynomial_fold_opt_on_domain().
int isl_qpolynomial_plain_cmp | ( | __isl_keep isl_qpolynomial * | qp1, |
__isl_keep isl_qpolynomial * | qp2 | ||
) |
Definition at line 2165 of file isl_polynomial.c.
References cmp(), isl_local_cmp(), isl_poly_plain_cmp(), and isl_space_cmp().
Referenced by isl_qpolynomial_fold_plain_cmp(), and qpolynomial_cmp().
__isl_give isl_qpolynomial * isl_qpolynomial_rat_cst_on_domain | ( | __isl_take isl_space * | domain, |
const isl_int | n, | ||
const isl_int | d | ||
) |
Definition at line 2620 of file isl_polynomial.c.
References domain, isl_int_set, isl_poly_as_cst(), isl_qpolynomial_zero_on_domain(), n, and isl_qpolynomial::poly.
Referenced by extract_coefficients(), monotonicity(), and read_factor().
__isl_give isl_qpolynomial * isl_qpolynomial_realign_domain | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_reordering * | r | ||
) |
Definition at line 4460 of file isl_polynomial.c.
References isl_qpolynomial::div, isl_local_reorder(), isl_qpolynomial_cow(), isl_qpolynomial_free(), isl_qpolynomial_reset_domain_space(), isl_reordering_copy(), isl_reordering_extend(), isl_reordering_free(), isl_reordering_get_space(), isl_mat::n_row, isl_qpolynomial::poly, isl_opt_data::qp, and reorder().
Referenced by isl_qpolynomial_align_params(), and realign_domain().
__isl_give isl_qpolynomial * isl_qpolynomial_reset_domain_space | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_space * | space | ||
) |
Definition at line 415 of file isl_polynomial.c.
References isl_qpolynomial_cow(), isl_qpolynomial_free(), and isl_space_free().
Referenced by isl_qpolynomial_project_domain_on_params(), isl_qpolynomial_realign_domain(), isl_qpolynomial_reset_space_and_domain(), and reset_domain_space().
__isl_give isl_qpolynomial * isl_qpolynomial_reset_space_and_domain | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_space * | space, | ||
__isl_take isl_space * | domain | ||
) |
Definition at line 436 of file isl_polynomial.c.
References domain, isl_qpolynomial_reset_domain_space(), and isl_space_free().
__isl_give isl_qpolynomial * isl_qpolynomial_substitute_equalities | ( | __isl_take isl_qpolynomial * | qp, |
__isl_take isl_basic_set * | eq | ||
) |
Definition at line 3041 of file isl_polynomial.c.
References isl_basic_set_add_dims(), isl_basic_set_free(), isl_dim_set, isl_qpolynomial_free(), and isl_qpolynomial_substitute_equalities_lifted().
Referenced by substitute_equalities().
__isl_give isl_qpolynomial * isl_qpolynomial_var_pow_on_domain | ( | __isl_take isl_space * | domain, |
int | pos, | ||
int | power | ||
) |
Definition at line 2256 of file isl_polynomial.c.
References domain, isl_poly_var_pow(), isl_qpolynomial_alloc(), pos(), and power().
Referenced by isl_qpolynomial_sign(), isl_qpolynomial_var_on_domain(), and read_factor().
void isl_term_get_num | ( | __isl_keep isl_term * | term, |
isl_int * | n | ||
) |
Definition at line 4038 of file isl_polynomial.c.
References isl_int_set, and n.
Referenced by collect_fixed_sign_terms().