reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/polly/lib/External/isl/isl_affine_hull.c
  609 	if (!tab || !tab_cone)
  612 	snap = isl_tab_snap(tab);
  614 	isl_mat_free(tab->basis);
  615 	tab->basis = NULL;
  617 	isl_assert(tab->mat->ctx, tab->bmap, goto error);
  617 	isl_assert(tab->mat->ctx, tab->bmap, goto error);
  618 	isl_assert(tab->mat->ctx, tab->samples, goto error);
  618 	isl_assert(tab->mat->ctx, tab->samples, goto error);
  619 	isl_assert(tab->mat->ctx, tab->samples->n_col == 1 + tab->n_var, goto error);
  619 	isl_assert(tab->mat->ctx, tab->samples->n_col == 1 + tab->n_var, goto error);
  619 	isl_assert(tab->mat->ctx, tab->samples->n_col == 1 + tab->n_var, goto error);
  620 	isl_assert(tab->mat->ctx, tab->n_sample > tab->n_outside, goto error);
  620 	isl_assert(tab->mat->ctx, tab->n_sample > tab->n_outside, goto error);
  620 	isl_assert(tab->mat->ctx, tab->n_sample > tab->n_outside, goto error);
  622 	if (isl_tab_set_initial_basis_with_cone(tab, tab_cone) < 0)
  625 	sample = isl_vec_alloc(tab->mat->ctx, 1 + tab->n_var);
  625 	sample = isl_vec_alloc(tab->mat->ctx, 1 + tab->n_var);
  629 	isl_seq_cpy(sample->el, tab->samples->row[tab->n_outside], sample->size);
  629 	isl_seq_cpy(sample->el, tab->samples->row[tab->n_outside], sample->size);
  631 	isl_vec_free(tab->bmap->sample);
  632 	tab->bmap->sample = isl_vec_copy(sample);
  634 	if (tab->n_unbounded == 0)
  637 		hull = initial_hull(tab, isl_vec_copy(sample));
  639 	for (j = tab->n_outside + 1; j < tab->n_sample; ++j) {
  639 	for (j = tab->n_outside + 1; j < tab->n_sample; ++j) {
  640 		isl_seq_cpy(sample->el, tab->samples->row[j], sample->size);
  647 	hull = extend_affine_hull(tab, hull, NULL);
  651 	if (tab->n_unbounded == 0) {
  653 		return tab;
  656 	if (isl_tab_rollback(tab, snap) < 0)
  659 	if (hull->n_eq > tab->n_zero) {
  661 			isl_seq_normalize(tab->mat->ctx, hull->eq[j], 1 + tab->n_var);
  661 			isl_seq_normalize(tab->mat->ctx, hull->eq[j], 1 + tab->n_var);
  662 			if (isl_tab_add_eq(tab, hull->eq[j]) < 0)
  669 	return tab;
  672 	isl_tab_free(tab);