#include <isl/hash.h>
#include <isl/config.h>
+#ifndef __isl_give
#define __isl_give
+#endif
+#ifndef __isl_take
#define __isl_take
+#endif
+#ifndef __isl_keep
#define __isl_keep
+#endif
+#ifndef __isl_export
+#define __isl_export
+#endif
+#ifndef __isl_constructor
+#define __isl_constructor
+#endif
+#ifndef __isl_subclass
+#define __isl_subclass(super)
+#endif
#ifdef GCC_WARN_UNUSED_RESULT
#define WARN_UNUSED GCC_WARN_UNUSED_RESULT
__isl_give isl_map *isl_map_remove_redundancies(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_map_simple_hull(__isl_take isl_map *map);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_intersect_domain(
__isl_take isl_basic_map *bmap,
__isl_take isl_basic_set *bset);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_intersect_range(
__isl_take isl_basic_map *bmap,
__isl_take isl_basic_set *bset);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_intersect(
__isl_take isl_basic_map *bmap1,
__isl_take isl_basic_map *bmap2);
+__isl_export
__isl_give isl_map *isl_basic_map_union(
__isl_take isl_basic_map *bmap1,
__isl_take isl_basic_map *bmap2);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_apply_domain(
__isl_take isl_basic_map *bmap1,
__isl_take isl_basic_map *bmap2);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_apply_range(
__isl_take isl_basic_map *bmap1,
__isl_take isl_basic_map *bmap2);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_affine_hull(
__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_reverse(__isl_take isl_basic_map *bmap);
__isl_give isl_basic_set *isl_basic_map_domain(__isl_take isl_basic_map *bmap);
__isl_give isl_basic_set *isl_basic_map_range(__isl_take isl_basic_map *bmap);
__isl_give isl_basic_map *isl_basic_map_from_basic_set(
__isl_take isl_basic_set *bset, __isl_take isl_space *dim);
struct isl_basic_set *isl_basic_set_from_basic_map(struct isl_basic_map *bmap);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_sample(__isl_take isl_basic_map *bmap);
struct isl_basic_map *isl_basic_map_simplify(struct isl_basic_map *bmap);
-struct isl_basic_map *isl_basic_map_detect_equalities(
- struct isl_basic_map *bmap);
+__isl_export
+__isl_give isl_basic_map *isl_basic_map_detect_equalities(
+ __isl_take isl_basic_map *bmap);
__isl_give isl_basic_map *isl_basic_map_read_from_file(isl_ctx *ctx,
FILE *input);
+__isl_constructor
__isl_give isl_basic_map *isl_basic_map_read_from_str(isl_ctx *ctx,
const char *str);
__isl_give isl_map *isl_map_read_from_file(isl_ctx *ctx, FILE *input);
+__isl_constructor
__isl_give isl_map *isl_map_read_from_str(isl_ctx *ctx, const char *str);
void isl_basic_map_dump(__isl_keep isl_basic_map *bmap);
void isl_basic_map_print(__isl_keep isl_basic_map *bmap, FILE *out, int indent,
struct isl_map *isl_map_neg(struct isl_map *map);
struct isl_map *isl_map_floordiv(struct isl_map *map, isl_int d);
+__isl_export
int isl_basic_map_is_equal(
__isl_keep isl_basic_map *bmap1,
__isl_keep isl_basic_map *bmap2);
__isl_give isl_map *isl_map_partial_lexmin(
__isl_take isl_map *map, __isl_take isl_set *dom,
__isl_give isl_set **empty);
+__isl_export
__isl_give isl_map *isl_basic_map_lexmin(__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_map *isl_basic_map_lexmax(__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_map *isl_map_lexmin(__isl_take isl_map *map);
+__isl_export
__isl_give isl_map *isl_map_lexmax(__isl_take isl_map *map);
int isl_basic_map_foreach_lexmin(__isl_keep isl_basic_map *bmap,
int (*fn)(__isl_take isl_basic_set *dom, __isl_take isl_aff_list *list,
int isl_basic_map_is_universe(__isl_keep isl_basic_map *bmap);
int isl_basic_map_plain_is_empty(__isl_keep isl_basic_map *bmap);
int isl_basic_map_fast_is_empty(__isl_keep isl_basic_map *bmap);
+__isl_export
int isl_basic_map_is_empty(__isl_keep isl_basic_map *bmap);
int isl_basic_map_is_subset(__isl_keep isl_basic_map *bmap1,
__isl_keep isl_basic_map *bmap2);
__isl_give isl_map *isl_map_copy(__isl_keep isl_map *map);
struct isl_map *isl_map_extend(struct isl_map *base,
unsigned nparam, unsigned n_in, unsigned n_out);
+__isl_export
__isl_give isl_map *isl_map_reverse(__isl_take isl_map *map);
+__isl_export
__isl_give isl_map *isl_map_union(
__isl_take isl_map *map1,
__isl_take isl_map *map2);
struct isl_map *isl_map_union_disjoint(
struct isl_map *map1, struct isl_map *map2);
+__isl_export
__isl_give isl_map *isl_map_intersect_domain(
__isl_take isl_map *map,
__isl_take isl_set *set);
+__isl_export
__isl_give isl_map *isl_map_intersect_range(
__isl_take isl_map *map,
__isl_take isl_set *set);
+__isl_export
__isl_give isl_map *isl_map_apply_domain(
__isl_take isl_map *map1,
__isl_take isl_map *map2);
+__isl_export
__isl_give isl_map *isl_map_apply_range(
__isl_take isl_map *map1,
__isl_take isl_map *map2);
__isl_take isl_map *map2);
__isl_give isl_map *isl_map_flat_range_product(__isl_take isl_map *map1,
__isl_take isl_map *map2);
+__isl_export
__isl_give isl_map *isl_map_intersect(__isl_take isl_map *map1,
__isl_take isl_map *map2);
+__isl_export
__isl_give isl_map *isl_map_intersect_params(__isl_take isl_map *map,
__isl_take isl_set *params);
+__isl_export
__isl_give isl_map *isl_map_subtract(
__isl_take isl_map *map1,
__isl_take isl_map *map2);
enum isl_dim_type type, unsigned pos, int value);
__isl_give isl_map *isl_map_lower_bound_si(__isl_take isl_map *map,
enum isl_dim_type type, unsigned pos, int value);
+__isl_export
__isl_give isl_basic_set *isl_basic_map_deltas(__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_set *isl_map_deltas(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_basic_map_deltas_map(
__isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_deltas_map(__isl_take isl_map *map);
-struct isl_map *isl_map_detect_equalities(struct isl_map *map);
+__isl_export
+__isl_give isl_map *isl_map_detect_equalities(__isl_take isl_map *map);
+__isl_export
__isl_give isl_basic_map *isl_map_affine_hull(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_map_convex_hull(__isl_take isl_map *map);
+__isl_export
__isl_give isl_basic_map *isl_map_polyhedral_hull(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_basic_map_add(__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned n);
__isl_give isl_map *isl_map_oppose(__isl_take isl_map *map,
enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2);
+__isl_export
__isl_give isl_map *isl_set_identity(__isl_take isl_set *set);
+__isl_export
int isl_basic_set_is_wrapping(__isl_keep isl_basic_set *bset);
+__isl_export
int isl_set_is_wrapping(__isl_keep isl_set *set);
__isl_give isl_basic_set *isl_basic_map_wrap(__isl_take isl_basic_map *bmap);
__isl_give isl_set *isl_map_wrap(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_basic_set_unwrap(__isl_take isl_basic_set *bset);
__isl_give isl_map *isl_set_unwrap(__isl_take isl_set *set);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_flatten(__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_map *isl_map_flatten(__isl_take isl_map *map);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_flatten_domain(
__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_flatten_range(
__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_map *isl_map_flatten_domain(__isl_take isl_map *map);
+__isl_export
__isl_give isl_map *isl_map_flatten_range(__isl_take isl_map *map);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_flatten(__isl_take isl_basic_set *bset);
+__isl_export
__isl_give isl_set *isl_set_flatten(__isl_take isl_set *set);
__isl_give isl_map *isl_set_flatten_map(__isl_take isl_set *set);
__isl_give isl_set *isl_map_params(__isl_take isl_map *map);
__isl_give isl_set *isl_map_range(__isl_take isl_map *map);
__isl_give isl_map *isl_map_domain_map(__isl_take isl_map *map);
__isl_give isl_map *isl_map_range_map(__isl_take isl_map *map);
+__isl_constructor
__isl_give isl_map *isl_map_from_basic_map(__isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_from_domain(__isl_take isl_set *set);
__isl_give isl_basic_map *isl_basic_map_from_domain(
__isl_give isl_map *isl_map_from_set(__isl_take isl_set *set,
__isl_take isl_space *dim);
struct isl_set *isl_set_from_map(struct isl_map *map);
+__isl_export
__isl_give isl_basic_map *isl_map_sample(__isl_take isl_map *map);
int isl_map_plain_is_empty(__isl_keep isl_map *map);
int isl_map_fast_is_empty(__isl_keep isl_map *map);
int isl_map_plain_is_universe(__isl_keep isl_map *map);
+__isl_export
int isl_map_is_empty(__isl_keep isl_map *map);
+__isl_export
int isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
+__isl_export
int isl_map_is_strict_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
+__isl_export
int isl_map_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
+__isl_export
int isl_map_is_single_valued(__isl_keep isl_map *map);
int isl_map_plain_is_injective(__isl_keep isl_map *map);
+__isl_export
int isl_map_is_injective(__isl_keep isl_map *map);
+__isl_export
int isl_map_is_bijective(__isl_keep isl_map *map);
int isl_map_is_translation(__isl_keep isl_map *map);
int isl_map_has_equal_space(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
int isl_map_fast_is_fixed(__isl_keep isl_map *map,
enum isl_dim_type type, unsigned pos, isl_int *val);
+__isl_export
__isl_give isl_basic_map *isl_basic_map_gist(__isl_take isl_basic_map *bmap,
__isl_take isl_basic_map *context);
+__isl_export
__isl_give isl_map *isl_map_gist(__isl_take isl_map *map,
__isl_take isl_map *context);
__isl_give isl_map *isl_map_gist_params(__isl_take isl_map *map,
__isl_give isl_map *isl_map_gist_basic_map(__isl_take isl_map *map,
__isl_take isl_basic_map *context);
+__isl_export
__isl_give isl_map *isl_map_coalesce(__isl_take isl_map *map);
int isl_map_plain_is_equal(__isl_keep isl_map *map1, __isl_keep isl_map *map2);
uint32_t isl_map_get_hash(__isl_keep isl_map *map);
+__isl_export
int isl_map_foreach_basic_map(__isl_keep isl_map *map,
int (*fn)(__isl_take isl_basic_map *bmap, void *user), void *user);
#ifndef ISL_MAP_TYPE_H
#define ISL_MAP_TYPE_H
+#include <isl/ctx.h>
+
#if defined(__cplusplus)
extern "C" {
#endif
+__isl_subclass(isl_map)
struct isl_basic_map;
typedef struct isl_basic_map isl_basic_map;
+__isl_subclass(isl_union_map)
struct isl_map;
typedef struct isl_map isl_map;
#ifndef isl_basic_set
+__isl_subclass(isl_set)
struct isl_basic_set;
typedef struct isl_basic_set isl_basic_set;
#endif
#ifndef isl_set
+__isl_subclass(isl_union_set)
struct isl_set;
typedef struct isl_set isl_set;
#endif
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff(
__isl_take isl_pw_aff *pwaff);
+__isl_constructor
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_str(isl_ctx *ctx,
const char *str);
__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_file(isl_ctx *ctx,
__isl_keep isl_union_pw_qpolynomial *upwqp);
void isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp);
+__isl_constructor
__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str(
isl_ctx *ctx, const char *str);
struct isl_term;
typedef struct isl_term isl_term;
+__isl_export
struct isl_pw_qpolynomial;
typedef struct isl_pw_qpolynomial isl_pw_qpolynomial;
struct isl_pw_qpolynomial_fold;
typedef struct isl_pw_qpolynomial_fold isl_pw_qpolynomial_fold;
+__isl_export
struct isl_union_pw_qpolynomial;
typedef struct isl_union_pw_qpolynomial isl_union_pw_qpolynomial;
__isl_take isl_space *space);
void isl_basic_set_print_internal(__isl_keep isl_basic_set *bset,
FILE *out, int indent);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_intersect(
__isl_take isl_basic_set *bset1,
__isl_take isl_basic_set *bset2);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_apply(
__isl_take isl_basic_set *bset,
__isl_take isl_basic_map *bmap);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_affine_hull(
__isl_take isl_basic_set *bset);
__isl_give isl_basic_set *isl_basic_set_remove_dims(
__isl_take isl_basic_set *bset,
enum isl_dim_type type, unsigned first, unsigned n);
struct isl_basic_set *isl_basic_set_simplify(struct isl_basic_set *bset);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_detect_equalities(
__isl_take isl_basic_set *bset);
__isl_give isl_basic_set *isl_basic_set_remove_redundancies(
__isl_give isl_basic_set *isl_basic_set_read_from_file(isl_ctx *ctx,
FILE *input);
+__isl_constructor
__isl_give isl_basic_set *isl_basic_set_read_from_str(isl_ctx *ctx,
const char *str);
__isl_give isl_set *isl_set_read_from_file(isl_ctx *ctx, FILE *input);
+__isl_constructor
__isl_give isl_set *isl_set_read_from_str(isl_ctx *ctx, const char *str);
void isl_basic_set_dump(__isl_keep isl_basic_set *bset);
void isl_set_dump(__isl_keep isl_set *set);
struct isl_set *set, struct isl_basic_set *like);
struct isl_set *isl_set_to_underlying_set(struct isl_set *set);
+__isl_export
int isl_basic_set_is_equal(
struct isl_basic_set *bset1, struct isl_basic_set *bset2);
__isl_give isl_set *isl_set_partial_lexmax(
__isl_take isl_set *set, __isl_take isl_set *dom,
__isl_give isl_set **empty);
+__isl_export
__isl_give isl_set *isl_basic_set_lexmin(__isl_take isl_basic_set *bset);
+__isl_export
__isl_give isl_set *isl_basic_set_lexmax(__isl_take isl_basic_set *bset);
+__isl_export
__isl_give isl_set *isl_set_lexmin(__isl_take isl_set *set);
+__isl_export
__isl_give isl_set *isl_set_lexmax(__isl_take isl_set *set);
int isl_basic_set_foreach_lexmax(__isl_keep isl_basic_set *bset,
int (*fn)(__isl_take isl_basic_set *dom, __isl_take isl_aff_list *list,
__isl_take isl_basic_set *bset, __isl_take isl_basic_set *dom,
__isl_give isl_set **empty);
+__isl_export
__isl_give isl_set *isl_basic_set_union(
__isl_take isl_basic_set *bset1,
__isl_take isl_basic_set *bset2);
int isl_basic_set_is_universe(__isl_keep isl_basic_set *bset);
int isl_basic_set_plain_is_empty(__isl_keep isl_basic_set *bset);
int isl_basic_set_fast_is_empty(__isl_keep isl_basic_set *bset);
+__isl_export
int isl_basic_set_is_empty(__isl_keep isl_basic_set *bset);
int isl_basic_set_is_bounded(__isl_keep isl_basic_set *bset);
__isl_give isl_set *isl_set_copy(__isl_keep isl_set *set);
void isl_set_free(__isl_take isl_set *set);
struct isl_set *isl_set_dup(struct isl_set *set);
+__isl_constructor
__isl_give isl_set *isl_set_from_basic_set(__isl_take isl_basic_set *bset);
__isl_give isl_basic_set *isl_set_sample(__isl_take isl_set *set);
__isl_give isl_point *isl_basic_set_sample_point(__isl_take isl_basic_set *bset);
__isl_give isl_point *isl_set_sample_point(__isl_take isl_set *set);
+__isl_export
__isl_give isl_set *isl_set_detect_equalities(__isl_take isl_set *set);
+__isl_export
__isl_give isl_basic_set *isl_set_affine_hull(__isl_take isl_set *set);
__isl_give isl_basic_set *isl_set_convex_hull(__isl_take isl_set *set);
+__isl_export
__isl_give isl_basic_set *isl_set_polyhedral_hull(__isl_take isl_set *set);
__isl_give isl_basic_set *isl_set_simple_hull(__isl_take isl_set *set);
struct isl_basic_set *isl_set_bounded_simple_hull(struct isl_set *set);
struct isl_set *isl_set_union_disjoint(
struct isl_set *set1, struct isl_set *set2);
+__isl_export
__isl_give isl_set *isl_set_union(
__isl_take isl_set *set1,
__isl_take isl_set *set2);
__isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2);
__isl_give isl_set *isl_set_flat_product(__isl_take isl_set *set1,
__isl_take isl_set *set2);
+__isl_export
__isl_give isl_set *isl_set_intersect(
__isl_take isl_set *set1,
__isl_take isl_set *set2);
+__isl_export
__isl_give isl_set *isl_set_intersect_params(__isl_take isl_set *set,
__isl_take isl_set *params);
+__isl_export
__isl_give isl_set *isl_set_subtract(
__isl_take isl_set *set1,
__isl_take isl_set *set2);
+__isl_export
__isl_give isl_set *isl_set_complement(__isl_take isl_set *set);
+__isl_export
__isl_give isl_set *isl_set_apply(
__isl_take isl_set *set,
__isl_take isl_map *map);
int isl_set_plain_is_universe(__isl_keep isl_set *set);
int isl_set_fast_is_universe(__isl_keep isl_set *set);
int isl_set_is_params(__isl_keep isl_set *set);
+__isl_export
int isl_set_is_empty(__isl_keep isl_set *set);
int isl_set_is_bounded(__isl_keep isl_set *set);
+__isl_export
int isl_set_is_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
+__isl_export
int isl_set_is_strict_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
+__isl_export
int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
int isl_set_is_singleton(__isl_keep isl_set *set);
int isl_set_is_box(__isl_keep isl_set *set);
int isl_set_dim_has_upper_bound(__isl_keep isl_set *set,
enum isl_dim_type type, unsigned pos);
+__isl_export
__isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset,
__isl_take isl_basic_set *context);
__isl_give isl_set *isl_set_gist_basic_set(__isl_take isl_set *set,
__isl_take isl_basic_set *context);
+__isl_export
__isl_give isl_set *isl_set_gist(__isl_take isl_set *set,
__isl_take isl_set *context);
__isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set,
int isl_set_dim_residue_class(struct isl_set *set,
int pos, isl_int *modulo, isl_int *residue);
+__isl_export
__isl_give isl_set *isl_set_coalesce(__isl_take isl_set *set);
int isl_set_plain_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
int isl_set_dim_is_unique(struct isl_set *set, unsigned dim);
int isl_set_n_basic_set(__isl_keep isl_set *set);
+__isl_export
int isl_set_foreach_basic_set(__isl_keep isl_set *set,
int (*fn)(__isl_take isl_basic_set *bset, void *user), void *user);
extern "C" {
#endif
+__isl_export
struct isl_union_map;
typedef struct isl_union_map isl_union_map;
#ifndef isl_union_set
+__isl_export
struct isl_union_set;
typedef struct isl_union_set isl_union_set;
#endif
+__isl_constructor
__isl_give isl_union_map *isl_union_map_from_map(__isl_take isl_map *map);
__isl_give isl_union_map *isl_union_map_empty(__isl_take isl_space *dim);
__isl_give isl_union_map *isl_union_map_copy(__isl_keep isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_from_range(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_map *isl_union_map_affine_hull(
__isl_take isl_union_map *umap);
+__isl_export
__isl_give isl_union_map *isl_union_map_polyhedral_hull(
__isl_take isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_simple_hull(
__isl_take isl_union_map *umap);
+__isl_export
__isl_give isl_union_map *isl_union_map_coalesce(
__isl_take isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_compute_divs(
__isl_take isl_union_map *umap);
+__isl_export
__isl_give isl_union_map *isl_union_map_lexmin(__isl_take isl_union_map *umap);
+__isl_export
__isl_give isl_union_map *isl_union_map_lexmax(__isl_take isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_add_map(__isl_take isl_union_map *umap,
__isl_take isl_map *map);
+__isl_export
__isl_give isl_union_map *isl_union_map_union(__isl_take isl_union_map *umap1,
__isl_take isl_union_map *umap2);
+__isl_export
__isl_give isl_union_map *isl_union_map_subtract(
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
+__isl_export
__isl_give isl_union_map *isl_union_map_intersect(
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
__isl_give isl_union_map *isl_union_map_product(__isl_take isl_union_map *umap1,
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
__isl_give isl_union_map *isl_union_map_flat_range_product(
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
+__isl_export
__isl_give isl_union_map *isl_union_map_gist(__isl_take isl_union_map *umap,
__isl_take isl_union_map *context);
+__isl_export
__isl_give isl_union_map *isl_union_map_intersect_domain(
__isl_take isl_union_map *umap, __isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_map *isl_union_map_intersect_range(
__isl_take isl_union_map *umap, __isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_map *isl_union_map_apply_domain(
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
+__isl_export
__isl_give isl_union_map *isl_union_map_apply_range(
__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2);
+__isl_export
__isl_give isl_union_map *isl_union_map_reverse(__isl_take isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_from_domain_and_range(
__isl_take isl_union_set *domain, __isl_take isl_union_set *range);
+__isl_export
__isl_give isl_union_map *isl_union_map_detect_equalities(
__isl_keep isl_union_map *umap);
+__isl_export
__isl_give isl_union_set *isl_union_map_deltas(__isl_take isl_union_map *umap);
__isl_give isl_union_map *isl_union_map_deltas_map(
__isl_take isl_union_map *umap);
+__isl_export
__isl_give isl_union_map *isl_union_set_identity(__isl_take isl_union_set *uset);
+__isl_export
int isl_union_map_is_empty(__isl_keep isl_union_map *umap);
+__isl_export
int isl_union_map_is_single_valued(__isl_keep isl_union_map *umap);
int isl_union_map_plain_is_injective(__isl_keep isl_union_map *umap);
+__isl_export
int isl_union_map_is_injective(__isl_keep isl_union_map *umap);
+__isl_export
int isl_union_map_is_bijective(__isl_keep isl_union_map *umap);
+__isl_export
int isl_union_map_is_subset(__isl_keep isl_union_map *umap1,
__isl_keep isl_union_map *umap2);
+__isl_export
int isl_union_map_is_equal(__isl_keep isl_union_map *umap1,
__isl_keep isl_union_map *umap2);
+__isl_export
int isl_union_map_is_strict_subset(__isl_keep isl_union_map *umap1,
__isl_keep isl_union_map *umap2);
int isl_union_map_n_map(__isl_keep isl_union_map *umap);
+__isl_export
int isl_union_map_foreach_map(__isl_keep isl_union_map *umap,
int (*fn)(__isl_take isl_map *map, void *user), void *user);
__isl_give int isl_union_map_contains(__isl_keep isl_union_map *umap,
__isl_give isl_union_map *isl_union_map_read_from_file(isl_ctx *ctx,
FILE *input);
+__isl_constructor
__isl_give isl_union_map *isl_union_map_read_from_str(isl_ctx *ctx,
const char *str);
__isl_give isl_printer *isl_printer_print_union_map(__isl_take isl_printer *p,
extern "C" {
#endif
+__isl_constructor
__isl_give isl_union_set *isl_union_set_from_set(__isl_take isl_set *set);
__isl_give isl_union_set *isl_union_set_empty(__isl_take isl_space *dim);
__isl_give isl_union_set *isl_union_set_copy(__isl_keep isl_union_set *uset);
__isl_give isl_union_set *isl_union_set_universe(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_detect_equalities(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_affine_hull(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_polyhedral_hull(
__isl_take isl_union_set *uset);
__isl_give isl_union_set *isl_union_set_simple_hull(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_coalesce(
__isl_take isl_union_set *uset);
__isl_give isl_union_set *isl_union_set_compute_divs(
__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_lexmin(__isl_take isl_union_set *uset);
+__isl_export
__isl_give isl_union_set *isl_union_set_lexmax(__isl_take isl_union_set *uset);
__isl_give isl_union_set *isl_union_set_add_set(__isl_take isl_union_set *uset,
__isl_take isl_set *set);
__isl_give isl_union_set *isl_union_set_union(__isl_take isl_union_set *uset1,
__isl_take isl_union_set *uset2);
+__isl_export
__isl_give isl_union_set *isl_union_set_subtract(
__isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
+__isl_export
__isl_give isl_union_set *isl_union_set_intersect(
__isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
__isl_give isl_union_set *isl_union_set_product(__isl_take isl_union_set *uset1,
__isl_take isl_union_set *uset2);
+__isl_export
__isl_give isl_union_set *isl_union_set_gist(__isl_take isl_union_set *uset,
__isl_take isl_union_set *context);
+__isl_export
__isl_give isl_union_set *isl_union_set_apply(
__isl_take isl_union_set *uset, __isl_take isl_union_map *umap);
+__isl_export
int isl_union_set_is_empty(__isl_keep isl_union_set *uset);
+__isl_export
int isl_union_set_is_subset(__isl_keep isl_union_set *uset1,
__isl_keep isl_union_set *uset2);
+__isl_export
int isl_union_set_is_equal(__isl_keep isl_union_set *uset1,
__isl_keep isl_union_set *uset2);
+__isl_export
int isl_union_set_is_strict_subset(__isl_keep isl_union_set *uset1,
__isl_keep isl_union_set *uset2);
int isl_union_set_n_set(__isl_keep isl_union_set *uset);
+__isl_export
int isl_union_set_foreach_set(__isl_keep isl_union_set *uset,
int (*fn)(__isl_take isl_set *set, void *user), void *user);
__isl_give int isl_union_set_contains(__isl_keep isl_union_set *uset,
__isl_give isl_union_set *isl_union_set_read_from_file(isl_ctx *ctx,
FILE *input);
+__isl_constructor
__isl_give isl_union_set *isl_union_set_read_from_str(isl_ctx *ctx,
const char *str);
__isl_give isl_printer *isl_printer_print_union_set(__isl_take isl_printer *p,