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) 8 extern "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); 18 void *isl_union_set_free(__isl_take isl_union_set *uset); 19 20 isl_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 74 int isl_union_set_is_params(__isl_keep isl_union_set *uset); 75 __isl_export 76 int isl_union_set_is_empty(__isl_keep isl_union_set *uset); 77 78 __isl_export 79 int isl_union_set_is_subset(__isl_keep isl_union_set *uset1, 80 __isl_keep isl_union_set *uset2); 81 __isl_export 82 int isl_union_set_is_equal(__isl_keep isl_union_set *uset1, 83 __isl_keep isl_union_set *uset2); 84 __isl_export 85 int isl_union_set_is_strict_subset(__isl_keep isl_union_set *uset1, 86 __isl_keep isl_union_set *uset2); 87 88 int isl_union_set_n_set(__isl_keep isl_union_set *uset); 89 __isl_export 90 int 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); 97 int 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); 125 void 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