23#include <isl_config.h>
75 r = nparam >= 8 ? 4 : nparam >= 5 ? 6 : 30;
80 for (i = 0; i < nparam; ++i) {
114 if (nparam < 0 || nparam_bset < 0)
116 if (nparam == nparam_bset)
140 for (i = 0; i <
n; ++i)
165 for (i = 0; i <
n; ++i)
210 for (i = 0; i < dim; ++i) {
216 &opt->
el[1 + i], NULL);
269 if (opt->
size == 0) {
320 sp.
stride =
n > 70 ? 1 + (
n + 1)/70 : 1;
323 for (i = 0; i <
n; i += sp.
stride)
345 int urs_unknowns = 0;
351 options = options_new_with_defaults();
359 n = fscanf(stdin,
"%d", &neg_one);
364 while (fgets(s,
sizeof(s), stdin)) {
365 if (strncasecmp(s,
"Maximize", 8) == 0)
367 if (strncasecmp(s,
"Rational", 8) == 0) {
371 if (strncasecmp(s,
"Urs_parms", 9) == 0)
373 if (strncasecmp(s,
"Urs_unknowns", 12) == 0)
__isl_give isl_set * isl_set_from_pw_multi_aff(__isl_take isl_pw_multi_aff *pma)
__isl_null isl_pw_multi_aff * isl_pw_multi_aff_free(__isl_take isl_pw_multi_aff *pma)
__isl_give isl_printer * isl_printer_print_pw_multi_aff(__isl_take isl_printer *p, __isl_keep isl_pw_multi_aff *pma)
#define ISL_ARG_DEF(prefix, st, args)
#define ISL_ARG_CHOICE(st, f, s, l, c, d, h)
#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)
isl_ctx * isl_ctx_alloc_with_options(struct isl_args *args, __isl_take void *opt)
void isl_ctx_free(isl_ctx *ctx)
static int count(int *con, unsigned len, int status)
static __isl_give isl_basic_set * set_bounds(__isl_keep isl_set *set, int dim)
enum isl_lp_result isl_basic_set_solve_ilp(__isl_keep isl_basic_set *bset, int max, isl_int *f, isl_int *opt, __isl_give isl_vec **sol_p)
#define isl_int_get_si(r)
#define isl_int_set_si(r, i)
__isl_give isl_set * isl_set_fix(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, isl_int value)
__isl_give isl_basic_set * isl_basic_set_fix(__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, isl_int value)
__isl_give isl_basic_set * isl_basic_set_set_rational(__isl_take isl_basic_set *bset)
__isl_give isl_basic_set * isl_basic_set_underlying_set(__isl_take isl_basic_set *bset)
int isl_basic_set_count_upto(__isl_keep isl_basic_set *bset, isl_int max, isl_int *count)
isl_bool isl_set_contains_point(__isl_keep isl_set *set, __isl_keep isl_point *point)
__isl_give isl_point * isl_point_alloc(__isl_take isl_space *space, __isl_take isl_vec *vec)
__isl_give isl_basic_set * isl_basic_set_from_vec(__isl_take isl_vec *vec)
isl_stat isl_basic_set_scan(__isl_take isl_basic_set *bset, struct isl_scan_callback *callback)
void isl_seq_clr(isl_int *p, unsigned len)
struct isl_basic_set isl_basic_set
These are automatically generated checked C++ bindings for isl.
static isl_stat scan_one(struct isl_scan_callback *callback, __isl_take isl_vec *sample)
struct isl_arg_choice pip_format[]
static __isl_give isl_set * set_plug_in_parameters(__isl_take isl_set *set, __isl_take isl_vec *params)
static __isl_give isl_basic_set * move_parameters(__isl_take isl_basic_set *bset, __isl_keep isl_basic_set *context)
static __isl_give isl_vec * opt_at(__isl_take isl_basic_set *bset, __isl_take isl_vec *params, int max)
static __isl_give isl_basic_set * to_parameter_domain(__isl_take isl_basic_set *context)
static __isl_give isl_basic_set * plug_in_parameters(__isl_take isl_basic_set *bset, __isl_take isl_vec *params)
static void check_solution(isl_basic_set *bset, isl_basic_set *context, isl_set *sol, isl_set *empty, int max)
__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_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__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_size isl_basic_set_dim(__isl_keep isl_basic_set *bset, enum isl_dim_type type)
__isl_give isl_basic_set * isl_basic_set_read_from_file(isl_ctx *ctx, FILE *input)
__isl_give isl_pw_multi_aff * isl_basic_set_partial_lexmax_pw_multi_aff(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, __isl_give isl_set **empty)
__isl_export __isl_give isl_space * isl_set_get_space(__isl_keep isl_set *set)
__isl_export isl_bool isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2)
__isl_give isl_space * isl_basic_set_get_space(__isl_keep isl_basic_set *bset)
__isl_give isl_basic_set * isl_basic_set_remove_dims(__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_set * isl_basic_set_partial_lexmin(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, __isl_give isl_set **empty)
__isl_export __isl_give isl_basic_set * isl_basic_set_params(__isl_take isl_basic_set *bset)
__isl_null isl_basic_set * isl_basic_set_free(__isl_take isl_basic_set *bset)
isl_bool isl_basic_set_plain_is_empty(__isl_keep isl_basic_set *bset)
__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_give isl_basic_set * isl_basic_set_box_from_points(__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
__isl_give isl_printer * isl_printer_print_set(__isl_take isl_printer *printer, __isl_keep isl_set *map)
__isl_give isl_basic_set * isl_basic_set_move_dims(__isl_take isl_basic_set *bset, enum isl_dim_type dst_type, unsigned dst_pos, enum isl_dim_type src_type, unsigned src_pos, unsigned n)
__isl_give isl_set * isl_set_remove_dims(__isl_take isl_set *bset, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_basic_set * isl_basic_set_positive_orthant(__isl_take isl_space *space)
__isl_give isl_pw_multi_aff * isl_basic_set_partial_lexmin_pw_multi_aff(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, __isl_give isl_set **empty)
isl_size isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type)
__isl_give isl_set * isl_basic_set_partial_lexmax(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom, __isl_give isl_set **empty)
isl_ctx * isl_basic_set_get_ctx(__isl_keep isl_basic_set *bset)
__isl_constructor __isl_give isl_set * isl_set_from_basic_set(__isl_take isl_basic_set *bset)
__isl_give isl_basic_set * isl_basic_set_copy(__isl_keep isl_basic_set *bset)
__isl_export __isl_give isl_basic_set * isl_basic_set_intersect(__isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
__isl_export __isl_give isl_point * isl_basic_set_sample_point(__isl_take isl_basic_set *bset)
isl_stat(* add)(struct isl_scan_callback *cb, __isl_take isl_vec *sample)
struct isl_scan_callback callback
__isl_null isl_vec * isl_vec_free(__isl_take isl_vec *vec)
__isl_give isl_vec * isl_vec_copy(__isl_keep isl_vec *vec)
__isl_give isl_vec * isl_vec_alloc(isl_ctx *ctx, unsigned size)