void delete_flat_edge(edge_t * e) { assert(e != NULL); if (ED_to_orig(e) && ED_to_virt(ED_to_orig(e)) == e) ED_to_virt(ED_to_orig(e)) = NULL; zapinlist(&(ND_flat_out(e->tail)), e); zapinlist(&(ND_flat_in(e->head)), e); }
void safe_delete_fast_edge(edge_t *e) { int i; edge_t *f; assert(e != NULL); for (i = 0; (f = ND_out(e->tail).list[i]); i++) if (f == e) zapinlist(&(ND_out(e->tail)),e); for (i = 0; (f = ND_in(e->head).list[i]); i++) if (f == e) zapinlist(&(ND_in(e->head)),e); }
void delete_other_edge(edge_t * e) { assert(e != NULL); zapinlist(&(ND_other(e->tail)), e); }
/* disconnects e from graph */ void delete_fast_edge(edge_t * e) { assert(e != NULL); zapinlist(&(ND_out(e->tail)), e); zapinlist(&(ND_in(e->head)), e); }