36 r = nparam >= 8 ? 5 : nparam >= 5 ? 15 : 50;
41 for (i = 0; i < nparam; ++i) {
98 for (i = 0; i < nparam; ++i) {
122 if (vpb->
exact && bounded)
134 for (i = 0; i < nparam; ++i) {
152 }
else if ((vpb->
n % vpb->
stride) == 0) {
209 vpb.
stride =
n > 70 ? 1 + (
n + 1)/70 : 1;
214 for (i = 0; i < vpb.
n; i += vpb.
stride)
231 fprintf(stderr,
"Check failed !\n");
249 options = bound_options_new_with_defaults();
277 printf(
"# NOT exact\n");
279 fprintf(stdout,
"\n");
#define ISL_ARG_DEF(prefix, st, args)
#define ISL_ARG_BOOL(st, f, s, l, d, h)
#define ISL_ARG_CHILD(st, f, l, c, h)
#define ISL_ARGS_START(s, name)
static int check_solution(__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_pw_qpolynomial_fold *bound, int exact, struct bound_options *options)
static isl_stat verify_point(__isl_take isl_point *pnt, void *user)
isl_ctx * isl_ctx_alloc_with_options(struct isl_args *args, __isl_take void *opt)
#define isl_die(ctx, errno, msg, code)
void isl_ctx_free(isl_ctx *ctx)
isl_stat isl_stat(*) void user)
static int all(int *con, unsigned len, int status)
static int count(int *con, unsigned len, int status)
static __isl_give isl_basic_set * set_bounds(__isl_keep isl_set *set, int dim)
#define isl_int_get_si(r)
#define isl_int_set_si(r, i)
int isl_set_count_upto(__isl_keep isl_set *set, isl_int max, isl_int *count)
static struct isl_arg_choice bound[]
These are automatically generated checked C++ bindings for isl.
#define isl_obj_pw_qpolynomial_fold
#define isl_obj_pw_qpolynomial
__isl_give isl_point * isl_point_copy(__isl_keep isl_point *pnt)
__isl_null isl_point * isl_point_free(__isl_take isl_point *pnt)
__isl_give isl_point * isl_point_add_ui(__isl_take isl_point *pnt, enum isl_dim_type type, int pos, unsigned val)
__isl_give isl_point * isl_point_sub_ui(__isl_take isl_point *pnt, enum isl_dim_type type, int pos, unsigned val)
isl_ctx * isl_point_get_ctx(__isl_keep isl_point *pnt)
__isl_give isl_val * isl_point_get_coordinate_val(__isl_keep isl_point *pnt, enum isl_dim_type type, int pos)
__isl_give isl_val * isl_pw_qpolynomial_fold_min(__isl_take isl_pw_qpolynomial_fold *pwf)
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_fix_val(__isl_take isl_pw_qpolynomial_fold *pwf, enum isl_dim_type type, unsigned n, __isl_take isl_val *v)
isl_size isl_pw_qpolynomial_fold_dim(__isl_keep isl_pw_qpolynomial_fold *pwf, enum isl_dim_type type)
__isl_give isl_set * isl_pw_qpolynomial_fold_domain(__isl_take isl_pw_qpolynomial_fold *pwf)
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_copy(__isl_keep isl_pw_qpolynomial_fold *pwf)
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_coalesce(__isl_take isl_pw_qpolynomial_fold *pwf)
void isl_pw_qpolynomial_fold_print(__isl_keep isl_pw_qpolynomial_fold *pwf, FILE *out, unsigned output_format)
__isl_null isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_free(__isl_take isl_pw_qpolynomial_fold *pwf)
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_bound(__isl_take isl_pw_qpolynomial_fold *pwf, isl_bool *tight)
__isl_give isl_pw_qpolynomial_fold * isl_pw_qpolynomial_fold_from_pw_qpolynomial(enum isl_fold type, __isl_take isl_pw_qpolynomial *pwqp)
__isl_give isl_val * isl_pw_qpolynomial_fold_eval(__isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_point *pnt)
__isl_give isl_val * isl_pw_qpolynomial_fold_max(__isl_take isl_pw_qpolynomial_fold *pwf)
__isl_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__isl_give isl_printer * isl_printer_flush(__isl_take isl_printer *p)
__isl_give isl_printer * isl_printer_to_file(isl_ctx *ctx, FILE *file)
__isl_give isl_printer * isl_printer_print_str(__isl_take isl_printer *p, const char *s)
__isl_give isl_printer * isl_printer_end_line(__isl_take isl_printer *p)
__isl_export __isl_give isl_point * isl_set_sample_point(__isl_take isl_set *set)
__isl_give isl_set * isl_set_remove_divs(__isl_take isl_set *set)
__isl_give isl_set * isl_set_box_from_points(__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
__isl_null isl_set * isl_set_free(__isl_take isl_set *set)
__isl_give isl_set * isl_set_copy(__isl_keep isl_set *set)
__isl_export isl_stat isl_set_foreach_point(__isl_keep isl_set *set, isl_stat(*fn)(__isl_take isl_point *pnt, void *user), void *user)
isl_size isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type)
isl_bool isl_set_is_bounded(__isl_keep isl_set *set)
__isl_export __isl_give isl_set * isl_set_intersect(__isl_take isl_set *set1, __isl_take isl_set *set2)
__isl_export __isl_give isl_set * isl_set_params(__isl_take isl_set *set)
struct isl_obj isl_stream_read_obj(__isl_keep isl_stream *s)
__isl_give isl_stream * isl_stream_new_file(isl_ctx *ctx, FILE *file)
void isl_stream_free(__isl_take isl_stream *s)
isl_pw_qpolynomial_fold * bound
struct bound_options * options
isl_pw_qpolynomial_fold * pwf
__isl_give isl_printer * isl_printer_print_val(__isl_take isl_printer *p, __isl_keep isl_val *v)
__isl_null isl_val * isl_val_free(__isl_take isl_val *v)
__isl_export isl_bool isl_val_eq(__isl_keep isl_val *v1, __isl_keep isl_val *v2)
__isl_export isl_bool isl_val_le(__isl_keep isl_val *v1, __isl_keep isl_val *v2)