Lines Matching defs:hull

355  * If so, add them to "hull" and return the updated hull.
358 * check whether it already belongs to "hull" as this test is typically
362 __isl_take isl_basic_set *hull, __isl_take isl_vec *sample,
368 dim = isl_basic_set_dim(hull, isl_dim_set);
378 contains = isl_basic_set_contains(hull, sample);
391 hull = affine_hull(hull, point);
401 return hull;
404 isl_basic_set_free(hull);
408 /* Extend an initial (under-)approximation of the affine hull of basic
422 __isl_take isl_basic_set *hull, __isl_keep isl_basic_set *bset)
427 if (!tab || !hull)
438 for (j = 0; j < hull->n_eq; ++j) {
439 sample = outside_point(tab, hull->eq[j], 1);
445 sample = outside_point(tab, hull->eq[j], 0);
452 if (isl_tab_add_eq(tab, hull->eq[j]) < 0)
455 if (j == hull->n_eq)
459 hull = isl_basic_set_free(hull);
461 hull = add_adjacent_points(hull, isl_vec_copy(sample),
464 hull = affine_hull(hull, point);
465 if (!hull)
469 return hull;
471 isl_basic_set_free(hull);
475 /* Construct an initial underapproximation of the hull of "bset"
481 isl_basic_set *hull;
483 hull = isl_basic_set_from_vec(isl_vec_copy(sample));
484 hull = add_adjacent_points(hull, sample, bset);
486 return hull;
502 struct isl_basic_set *hull;
554 hull = initialize_hull(bset, sample);
556 hull = extend_affine_hull(tab, hull, bset);
560 return hull;
569 * construct an initial affine hull containing the recession cone
629 struct isl_basic_set *hull = NULL;
658 hull = isl_basic_set_from_vec(isl_vec_copy(sample));
660 hull = initial_hull(tab, isl_vec_copy(sample));
664 hull = affine_hull(hull,
670 hull = extend_affine_hull(tab, hull, NULL);
671 if (!hull)
675 isl_basic_set_free(hull);
682 if (hull->n_eq > tab->n_zero) {
683 for (j = 0; j < hull->n_eq; ++j) {
684 isl_seq_normalize(tab->mat->ctx, hull->eq[j], 1 + tab->n_var);
685 if (isl_tab_add_eq(tab, hull->eq[j]) < 0)
690 isl_basic_set_free(hull);
694 isl_basic_set_free(hull);
699 /* Compute the affine hull of "bset", where "cone" is the recession cone
714 * Then we compute the affine hull A'' of S''.
727 * The affine hull in the original space is then obtained as
735 struct isl_basic_set *hull;
763 hull = uset_affine_hull_bounded(bset);
765 if (!hull) {
769 struct isl_vec *sample = isl_vec_copy(hull->sample);
775 hull = isl_basic_set_preimage(hull, Q);
776 if (hull) {
777 isl_vec_free(hull->sample);
778 hull->sample = sample;
785 return hull;
803 * of the affine hull, so there is no need for looking for any points
806 * the affine hull is simply the whole universe.
860 struct isl_basic_set *hull = NULL;
870 hull = uset_affine_hull(bset);
872 return hull;
874 if (!hull) {
878 struct isl_vec *sample = isl_vec_copy(hull->sample);
883 hull = isl_basic_set_preimage(hull, T2);
884 if (hull) {
885 isl_vec_free(hull->sample);
886 hull->sample = sample;
891 return hull;
896 isl_basic_set_free(hull);
908 struct isl_basic_set *hull = NULL;
921 hull = equalities_in_underlying_set(isl_basic_map_copy(bmap));
922 if (!hull)
924 if (ISL_F_ISSET(hull, ISL_BASIC_SET_EMPTY)) {
925 isl_basic_set_free(hull);
928 bmap = isl_basic_map_extend(bmap, 0, hull->n_eq, 0);
929 total = isl_basic_set_dim(hull, isl_dim_all);
932 for (i = 0; i < hull->n_eq; ++i) {
936 isl_seq_cpy(bmap->eq[j], hull->eq[i], 1 + total);
939 bmap->sample = isl_vec_copy(hull->sample);
940 isl_basic_set_free(hull);
945 isl_basic_set_free(hull);
990 /* After computing the rational affine hull (by detecting the implicit
1142 /* Compute the affine hull of each basic map in "map" separately
1190 /* Compute the affine hull of "map".
1192 * We first compute the affine hull of each basic map separately.
1207 * affine hull.
1212 struct isl_basic_map *hull = NULL;
1239 hull = isl_basic_map_overlying_set(bset, model);
1241 hull = isl_basic_map_simplify(hull);
1242 return isl_basic_map_finalize(hull);