#include #include #if defined(__cplusplus) extern "C" { #endif struct isl_morph; /* A parametric vertex. "vertex" contains the actual description * of the vertex as a singleton parametric set. "dom" is the projection * of "vertex" onto the parameter space, i.e., the activity domain * of the vertex. */ struct isl_vertex { isl_basic_set *dom; isl_basic_set *vertex; }; /* A chamber in the chamber decomposition. The indices of the "n_vertices" * active vertices are stored in "vertices". */ struct isl_chamber { int n_vertices; int *vertices; isl_basic_set *dom; }; struct isl_vertices { int ref; /* The rational basic set spanned by the vertices. */ isl_basic_set *bset; int n_vertices; struct isl_vertex *v; int n_chambers; struct isl_chamber *c; }; struct isl_cell { int n_vertices; int *ids; isl_vertices *vertices; isl_basic_set *dom; }; struct isl_external_vertex { isl_vertices *vertices; int id; }; int isl_vertices_foreach_disjoint_cell(__isl_keep isl_vertices *vertices, int (*fn)(__isl_take isl_cell *cell, void *user), void *user); int isl_cell_foreach_simplex(__isl_take isl_cell *cell, int (*fn)(__isl_take isl_cell *simplex, void *user), void *user); __isl_give isl_vertices *isl_morph_vertices(__isl_take struct isl_morph *morph, __isl_take isl_vertices *vertices); #if defined(__cplusplus) } #endif