65 return callback->
add(callback, sample);
81 return callback->
add(callback, sample);
122 return scan_0D(bset, callback);
128 if (!min || !max || !snap)
153 bset->ctx->one, &min->
el[level], NULL, 0);
159 B->row[1 + level] + 1, dim);
161 bset->ctx->one, &max->
el[level], NULL, 0);
163 B->row[1 + level] + 1, dim);
183 min->
el[level], max->
el[level]))
196 if (level < dim - 1) {
230 if (!
set || !callback)
239 for (i = 0; i <
set->n; ++i)
struct isl_tab * isl_tab_compute_reduced_basis(struct isl_tab *tab)
#define isl_alloc_array(ctx, type, n)
void GMPQAPI() init(mp_rat x)
static int count(int *con, unsigned len, int status)
#define isl_int_is_zero(i)
#define isl_int_neg(r, i)
#define isl_int_add_ui(r, i, j)
#define isl_int_add(r, i, j)
#define isl_int_set(r, i)
#define isl_int_set_si(r, i)
#define isl_int_sub(r, i, j)
__isl_give isl_set * isl_set_cow(__isl_take isl_set *set)
int isl_basic_set_count_upto(__isl_keep isl_basic_set *bset, isl_int max, isl_int *count)
static int increment_range(struct isl_scan_callback *cb, isl_int min, isl_int max)
isl_stat isl_set_scan(__isl_take isl_set *set, struct isl_scan_callback *callback)
isl_stat isl_basic_set_scan(__isl_take isl_basic_set *bset, struct isl_scan_callback *callback)
static int add_solution(struct isl_tab *tab, struct isl_scan_callback *callback)
static isl_stat increment_counter(struct isl_scan_callback *cb, __isl_take isl_vec *sample)
int isl_set_count_upto(__isl_keep isl_set *set, isl_int max, isl_int *count)
__isl_give isl_val * isl_set_count_val(__isl_keep isl_set *set)
static isl_stat scan_0D(__isl_take isl_basic_set *bset, struct isl_scan_callback *callback)
int isl_set_count(__isl_keep isl_set *set, isl_int *count)
void isl_seq_neg(isl_int *dst, isl_int *src, unsigned len)
void isl_tab_free(struct isl_tab *tab)
struct isl_tab_undo * isl_tab_snap(struct isl_tab *tab)
__isl_give isl_vec * isl_tab_get_sample_value(struct isl_tab *tab)
int isl_tab_add_valid_eq(struct isl_tab *tab, isl_int *eq)
enum isl_lp_result isl_tab_min(struct isl_tab *tab, isl_int *f, isl_int denom, isl_int *opt, isl_int *opt_denom, unsigned flags)
__isl_give struct isl_tab * isl_tab_from_basic_set(__isl_keep isl_basic_set *bset, int track)
isl_stat isl_tab_rollback(struct isl_tab *tab, struct isl_tab_undo *snap)
int isl_tab_extend_cons(struct isl_tab *tab, unsigned n_new)
__isl_give isl_val * isl_val_cow(__isl_take isl_val *val)
struct isl_basic_set isl_basic_set
__isl_give isl_mat * isl_mat_copy(__isl_keep isl_mat *mat)
__isl_give isl_mat * isl_mat_identity(isl_ctx *ctx, unsigned n_row)
__isl_null isl_mat * isl_mat_free(__isl_take isl_mat *mat)
isl_size isl_basic_set_dim(__isl_keep isl_basic_set *bset, enum isl_dim_type type)
isl_ctx * isl_set_get_ctx(__isl_keep isl_set *set)
__isl_give isl_set * isl_set_make_disjoint(__isl_take isl_set *set)
__isl_null isl_basic_set * isl_basic_set_free(__isl_take 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_set * isl_set_compute_divs(__isl_take isl_set *set)
__isl_give isl_basic_set * isl_basic_set_copy(__isl_keep isl_basic_set *bset)
struct isl_scan_callback callback
isl_stat(* add)(struct isl_scan_callback *cb, __isl_take isl_vec *sample)
__isl_export __isl_give isl_val * isl_val_zero(isl_ctx *ctx)
__isl_null isl_val * isl_val_free(__isl_take isl_val *v)
__isl_null isl_vec * isl_vec_free(__isl_take isl_vec *vec)
__isl_give isl_vec * isl_vec_alloc(isl_ctx *ctx, unsigned size)