1#ifndef ISL_UNION_SET_H 2#define ISL_UNION_SET_H 3 4#include <isl/point.h> 5#include <isl/union_map.h> 6 7#if defined(__cplusplus) 8extern "C" { 9#endif 10 11__isl_constructor 12__isl_give isl_union_set *isl_union_set_from_basic_set( 13 __isl_take isl_basic_set *bset); 14__isl_constructor 15__isl_give isl_union_set *isl_union_set_from_set(__isl_take isl_set *set); 16__isl_give isl_union_set *isl_union_set_empty(__isl_take isl_space *dim); 17__isl_give isl_union_set *isl_union_set_copy(__isl_keep isl_union_set *uset); 18void *isl_union_set_free(__isl_take isl_union_set *uset); 19 20isl_ctx *isl_union_set_get_ctx(__isl_keep isl_union_set *uset); 21__isl_give isl_space *isl_union_set_get_space(__isl_keep isl_union_set *uset); 22 23__isl_give isl_union_set *isl_union_set_universe( 24 __isl_take isl_union_set *uset); 25__isl_give isl_set *isl_union_set_params(__isl_take isl_union_set *uset); 26 27__isl_export 28__isl_give isl_union_set *isl_union_set_detect_equalities( 29 __isl_take isl_union_set *uset); 30__isl_export 31__isl_give isl_union_set *isl_union_set_affine_hull( 32 __isl_take isl_union_set *uset); 33__isl_export 34__isl_give isl_union_set *isl_union_set_polyhedral_hull( 35 __isl_take isl_union_set *uset); 36__isl_give isl_union_set *isl_union_set_simple_hull( 37 __isl_take isl_union_set *uset); 38__isl_export 39__isl_give isl_union_set *isl_union_set_coalesce( 40 __isl_take isl_union_set *uset); 41__isl_give isl_union_set *isl_union_set_compute_divs( 42 __isl_take isl_union_set *uset); 43__isl_export 44__isl_give isl_union_set *isl_union_set_lexmin(__isl_take isl_union_set *uset); 45__isl_export 46__isl_give isl_union_set *isl_union_set_lexmax(__isl_take isl_union_set *uset); 47 48__isl_give isl_union_set *isl_union_set_add_set(__isl_take isl_union_set *uset, 49 __isl_take isl_set *set); 50__isl_give isl_union_set *isl_union_set_union(__isl_take isl_union_set *uset1, 51 __isl_take isl_union_set *uset2); 52__isl_export 53__isl_give isl_union_set *isl_union_set_subtract( 54 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 55__isl_export 56__isl_give isl_union_set *isl_union_set_intersect( 57 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 58__isl_export 59__isl_give isl_union_set *isl_union_set_intersect_params( 60 __isl_take isl_union_set *uset, __isl_take isl_set *set); 61__isl_give isl_union_set *isl_union_set_product(__isl_take isl_union_set *uset1, 62 __isl_take isl_union_set *uset2); 63__isl_export 64__isl_give isl_union_set *isl_union_set_gist(__isl_take isl_union_set *uset, 65 __isl_take isl_union_set *context); 66__isl_export 67__isl_give isl_union_set *isl_union_set_gist_params( 68 __isl_take isl_union_set *uset, __isl_take isl_set *set); 69 70__isl_export 71__isl_give isl_union_set *isl_union_set_apply( 72 __isl_take isl_union_set *uset, __isl_take isl_union_map *umap); 73 74int isl_union_set_is_params(__isl_keep isl_union_set *uset); 75__isl_export 76int isl_union_set_is_empty(__isl_keep isl_union_set *uset); 77 78__isl_export 79int isl_union_set_is_subset(__isl_keep isl_union_set *uset1, 80 __isl_keep isl_union_set *uset2); 81__isl_export 82int isl_union_set_is_equal(__isl_keep isl_union_set *uset1, 83 __isl_keep isl_union_set *uset2); 84__isl_export 85int isl_union_set_is_strict_subset(__isl_keep isl_union_set *uset1, 86 __isl_keep isl_union_set *uset2); 87 88int isl_union_set_n_set(__isl_keep isl_union_set *uset); 89__isl_export 90int isl_union_set_foreach_set(__isl_keep isl_union_set *uset, 91 int (*fn)(__isl_take isl_set *set, void *user), void *user); 92__isl_give int isl_union_set_contains(__isl_keep isl_union_set *uset, 93 __isl_keep isl_space *dim); 94__isl_give isl_set *isl_union_set_extract_set(__isl_keep isl_union_set *uset, 95 __isl_take isl_space *dim); 96__isl_give isl_set *isl_set_from_union_set(__isl_take isl_union_set *uset); 97int isl_union_set_foreach_point(__isl_keep isl_union_set *uset, 98 int (*fn)(__isl_take isl_point *pnt, void *user), void *user); 99 100__isl_give isl_basic_set *isl_union_set_sample(__isl_take isl_union_set *uset); 101 102__isl_give isl_union_set *isl_union_set_lift(__isl_take isl_union_set *uset); 103 104__isl_give isl_union_map *isl_union_set_lex_lt_union_set( 105 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 106__isl_give isl_union_map *isl_union_set_lex_le_union_set( 107 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 108__isl_give isl_union_map *isl_union_set_lex_gt_union_set( 109 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 110__isl_give isl_union_map *isl_union_set_lex_ge_union_set( 111 __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2); 112 113__isl_give isl_union_set *isl_union_set_coefficients( 114 __isl_take isl_union_set *bset); 115__isl_give isl_union_set *isl_union_set_solutions( 116 __isl_take isl_union_set *bset); 117 118__isl_give isl_union_set *isl_union_set_read_from_file(isl_ctx *ctx, 119 FILE *input); 120__isl_constructor 121__isl_give isl_union_set *isl_union_set_read_from_str(isl_ctx *ctx, 122 const char *str); 123__isl_give isl_printer *isl_printer_print_union_set(__isl_take isl_printer *p, 124 __isl_keep isl_union_set *uset); 125void isl_union_set_dump(__isl_keep isl_union_set *uset); 126 127#if defined(__cplusplus) 128} 129#endif 130 131#include <isl/dim.h> 132 133#endif 134