Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  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_size isl_union_set_dim(__isl_keep isl_union_set *uset,
  12.         enum isl_dim_type type);
  13.  
  14. __isl_constructor
  15. __isl_give isl_union_set *isl_union_set_from_basic_set(
  16.         __isl_take isl_basic_set *bset);
  17. __isl_export
  18. __isl_give isl_union_set *isl_set_to_union_set(__isl_take isl_set *set);
  19. __isl_constructor
  20. __isl_give isl_union_set *isl_union_set_from_set(__isl_take isl_set *set);
  21. __isl_overload
  22. __isl_give isl_union_set *isl_union_set_empty_ctx(isl_ctx *ctx);
  23. __isl_give isl_union_set *isl_union_set_empty_space(
  24.         __isl_take isl_space *space);
  25. __isl_give isl_union_set *isl_union_set_empty(__isl_take isl_space *space);
  26. __isl_give isl_union_set *isl_union_set_copy(__isl_keep isl_union_set *uset);
  27. __isl_null isl_union_set *isl_union_set_free(__isl_take isl_union_set *uset);
  28.  
  29. isl_ctx *isl_union_set_get_ctx(__isl_keep isl_union_set *uset);
  30. __isl_export
  31. __isl_give isl_space *isl_union_set_get_space(__isl_keep isl_union_set *uset);
  32.  
  33. __isl_give isl_union_set *isl_union_set_reset_user(
  34.         __isl_take isl_union_set *uset);
  35.  
  36. __isl_export
  37. __isl_give isl_union_set *isl_union_set_universe(
  38.         __isl_take isl_union_set *uset);
  39. __isl_give isl_set *isl_union_set_params(__isl_take isl_union_set *uset);
  40.  
  41. __isl_export
  42. __isl_give isl_union_set *isl_union_set_detect_equalities(
  43.         __isl_take isl_union_set *uset);
  44. __isl_export
  45. __isl_give isl_union_set *isl_union_set_affine_hull(
  46.         __isl_take isl_union_set *uset);
  47. __isl_export
  48. __isl_give isl_union_set *isl_union_set_polyhedral_hull(
  49.         __isl_take isl_union_set *uset);
  50. __isl_give isl_union_set *isl_union_set_remove_redundancies(
  51.         __isl_take isl_union_set *uset);
  52. __isl_give isl_union_set *isl_union_set_simple_hull(
  53.         __isl_take isl_union_set *uset);
  54. __isl_export
  55. __isl_give isl_union_set *isl_union_set_coalesce(
  56.         __isl_take isl_union_set *uset);
  57. __isl_export
  58. __isl_give isl_union_set *isl_union_set_compute_divs(
  59.         __isl_take isl_union_set *uset);
  60. __isl_export
  61. __isl_give isl_union_set *isl_union_set_lexmin(__isl_take isl_union_set *uset);
  62. __isl_export
  63. __isl_give isl_union_set *isl_union_set_lexmax(__isl_take isl_union_set *uset);
  64.  
  65. __isl_give isl_union_set *isl_union_set_add_set(__isl_take isl_union_set *uset,
  66.         __isl_take isl_set *set);
  67. __isl_export
  68. __isl_give isl_union_set *isl_union_set_union(__isl_take isl_union_set *uset1,
  69.         __isl_take isl_union_set *uset2);
  70. __isl_export
  71. __isl_give isl_union_set *isl_union_set_subtract(
  72.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  73. __isl_export
  74. __isl_give isl_union_set *isl_union_set_intersect(
  75.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  76. __isl_export
  77. __isl_give isl_union_set *isl_union_set_intersect_params(
  78.         __isl_take isl_union_set *uset, __isl_take isl_set *set);
  79. __isl_give isl_union_set *isl_union_set_product(__isl_take isl_union_set *uset1,
  80.         __isl_take isl_union_set *uset2);
  81. __isl_export
  82. __isl_give isl_union_set *isl_union_set_gist(__isl_take isl_union_set *uset,
  83.         __isl_take isl_union_set *context);
  84. __isl_export
  85. __isl_give isl_union_set *isl_union_set_gist_params(
  86.         __isl_take isl_union_set *uset, __isl_take isl_set *set);
  87.  
  88. __isl_export
  89. __isl_give isl_union_set *isl_union_set_apply(
  90.         __isl_take isl_union_set *uset, __isl_take isl_union_map *umap);
  91. __isl_overload
  92. __isl_give isl_union_set *isl_union_set_preimage_multi_aff(
  93.         __isl_take isl_union_set *uset, __isl_take isl_multi_aff *ma);
  94. __isl_overload
  95. __isl_give isl_union_set *isl_union_set_preimage_pw_multi_aff(
  96.         __isl_take isl_union_set *uset, __isl_take isl_pw_multi_aff *pma);
  97. __isl_overload
  98. __isl_give isl_union_set *isl_union_set_preimage_union_pw_multi_aff(
  99.         __isl_take isl_union_set *uset,
  100.         __isl_take isl_union_pw_multi_aff *upma);
  101.  
  102. __isl_give isl_union_set *isl_union_set_project_out(
  103.         __isl_take isl_union_set *uset,
  104.         enum isl_dim_type type, unsigned first, unsigned n);
  105. __isl_give isl_union_set *isl_union_set_project_out_all_params(
  106.         __isl_take isl_union_set *uset);
  107. __isl_give isl_union_set *isl_union_set_remove_divs(
  108.         __isl_take isl_union_set *bset);
  109.  
  110. isl_bool isl_union_set_is_params(__isl_keep isl_union_set *uset);
  111. __isl_export
  112. isl_bool isl_union_set_is_empty(__isl_keep isl_union_set *uset);
  113.  
  114. __isl_export
  115. isl_bool isl_union_set_is_subset(__isl_keep isl_union_set *uset1,
  116.         __isl_keep isl_union_set *uset2);
  117. __isl_export
  118. isl_bool isl_union_set_is_equal(__isl_keep isl_union_set *uset1,
  119.         __isl_keep isl_union_set *uset2);
  120. __isl_export
  121. isl_bool isl_union_set_is_disjoint(__isl_keep isl_union_set *uset1,
  122.         __isl_keep isl_union_set *uset2);
  123. __isl_export
  124. isl_bool isl_union_set_is_strict_subset(__isl_keep isl_union_set *uset1,
  125.         __isl_keep isl_union_set *uset2);
  126.  
  127. uint32_t isl_union_set_get_hash(__isl_keep isl_union_set *uset);
  128.  
  129. isl_size isl_union_set_n_set(__isl_keep isl_union_set *uset);
  130. __isl_export
  131. isl_stat isl_union_set_foreach_set(__isl_keep isl_union_set *uset,
  132.         isl_stat (*fn)(__isl_take isl_set *set, void *user), void *user);
  133. __isl_export
  134. isl_bool isl_union_set_every_set(__isl_keep isl_union_set *uset,
  135.         isl_bool (*test)(__isl_keep isl_set *set, void *user), void *user);
  136. __isl_give isl_basic_set_list *isl_union_set_get_basic_set_list(
  137.         __isl_keep isl_union_set *uset);
  138. __isl_export
  139. __isl_give isl_set_list *isl_union_set_get_set_list(
  140.         __isl_keep isl_union_set *uset);
  141. isl_bool isl_union_set_contains(__isl_keep isl_union_set *uset,
  142.         __isl_keep isl_space *space);
  143. __isl_export
  144. __isl_give isl_set *isl_union_set_extract_set(__isl_keep isl_union_set *uset,
  145.         __isl_take isl_space *space);
  146. __isl_export
  147. isl_bool isl_union_set_isa_set(__isl_keep isl_union_set *uset);
  148. __isl_export
  149. __isl_give isl_set *isl_union_set_as_set(__isl_take isl_union_set *uset);
  150. __isl_give isl_set *isl_set_from_union_set(__isl_take isl_union_set *uset);
  151. __isl_export
  152. isl_stat isl_union_set_foreach_point(__isl_keep isl_union_set *uset,
  153.         isl_stat (*fn)(__isl_take isl_point *pnt, void *user), void *user);
  154.  
  155. __isl_give isl_basic_set *isl_union_set_sample(__isl_take isl_union_set *uset);
  156. __isl_export
  157. __isl_give isl_point *isl_union_set_sample_point(
  158.         __isl_take isl_union_set *uset);
  159.  
  160. __isl_constructor
  161. __isl_give isl_union_set *isl_union_set_from_point(__isl_take isl_point *pnt);
  162.  
  163. __isl_give isl_union_set *isl_union_set_lift(__isl_take isl_union_set *uset);
  164.  
  165. __isl_give isl_union_map *isl_union_set_lex_lt_union_set(
  166.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  167. __isl_give isl_union_map *isl_union_set_lex_le_union_set(
  168.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  169. __isl_give isl_union_map *isl_union_set_lex_gt_union_set(
  170.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  171. __isl_give isl_union_map *isl_union_set_lex_ge_union_set(
  172.         __isl_take isl_union_set *uset1, __isl_take isl_union_set *uset2);
  173.  
  174. __isl_give isl_union_set *isl_union_set_coefficients(
  175.         __isl_take isl_union_set *bset);
  176. __isl_give isl_union_set *isl_union_set_solutions(
  177.         __isl_take isl_union_set *bset);
  178.  
  179. __isl_give isl_union_set *isl_union_set_read_from_file(isl_ctx *ctx,
  180.         FILE *input);
  181. __isl_constructor
  182. __isl_give isl_union_set *isl_union_set_read_from_str(isl_ctx *ctx,
  183.         const char *str);
  184. __isl_give char *isl_union_set_to_str(__isl_keep isl_union_set *uset);
  185. __isl_give isl_printer *isl_printer_print_union_set(__isl_take isl_printer *p,
  186.         __isl_keep isl_union_set *uset);
  187. void isl_union_set_dump(__isl_keep isl_union_set *uset);
  188.  
  189. ISL_DECLARE_EXPORTED_LIST_FN(union_set)
  190. ISL_DECLARE_EXPORTED_LIST_FN_READ(union_set)
  191.  
  192. __isl_give isl_union_set *isl_union_set_list_union(
  193.         __isl_take isl_union_set_list *list);
  194.  
  195. #if defined(__cplusplus)
  196. }
  197. #endif
  198.  
  199. #endif
  200.