#include "isl_set.h"
#include "isl_map.h"
+#include "isl_vec.h"
unsigned isl_basic_map_offset(struct isl_basic_map *bmap,
enum isl_dim_type type);
struct isl_basic_set *isl_basic_set_add_constraints(struct isl_basic_set *bset1,
struct isl_basic_set *bset2, unsigned pos);
+int isl_basic_set_contains(struct isl_basic_set *bset, struct isl_vec *vec);
+
struct isl_basic_set *isl_basic_set_alloc_dim(struct isl_dim *dim,
unsigned extra, unsigned n_eq, unsigned n_ineq);
struct isl_set *isl_set_alloc_dim(struct isl_dim *dim, int n, unsigned flags);
int isl_basic_set_alloc_equality(struct isl_basic_set *bset);
int isl_basic_set_free_inequality(struct isl_basic_set *bset, unsigned n);
int isl_basic_map_free_equality(struct isl_basic_map *bmap, unsigned n);
+int isl_basic_set_free_equality(struct isl_basic_set *bset, unsigned n);
int isl_basic_set_alloc_inequality(struct isl_basic_set *bset);
int isl_basic_map_alloc_inequality(struct isl_basic_map *bmap);
int isl_basic_map_free_inequality(struct isl_basic_map *bmap, unsigned n);
int isl_basic_map_alloc_div(struct isl_basic_map *bmap);
+int isl_basic_set_alloc_div(struct isl_basic_set *bset);
int isl_basic_map_free_div(struct isl_basic_map *bmap, unsigned n);
void isl_basic_map_inequality_to_equality(
struct isl_basic_map *bmap, unsigned pos);
struct isl_basic_set *isl_basic_set_align_divs(
struct isl_basic_set *dst, struct isl_basic_set *src);
struct isl_map *isl_map_align_divs(struct isl_map *map);
+struct isl_set *isl_set_align_divs(struct isl_set *set);
struct isl_basic_map *isl_basic_map_gauss(
struct isl_basic_map *bmap, int *progress);
struct isl_basic_set *isl_basic_set_gauss(
int isl_basic_set_constraint_is_redundant(struct isl_basic_set **bset,
isl_int *c, isl_int *opt_n, isl_int *opt_d);
+
+struct isl_basic_map *isl_basic_map_drop_redundant_divs(
+ struct isl_basic_map *bmap);
+
+struct isl_basic_set *isl_basic_set_recession_cone(struct isl_basic_set *bset);
+struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset);
+
+struct isl_basic_set *isl_basic_set_set_rational(struct isl_basic_set *bset);