41 return pnt ? pnt->dim : NULL;
50#define TYPE1 isl_basic_map
52#define TYPE2 isl_point
54#define TYPE_PAIR isl_basic_map_point
213 if (pnt->dim == space) {
235 return pnt ? pnt->vec : NULL;
279 if (pnt->vec ==
vec) {
344 if (equal_params < 0)
354 "no value specified for some parameters",
368#define TYPE isl_point
387 "void point does not have coordinates",
return NULL);
388 if (isl_point_check_range(pnt,
type,
pos, 1) < 0)
409 n = isl_multi_val_size(mv);
411 return isl_multi_val_free(mv);
413 for (i = 0; i <
n; ++i)
437 n = isl_multi_val_size(mv);
439 return isl_multi_val_free(mv);
440 for (i = 0; i <
n; ++i) {
444 mv = isl_multi_val_set_at(mv, i, v);
459 "void point does not have coordinates",
goto error);
460 if (isl_point_check_range(pnt,
type,
pos, 1) < 0)
464 "expecting rational value",
goto error);
486 pnt->vec->el + 1, v->d, pnt->vec->size - 1);
488 isl_int_mul(pnt->vec->el[0], pnt->vec->el[0], v->d);
573 return fp->
fn(pnt, fp->
user);
596 for (i = 0; i <
set->n; ++i)
623 if (isl_basic_map_point_check_equal_space(bmap,
point) < 0)
625 if (bmap->n_div == 0)
653 for (i = 0; i <
map->n; ++i) {
763 for (i = 0; i <
total; ++i) {
773 isl_int_set(bset->ineq[k][0], pnt1->vec->el[1 + i]);
776 isl_int_neg(bset->ineq[k][0], pnt1->vec->el[1 + i]);
778 isl_int_fdiv_q(bset->ineq[k][0], bset->ineq[k][0], pnt1->vec->el[0]);
786 isl_int_neg(bset->ineq[k][0], pnt2->vec->el[1 + i]);
789 isl_int_set(bset->ineq[k][0], pnt2->vec->el[1 + i]);
791 isl_int_fdiv_q(bset->ineq[k][0], bset->ineq[k][0], pnt2->vec->el[0]);
854 for (i = 0; i < nparam; ++i) {
#define isl_die(ctx, errno, msg, code)
#define isl_assert(ctx, test, code)
isl_bool isl_bool_ok(int b)
#define isl_alloc_type(ctx, type)
__isl_export __isl_give ISL_HMAP __isl_take ISL_KEY __isl_take ISL_VAL * val
isl_stat isl_stat(* fn)(__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
isl_stat isl_stat(*) void user)
#define isl_int_is_one(i)
#define isl_int_is_pos(i)
__isl_give isl_printer * isl_printer_print_isl_int(__isl_take isl_printer *p, isl_int i)
#define isl_int_neg(r, i)
#define isl_int_add_ui(r, i, j)
#define isl_int_set(r, i)
#define isl_int_mul(r, i, j)
#define isl_int_set_si(r, i)
#define isl_int_sub_ui(r, i, j)
#define isl_int_fdiv_q(r, i, j)
#define isl_int_submul(r, i, j)
__isl_give isl_vec * isl_local_extend_point_vec(__isl_keep isl_local *local, __isl_take isl_vec *v)
__isl_give isl_local * isl_local_alloc_from_mat(__isl_take isl_mat *mat)
__isl_null isl_local * isl_local_free(__isl_take isl_local *local)
__isl_give isl_basic_set * isl_basic_set_alloc_space(__isl_take isl_space *space, unsigned extra, unsigned n_eq, unsigned n_ineq)
__isl_give isl_set * isl_set_cow(__isl_take isl_set *set)
static unsigned pos(__isl_keep isl_space *space, enum isl_dim_type type)
__isl_give isl_mat * isl_basic_map_get_divs(__isl_keep isl_basic_map *bmap)
isl_bool isl_basic_map_contains(__isl_keep isl_basic_map *bmap, __isl_keep isl_vec *vec)
__isl_give isl_basic_set * isl_basic_set_from_underlying_set(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *like)
int isl_basic_set_alloc_inequality(__isl_keep isl_basic_set *bset)
__isl_give isl_basic_set * isl_basic_set_finalize(__isl_take isl_basic_set *bset)
__isl_give isl_printer * isl_print_space(__isl_keep isl_space *space, __isl_take isl_printer *p, int rational, struct isl_print_space_data *data)
static isl_size isl_point_var_offset(__isl_keep isl_point *pnt, enum isl_dim_type type)
__isl_give isl_point * isl_point_alloc(__isl_take isl_space *space, __isl_take isl_vec *vec)
__isl_give isl_vec * isl_point_take_vec(__isl_keep isl_point *pnt)
__isl_give isl_space * isl_point_get_space(__isl_keep isl_point *pnt)
static isl_stat foreach_point(struct isl_scan_callback *cb, __isl_take isl_vec *sample)
__isl_give isl_space * isl_point_take_space(__isl_keep isl_point *pnt)
isl_bool isl_point_is_void(__isl_keep isl_point *pnt)
static __isl_give isl_point * isl_point_reorder(__isl_take isl_point *pnt, __isl_take isl_reordering *r)
__isl_give isl_point * isl_point_align_params(__isl_take isl_point *pnt, __isl_take isl_space *model)
__isl_give isl_set * isl_point_to_set(__isl_take isl_point *pnt)
__isl_give isl_set * isl_set_box_from_points(__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
__isl_give isl_point * isl_point_copy(__isl_keep isl_point *pnt)
isl_bool isl_set_contains_point(__isl_keep isl_set *set, __isl_keep isl_point *point)
__isl_keep isl_space * isl_point_peek_space(__isl_keep isl_point *pnt)
static isl_size isl_point_dim(__isl_keep isl_point *pnt, enum isl_dim_type type)
__isl_keep isl_vec * isl_point_peek_vec(__isl_keep isl_point *pnt)
__isl_give isl_vec * isl_point_get_vec(__isl_keep isl_point *pnt)
__isl_null isl_point * isl_point_free(__isl_take isl_point *pnt)
__isl_give isl_point * isl_point_zero(__isl_take isl_space *space)
__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_union_set * isl_union_set_from_point(__isl_take isl_point *pnt)
static __isl_give isl_printer * print_coordinate(__isl_take isl_printer *p, struct isl_print_space_data *data, unsigned pos)
__isl_give isl_point * isl_point_sub_ui(__isl_take isl_point *pnt, enum isl_dim_type type, int pos, unsigned val)
__isl_give isl_point * isl_point_set_coordinate_val(__isl_take isl_point *pnt, enum isl_dim_type type, int pos, __isl_take isl_val *v)
__isl_give isl_printer * isl_printer_print_point(__isl_take isl_printer *p, __isl_keep isl_point *pnt)
static __isl_give isl_val * isl_point_get_coordinate_val(__isl_keep isl_point *pnt, enum isl_dim_type type, int pos)
__isl_give isl_multi_val * isl_point_get_multi_val(__isl_keep isl_point *pnt)
__isl_give isl_basic_set * isl_basic_set_box_from_points(__isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
static __isl_give isl_multi_val * set_nan(__isl_take isl_multi_val *mv)
isl_ctx * isl_point_get_ctx(__isl_keep isl_point *pnt)
__isl_give isl_point * isl_point_restore_vec(__isl_take isl_point *pnt, __isl_take isl_vec *vec)
__isl_give isl_point * isl_point_restore_space(__isl_take isl_point *pnt, __isl_take isl_space *space)
isl_bool isl_basic_map_contains_point(__isl_keep isl_basic_map *bmap, __isl_keep isl_point *point)
isl_stat isl_set_foreach_point(__isl_keep isl_set *set, isl_stat(*fn)(__isl_take isl_point *pnt, void *user), void *user)
__isl_give isl_set * isl_set_from_point(__isl_take isl_point *pnt)
__isl_give isl_point * isl_point_void(__isl_take isl_space *space)
__isl_give isl_point * isl_point_cow(__isl_take isl_point *pnt)
isl_bool isl_map_contains_point(__isl_keep isl_map *map, __isl_keep isl_point *point)
__isl_give isl_point * isl_point_dup(__isl_keep isl_point *pnt)
__isl_give isl_basic_set * isl_basic_set_from_point(__isl_take isl_point *pnt)
__isl_null isl_reordering * isl_reordering_free(__isl_take isl_reordering *exp)
__isl_give isl_reordering * isl_parameter_alignment_reordering(__isl_keep isl_space *alignee, __isl_keep isl_space *aligner)
__isl_give isl_space * isl_reordering_get_space(__isl_keep isl_reordering *r)
__isl_give isl_reordering * isl_reordering_copy(__isl_keep isl_reordering *exp)
__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)
void isl_seq_scale(isl_int *dst, isl_int *src, isl_int m, unsigned len)
unsigned isl_space_offset(__isl_keep isl_space *space, enum isl_dim_type type)
static __isl_give isl_union_map * total(__isl_take isl_union_map *umap, __isl_give isl_map *(*fn)(__isl_take isl_map *))
__isl_give isl_val * isl_val_normalize(__isl_take isl_val *v)
__isl_give isl_val * isl_val_rat_from_isl_int(isl_ctx *ctx, isl_int n, isl_int d)
__isl_give isl_vec * isl_vec_cow(__isl_take isl_vec *vec)
__isl_give isl_vec * isl_vec_reorder(__isl_take isl_vec *vec, unsigned offset, __isl_take isl_reordering *r)
__isl_give isl_map * isl_map_copy(__isl_keep isl_map *map)
__isl_null isl_map * isl_map_free(__isl_take isl_map *map)
__isl_give isl_map * isl_map_compute_divs(__isl_take isl_map *map)
struct isl_basic_set isl_basic_set
__isl_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__isl_give isl_printer * isl_printer_print_str(__isl_take isl_printer *p, const char *s)
__isl_give isl_set * isl_set_make_disjoint(__isl_take isl_set *set)
__isl_export __isl_give isl_space * isl_set_get_space(__isl_keep 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_empty(__isl_take isl_space *space)
__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_bool isl_space_has_equal_params(__isl_keep isl_space *space1, __isl_keep isl_space *space2)
__isl_null isl_space * isl_space_free(__isl_take isl_space *space)
isl_ctx * isl_space_get_ctx(__isl_keep isl_space *space)
__isl_give isl_space * isl_space_copy(__isl_keep isl_space *space)
__isl_keep const char * isl_space_get_dim_name(__isl_keep isl_space *space, enum isl_dim_type type, unsigned pos)
__isl_export isl_bool isl_space_is_equal(__isl_keep isl_space *space1, __isl_keep isl_space *space2)
isl_size isl_space_dim(__isl_keep isl_space *space, enum isl_dim_type type)
isl_stat(* fn)(__isl_take isl_point *pnt, void *user)
struct isl_scan_callback callback
__isl_give isl_printer *(* print_dim)(__isl_take isl_printer *p, struct isl_print_space_data *data, unsigned pos)
static Signature set_to_map
static bool contains(const std::vector< std::string > &v, const std::string &el)
struct isl_union_set isl_union_set
__isl_give isl_union_set * isl_union_set_empty(__isl_take isl_space *space)
__isl_constructor __isl_give isl_union_set * isl_union_set_from_set(__isl_take isl_set *set)
__isl_give isl_val * isl_val_copy(__isl_keep isl_val *v)
__isl_export __isl_give isl_val * isl_val_nan(isl_ctx *ctx)
__isl_null isl_val * isl_val_free(__isl_take isl_val *v)
__isl_export isl_bool isl_val_is_rat(__isl_keep isl_val *v)
struct isl_multi_val isl_multi_val
__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_normalize(__isl_take isl_vec *vec)
__isl_give isl_vec * isl_vec_alloc(isl_ctx *ctx, unsigned size)