#include <isl_sample.h>
#include <isl_scan.h>
#include <isl_seq.h>
+#include <isl_dim_private.h>
__isl_give isl_point *isl_point_alloc(__isl_take isl_dim *dim,
__isl_take isl_vec *vec)
if (!dim || !vec)
goto error;
- pnt = isl_alloc_type(dim->ctx, struct isl_point);
- if (!pnt)
- goto error;
-
if (vec->size > 1 + isl_dim_total(dim)) {
vec = isl_vec_cow(vec);
if (!vec)
vec->size = 1 + isl_dim_total(dim);
}
+ pnt = isl_alloc_type(dim->ctx, struct isl_point);
+ if (!pnt)
+ goto error;
+
pnt->ref = 1;
pnt->dim = dim;
pnt->vec = vec;
return isl_map_contains_point((isl_map *)set, point);
}
+__isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt)
+{
+ isl_basic_set *bset;
+ isl_basic_set *model;
+
+ model = isl_basic_set_empty(isl_dim_copy(pnt->dim));
+ bset = isl_basic_set_from_vec(isl_vec_copy(pnt->vec));
+ bset = isl_basic_set_from_underlying_set(bset, model);
+ isl_point_free(pnt);
+
+ return isl_set_from_basic_set(bset);
+}
+
__isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
__isl_take isl_point *pnt2)
{
return isl_set_empty(dim);
}
if (isl_point_is_void(pnt1)) {
- isl_basic_set *model;
- model = isl_basic_set_empty(isl_dim_copy(pnt2->dim));
- bset = isl_basic_set_from_vec(isl_vec_copy(pnt2->vec));
- bset = isl_basic_set_from_underlying_set(bset, model);
isl_point_free(pnt1);
- isl_point_free(pnt2);
isl_int_clear(t);
- return isl_set_from_basic_set(bset);
+ return isl_set_from_point(pnt2);
}
if (isl_point_is_void(pnt2)) {
- isl_basic_set *model;
- model = isl_basic_set_empty(isl_dim_copy(pnt1->dim));
- bset = isl_basic_set_from_vec(isl_vec_copy(pnt1->vec));
- bset = isl_basic_set_from_underlying_set(bset, model);
- isl_point_free(pnt1);
isl_point_free(pnt2);
isl_int_clear(t);
- return isl_set_from_basic_set(bset);
+ return isl_set_from_point(pnt1);
}
total = isl_dim_total(pnt1->dim);