Lines Matching defs:sample

266 	struct isl_vec *sample = NULL;
275 sample = isl_vec_alloc(ctx, 1 + dim);
276 if (!sample)
278 isl_int_set_si(sample->el[0], 1);
279 isl_seq_combine(sample->el + 1,
280 ctx->one, tab->bmap->sample->el + 1,
282 if (isl_basic_map_contains(tab->bmap, sample))
283 return sample;
284 isl_vec_free(sample);
285 sample = NULL;
298 sample = isl_tab_sample(tab);
304 if (sample && isl_tab_rollback(tab, snap) < 0)
307 return sample;
309 isl_vec_free(sample);
361 /* Move "sample" to a point that is one up (or down) from the original
364 static void adjacent_point(__isl_keep isl_vec *sample, int pos, int up)
367 isl_int_add_ui(sample->el[1 + pos], sample->el[1 + pos], 1);
369 isl_int_sub_ui(sample->el[1 + pos], sample->el[1 + pos], 1);
372 /* Check if any points that are adjacent to "sample" also belong to "bset".
380 __isl_take isl_basic_set *hull, __isl_take isl_vec *sample,
386 if (!sample)
396 adjacent_point(sample, i, up);
397 contains = isl_basic_set_contains(hull, sample);
401 adjacent_point(sample, i, !up);
404 contains = isl_basic_set_contains(bset, sample);
409 isl_vec_copy(sample));
412 adjacent_point(sample, i, !up);
418 isl_vec_free(sample);
422 isl_vec_free(sample);
455 struct isl_vec *sample;
458 sample = outside_point(tab, hull->eq[j], 1);
459 if (!sample)
461 if (sample->size > 0)
463 isl_vec_free(sample);
464 sample = outside_point(tab, hull->eq[j], 0);
465 if (!sample)
467 if (sample->size > 0)
469 isl_vec_free(sample);
477 tab = isl_tab_add_sample(tab, isl_vec_copy(sample));
481 hull = add_adjacent_points(hull, isl_vec_copy(sample),
483 point = isl_basic_set_from_vec(sample);
664 * from "sample" and any of its adjacent points that also belong to "bset".
667 __isl_take isl_vec *sample)
671 hull = isl_basic_set_from_vec(isl_vec_copy(sample));
672 hull = add_adjacent_points(hull, sample, bset);
688 struct isl_vec *sample = NULL;
698 if (bset->sample && bset->sample->size == 1 + dim) {
699 int contains = isl_basic_set_contains(bset, bset->sample);
705 sample = isl_vec_copy(bset->sample);
707 isl_vec_free(bset->sample);
708 bset->sample = NULL;
717 isl_vec_free(sample);
721 if (!sample) {
724 sample = isl_tab_sample(tab);
727 isl_vec_free(tab->bmap->sample);
728 tab->bmap->sample = isl_vec_copy(sample);
731 if (!sample)
733 if (sample->size == 0) {
735 isl_vec_free(sample);
739 hull = initialize_hull(bset, sample);
747 isl_vec_free(sample);
788 bset->sample = vec;
812 struct isl_vec *sample;
832 sample = isl_vec_alloc(tab->mat->ctx, 1 + tab->n_var);
833 if (!sample)
836 isl_seq_cpy(sample->el, tab->samples->row[tab->n_outside], sample->size);
838 isl_vec_free(tab->bmap->sample);
839 tab->bmap->sample = isl_vec_copy(sample);
842 hull = isl_basic_set_from_vec(isl_vec_copy(sample));
844 hull = initial_hull(tab, isl_vec_copy(sample));
847 isl_seq_cpy(sample->el, tab->samples->row[j], sample->size);
849 isl_basic_set_from_vec(isl_vec_copy(sample)));
852 isl_vec_free(sample);
944 if (bset && bset->sample && bset->sample->size == 1 + total)
945 bset->sample = isl_mat_vec_product(isl_mat_copy(Q), bset->sample);
953 struct isl_vec *sample = isl_vec_copy(hull->sample);
955 if (sample && sample->size > 0)
956 sample = isl_mat_vec_product(U, sample);
961 isl_vec_free(hull->sample);
962 hull->sample = sample;
964 isl_vec_free(sample);
1057 struct isl_vec *sample = isl_vec_copy(hull->sample);
1058 if (sample && sample->size > 0)
1059 sample = isl_mat_vec_product(T1, sample);
1064 isl_vec_free(hull->sample);
1065 hull->sample = sample;
1067 isl_vec_free(sample);
1115 isl_vec_free(bmap->sample);
1116 bmap->sample = isl_vec_copy(hull->sample);