#include <stdlib.h>
#include <isl_ctx_private.h>
#include <isl_map_private.h>
#include <isl_factorization.h>
#include <isl_lp_private.h>
#include <isl_seq.h>
#include <isl_union_map_private.h>
#include <isl_constraint_private.h>
#include <isl_polynomial_private.h>
#include <isl_point_private.h>
#include <isl_space_private.h>
#include <isl_mat_private.h>
#include <isl_vec_private.h>
#include <isl_range.h>
#include <isl_local.h>
#include <isl_local_space_private.h>
#include <isl_aff_private.h>
#include <isl_val_private.h>
#include <isl_config.h>
#undef EL_BASE
#define EL_BASE …
#include <isl_list_templ.c>
#undef EL_BASE
#define EL_BASE …
#include <isl_list_templ.c>
static unsigned pos(__isl_keep isl_space *space, enum isl_dim_type type)
{ … }
isl_bool isl_poly_is_cst(__isl_keep isl_poly *poly)
{ … }
__isl_keep isl_poly_cst *isl_poly_as_cst(__isl_keep isl_poly *poly)
{ … }
__isl_keep isl_poly_rec *isl_poly_as_rec(__isl_keep isl_poly *poly)
{ … }
static int isl_poly_plain_cmp(__isl_keep isl_poly *poly1,
__isl_keep isl_poly *poly2)
{ … }
isl_bool isl_poly_is_equal(__isl_keep isl_poly *poly1,
__isl_keep isl_poly *poly2)
{ … }
isl_bool isl_poly_is_zero(__isl_keep isl_poly *poly)
{ … }
int isl_poly_sgn(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_poly_is_nan(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_poly_is_infty(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_poly_is_neginfty(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_poly_is_one(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_poly_is_negone(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_poly_cst *isl_poly_cst_alloc(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_zero(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_one(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_infty(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_neginfty(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_nan(isl_ctx *ctx)
{ … }
__isl_give isl_poly *isl_poly_rat_cst(isl_ctx *ctx, isl_int n, isl_int d)
{ … }
__isl_give isl_poly_rec *isl_poly_alloc_rec(isl_ctx *ctx, int var, int size)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_reset_domain_space(
__isl_take isl_qpolynomial *qp, __isl_take isl_space *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)
{ … }
isl_ctx *isl_qpolynomial_get_ctx(__isl_keep isl_qpolynomial *qp)
{ … }
static __isl_keep isl_space *isl_qpolynomial_peek_domain_space(
__isl_keep isl_qpolynomial *qp)
{ … }
__isl_give isl_space *isl_qpolynomial_get_domain_space(
__isl_keep isl_qpolynomial *qp)
{ … }
#undef TYPE
#define TYPE …
#undef PEEK_SPACE
#define PEEK_SPACE …
static
#include "isl_type_has_equal_space_bin_templ.c"
static
#include "isl_type_check_equal_space_templ.c"
#undef PEEK_SPACE
static __isl_give isl_local_space *isl_qpolynomial_get_domain_local_space(
__isl_keep isl_qpolynomial *qp)
{ … }
__isl_give isl_space *isl_qpolynomial_get_space(__isl_keep isl_qpolynomial *qp)
{ … }
isl_size isl_qpolynomial_domain_dim(__isl_keep isl_qpolynomial *qp,
enum isl_dim_type type)
{ … }
static enum isl_dim_type domain_type(enum isl_dim_type type)
{ … }
isl_size isl_qpolynomial_dim(__isl_keep isl_qpolynomial *qp,
enum isl_dim_type type)
{ … }
static isl_size isl_qpolynomial_domain_var_offset(
__isl_keep isl_qpolynomial *qp, enum isl_dim_type type)
{ … }
unsigned isl_qpolynomial_domain_offset(__isl_keep isl_qpolynomial *qp,
enum isl_dim_type type)
{ … }
isl_bool isl_qpolynomial_is_zero(__isl_keep isl_qpolynomial *qp)
{ … }
isl_bool isl_qpolynomial_is_one(__isl_keep isl_qpolynomial *qp)
{ … }
isl_bool isl_qpolynomial_is_nan(__isl_keep isl_qpolynomial *qp)
{ … }
isl_bool isl_qpolynomial_is_infty(__isl_keep isl_qpolynomial *qp)
{ … }
isl_bool isl_qpolynomial_is_neginfty(__isl_keep isl_qpolynomial *qp)
{ … }
int isl_qpolynomial_sgn(__isl_keep isl_qpolynomial *qp)
{ … }
static void poly_free_cst(__isl_take isl_poly_cst *cst)
{ … }
static void poly_free_rec(__isl_take isl_poly_rec *rec)
{ … }
__isl_give isl_poly *isl_poly_copy(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_poly *isl_poly_dup_cst(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_poly *isl_poly_dup_rec(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_poly *isl_poly_dup(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_poly *isl_poly_cow(__isl_take isl_poly *poly)
{ … }
__isl_null isl_poly *isl_poly_free(__isl_take isl_poly *poly)
{ … }
static void isl_poly_cst_reduce(__isl_keep isl_poly_cst *cst)
{ … }
__isl_give isl_poly *isl_poly_sum_cst(__isl_take isl_poly *poly1,
__isl_take isl_poly *poly2)
{ … }
static __isl_give isl_poly *replace_by_zero(__isl_take isl_poly *poly)
{ … }
static __isl_give isl_poly *replace_by_constant_term(__isl_take isl_poly *poly)
{ … }
__isl_give isl_poly *isl_poly_sum(__isl_take isl_poly *poly1,
__isl_take isl_poly *poly2)
{ … }
__isl_give isl_poly *isl_poly_cst_add_isl_int(__isl_take isl_poly *poly,
isl_int v)
{ … }
__isl_give isl_poly *isl_poly_add_isl_int(__isl_take isl_poly *poly, isl_int v)
{ … }
__isl_give isl_poly *isl_poly_cst_mul_isl_int(__isl_take isl_poly *poly,
isl_int v)
{ … }
__isl_give isl_poly *isl_poly_mul_isl_int(__isl_take isl_poly *poly, isl_int v)
{ … }
static __isl_give isl_poly *isl_poly_cst_scale_val(__isl_take isl_poly *poly,
__isl_keep isl_val *v)
{ … }
static __isl_give isl_poly *isl_poly_scale_val(__isl_take isl_poly *poly,
__isl_keep isl_val *v)
{ … }
__isl_give isl_poly *isl_poly_mul_cst(__isl_take isl_poly *poly1,
__isl_take isl_poly *poly2)
{ … }
__isl_give isl_poly *isl_poly_mul_rec(__isl_take isl_poly *poly1,
__isl_take isl_poly *poly2)
{ … }
__isl_give isl_poly *isl_poly_mul(__isl_take isl_poly *poly1,
__isl_take isl_poly *poly2)
{ … }
__isl_give isl_poly *isl_poly_pow(__isl_take isl_poly *poly, unsigned power)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_alloc(__isl_take isl_space *space,
unsigned n_div, __isl_take isl_poly *poly)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_copy(__isl_keep isl_qpolynomial *qp)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_dup(__isl_keep isl_qpolynomial *qp)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_cow(__isl_take isl_qpolynomial *qp)
{ … }
__isl_null isl_qpolynomial *isl_qpolynomial_free(
__isl_take isl_qpolynomial *qp)
{ … }
__isl_give isl_poly *isl_poly_var_pow(isl_ctx *ctx, int pos, int power)
{ … }
static __isl_give isl_poly *reorder(__isl_take isl_poly *poly, int *r)
{ … }
static isl_bool compatible_divs(__isl_keep isl_mat *div1,
__isl_keep isl_mat *div2)
{ … }
static int cmp_row(__isl_keep isl_mat *div, int i, int j)
{ … }
struct isl_div_sort_info { … };
static int div_sort_cmp(const void *p1, const void *p2)
{ … }
static __isl_give isl_qpolynomial *sort_divs(__isl_take isl_qpolynomial *qp)
{ … }
static __isl_give isl_poly *expand(__isl_take isl_poly *poly, int *exp,
int first)
{ … }
static __isl_give isl_qpolynomial *with_merged_divs(
__isl_give isl_qpolynomial *(*fn)(__isl_take isl_qpolynomial *qp1,
__isl_take isl_qpolynomial *qp2),
__isl_take isl_qpolynomial *qp1, __isl_take isl_qpolynomial *qp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_add(__isl_take isl_qpolynomial *qp1,
__isl_take isl_qpolynomial *qp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_add_on_domain(
__isl_keep isl_set *dom,
__isl_take isl_qpolynomial *qp1,
__isl_take isl_qpolynomial *qp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_sub(__isl_take isl_qpolynomial *qp1,
__isl_take isl_qpolynomial *qp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_add_isl_int(
__isl_take isl_qpolynomial *qp, isl_int v)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_neg(__isl_take isl_qpolynomial *qp)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_mul_isl_int(
__isl_take isl_qpolynomial *qp, isl_int v)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_scale(
__isl_take isl_qpolynomial *qp, isl_int v)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_scale_val(
__isl_take isl_qpolynomial *qp, __isl_take isl_val *v)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_scale_down_val(
__isl_take isl_qpolynomial *qp, __isl_take isl_val *v)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_mul(__isl_take isl_qpolynomial *qp1,
__isl_take isl_qpolynomial *qp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_pow(__isl_take isl_qpolynomial *qp,
unsigned power)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_pow(
__isl_take isl_pw_qpolynomial *pwqp, unsigned power)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_zero_on_domain(
__isl_take isl_space *domain)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_one_on_domain(
__isl_take isl_space *domain)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_infty_on_domain(
__isl_take isl_space *domain)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_neginfty_on_domain(
__isl_take isl_space *domain)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_nan_on_domain(
__isl_take isl_space *domain)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_cst_on_domain(
__isl_take isl_space *domain,
isl_int v)
{ … }
isl_bool isl_qpolynomial_is_cst(__isl_keep isl_qpolynomial *qp,
isl_int *n, isl_int *d)
{ … }
static __isl_give isl_val *isl_poly_get_constant_val(__isl_keep isl_poly *poly)
{ … }
__isl_give isl_val *isl_qpolynomial_get_constant_val(
__isl_keep isl_qpolynomial *qp)
{ … }
isl_bool isl_poly_is_affine(__isl_keep isl_poly *poly)
{ … }
isl_bool isl_qpolynomial_is_affine(__isl_keep isl_qpolynomial *qp)
{ … }
static void update_coeff(__isl_keep isl_vec *aff,
__isl_keep isl_poly_cst *cst, int pos)
{ … }
int isl_poly_update_affine(__isl_keep isl_poly *poly, __isl_keep isl_vec *aff)
{ … }
__isl_give isl_vec *isl_qpolynomial_extract_affine(
__isl_keep isl_qpolynomial *qp)
{ … }
int isl_qpolynomial_plain_cmp(__isl_keep isl_qpolynomial *qp1,
__isl_keep isl_qpolynomial *qp2)
{ … }
isl_bool isl_qpolynomial_plain_is_equal(__isl_keep isl_qpolynomial *qp1,
__isl_keep isl_qpolynomial *qp2)
{ … }
static isl_stat poly_update_den(__isl_keep isl_poly *poly, isl_int *d)
{ … }
__isl_give isl_val *isl_qpolynomial_get_den(__isl_keep isl_qpolynomial *qp)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_var_pow_on_domain(
__isl_take isl_space *domain, int pos, int power)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_var_on_domain(
__isl_take isl_space *domain, enum isl_dim_type type, unsigned pos)
{ … }
__isl_give isl_poly *isl_poly_subs(__isl_take isl_poly *poly,
unsigned first, unsigned n, __isl_keep isl_poly **subs)
{ … }
__isl_give isl_poly *isl_poly_from_affine(isl_ctx *ctx, isl_int *f,
isl_int denom, unsigned len)
{ … }
static void normalize_div(__isl_keep isl_qpolynomial *qp, int div)
{ … }
static __isl_give isl_qpolynomial *substitute_div(
__isl_take isl_qpolynomial *qp, int div, __isl_take isl_poly *s)
{ … }
static __isl_give isl_qpolynomial *substitute_non_divs(
__isl_take isl_qpolynomial *qp)
{ … }
static void reduce_div(__isl_keep isl_qpolynomial *qp, int div,
__isl_keep isl_mat **mat)
{ … }
static int needs_invert(__isl_keep isl_mat *div, int row)
{ … }
static void invert_div(__isl_keep isl_qpolynomial *qp, int div,
__isl_keep isl_mat **mat)
{ … }
static __isl_give isl_qpolynomial *reduce_divs(__isl_take isl_qpolynomial *qp)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain(
__isl_take isl_space *domain, const isl_int n, const isl_int d)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_val_on_domain(
__isl_take isl_space *domain, __isl_take isl_val *val)
{ … }
static isl_stat poly_set_active(__isl_keep isl_poly *poly, int *active, int d)
{ … }
static isl_stat set_active(__isl_keep isl_qpolynomial *qp, int *active)
{ … }
#undef TYPE
#define TYPE …
static
#include "check_type_range_templ.c"
isl_bool isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp,
enum isl_dim_type type, unsigned first, unsigned n)
{ … }
static __isl_give isl_qpolynomial *remove_redundant_divs(
__isl_take isl_qpolynomial *qp)
{ … }
__isl_give isl_poly *isl_poly_drop(__isl_take isl_poly *poly,
unsigned first, unsigned n)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_set_dim_name(
__isl_take isl_qpolynomial *qp,
enum isl_dim_type type, unsigned pos, const char *s)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_drop_dims(
__isl_take isl_qpolynomial *qp,
enum isl_dim_type type, unsigned first, unsigned n)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_project_domain_on_params(
__isl_take isl_qpolynomial *qp)
{ … }
static __isl_give isl_qpolynomial *isl_qpolynomial_substitute_equalities_lifted(
__isl_take isl_qpolynomial *qp, __isl_take isl_basic_set *eq)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_substitute_equalities(
__isl_take isl_qpolynomial *qp, __isl_take isl_basic_set *eq)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_gist(
__isl_take isl_qpolynomial *qp, __isl_take isl_set *context)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_gist_params(
__isl_take isl_qpolynomial *qp, __isl_take isl_set *context)
{ … }
static __isl_give isl_qpolynomial *isl_qpolynomial_zero_in_space(
__isl_take isl_space *space)
{ … }
#define isl_qpolynomial_involves_nan …
#undef PW
#define PW …
#undef BASE
#define BASE …
#undef EL_IS_ZERO
#define EL_IS_ZERO …
#undef ZERO
#define ZERO …
#undef IS_ZERO
#define IS_ZERO …
#undef FIELD
#define FIELD …
#undef DEFAULT_IS_ZERO
#define DEFAULT_IS_ZERO …
#include <isl_pw_templ.c>
#include <isl_pw_un_op_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_neg_templ.c>
#include <isl_pw_opt_templ.c>
#include <isl_pw_split_dims_templ.c>
#include <isl_pw_sub_templ.c>
#undef BASE
#define BASE …
#include <isl_union_single.c>
#include <isl_union_eval.c>
#include <isl_union_neg.c>
#include <isl_union_sub_templ.c>
int isl_pw_qpolynomial_is_one(__isl_keep isl_pw_qpolynomial *pwqp)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_add(
__isl_take isl_pw_qpolynomial *pwqp1,
__isl_take isl_pw_qpolynomial *pwqp2)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul(
__isl_take isl_pw_qpolynomial *pwqp1,
__isl_take isl_pw_qpolynomial *pwqp2)
{ … }
__isl_give isl_val *isl_poly_eval(__isl_take isl_poly *poly,
__isl_take isl_vec *vec)
{ … }
static __isl_give isl_val *eval_void(__isl_take isl_qpolynomial *qp,
__isl_take isl_point *pnt)
{ … }
__isl_give isl_val *isl_qpolynomial_eval(__isl_take isl_qpolynomial *qp,
__isl_take isl_point *pnt)
{ … }
int isl_poly_cmp(__isl_keep isl_poly_cst *cst1, __isl_keep isl_poly_cst *cst2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_insert_dims(
__isl_take isl_qpolynomial *qp, enum isl_dim_type type,
unsigned first, unsigned n)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_add_dims(
__isl_take isl_qpolynomial *qp, enum isl_dim_type type, unsigned n)
{ … }
static int *reordering_move(isl_ctx *ctx,
unsigned len, unsigned dst, unsigned src, unsigned n)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_move_dims(
__isl_take isl_qpolynomial *qp,
enum isl_dim_type dst_type, unsigned dst_pos,
enum isl_dim_type src_type, unsigned src_pos, unsigned n)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_from_affine(
__isl_take isl_space *space, isl_int *f, isl_int denom)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_from_aff(__isl_take isl_aff *aff)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff(
__isl_take isl_pw_aff *pwaff)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_from_constraint(
__isl_take isl_constraint *c, enum isl_dim_type type, unsigned pos)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_substitute(
__isl_take isl_qpolynomial *qp,
enum isl_dim_type type, unsigned first, unsigned n,
__isl_keep isl_qpolynomial **subs)
{ … }
isl_stat isl_qpolynomial_as_polynomial_on_domain(__isl_keep isl_qpolynomial *qp,
__isl_keep isl_basic_set *bset,
isl_stat (*fn)(__isl_take isl_basic_set *bset,
__isl_take isl_qpolynomial *poly, void *user), void *user)
{ … }
int isl_poly_degree(__isl_keep isl_poly *poly, int first, int last)
{ … }
int isl_qpolynomial_degree(__isl_keep isl_qpolynomial *poly)
{ … }
__isl_give isl_poly *isl_poly_coeff(__isl_keep isl_poly *poly,
unsigned pos, int deg)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_coeff(
__isl_keep isl_qpolynomial *qp,
enum isl_dim_type type, unsigned t_pos, int deg)
{ … }
__isl_give isl_poly *isl_poly_homogenize(__isl_take isl_poly *poly, int deg,
int target, int first, int last)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_homogenize(
__isl_take isl_qpolynomial *poly)
{ … }
__isl_give isl_term *isl_term_alloc(__isl_take isl_space *space,
__isl_take isl_mat *div)
{ … }
__isl_give isl_term *isl_term_copy(__isl_keep isl_term *term)
{ … }
__isl_give isl_term *isl_term_dup(__isl_keep isl_term *term)
{ … }
__isl_give isl_term *isl_term_cow(__isl_take isl_term *term)
{ … }
__isl_null isl_term *isl_term_free(__isl_take isl_term *term)
{ … }
isl_size isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type)
{ … }
static __isl_keep isl_space *isl_term_peek_space(__isl_keep isl_term *term)
{ … }
static isl_size isl_term_offset(__isl_keep isl_term *term,
enum isl_dim_type type)
{ … }
isl_ctx *isl_term_get_ctx(__isl_keep isl_term *term)
{ … }
void isl_term_get_num(__isl_keep isl_term *term, isl_int *n)
{ … }
__isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term)
{ … }
#undef TYPE
#define TYPE …
static
#include "check_type_range_templ.c"
isl_size isl_term_get_exp(__isl_keep isl_term *term,
enum isl_dim_type type, unsigned pos)
{ … }
__isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos)
{ … }
__isl_give isl_term *isl_poly_foreach_term(__isl_keep isl_poly *poly,
isl_stat (*fn)(__isl_take isl_term *term, void *user),
__isl_take isl_term *term, void *user)
{ … }
isl_stat isl_qpolynomial_foreach_term(__isl_keep isl_qpolynomial *qp,
isl_stat (*fn)(__isl_take isl_term *term, void *user), void *user)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_from_term(__isl_take isl_term *term)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp,
__isl_take isl_space *space)
{ … }
static __isl_give isl_set *fix_inactive(__isl_take isl_set *set,
__isl_keep isl_qpolynomial *qp)
{ … }
struct isl_opt_data { … };
static isl_stat opt_fn(__isl_take isl_point *pnt, void *user)
{ … }
__isl_give isl_val *isl_qpolynomial_opt_on_domain(
__isl_take isl_qpolynomial *qp, __isl_take isl_set *set, int max)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_morph_domain(
__isl_take isl_qpolynomial *qp, __isl_take isl_morph *morph)
{ … }
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul(
__isl_take isl_union_pw_qpolynomial *upwqp1,
__isl_take isl_union_pw_qpolynomial *upwqp2)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_realign_domain(
__isl_take isl_qpolynomial *qp, __isl_take isl_reordering *r)
{ … }
__isl_give isl_qpolynomial *isl_qpolynomial_align_params(
__isl_take isl_qpolynomial *qp, __isl_take isl_space *model)
{ … }
struct isl_split_periods_data { … };
static __isl_give isl_set *set_div_slice(__isl_take isl_space *space,
__isl_keep isl_qpolynomial *qp, int div, isl_int v)
{ … }
static isl_stat split_periods(__isl_take isl_set *set,
__isl_take isl_qpolynomial *qp, void *user);
static isl_stat set_div(__isl_take isl_set *set,
__isl_take isl_qpolynomial *qp, int div, isl_int v,
struct isl_split_periods_data *data)
{ … }
static isl_stat split_div(__isl_take isl_set *set,
__isl_take isl_qpolynomial *qp, int div, isl_int min, isl_int max,
struct isl_split_periods_data *data)
{ … }
static isl_stat split_periods(__isl_take isl_set *set,
__isl_take isl_qpolynomial *qp, void *user)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_periods(
__isl_take isl_pw_qpolynomial *pwqp, int max_periods)
{ … }
static __isl_give isl_pw_qpolynomial *constant_on_domain(
__isl_take isl_basic_set *bset, int cst)
{ … }
struct isl_multiplicative_call_data_pw_qpolynomial { … };
static __isl_give isl_pw_qpolynomial *multiplicative_call_base(
__isl_take isl_basic_set *bset,
__isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset))
{ … }
static isl_bool multiplicative_call_factor_pw_qpolynomial(
__isl_keep isl_basic_set *bset, void *user)
{ … }
static __isl_give isl_pw_qpolynomial *compressed_multiplicative_call(
__isl_take isl_basic_set *bset,
__isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset))
{ … }
__isl_give isl_pw_qpolynomial *isl_basic_set_multiplicative_call(
__isl_take isl_basic_set *bset,
__isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset))
{ … }
static __isl_give isl_qpolynomial *qp_drop_floors(
__isl_take isl_qpolynomial *qp, int down)
{ … }
static __isl_give isl_pw_qpolynomial *pwqp_drop_floors(
__isl_take isl_pw_qpolynomial *pwqp)
{ … }
static __isl_give isl_qpolynomial *make_divs_pos(__isl_take isl_qpolynomial *qp,
int *signs)
{ … }
struct isl_to_poly_data { … };
static isl_stat to_polynomial_on_orthant(__isl_take isl_set *orthant,
int *signs, void *user)
{ … }
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_to_polynomial(
__isl_take isl_pw_qpolynomial *pwqp, int sign)
{ … }
static __isl_give isl_pw_qpolynomial *poly_entry(
__isl_take isl_pw_qpolynomial *pwqp, void *user)
{ … }
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_to_polynomial(
__isl_take isl_union_pw_qpolynomial *upwqp, int sign)
{ … }
__isl_give isl_basic_map *isl_basic_map_from_qpolynomial(
__isl_take isl_qpolynomial *qp)
{ … }