Home | History | Annotate | Download | only in isl
      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