reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);