diff options
author | Tobias Grosser <tobias@grosser.es> | 2018-04-28 16:02:30 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2018-04-28 16:02:30 +0000 |
commit | b58928096e683f6be004b03af2122ae5e824a124 (patch) | |
tree | fe93db0da4360f391c22fe07aae4f6772b23d041 /polly/lib | |
parent | 136867931a31d092dbad84aedd8a67a21ddd34be (diff) | |
download | bcm5719-llvm-b58928096e683f6be004b03af2122ae5e824a124.tar.gz bcm5719-llvm-b58928096e683f6be004b03af2122ae5e824a124.zip |
Update to latest version of the isl c++ bindings
The delta to the previous version is rather small, but a change in brace
placement makes this a rather noisy commit.
llvm-svn: 331113
Diffstat (limited to 'polly/lib')
-rw-r--r-- | polly/lib/External/isl/include/isl/isl-noexceptions.h | 5918 |
1 files changed, 4047 insertions, 1871 deletions
diff --git a/polly/lib/External/isl/include/isl/isl-noexceptions.h b/polly/lib/External/isl/include/isl/isl-noexceptions.h index 9f031b1b77d..0c029c2e1db 100644 --- a/polly/lib/External/isl/include/isl/isl-noexceptions.h +++ b/polly/lib/External/isl/include/isl/isl-noexceptions.h @@ -11,7 +11,10 @@ #include <isl/val.h> #include <isl/aff.h> #include <isl/set.h> +#include <isl/space.h> +#include <isl/id.h> #include <isl/map.h> +#include <isl/vec.h> #include <isl/ilp.h> #include <isl/union_set.h> #include <isl/union_map.h> @@ -22,6 +25,7 @@ #include <isl/constraint.h> #include <isl/polynomial.h> #include <isl/mat.h> + #include <functional> #include <string> @@ -214,8 +218,10 @@ public: inline isl::aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::basic_set eq_basic_set(isl::aff aff2) const; inline isl::set eq_set(isl::aff aff2) const; + inline isl::val eval(isl::point pnt) const; inline int find_dim_by_name(isl::dim type, const std::string &name) const; inline isl::aff floor() const; + inline isl::aff from_range() const; inline isl::basic_set ge_basic_set(isl::aff aff2) const; inline isl::set ge_set(isl::aff aff2) const; inline isl::val get_coefficient_val(isl::dim type, int pos) const; @@ -247,6 +253,7 @@ public: inline isl::set ne_set(isl::aff aff2) const; inline isl::aff neg() const; inline isl::basic_set neg_basic_set() const; + static inline isl::aff param_on_domain_space_id(isl::space space, isl::id id); inline isl::boolean plain_is_equal(const isl::aff &aff2) const; inline isl::boolean plain_is_zero() const; inline isl::aff project_domain_on_params() const; @@ -388,6 +395,7 @@ public: inline isl::ast_expr ge(isl::ast_expr expr2) const; inline isl::id get_id() const; inline isl::ast_expr get_op_arg(int pos) const; + inline int get_op_n_arg() const; inline isl::val get_val() const; inline isl::ast_expr gt(isl::ast_expr expr2) const; inline isl::boolean is_equal(const isl::ast_expr &expr2) const; @@ -573,10 +581,10 @@ public: inline isl::basic_map domain_product(isl::basic_map bmap2) const; inline isl::basic_map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::basic_map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::basic_map drop_unused_params() const; inline isl::basic_map eliminate(isl::dim type, unsigned int first, unsigned int n) const; static inline isl::basic_map empty(isl::space space); static inline isl::basic_map equal(isl::space dim, unsigned int n_equal); - inline isl::mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const; inline isl::basic_map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const; inline int find_dim_by_name(isl::dim type, const std::string &name) const; inline isl::basic_map fix_si(isl::dim type, unsigned int pos, int value) const; @@ -606,7 +614,6 @@ public: inline isl::boolean has_dim_id(isl::dim type, unsigned int pos) const; static inline isl::basic_map identity(isl::space dim); inline isl::boolean image_is_bounded() const; - inline isl::mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const; inline isl::basic_map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const; inline isl::basic_map intersect(isl::basic_map bmap2) const; inline isl::basic_map intersect_domain(isl::basic_set bset) const; @@ -627,6 +634,7 @@ public: inline isl::basic_map lower_bound_si(isl::dim type, unsigned int pos, int value) const; static inline isl::basic_map more_at(isl::space dim, unsigned int pos); inline isl::basic_map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; + inline int n_constraint() const; static inline isl::basic_map nat_universe(isl::space dim); inline isl::basic_map neg() const; inline isl::basic_map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const; @@ -732,11 +740,12 @@ public: inline isl::basic_set coefficients() const; inline isl::basic_set detect_equalities() const; inline unsigned int dim(isl::dim type) const; + inline isl::val dim_max_val(int pos) const; inline isl::basic_set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::basic_set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::basic_set drop_unused_params() const; inline isl::basic_set eliminate(isl::dim type, unsigned int first, unsigned int n) const; static inline isl::basic_set empty(isl::space space); - inline isl::mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const; inline isl::basic_set fix_si(isl::dim type, unsigned int pos, int value) const; inline isl::basic_set fix_val(isl::dim type, unsigned int pos, isl::val v) const; inline isl::basic_set flat_product(isl::basic_set bset2) const; @@ -753,7 +762,6 @@ public: inline isl::space get_space() const; inline std::string get_tuple_name() const; inline isl::basic_set gist(isl::basic_set context) const; - inline isl::mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const; inline isl::basic_set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const; inline isl::basic_set intersect(isl::basic_set bset2) const; inline isl::basic_set intersect_params(isl::basic_set bset2) const; @@ -771,6 +779,8 @@ public: inline isl::basic_set lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const; inline isl::val max_val(const isl::aff &obj) const; inline isl::basic_set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; + inline int n_constraint() const; + inline unsigned int n_dim() const; static inline isl::basic_set nat_universe(isl::space dim); inline isl::basic_set neg() const; inline isl::basic_set params() const; @@ -780,7 +790,6 @@ public: static inline isl::basic_set positive_orthant(isl::space space); inline isl::basic_set preimage_multi_aff(isl::multi_aff ma) const; inline isl::basic_set project_out(isl::dim type, unsigned int first, unsigned int n) const; - inline isl::mat reduced_basis() const; inline isl::basic_set remove_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::basic_set remove_divs() const; inline isl::basic_set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; @@ -1079,6 +1088,7 @@ public: inline isl::boolean is_set() const; inline isl::local_space range() const; inline isl::local_space set_dim_id(isl::dim type, unsigned int pos, isl::id id) const; + inline isl::local_space set_from_params() const; inline isl::local_space set_tuple_id(isl::dim type, isl::id id) const; inline isl::local_space wrap() const; }; @@ -1145,6 +1155,7 @@ public: inline isl::map domain_product(isl::map map2) const; inline isl::map drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::map drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::map drop_unused_params() const; inline isl::map eliminate(isl::dim type, unsigned int first, unsigned int n) const; static inline isl::map empty(isl::space space); inline isl::map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const; @@ -1226,6 +1237,7 @@ public: inline isl::pw_multi_aff lexmin_pw_multi_aff() const; inline isl::map lower_bound_si(isl::dim type, unsigned int pos, int value) const; inline isl::map move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; + inline int n_basic_map() const; static inline isl::map nat_universe(isl::space dim); inline isl::map neg() const; inline isl::map oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const; @@ -1359,6 +1371,7 @@ public: inline isl::mat drop_rows(unsigned int row, unsigned int n) const; static inline isl::mat from_row_vec(isl::vec vec); inline isl::val get_element_val(int row, int col) const; + inline isl::boolean has_linearly_independent_rows(const isl::mat &mat2) const; inline int initial_non_zero_cols() const; inline isl::mat insert_cols(unsigned int col, unsigned int n) const; inline isl::mat insert_rows(unsigned int row, unsigned int n) const; @@ -1371,8 +1384,11 @@ public: inline isl::mat normalize() const; inline isl::mat normalize_row(int row) const; inline isl::mat product(isl::mat right) const; + inline int rank() const; inline isl::mat right_inverse() const; inline isl::mat right_kernel() const; + inline isl::mat row_basis() const; + inline isl::mat row_basis_extension(isl::mat mat2) const; inline int rows() const; inline isl::mat set_element_si(int row, int col, int v) const; inline isl::mat set_element_val(int row, int col, isl::val v) const; @@ -1403,8 +1419,8 @@ public: inline /* implicit */ multi_aff(); inline /* implicit */ multi_aff(const isl::multi_aff &obj); inline /* implicit */ multi_aff(std::nullptr_t); - inline explicit multi_aff(isl::ctx ctx, const std::string &str); inline /* implicit */ multi_aff(isl::aff aff); + inline explicit multi_aff(isl::ctx ctx, const std::string &str); inline isl::multi_aff &operator=(isl::multi_aff obj); inline ~multi_aff(); inline __isl_give isl_multi_aff *copy() const &; @@ -1458,6 +1474,7 @@ public: inline int plain_cmp(const isl::multi_aff &multi2) const; inline isl::boolean plain_is_equal(const isl::multi_aff &multi2) const; inline isl::multi_aff product(isl::multi_aff multi2) const; + inline isl::multi_aff project_domain_on_params() const; static inline isl::multi_aff project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n); inline isl::multi_aff pullback(isl::multi_aff ma2) const; inline isl::multi_aff range_factor_domain() const; @@ -1557,6 +1574,7 @@ public: inline isl::multi_pw_aff neg() const; inline isl::boolean plain_is_equal(const isl::multi_pw_aff &multi2) const; inline isl::multi_pw_aff product(isl::multi_pw_aff multi2) const; + inline isl::multi_pw_aff project_domain_on_params() const; inline isl::multi_pw_aff pullback(isl::multi_aff ma) const; inline isl::multi_pw_aff pullback(isl::pw_multi_aff pma) const; inline isl::multi_pw_aff pullback(isl::multi_pw_aff mpa2) const; @@ -1655,6 +1673,7 @@ public: inline isl::multi_union_pw_aff neg() const; inline isl::boolean plain_is_equal(const isl::multi_union_pw_aff &multi2) const; inline isl::multi_union_pw_aff pullback(isl::union_pw_multi_aff upma) const; + static inline isl::multi_union_pw_aff pw_multi_aff_on_domain(isl::union_set domain, isl::pw_multi_aff pma); inline isl::multi_union_pw_aff range_factor_domain() const; inline isl::multi_union_pw_aff range_factor_range() const; inline isl::boolean range_is_wrapping() const; @@ -1737,6 +1756,7 @@ public: inline isl::multi_val neg() const; inline isl::boolean plain_is_equal(const isl::multi_val &multi2) const; inline isl::multi_val product(isl::multi_val multi2) const; + inline isl::multi_val project_domain_on_params() const; inline isl::multi_val range_factor_domain() const; inline isl::multi_val range_factor_range() const; inline isl::boolean range_is_wrapping() const; @@ -1844,9 +1864,11 @@ public: inline isl::pw_aff div(isl::pw_aff pa2) const; inline isl::set domain() const; inline isl::pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::pw_aff drop_unused_params() const; static inline isl::pw_aff empty(isl::space dim); inline isl::map eq_map(isl::pw_aff pa2) const; inline isl::set eq_set(isl::pw_aff pwaff2) const; + inline isl::val eval(isl::point pnt) const; inline int find_dim_by_name(isl::dim type, const std::string &name) const; inline isl::pw_aff floor() const; inline isl::stat foreach_piece(const std::function<isl::stat(isl::set, isl::aff)> &fn) const; @@ -1880,6 +1902,7 @@ public: inline isl::pw_aff mod(isl::val mod) const; inline isl::pw_aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; inline isl::pw_aff mul(isl::pw_aff pwaff2) const; + inline int n_piece() const; static inline isl::pw_aff nan_on_domain(isl::local_space ls); inline isl::set ne_set(isl::pw_aff pwaff2) const; inline isl::pw_aff neg() const; @@ -1985,6 +2008,7 @@ public: inline unsigned int dim(isl::dim type) const; inline isl::set domain() const; inline isl::pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::pw_multi_aff drop_unused_params() const; static inline isl::pw_multi_aff empty(isl::space space); inline int find_dim_by_name(isl::dim type, const std::string &name) const; inline isl::pw_multi_aff fix_si(isl::dim type, unsigned int pos, int value) const; @@ -2008,9 +2032,11 @@ public: static inline isl::pw_multi_aff identity(isl::space space); inline isl::pw_multi_aff intersect_domain(isl::set set) const; inline isl::pw_multi_aff intersect_params(isl::set set) const; + inline isl::boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::boolean involves_nan() const; inline isl::boolean is_equal(const isl::pw_multi_aff &pma2) const; static inline isl::pw_multi_aff multi_val_on_domain(isl::set domain, isl::multi_val mv); + inline int n_piece() const; inline isl::pw_multi_aff neg() const; inline isl::boolean plain_is_equal(const isl::pw_multi_aff &pma2) const; inline isl::pw_multi_aff product(isl::pw_multi_aff pma2) const; @@ -2076,6 +2102,7 @@ public: inline unsigned int dim(isl::dim type) const; inline isl::set domain() const; inline isl::pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::pw_qpolynomial drop_unused_params() const; inline isl::val eval(isl::point pnt) const; inline int find_dim_by_name(isl::dim type, const std::string &name) const; inline isl::pw_qpolynomial fix_val(isl::dim type, unsigned int n, isl::val v) const; @@ -2098,6 +2125,7 @@ public: inline isl::val min() const; inline isl::pw_qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; inline isl::pw_qpolynomial mul(isl::pw_qpolynomial pwqp2) const; + inline int n_piece() const; inline isl::pw_qpolynomial neg() const; inline isl::boolean plain_is_equal(const isl::pw_qpolynomial &pwqp2) const; inline isl::pw_qpolynomial pow(unsigned int exponent) const; @@ -2371,6 +2399,7 @@ public: inline isl::boolean is_equal(const isl::schedule_node &node2) const; inline isl::boolean is_subtree_anchored() const; inline isl::id mark_get_id() const; + inline int n_children() const; inline isl::schedule_node next_sibling() const; inline isl::schedule_node order_after(isl::union_set filter) const; inline isl::schedule_node order_before(isl::union_set filter) const; @@ -2440,6 +2469,7 @@ public: inline isl::pw_aff dim_min(int pos) const; inline isl::set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; inline isl::set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::set drop_unused_params() const; inline isl::set eliminate(isl::dim type, unsigned int first, unsigned int n) const; static inline isl::set empty(isl::space space); inline isl::set equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const; @@ -2461,6 +2491,7 @@ public: inline isl::id get_dim_id(isl::dim type, unsigned int pos) const; inline std::string get_dim_name(isl::dim type, unsigned int pos) const; inline isl::space get_space() const; + inline isl::val get_stride(int pos) const; inline isl::id get_tuple_id() const; inline std::string get_tuple_name() const; inline isl::set gist(isl::set context) const; @@ -2500,6 +2531,8 @@ public: inline isl::val max_val(const isl::aff &obj) const; inline isl::val min_val(const isl::aff &obj) const; inline isl::set move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const; + inline int n_basic_set() const; + inline unsigned int n_dim() const; static inline isl::set nat_universe(isl::space dim); inline isl::set neg() const; inline isl::set params() const; @@ -2614,6 +2647,7 @@ public: inline void dump() const; inline isl::space add_dims(isl::dim type, unsigned int n) const; + inline isl::space add_param_id(isl::id id) const; inline isl::space align_params(isl::space dim2) const; inline isl::boolean can_curry() const; inline isl::boolean can_range_curry() const; @@ -2632,6 +2666,8 @@ public: inline isl::space factor_range() const; inline int find_dim_by_id(isl::dim type, const isl::id &id) const; inline int find_dim_by_name(isl::dim type, const std::string &name) const; + inline isl::space flatten_domain() const; + inline isl::space flatten_range() const; inline isl::space from_domain() const; inline isl::space from_range() const; inline isl::id get_dim_id(isl::dim type, unsigned int pos) const; @@ -2814,10 +2850,10 @@ public: inline /* implicit */ union_map(); inline /* implicit */ union_map(const isl::union_map &obj); inline /* implicit */ union_map(std::nullptr_t); - inline explicit union_map(isl::ctx ctx, const std::string &str); inline explicit union_map(isl::union_pw_aff upa); inline /* implicit */ union_map(isl::basic_map bmap); inline /* implicit */ union_map(isl::map map); + inline explicit union_map(isl::ctx ctx, const std::string &str); inline isl::union_map &operator=(isl::union_map obj); inline ~union_map(); inline __isl_give isl_union_map *copy() const &; @@ -2895,7 +2931,9 @@ public: inline isl::union_map lex_lt_union_map(isl::union_map umap2) const; inline isl::union_map lexmax() const; inline isl::union_map lexmin() const; + inline int n_map() const; inline isl::set params() const; + inline isl::boolean plain_is_empty() const; inline isl::boolean plain_is_injective() const; inline isl::union_map polyhedral_hull() const; inline isl::union_map preimage_domain_multi_aff(isl::multi_aff ma) const; @@ -2907,6 +2945,7 @@ public: inline isl::union_map preimage_range_union_pw_multi_aff(isl::union_pw_multi_aff upma) const; inline isl::union_map product(isl::union_map umap2) const; inline isl::union_map project_out(isl::dim type, unsigned int first, unsigned int n) const; + inline isl::union_map project_out_all_params() const; inline isl::union_set range() const; inline isl::union_map range_curry() const; inline isl::union_map range_factor_domain() const; @@ -3017,9 +3056,12 @@ public: inline isl::union_pw_aff intersect_params(isl::set set) const; inline isl::boolean involves_nan() const; inline isl::union_pw_aff mod_val(isl::val f) const; + inline int n_pw_aff() const; inline isl::union_pw_aff neg() const; + static inline isl::union_pw_aff param_on_domain_id(isl::union_set domain, isl::id id); inline isl::boolean plain_is_equal(const isl::union_pw_aff &upa2) const; inline isl::union_pw_aff pullback(isl::union_pw_multi_aff upma) const; + static inline isl::union_pw_aff pw_aff_on_domain(isl::union_set domain, isl::pw_aff pa); inline isl::union_pw_aff reset_user() const; inline isl::union_pw_aff scale_down_val(isl::val v) const; inline isl::union_pw_aff scale_val(isl::val v) const; @@ -3122,6 +3164,7 @@ public: inline isl::union_pw_multi_aff intersect_params(isl::set set) const; inline isl::boolean involves_nan() const; static inline isl::union_pw_multi_aff multi_val_on_domain(isl::union_set domain, isl::multi_val mv); + inline int n_pw_multi_aff() const; inline isl::union_pw_multi_aff neg() const; inline isl::boolean plain_is_equal(const isl::union_pw_multi_aff &upma2) const; inline isl::union_pw_multi_aff pullback(isl::union_pw_multi_aff upma2) const; @@ -3218,6 +3261,7 @@ public: inline isl::union_pw_qpolynomial intersect_params(isl::set set) const; inline isl::boolean involves_nan() const; inline isl::union_pw_qpolynomial mul(isl::union_pw_qpolynomial upwqp2) const; + inline int n_pw_qpolynomial() const; inline isl::union_pw_qpolynomial neg() const; inline isl::boolean plain_is_equal(const isl::union_pw_qpolynomial &upwqp2) const; inline isl::union_pw_qpolynomial reset_user() const; @@ -3301,6 +3345,7 @@ public: inline isl::union_set lexmax() const; inline isl::union_set lexmin() const; inline isl::multi_val min_multi_union_pw_aff(const isl::multi_union_pw_aff &obj) const; + inline int n_set() const; inline isl::set params() const; inline isl::union_set polyhedral_hull() const; inline isl::union_set preimage(isl::multi_aff ma) const; @@ -3373,8 +3418,8 @@ public: inline /* implicit */ val(); inline /* implicit */ val(const isl::val &obj); inline /* implicit */ val(std::nullptr_t); - inline explicit val(isl::ctx ctx, long i); inline explicit val(isl::ctx ctx, const std::string &str); + inline explicit val(isl::ctx ctx, long i); inline isl::val &operator=(isl::val obj); inline ~val(); inline __isl_give isl_val *copy() const &; @@ -3405,6 +3450,7 @@ public: inline uint32_t get_hash() const; inline long get_num_si() const; inline isl::boolean gt(const isl::val &v2) const; + inline isl::boolean gt_si(long i) const; static inline isl::val infty(isl::ctx ctx); static inline isl::val int_from_ui(isl::ctx ctx, unsigned long u); inline isl::val inv() const; @@ -3428,6 +3474,7 @@ public: inline isl::val mod(isl::val v2) const; inline isl::val mul(isl::val v2) const; inline isl::val mul_ui(unsigned long v2) const; + inline size_t n_abs_num_chunks(size_t size) const; static inline isl::val nan(isl::ctx ctx); inline isl::boolean ne(const isl::val &v2) const; inline isl::val neg() const; @@ -3507,6 +3554,7 @@ public: inline void dump() const; inline isl::vec add(isl::vec vec2) const; + inline isl::vec add_els(unsigned int n) const; static inline isl::vec alloc(isl::ctx ctx, unsigned int size); inline isl::vec ceil() const; inline isl::vec clr() const; @@ -3527,6 +3575,8 @@ public: inline isl::vec set_val(isl::val v) const; inline int size() const; inline isl::vec sort() const; + static inline isl::vec zero(isl::ctx ctx, unsigned int size); + inline isl::vec zero_extend(unsigned int size) const; }; // implementations for isl::aff @@ -3534,7 +3584,8 @@ isl::aff manage(__isl_take isl_aff *ptr) { return aff(ptr); } isl::aff manage_copy(__isl_keep isl_aff *ptr) { - return aff(isl_aff_copy(ptr)); + ptr = isl_aff_copy(ptr); + return aff(ptr); } isl::aff give(__isl_take isl_aff *ptr) { return manage(ptr); @@ -3545,7 +3596,9 @@ aff::aff() : ptr(nullptr) {} aff::aff(const isl::aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} aff::aff(std::nullptr_t) : ptr(nullptr) {} @@ -3553,15 +3606,18 @@ aff::aff(std::nullptr_t) aff::aff(__isl_take isl_aff *ptr) : ptr(ptr) {} -aff::aff(isl::local_space ls) { +aff::aff(isl::local_space ls) +{ auto res = isl_aff_zero_on_domain(ls.release()); ptr = res; } -aff::aff(isl::local_space ls, isl::val val) { +aff::aff(isl::local_space ls, isl::val val) +{ auto res = isl_aff_val_on_domain(ls.release(), val.release()); ptr = res; } -aff::aff(isl::ctx ctx, const std::string &str) { +aff::aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -3624,328 +3680,411 @@ void aff::dump() const { } -isl::aff aff::add(isl::aff aff2) const { +isl::aff aff::add(isl::aff aff2) const +{ auto res = isl_aff_add(copy(), aff2.release()); return manage(res); } -isl::aff aff::add_coefficient_si(isl::dim type, int pos, int v) const { +isl::aff aff::add_coefficient_si(isl::dim type, int pos, int v) const +{ auto res = isl_aff_add_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v); return manage(res); } -isl::aff aff::add_coefficient_val(isl::dim type, int pos, isl::val v) const { +isl::aff aff::add_coefficient_val(isl::dim type, int pos, isl::val v) const +{ auto res = isl_aff_add_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::aff aff::add_constant_num_si(int v) const { +isl::aff aff::add_constant_num_si(int v) const +{ auto res = isl_aff_add_constant_num_si(copy(), v); return manage(res); } -isl::aff aff::add_constant_si(int v) const { +isl::aff aff::add_constant_si(int v) const +{ auto res = isl_aff_add_constant_si(copy(), v); return manage(res); } -isl::aff aff::add_constant_val(isl::val v) const { +isl::aff aff::add_constant_val(isl::val v) const +{ auto res = isl_aff_add_constant_val(copy(), v.release()); return manage(res); } -isl::aff aff::add_dims(isl::dim type, unsigned int n) const { +isl::aff aff::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::aff aff::align_params(isl::space model) const { +isl::aff aff::align_params(isl::space model) const +{ auto res = isl_aff_align_params(copy(), model.release()); return manage(res); } -isl::aff aff::ceil() const { +isl::aff aff::ceil() const +{ auto res = isl_aff_ceil(copy()); return manage(res); } -int aff::coefficient_sgn(isl::dim type, int pos) const { +int aff::coefficient_sgn(isl::dim type, int pos) const +{ auto res = isl_aff_coefficient_sgn(get(), static_cast<enum isl_dim_type>(type), pos); return res; } -int aff::dim(isl::dim type) const { +int aff::dim(isl::dim type) const +{ auto res = isl_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::aff aff::div(isl::aff aff2) const { +isl::aff aff::div(isl::aff aff2) const +{ auto res = isl_aff_div(copy(), aff2.release()); return manage(res); } -isl::aff aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::aff aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set aff::eq_basic_set(isl::aff aff2) const { +isl::basic_set aff::eq_basic_set(isl::aff aff2) const +{ auto res = isl_aff_eq_basic_set(copy(), aff2.release()); return manage(res); } -isl::set aff::eq_set(isl::aff aff2) const { +isl::set aff::eq_set(isl::aff aff2) const +{ auto res = isl_aff_eq_set(copy(), aff2.release()); return manage(res); } -int aff::find_dim_by_name(isl::dim type, const std::string &name) const { +isl::val aff::eval(isl::point pnt) const +{ + auto res = isl_aff_eval(copy(), pnt.release()); + return manage(res); +} + +int aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::aff aff::floor() const { +isl::aff aff::floor() const +{ auto res = isl_aff_floor(copy()); return manage(res); } -isl::basic_set aff::ge_basic_set(isl::aff aff2) const { +isl::aff aff::from_range() const +{ + auto res = isl_aff_from_range(copy()); + return manage(res); +} + +isl::basic_set aff::ge_basic_set(isl::aff aff2) const +{ auto res = isl_aff_ge_basic_set(copy(), aff2.release()); return manage(res); } -isl::set aff::ge_set(isl::aff aff2) const { +isl::set aff::ge_set(isl::aff aff2) const +{ auto res = isl_aff_ge_set(copy(), aff2.release()); return manage(res); } -isl::val aff::get_coefficient_val(isl::dim type, int pos) const { +isl::val aff::get_coefficient_val(isl::dim type, int pos) const +{ auto res = isl_aff_get_coefficient_val(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::val aff::get_constant_val() const { +isl::val aff::get_constant_val() const +{ auto res = isl_aff_get_constant_val(get()); return manage(res); } -isl::val aff::get_denominator_val() const { +isl::val aff::get_denominator_val() const +{ auto res = isl_aff_get_denominator_val(get()); return manage(res); } -std::string aff::get_dim_name(isl::dim type, unsigned int pos) const { +std::string aff::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_aff_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::aff aff::get_div(int pos) const { +isl::aff aff::get_div(int pos) const +{ auto res = isl_aff_get_div(get(), pos); return manage(res); } -isl::local_space aff::get_domain_local_space() const { +isl::local_space aff::get_domain_local_space() const +{ auto res = isl_aff_get_domain_local_space(get()); return manage(res); } -isl::space aff::get_domain_space() const { +isl::space aff::get_domain_space() const +{ auto res = isl_aff_get_domain_space(get()); return manage(res); } -uint32_t aff::get_hash() const { +uint32_t aff::get_hash() const +{ auto res = isl_aff_get_hash(get()); return res; } -isl::local_space aff::get_local_space() const { +isl::local_space aff::get_local_space() const +{ auto res = isl_aff_get_local_space(get()); return manage(res); } -isl::space aff::get_space() const { +isl::space aff::get_space() const +{ auto res = isl_aff_get_space(get()); return manage(res); } -isl::aff aff::gist(isl::set context) const { +isl::aff aff::gist(isl::set context) const +{ auto res = isl_aff_gist(copy(), context.release()); return manage(res); } -isl::aff aff::gist_params(isl::set context) const { +isl::aff aff::gist_params(isl::set context) const +{ auto res = isl_aff_gist_params(copy(), context.release()); return manage(res); } -isl::basic_set aff::gt_basic_set(isl::aff aff2) const { +isl::basic_set aff::gt_basic_set(isl::aff aff2) const +{ auto res = isl_aff_gt_basic_set(copy(), aff2.release()); return manage(res); } -isl::set aff::gt_set(isl::aff aff2) const { +isl::set aff::gt_set(isl::aff aff2) const +{ auto res = isl_aff_gt_set(copy(), aff2.release()); return manage(res); } -isl::aff aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::aff aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean aff::is_cst() const { +isl::boolean aff::is_cst() const +{ auto res = isl_aff_is_cst(get()); return manage(res); } -isl::boolean aff::is_nan() const { +isl::boolean aff::is_nan() const +{ auto res = isl_aff_is_nan(get()); return manage(res); } -isl::basic_set aff::le_basic_set(isl::aff aff2) const { +isl::basic_set aff::le_basic_set(isl::aff aff2) const +{ auto res = isl_aff_le_basic_set(copy(), aff2.release()); return manage(res); } -isl::set aff::le_set(isl::aff aff2) const { +isl::set aff::le_set(isl::aff aff2) const +{ auto res = isl_aff_le_set(copy(), aff2.release()); return manage(res); } -isl::basic_set aff::lt_basic_set(isl::aff aff2) const { +isl::basic_set aff::lt_basic_set(isl::aff aff2) const +{ auto res = isl_aff_lt_basic_set(copy(), aff2.release()); return manage(res); } -isl::set aff::lt_set(isl::aff aff2) const { +isl::set aff::lt_set(isl::aff aff2) const +{ auto res = isl_aff_lt_set(copy(), aff2.release()); return manage(res); } -isl::aff aff::mod(isl::val mod) const { +isl::aff aff::mod(isl::val mod) const +{ auto res = isl_aff_mod_val(copy(), mod.release()); return manage(res); } -isl::aff aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::aff aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::aff aff::mul(isl::aff aff2) const { +isl::aff aff::mul(isl::aff aff2) const +{ auto res = isl_aff_mul(copy(), aff2.release()); return manage(res); } -isl::aff aff::nan_on_domain(isl::local_space ls) { +isl::aff aff::nan_on_domain(isl::local_space ls) +{ auto res = isl_aff_nan_on_domain(ls.release()); return manage(res); } -isl::set aff::ne_set(isl::aff aff2) const { +isl::set aff::ne_set(isl::aff aff2) const +{ auto res = isl_aff_ne_set(copy(), aff2.release()); return manage(res); } -isl::aff aff::neg() const { +isl::aff aff::neg() const +{ auto res = isl_aff_neg(copy()); return manage(res); } -isl::basic_set aff::neg_basic_set() const { +isl::basic_set aff::neg_basic_set() const +{ auto res = isl_aff_neg_basic_set(copy()); return manage(res); } -isl::boolean aff::plain_is_equal(const isl::aff &aff2) const { +isl::aff aff::param_on_domain_space_id(isl::space space, isl::id id) +{ + auto res = isl_aff_param_on_domain_space_id(space.release(), id.release()); + return manage(res); +} + +isl::boolean aff::plain_is_equal(const isl::aff &aff2) const +{ auto res = isl_aff_plain_is_equal(get(), aff2.get()); return manage(res); } -isl::boolean aff::plain_is_zero() const { +isl::boolean aff::plain_is_zero() const +{ auto res = isl_aff_plain_is_zero(get()); return manage(res); } -isl::aff aff::project_domain_on_params() const { +isl::aff aff::project_domain_on_params() const +{ auto res = isl_aff_project_domain_on_params(copy()); return manage(res); } -isl::aff aff::pullback(isl::multi_aff ma) const { +isl::aff aff::pullback(isl::multi_aff ma) const +{ auto res = isl_aff_pullback_multi_aff(copy(), ma.release()); return manage(res); } -isl::aff aff::pullback_aff(isl::aff aff2) const { +isl::aff aff::pullback_aff(isl::aff aff2) const +{ auto res = isl_aff_pullback_aff(copy(), aff2.release()); return manage(res); } -isl::aff aff::scale(isl::val v) const { +isl::aff aff::scale(isl::val v) const +{ auto res = isl_aff_scale_val(copy(), v.release()); return manage(res); } -isl::aff aff::scale_down(isl::val v) const { +isl::aff aff::scale_down(isl::val v) const +{ auto res = isl_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::aff aff::scale_down_ui(unsigned int f) const { +isl::aff aff::scale_down_ui(unsigned int f) const +{ auto res = isl_aff_scale_down_ui(copy(), f); return manage(res); } -isl::aff aff::set_coefficient_si(isl::dim type, int pos, int v) const { +isl::aff aff::set_coefficient_si(isl::dim type, int pos, int v) const +{ auto res = isl_aff_set_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v); return manage(res); } -isl::aff aff::set_coefficient_val(isl::dim type, int pos, isl::val v) const { +isl::aff aff::set_coefficient_val(isl::dim type, int pos, isl::val v) const +{ auto res = isl_aff_set_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::aff aff::set_constant_si(int v) const { +isl::aff aff::set_constant_si(int v) const +{ auto res = isl_aff_set_constant_si(copy(), v); return manage(res); } -isl::aff aff::set_constant_val(isl::val v) const { +isl::aff aff::set_constant_val(isl::val v) const +{ auto res = isl_aff_set_constant_val(copy(), v.release()); return manage(res); } -isl::aff aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::aff aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::aff aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::aff aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::aff aff::sub(isl::aff aff2) const { +isl::aff aff::sub(isl::aff aff2) const +{ auto res = isl_aff_sub(copy(), aff2.release()); return manage(res); } -isl::aff aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos) { +isl::aff aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos) +{ auto res = isl_aff_var_on_domain(ls.release(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::basic_set aff::zero_basic_set() const { +isl::basic_set aff::zero_basic_set() const +{ auto res = isl_aff_zero_basic_set(copy()); return manage(res); } @@ -3955,7 +4094,8 @@ isl::aff_list manage(__isl_take isl_aff_list *ptr) { return aff_list(ptr); } isl::aff_list manage_copy(__isl_keep isl_aff_list *ptr) { - return aff_list(isl_aff_list_copy(ptr)); + ptr = isl_aff_list_copy(ptr); + return aff_list(ptr); } isl::aff_list give(__isl_take isl_aff_list *ptr) { return manage(ptr); @@ -3966,7 +4106,9 @@ aff_list::aff_list() : ptr(nullptr) {} aff_list::aff_list(const isl::aff_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} aff_list::aff_list(std::nullptr_t) : ptr(nullptr) {} @@ -4030,7 +4172,8 @@ isl::ast_build manage(__isl_take isl_ast_build *ptr) { return ast_build(ptr); } isl::ast_build manage_copy(__isl_keep isl_ast_build *ptr) { - return ast_build(isl_ast_build_copy(ptr)); + ptr = isl_ast_build_copy(ptr); + return ast_build(ptr); } isl::ast_build give(__isl_take isl_ast_build *ptr) { return manage(ptr); @@ -4041,7 +4184,9 @@ ast_build::ast_build() : ptr(nullptr) {} ast_build::ast_build(const isl::ast_build &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} ast_build::ast_build(std::nullptr_t) : ptr(nullptr) {} @@ -4049,7 +4194,8 @@ ast_build::ast_build(std::nullptr_t) ast_build::ast_build(__isl_take isl_ast_build *ptr) : ptr(ptr) {} -ast_build::ast_build(isl::ctx ctx) { +ast_build::ast_build(isl::ctx ctx) +{ auto res = isl_ast_build_alloc(ctx.release()); ptr = res; } @@ -4099,67 +4245,80 @@ isl::ctx ast_build::get_ctx() const { } -isl::ast_expr ast_build::access_from(isl::pw_multi_aff pma) const { +isl::ast_expr ast_build::access_from(isl::pw_multi_aff pma) const +{ auto res = isl_ast_build_access_from_pw_multi_aff(get(), pma.release()); return manage(res); } -isl::ast_expr ast_build::access_from(isl::multi_pw_aff mpa) const { +isl::ast_expr ast_build::access_from(isl::multi_pw_aff mpa) const +{ auto res = isl_ast_build_access_from_multi_pw_aff(get(), mpa.release()); return manage(res); } -isl::ast_node ast_build::ast_from_schedule(isl::union_map schedule) const { +isl::ast_node ast_build::ast_from_schedule(isl::union_map schedule) const +{ auto res = isl_ast_build_ast_from_schedule(get(), schedule.release()); return manage(res); } -isl::ast_expr ast_build::call_from(isl::pw_multi_aff pma) const { +isl::ast_expr ast_build::call_from(isl::pw_multi_aff pma) const +{ auto res = isl_ast_build_call_from_pw_multi_aff(get(), pma.release()); return manage(res); } -isl::ast_expr ast_build::call_from(isl::multi_pw_aff mpa) const { +isl::ast_expr ast_build::call_from(isl::multi_pw_aff mpa) const +{ auto res = isl_ast_build_call_from_multi_pw_aff(get(), mpa.release()); return manage(res); } -isl::ast_expr ast_build::expr_from(isl::set set) const { +isl::ast_expr ast_build::expr_from(isl::set set) const +{ auto res = isl_ast_build_expr_from_set(get(), set.release()); return manage(res); } -isl::ast_expr ast_build::expr_from(isl::pw_aff pa) const { +isl::ast_expr ast_build::expr_from(isl::pw_aff pa) const +{ auto res = isl_ast_build_expr_from_pw_aff(get(), pa.release()); return manage(res); } -isl::ast_build ast_build::from_context(isl::set set) { +isl::ast_build ast_build::from_context(isl::set set) +{ auto res = isl_ast_build_from_context(set.release()); return manage(res); } -isl::union_map ast_build::get_schedule() const { +isl::union_map ast_build::get_schedule() const +{ auto res = isl_ast_build_get_schedule(get()); return manage(res); } -isl::space ast_build::get_schedule_space() const { +isl::space ast_build::get_schedule_space() const +{ auto res = isl_ast_build_get_schedule_space(get()); return manage(res); } -isl::ast_node ast_build::node_from_schedule(isl::schedule schedule) const { +isl::ast_node ast_build::node_from_schedule(isl::schedule schedule) const +{ auto res = isl_ast_build_node_from_schedule(get(), schedule.release()); return manage(res); } -isl::ast_node ast_build::node_from_schedule_map(isl::union_map schedule) const { +isl::ast_node ast_build::node_from_schedule_map(isl::union_map schedule) const +{ auto res = isl_ast_build_node_from_schedule_map(get(), schedule.release()); return manage(res); } -isl::ast_build ast_build::restrict(isl::set set) const { +isl::ast_build ast_build::restrict(isl::set set) const +{ auto res = isl_ast_build_restrict(copy(), set.release()); return manage(res); } @@ -4169,7 +4328,8 @@ isl::ast_expr manage(__isl_take isl_ast_expr *ptr) { return ast_expr(ptr); } isl::ast_expr manage_copy(__isl_keep isl_ast_expr *ptr) { - return ast_expr(isl_ast_expr_copy(ptr)); + ptr = isl_ast_expr_copy(ptr); + return ast_expr(ptr); } isl::ast_expr give(__isl_take isl_ast_expr *ptr) { return manage(ptr); @@ -4180,7 +4340,9 @@ ast_expr::ast_expr() : ptr(nullptr) {} ast_expr::ast_expr(const isl::ast_expr &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} ast_expr::ast_expr(std::nullptr_t) : ptr(nullptr) {} @@ -4247,122 +4409,152 @@ void ast_expr::dump() const { } -isl::ast_expr ast_expr::access(isl::ast_expr_list indices) const { +isl::ast_expr ast_expr::access(isl::ast_expr_list indices) const +{ auto res = isl_ast_expr_access(copy(), indices.release()); return manage(res); } -isl::ast_expr ast_expr::add(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::add(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_add(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::address_of() const { +isl::ast_expr ast_expr::address_of() const +{ auto res = isl_ast_expr_address_of(copy()); return manage(res); } -isl::ast_expr ast_expr::call(isl::ast_expr_list arguments) const { +isl::ast_expr ast_expr::call(isl::ast_expr_list arguments) const +{ auto res = isl_ast_expr_call(copy(), arguments.release()); return manage(res); } -isl::ast_expr ast_expr::div(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::div(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_div(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::eq(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::eq(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_eq(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::from_id(isl::id id) { +isl::ast_expr ast_expr::from_id(isl::id id) +{ auto res = isl_ast_expr_from_id(id.release()); return manage(res); } -isl::ast_expr ast_expr::from_val(isl::val v) { +isl::ast_expr ast_expr::from_val(isl::val v) +{ auto res = isl_ast_expr_from_val(v.release()); return manage(res); } -isl::ast_expr ast_expr::ge(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::ge(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_ge(copy(), expr2.release()); return manage(res); } -isl::id ast_expr::get_id() const { +isl::id ast_expr::get_id() const +{ auto res = isl_ast_expr_get_id(get()); return manage(res); } -isl::ast_expr ast_expr::get_op_arg(int pos) const { +isl::ast_expr ast_expr::get_op_arg(int pos) const +{ auto res = isl_ast_expr_get_op_arg(get(), pos); return manage(res); } -isl::val ast_expr::get_val() const { +int ast_expr::get_op_n_arg() const +{ + auto res = isl_ast_expr_get_op_n_arg(get()); + return res; +} + +isl::val ast_expr::get_val() const +{ auto res = isl_ast_expr_get_val(get()); return manage(res); } -isl::ast_expr ast_expr::gt(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::gt(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_gt(copy(), expr2.release()); return manage(res); } -isl::boolean ast_expr::is_equal(const isl::ast_expr &expr2) const { +isl::boolean ast_expr::is_equal(const isl::ast_expr &expr2) const +{ auto res = isl_ast_expr_is_equal(get(), expr2.get()); return manage(res); } -isl::ast_expr ast_expr::le(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::le(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_le(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::lt(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::lt(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_lt(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::mul(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::mul(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_mul(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::neg() const { +isl::ast_expr ast_expr::neg() const +{ auto res = isl_ast_expr_neg(copy()); return manage(res); } -isl::ast_expr ast_expr::pdiv_q(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::pdiv_q(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_pdiv_q(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::pdiv_r(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::pdiv_r(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_pdiv_r(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::set_op_arg(int pos, isl::ast_expr arg) const { +isl::ast_expr ast_expr::set_op_arg(int pos, isl::ast_expr arg) const +{ auto res = isl_ast_expr_set_op_arg(copy(), pos, arg.release()); return manage(res); } -isl::ast_expr ast_expr::sub(isl::ast_expr expr2) const { +isl::ast_expr ast_expr::sub(isl::ast_expr expr2) const +{ auto res = isl_ast_expr_sub(copy(), expr2.release()); return manage(res); } -isl::ast_expr ast_expr::substitute_ids(isl::id_to_ast_expr id2expr) const { +isl::ast_expr ast_expr::substitute_ids(isl::id_to_ast_expr id2expr) const +{ auto res = isl_ast_expr_substitute_ids(copy(), id2expr.release()); return manage(res); } -std::string ast_expr::to_C_str() const { +std::string ast_expr::to_C_str() const +{ auto res = isl_ast_expr_to_C_str(get()); std::string tmp(res); free(res); @@ -4374,7 +4566,8 @@ isl::ast_expr_list manage(__isl_take isl_ast_expr_list *ptr) { return ast_expr_list(ptr); } isl::ast_expr_list manage_copy(__isl_keep isl_ast_expr_list *ptr) { - return ast_expr_list(isl_ast_expr_list_copy(ptr)); + ptr = isl_ast_expr_list_copy(ptr); + return ast_expr_list(ptr); } isl::ast_expr_list give(__isl_take isl_ast_expr_list *ptr) { return manage(ptr); @@ -4385,7 +4578,9 @@ ast_expr_list::ast_expr_list() : ptr(nullptr) {} ast_expr_list::ast_expr_list(const isl::ast_expr_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} ast_expr_list::ast_expr_list(std::nullptr_t) : ptr(nullptr) {} @@ -4449,7 +4644,8 @@ isl::ast_node manage(__isl_take isl_ast_node *ptr) { return ast_node(ptr); } isl::ast_node manage_copy(__isl_keep isl_ast_node *ptr) { - return ast_node(isl_ast_node_copy(ptr)); + ptr = isl_ast_node_copy(ptr); + return ast_node(ptr); } isl::ast_node give(__isl_take isl_ast_node *ptr) { return manage(ptr); @@ -4460,7 +4656,9 @@ ast_node::ast_node() : ptr(nullptr) {} ast_node::ast_node(const isl::ast_node &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} ast_node::ast_node(std::nullptr_t) : ptr(nullptr) {} @@ -4527,94 +4725,112 @@ void ast_node::dump() const { } -isl::ast_node ast_node::alloc_user(isl::ast_expr expr) { +isl::ast_node ast_node::alloc_user(isl::ast_expr expr) +{ auto res = isl_ast_node_alloc_user(expr.release()); return manage(res); } -isl::ast_node_list ast_node::block_get_children() const { +isl::ast_node_list ast_node::block_get_children() const +{ auto res = isl_ast_node_block_get_children(get()); return manage(res); } -isl::ast_node ast_node::for_get_body() const { +isl::ast_node ast_node::for_get_body() const +{ auto res = isl_ast_node_for_get_body(get()); return manage(res); } -isl::ast_expr ast_node::for_get_cond() const { +isl::ast_expr ast_node::for_get_cond() const +{ auto res = isl_ast_node_for_get_cond(get()); return manage(res); } -isl::ast_expr ast_node::for_get_inc() const { +isl::ast_expr ast_node::for_get_inc() const +{ auto res = isl_ast_node_for_get_inc(get()); return manage(res); } -isl::ast_expr ast_node::for_get_init() const { +isl::ast_expr ast_node::for_get_init() const +{ auto res = isl_ast_node_for_get_init(get()); return manage(res); } -isl::ast_expr ast_node::for_get_iterator() const { +isl::ast_expr ast_node::for_get_iterator() const +{ auto res = isl_ast_node_for_get_iterator(get()); return manage(res); } -isl::boolean ast_node::for_is_degenerate() const { +isl::boolean ast_node::for_is_degenerate() const +{ auto res = isl_ast_node_for_is_degenerate(get()); return manage(res); } -isl::id ast_node::get_annotation() const { +isl::id ast_node::get_annotation() const +{ auto res = isl_ast_node_get_annotation(get()); return manage(res); } -isl::ast_expr ast_node::if_get_cond() const { +isl::ast_expr ast_node::if_get_cond() const +{ auto res = isl_ast_node_if_get_cond(get()); return manage(res); } -isl::ast_node ast_node::if_get_else() const { +isl::ast_node ast_node::if_get_else() const +{ auto res = isl_ast_node_if_get_else(get()); return manage(res); } -isl::ast_node ast_node::if_get_then() const { +isl::ast_node ast_node::if_get_then() const +{ auto res = isl_ast_node_if_get_then(get()); return manage(res); } -isl::boolean ast_node::if_has_else() const { +isl::boolean ast_node::if_has_else() const +{ auto res = isl_ast_node_if_has_else(get()); return manage(res); } -isl::id ast_node::mark_get_id() const { +isl::id ast_node::mark_get_id() const +{ auto res = isl_ast_node_mark_get_id(get()); return manage(res); } -isl::ast_node ast_node::mark_get_node() const { +isl::ast_node ast_node::mark_get_node() const +{ auto res = isl_ast_node_mark_get_node(get()); return manage(res); } -isl::ast_node ast_node::set_annotation(isl::id annotation) const { +isl::ast_node ast_node::set_annotation(isl::id annotation) const +{ auto res = isl_ast_node_set_annotation(copy(), annotation.release()); return manage(res); } -std::string ast_node::to_C_str() const { +std::string ast_node::to_C_str() const +{ auto res = isl_ast_node_to_C_str(get()); std::string tmp(res); free(res); return tmp; } -isl::ast_expr ast_node::user_get_expr() const { +isl::ast_expr ast_node::user_get_expr() const +{ auto res = isl_ast_node_user_get_expr(get()); return manage(res); } @@ -4624,7 +4840,8 @@ isl::ast_node_list manage(__isl_take isl_ast_node_list *ptr) { return ast_node_list(ptr); } isl::ast_node_list manage_copy(__isl_keep isl_ast_node_list *ptr) { - return ast_node_list(isl_ast_node_list_copy(ptr)); + ptr = isl_ast_node_list_copy(ptr); + return ast_node_list(ptr); } isl::ast_node_list give(__isl_take isl_ast_node_list *ptr) { return manage(ptr); @@ -4635,7 +4852,9 @@ ast_node_list::ast_node_list() : ptr(nullptr) {} ast_node_list::ast_node_list(const isl::ast_node_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} ast_node_list::ast_node_list(std::nullptr_t) : ptr(nullptr) {} @@ -4699,7 +4918,8 @@ isl::basic_map manage(__isl_take isl_basic_map *ptr) { return basic_map(ptr); } isl::basic_map manage_copy(__isl_keep isl_basic_map *ptr) { - return basic_map(isl_basic_map_copy(ptr)); + ptr = isl_basic_map_copy(ptr); + return basic_map(ptr); } isl::basic_map give(__isl_take isl_basic_map *ptr) { return manage(ptr); @@ -4710,7 +4930,9 @@ basic_map::basic_map() : ptr(nullptr) {} basic_map::basic_map(const isl::basic_map &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} basic_map::basic_map(std::nullptr_t) : ptr(nullptr) {} @@ -4718,7 +4940,8 @@ basic_map::basic_map(std::nullptr_t) basic_map::basic_map(__isl_take isl_basic_map *ptr) : ptr(ptr) {} -basic_map::basic_map(isl::ctx ctx, const std::string &str) { +basic_map::basic_map(isl::ctx ctx, const std::string &str) +{ auto res = isl_basic_map_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -4781,520 +5004,624 @@ void basic_map::dump() const { } -isl::basic_map basic_map::add_constraint(isl::constraint constraint) const { +isl::basic_map basic_map::add_constraint(isl::constraint constraint) const +{ auto res = isl_basic_map_add_constraint(copy(), constraint.release()); return manage(res); } -isl::basic_map basic_map::add_dims(isl::dim type, unsigned int n) const { +isl::basic_map basic_map::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_basic_map_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::basic_map basic_map::affine_hull() const { +isl::basic_map basic_map::affine_hull() const +{ auto res = isl_basic_map_affine_hull(copy()); return manage(res); } -isl::basic_map basic_map::align_params(isl::space model) const { +isl::basic_map basic_map::align_params(isl::space model) const +{ auto res = isl_basic_map_align_params(copy(), model.release()); return manage(res); } -isl::basic_map basic_map::apply_domain(isl::basic_map bmap2) const { +isl::basic_map basic_map::apply_domain(isl::basic_map bmap2) const +{ auto res = isl_basic_map_apply_domain(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::apply_range(isl::basic_map bmap2) const { +isl::basic_map basic_map::apply_range(isl::basic_map bmap2) const +{ auto res = isl_basic_map_apply_range(copy(), bmap2.release()); return manage(res); } -isl::boolean basic_map::can_curry() const { +isl::boolean basic_map::can_curry() const +{ auto res = isl_basic_map_can_curry(get()); return manage(res); } -isl::boolean basic_map::can_uncurry() const { +isl::boolean basic_map::can_uncurry() const +{ auto res = isl_basic_map_can_uncurry(get()); return manage(res); } -isl::boolean basic_map::can_zip() const { +isl::boolean basic_map::can_zip() const +{ auto res = isl_basic_map_can_zip(get()); return manage(res); } -isl::basic_map basic_map::curry() const { +isl::basic_map basic_map::curry() const +{ auto res = isl_basic_map_curry(copy()); return manage(res); } -isl::basic_set basic_map::deltas() const { +isl::basic_set basic_map::deltas() const +{ auto res = isl_basic_map_deltas(copy()); return manage(res); } -isl::basic_map basic_map::deltas_map() const { +isl::basic_map basic_map::deltas_map() const +{ auto res = isl_basic_map_deltas_map(copy()); return manage(res); } -isl::basic_map basic_map::detect_equalities() const { +isl::basic_map basic_map::detect_equalities() const +{ auto res = isl_basic_map_detect_equalities(copy()); return manage(res); } -unsigned int basic_map::dim(isl::dim type) const { +unsigned int basic_map::dim(isl::dim type) const +{ auto res = isl_basic_map_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::basic_set basic_map::domain() const { +isl::basic_set basic_map::domain() const +{ auto res = isl_basic_map_domain(copy()); return manage(res); } -isl::basic_map basic_map::domain_map() const { +isl::basic_map basic_map::domain_map() const +{ auto res = isl_basic_map_domain_map(copy()); return manage(res); } -isl::basic_map basic_map::domain_product(isl::basic_map bmap2) const { +isl::basic_map basic_map::domain_product(isl::basic_map bmap2) const +{ auto res = isl_basic_map_domain_product(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_map basic_map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_map basic_map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_map basic_map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_map basic_map::eliminate(isl::dim type, unsigned int first, unsigned int n) const { - auto res = isl_basic_map_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); +isl::basic_map basic_map::drop_unused_params() const +{ + auto res = isl_basic_map_drop_unused_params(copy()); return manage(res); } -isl::basic_map basic_map::empty(isl::space space) { - auto res = isl_basic_map_empty(space.release()); +isl::basic_map basic_map::eliminate(isl::dim type, unsigned int first, unsigned int n) const +{ + auto res = isl_basic_map_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_map basic_map::equal(isl::space dim, unsigned int n_equal) { - auto res = isl_basic_map_equal(dim.release(), n_equal); +isl::basic_map basic_map::empty(isl::space space) +{ + auto res = isl_basic_map_empty(space.release()); return manage(res); } -isl::mat basic_map::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const { - auto res = isl_basic_map_equalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4), static_cast<enum isl_dim_type>(c5)); +isl::basic_map basic_map::equal(isl::space dim, unsigned int n_equal) +{ + auto res = isl_basic_map_equal(dim.release(), n_equal); return manage(res); } -isl::basic_map basic_map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::basic_map basic_map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_basic_map_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -int basic_map::find_dim_by_name(isl::dim type, const std::string &name) const { +int basic_map::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_basic_map_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::basic_map basic_map::fix_si(isl::dim type, unsigned int pos, int value) const { +isl::basic_map basic_map::fix_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_basic_map_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::basic_map basic_map::fix_val(isl::dim type, unsigned int pos, isl::val v) const { +isl::basic_map basic_map::fix_val(isl::dim type, unsigned int pos, isl::val v) const +{ auto res = isl_basic_map_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::basic_map basic_map::flat_product(isl::basic_map bmap2) const { +isl::basic_map basic_map::flat_product(isl::basic_map bmap2) const +{ auto res = isl_basic_map_flat_product(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::flat_range_product(isl::basic_map bmap2) const { +isl::basic_map basic_map::flat_range_product(isl::basic_map bmap2) const +{ auto res = isl_basic_map_flat_range_product(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::flatten() const { +isl::basic_map basic_map::flatten() const +{ auto res = isl_basic_map_flatten(copy()); return manage(res); } -isl::basic_map basic_map::flatten_domain() const { +isl::basic_map basic_map::flatten_domain() const +{ auto res = isl_basic_map_flatten_domain(copy()); return manage(res); } -isl::basic_map basic_map::flatten_range() const { +isl::basic_map basic_map::flatten_range() const +{ auto res = isl_basic_map_flatten_range(copy()); return manage(res); } -isl::stat basic_map::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const { - auto fn_p = &fn; +isl::stat basic_map::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::constraint)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_constraint *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::constraint)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_basic_map_foreach_constraint(get(), fn_lambda, &fn_p); + auto res = isl_basic_map_foreach_constraint(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::basic_map basic_map::from_aff(isl::aff aff) { +isl::basic_map basic_map::from_aff(isl::aff aff) +{ auto res = isl_basic_map_from_aff(aff.release()); return manage(res); } -isl::basic_map basic_map::from_aff_list(isl::space domain_dim, isl::aff_list list) { +isl::basic_map basic_map::from_aff_list(isl::space domain_dim, isl::aff_list list) +{ auto res = isl_basic_map_from_aff_list(domain_dim.release(), list.release()); return manage(res); } -isl::basic_map basic_map::from_constraint(isl::constraint constraint) { +isl::basic_map basic_map::from_constraint(isl::constraint constraint) +{ auto res = isl_basic_map_from_constraint(constraint.release()); return manage(res); } -isl::basic_map basic_map::from_domain(isl::basic_set bset) { +isl::basic_map basic_map::from_domain(isl::basic_set bset) +{ auto res = isl_basic_map_from_domain(bset.release()); return manage(res); } -isl::basic_map basic_map::from_domain_and_range(isl::basic_set domain, isl::basic_set range) { +isl::basic_map basic_map::from_domain_and_range(isl::basic_set domain, isl::basic_set range) +{ auto res = isl_basic_map_from_domain_and_range(domain.release(), range.release()); return manage(res); } -isl::basic_map basic_map::from_multi_aff(isl::multi_aff maff) { +isl::basic_map basic_map::from_multi_aff(isl::multi_aff maff) +{ auto res = isl_basic_map_from_multi_aff(maff.release()); return manage(res); } -isl::basic_map basic_map::from_qpolynomial(isl::qpolynomial qp) { +isl::basic_map basic_map::from_qpolynomial(isl::qpolynomial qp) +{ auto res = isl_basic_map_from_qpolynomial(qp.release()); return manage(res); } -isl::basic_map basic_map::from_range(isl::basic_set bset) { +isl::basic_map basic_map::from_range(isl::basic_set bset) +{ auto res = isl_basic_map_from_range(bset.release()); return manage(res); } -isl::constraint_list basic_map::get_constraint_list() const { +isl::constraint_list basic_map::get_constraint_list() const +{ auto res = isl_basic_map_get_constraint_list(get()); return manage(res); } -std::string basic_map::get_dim_name(isl::dim type, unsigned int pos) const { +std::string basic_map::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_basic_map_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::aff basic_map::get_div(int pos) const { +isl::aff basic_map::get_div(int pos) const +{ auto res = isl_basic_map_get_div(get(), pos); return manage(res); } -isl::local_space basic_map::get_local_space() const { +isl::local_space basic_map::get_local_space() const +{ auto res = isl_basic_map_get_local_space(get()); return manage(res); } -isl::space basic_map::get_space() const { +isl::space basic_map::get_space() const +{ auto res = isl_basic_map_get_space(get()); return manage(res); } -std::string basic_map::get_tuple_name(isl::dim type) const { +std::string basic_map::get_tuple_name(isl::dim type) const +{ auto res = isl_basic_map_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::basic_map basic_map::gist(isl::basic_map context) const { +isl::basic_map basic_map::gist(isl::basic_map context) const +{ auto res = isl_basic_map_gist(copy(), context.release()); return manage(res); } -isl::basic_map basic_map::gist_domain(isl::basic_set context) const { +isl::basic_map basic_map::gist_domain(isl::basic_set context) const +{ auto res = isl_basic_map_gist_domain(copy(), context.release()); return manage(res); } -isl::boolean basic_map::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean basic_map::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_basic_map_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::basic_map basic_map::identity(isl::space dim) { +isl::basic_map basic_map::identity(isl::space dim) +{ auto res = isl_basic_map_identity(dim.release()); return manage(res); } -isl::boolean basic_map::image_is_bounded() const { +isl::boolean basic_map::image_is_bounded() const +{ auto res = isl_basic_map_image_is_bounded(get()); return manage(res); } -isl::mat basic_map::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const { - auto res = isl_basic_map_inequalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4), static_cast<enum isl_dim_type>(c5)); - return manage(res); -} - -isl::basic_map basic_map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const { +isl::basic_map basic_map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const +{ auto res = isl_basic_map_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n); return manage(res); } -isl::basic_map basic_map::intersect(isl::basic_map bmap2) const { +isl::basic_map basic_map::intersect(isl::basic_map bmap2) const +{ auto res = isl_basic_map_intersect(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::intersect_domain(isl::basic_set bset) const { +isl::basic_map basic_map::intersect_domain(isl::basic_set bset) const +{ auto res = isl_basic_map_intersect_domain(copy(), bset.release()); return manage(res); } -isl::basic_map basic_map::intersect_range(isl::basic_set bset) const { +isl::basic_map basic_map::intersect_range(isl::basic_set bset) const +{ auto res = isl_basic_map_intersect_range(copy(), bset.release()); return manage(res); } -isl::boolean basic_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean basic_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean basic_map::is_disjoint(const isl::basic_map &bmap2) const { +isl::boolean basic_map::is_disjoint(const isl::basic_map &bmap2) const +{ auto res = isl_basic_map_is_disjoint(get(), bmap2.get()); return manage(res); } -isl::boolean basic_map::is_empty() const { +isl::boolean basic_map::is_empty() const +{ auto res = isl_basic_map_is_empty(get()); return manage(res); } -isl::boolean basic_map::is_equal(const isl::basic_map &bmap2) const { +isl::boolean basic_map::is_equal(const isl::basic_map &bmap2) const +{ auto res = isl_basic_map_is_equal(get(), bmap2.get()); return manage(res); } -isl::boolean basic_map::is_rational() const { +isl::boolean basic_map::is_rational() const +{ auto res = isl_basic_map_is_rational(get()); return manage(res); } -isl::boolean basic_map::is_single_valued() const { +isl::boolean basic_map::is_single_valued() const +{ auto res = isl_basic_map_is_single_valued(get()); return manage(res); } -isl::boolean basic_map::is_strict_subset(const isl::basic_map &bmap2) const { +isl::boolean basic_map::is_strict_subset(const isl::basic_map &bmap2) const +{ auto res = isl_basic_map_is_strict_subset(get(), bmap2.get()); return manage(res); } -isl::boolean basic_map::is_subset(const isl::basic_map &bmap2) const { +isl::boolean basic_map::is_subset(const isl::basic_map &bmap2) const +{ auto res = isl_basic_map_is_subset(get(), bmap2.get()); return manage(res); } -isl::boolean basic_map::is_universe() const { +isl::boolean basic_map::is_universe() const +{ auto res = isl_basic_map_is_universe(get()); return manage(res); } -isl::basic_map basic_map::less_at(isl::space dim, unsigned int pos) { +isl::basic_map basic_map::less_at(isl::space dim, unsigned int pos) +{ auto res = isl_basic_map_less_at(dim.release(), pos); return manage(res); } -isl::map basic_map::lexmax() const { +isl::map basic_map::lexmax() const +{ auto res = isl_basic_map_lexmax(copy()); return manage(res); } -isl::map basic_map::lexmin() const { +isl::map basic_map::lexmin() const +{ auto res = isl_basic_map_lexmin(copy()); return manage(res); } -isl::pw_multi_aff basic_map::lexmin_pw_multi_aff() const { +isl::pw_multi_aff basic_map::lexmin_pw_multi_aff() const +{ auto res = isl_basic_map_lexmin_pw_multi_aff(copy()); return manage(res); } -isl::basic_map basic_map::lower_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::basic_map basic_map::lower_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_basic_map_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::basic_map basic_map::more_at(isl::space dim, unsigned int pos) { +isl::basic_map basic_map::more_at(isl::space dim, unsigned int pos) +{ auto res = isl_basic_map_more_at(dim.release(), pos); return manage(res); } -isl::basic_map basic_map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::basic_map basic_map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_basic_map_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::basic_map basic_map::nat_universe(isl::space dim) { +int basic_map::n_constraint() const +{ + auto res = isl_basic_map_n_constraint(get()); + return res; +} + +isl::basic_map basic_map::nat_universe(isl::space dim) +{ auto res = isl_basic_map_nat_universe(dim.release()); return manage(res); } -isl::basic_map basic_map::neg() const { +isl::basic_map basic_map::neg() const +{ auto res = isl_basic_map_neg(copy()); return manage(res); } -isl::basic_map basic_map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::basic_map basic_map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_basic_map_order_ge(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::basic_map basic_map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::basic_map basic_map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_basic_map_order_gt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::val basic_map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const { +isl::val basic_map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const +{ auto res = isl_basic_map_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean basic_map::plain_is_empty() const { +isl::boolean basic_map::plain_is_empty() const +{ auto res = isl_basic_map_plain_is_empty(get()); return manage(res); } -isl::boolean basic_map::plain_is_universe() const { +isl::boolean basic_map::plain_is_universe() const +{ auto res = isl_basic_map_plain_is_universe(get()); return manage(res); } -isl::basic_map basic_map::preimage_domain_multi_aff(isl::multi_aff ma) const { +isl::basic_map basic_map::preimage_domain_multi_aff(isl::multi_aff ma) const +{ auto res = isl_basic_map_preimage_domain_multi_aff(copy(), ma.release()); return manage(res); } -isl::basic_map basic_map::preimage_range_multi_aff(isl::multi_aff ma) const { +isl::basic_map basic_map::preimage_range_multi_aff(isl::multi_aff ma) const +{ auto res = isl_basic_map_preimage_range_multi_aff(copy(), ma.release()); return manage(res); } -isl::basic_map basic_map::product(isl::basic_map bmap2) const { +isl::basic_map basic_map::product(isl::basic_map bmap2) const +{ auto res = isl_basic_map_product(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_map basic_map::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set basic_map::range() const { +isl::basic_set basic_map::range() const +{ auto res = isl_basic_map_range(copy()); return manage(res); } -isl::basic_map basic_map::range_map() const { +isl::basic_map basic_map::range_map() const +{ auto res = isl_basic_map_range_map(copy()); return manage(res); } -isl::basic_map basic_map::range_product(isl::basic_map bmap2) const { +isl::basic_map basic_map::range_product(isl::basic_map bmap2) const +{ auto res = isl_basic_map_range_product(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_map basic_map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_map basic_map::remove_divs() const { +isl::basic_map basic_map::remove_divs() const +{ auto res = isl_basic_map_remove_divs(copy()); return manage(res); } -isl::basic_map basic_map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_map basic_map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_map_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_map basic_map::remove_redundancies() const { +isl::basic_map basic_map::remove_redundancies() const +{ auto res = isl_basic_map_remove_redundancies(copy()); return manage(res); } -isl::basic_map basic_map::reverse() const { +isl::basic_map basic_map::reverse() const +{ auto res = isl_basic_map_reverse(copy()); return manage(res); } -isl::basic_map basic_map::sample() const { +isl::basic_map basic_map::sample() const +{ auto res = isl_basic_map_sample(copy()); return manage(res); } -isl::basic_map basic_map::set_tuple_id(isl::dim type, isl::id id) const { +isl::basic_map basic_map::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_basic_map_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::basic_map basic_map::set_tuple_name(isl::dim type, const std::string &s) const { +isl::basic_map basic_map::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_basic_map_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::basic_map basic_map::sum(isl::basic_map bmap2) const { +isl::basic_map basic_map::sum(isl::basic_map bmap2) const +{ auto res = isl_basic_map_sum(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::uncurry() const { +isl::basic_map basic_map::uncurry() const +{ auto res = isl_basic_map_uncurry(copy()); return manage(res); } -isl::map basic_map::unite(isl::basic_map bmap2) const { +isl::map basic_map::unite(isl::basic_map bmap2) const +{ auto res = isl_basic_map_union(copy(), bmap2.release()); return manage(res); } -isl::basic_map basic_map::universe(isl::space space) { +isl::basic_map basic_map::universe(isl::space space) +{ auto res = isl_basic_map_universe(space.release()); return manage(res); } -isl::basic_map basic_map::upper_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::basic_map basic_map::upper_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_basic_map_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::basic_set basic_map::wrap() const { +isl::basic_set basic_map::wrap() const +{ auto res = isl_basic_map_wrap(copy()); return manage(res); } -isl::basic_map basic_map::zip() const { +isl::basic_map basic_map::zip() const +{ auto res = isl_basic_map_zip(copy()); return manage(res); } @@ -5304,7 +5631,8 @@ isl::basic_map_list manage(__isl_take isl_basic_map_list *ptr) { return basic_map_list(ptr); } isl::basic_map_list manage_copy(__isl_keep isl_basic_map_list *ptr) { - return basic_map_list(isl_basic_map_list_copy(ptr)); + ptr = isl_basic_map_list_copy(ptr); + return basic_map_list(ptr); } isl::basic_map_list give(__isl_take isl_basic_map_list *ptr) { return manage(ptr); @@ -5315,7 +5643,9 @@ basic_map_list::basic_map_list() : ptr(nullptr) {} basic_map_list::basic_map_list(const isl::basic_map_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} basic_map_list::basic_map_list(std::nullptr_t) : ptr(nullptr) {} @@ -5379,7 +5709,8 @@ isl::basic_set manage(__isl_take isl_basic_set *ptr) { return basic_set(ptr); } isl::basic_set manage_copy(__isl_keep isl_basic_set *ptr) { - return basic_set(isl_basic_set_copy(ptr)); + ptr = isl_basic_set_copy(ptr); + return basic_set(ptr); } isl::basic_set give(__isl_take isl_basic_set *ptr) { return manage(ptr); @@ -5390,7 +5721,9 @@ basic_set::basic_set() : ptr(nullptr) {} basic_set::basic_set(const isl::basic_set &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} basic_set::basic_set(std::nullptr_t) : ptr(nullptr) {} @@ -5398,11 +5731,13 @@ basic_set::basic_set(std::nullptr_t) basic_set::basic_set(__isl_take isl_basic_set *ptr) : ptr(ptr) {} -basic_set::basic_set(isl::ctx ctx, const std::string &str) { +basic_set::basic_set(isl::ctx ctx, const std::string &str) +{ auto res = isl_basic_set_read_from_str(ctx.release(), str.c_str()); ptr = res; } -basic_set::basic_set(isl::point pnt) { +basic_set::basic_set(isl::point pnt) +{ auto res = isl_basic_set_from_point(pnt.release()); ptr = res; } @@ -5465,366 +5800,446 @@ void basic_set::dump() const { } -isl::basic_set basic_set::affine_hull() const { +isl::basic_set basic_set::affine_hull() const +{ auto res = isl_basic_set_affine_hull(copy()); return manage(res); } -isl::basic_set basic_set::align_params(isl::space model) const { +isl::basic_set basic_set::align_params(isl::space model) const +{ auto res = isl_basic_set_align_params(copy(), model.release()); return manage(res); } -isl::basic_set basic_set::apply(isl::basic_map bmap) const { +isl::basic_set basic_set::apply(isl::basic_map bmap) const +{ auto res = isl_basic_set_apply(copy(), bmap.release()); return manage(res); } -isl::basic_set basic_set::box_from_points(isl::point pnt1, isl::point pnt2) { +isl::basic_set basic_set::box_from_points(isl::point pnt1, isl::point pnt2) +{ auto res = isl_basic_set_box_from_points(pnt1.release(), pnt2.release()); return manage(res); } -isl::basic_set basic_set::coefficients() const { +isl::basic_set basic_set::coefficients() const +{ auto res = isl_basic_set_coefficients(copy()); return manage(res); } -isl::basic_set basic_set::detect_equalities() const { +isl::basic_set basic_set::detect_equalities() const +{ auto res = isl_basic_set_detect_equalities(copy()); return manage(res); } -unsigned int basic_set::dim(isl::dim type) const { +unsigned int basic_set::dim(isl::dim type) const +{ auto res = isl_basic_set_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::basic_set basic_set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::val basic_set::dim_max_val(int pos) const +{ + auto res = isl_basic_set_dim_max_val(copy(), pos); + return manage(res); +} + +isl::basic_set basic_set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set basic_set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_set basic_set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set basic_set::eliminate(isl::dim type, unsigned int first, unsigned int n) const { - auto res = isl_basic_set_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); +isl::basic_set basic_set::drop_unused_params() const +{ + auto res = isl_basic_set_drop_unused_params(copy()); return manage(res); } -isl::basic_set basic_set::empty(isl::space space) { - auto res = isl_basic_set_empty(space.release()); +isl::basic_set basic_set::eliminate(isl::dim type, unsigned int first, unsigned int n) const +{ + auto res = isl_basic_set_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::mat basic_set::equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const { - auto res = isl_basic_set_equalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4)); +isl::basic_set basic_set::empty(isl::space space) +{ + auto res = isl_basic_set_empty(space.release()); return manage(res); } -isl::basic_set basic_set::fix_si(isl::dim type, unsigned int pos, int value) const { +isl::basic_set basic_set::fix_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_basic_set_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::basic_set basic_set::fix_val(isl::dim type, unsigned int pos, isl::val v) const { +isl::basic_set basic_set::fix_val(isl::dim type, unsigned int pos, isl::val v) const +{ auto res = isl_basic_set_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::basic_set basic_set::flat_product(isl::basic_set bset2) const { +isl::basic_set basic_set::flat_product(isl::basic_set bset2) const +{ auto res = isl_basic_set_flat_product(copy(), bset2.release()); return manage(res); } -isl::basic_set basic_set::flatten() const { +isl::basic_set basic_set::flatten() const +{ auto res = isl_basic_set_flatten(copy()); return manage(res); } -isl::stat basic_set::foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> &fn) const { - auto fn_p = &fn; +isl::stat basic_set::foreach_bound_pair(isl::dim type, unsigned int pos, const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_constraint *arg_0, isl_constraint *arg_1, isl_basic_set *arg_2, void *arg_3) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::constraint, isl::constraint, isl::basic_set)> **>(arg_3); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1), isl::manage(arg_2)); + auto *data = static_cast<struct fn_data *>(arg_3); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1), isl::manage(arg_2)); return isl_stat(ret); }; - auto res = isl_basic_set_foreach_bound_pair(get(), static_cast<enum isl_dim_type>(type), pos, fn_lambda, &fn_p); + auto res = isl_basic_set_foreach_bound_pair(get(), static_cast<enum isl_dim_type>(type), pos, fn_lambda, &fn_data); return isl::stat(res); } -isl::stat basic_set::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const { - auto fn_p = &fn; +isl::stat basic_set::foreach_constraint(const std::function<isl::stat(isl::constraint)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::constraint)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_constraint *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::constraint)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_basic_set_foreach_constraint(get(), fn_lambda, &fn_p); + auto res = isl_basic_set_foreach_constraint(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::basic_set basic_set::from_constraint(isl::constraint constraint) { +isl::basic_set basic_set::from_constraint(isl::constraint constraint) +{ auto res = isl_basic_set_from_constraint(constraint.release()); return manage(res); } -isl::basic_set basic_set::from_params() const { +isl::basic_set basic_set::from_params() const +{ auto res = isl_basic_set_from_params(copy()); return manage(res); } -isl::constraint_list basic_set::get_constraint_list() const { +isl::constraint_list basic_set::get_constraint_list() const +{ auto res = isl_basic_set_get_constraint_list(get()); return manage(res); } -isl::id basic_set::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id basic_set::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_basic_set_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string basic_set::get_dim_name(isl::dim type, unsigned int pos) const { +std::string basic_set::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_basic_set_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::aff basic_set::get_div(int pos) const { +isl::aff basic_set::get_div(int pos) const +{ auto res = isl_basic_set_get_div(get(), pos); return manage(res); } -isl::local_space basic_set::get_local_space() const { +isl::local_space basic_set::get_local_space() const +{ auto res = isl_basic_set_get_local_space(get()); return manage(res); } -isl::space basic_set::get_space() const { +isl::space basic_set::get_space() const +{ auto res = isl_basic_set_get_space(get()); return manage(res); } -std::string basic_set::get_tuple_name() const { +std::string basic_set::get_tuple_name() const +{ auto res = isl_basic_set_get_tuple_name(get()); std::string tmp(res); return tmp; } -isl::basic_set basic_set::gist(isl::basic_set context) const { +isl::basic_set basic_set::gist(isl::basic_set context) const +{ auto res = isl_basic_set_gist(copy(), context.release()); return manage(res); } -isl::mat basic_set::inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4) const { - auto res = isl_basic_set_inequalities_matrix(get(), static_cast<enum isl_dim_type>(c1), static_cast<enum isl_dim_type>(c2), static_cast<enum isl_dim_type>(c3), static_cast<enum isl_dim_type>(c4)); - return manage(res); -} - -isl::basic_set basic_set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const { +isl::basic_set basic_set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const +{ auto res = isl_basic_set_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n); return manage(res); } -isl::basic_set basic_set::intersect(isl::basic_set bset2) const { +isl::basic_set basic_set::intersect(isl::basic_set bset2) const +{ auto res = isl_basic_set_intersect(copy(), bset2.release()); return manage(res); } -isl::basic_set basic_set::intersect_params(isl::basic_set bset2) const { +isl::basic_set basic_set::intersect_params(isl::basic_set bset2) const +{ auto res = isl_basic_set_intersect_params(copy(), bset2.release()); return manage(res); } -isl::boolean basic_set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean basic_set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean basic_set::is_bounded() const { +isl::boolean basic_set::is_bounded() const +{ auto res = isl_basic_set_is_bounded(get()); return manage(res); } -isl::boolean basic_set::is_disjoint(const isl::basic_set &bset2) const { +isl::boolean basic_set::is_disjoint(const isl::basic_set &bset2) const +{ auto res = isl_basic_set_is_disjoint(get(), bset2.get()); return manage(res); } -isl::boolean basic_set::is_empty() const { +isl::boolean basic_set::is_empty() const +{ auto res = isl_basic_set_is_empty(get()); return manage(res); } -isl::boolean basic_set::is_equal(const isl::basic_set &bset2) const { +isl::boolean basic_set::is_equal(const isl::basic_set &bset2) const +{ auto res = isl_basic_set_is_equal(get(), bset2.get()); return manage(res); } -int basic_set::is_rational() const { +int basic_set::is_rational() const +{ auto res = isl_basic_set_is_rational(get()); return res; } -isl::boolean basic_set::is_subset(const isl::basic_set &bset2) const { +isl::boolean basic_set::is_subset(const isl::basic_set &bset2) const +{ auto res = isl_basic_set_is_subset(get(), bset2.get()); return manage(res); } -isl::boolean basic_set::is_universe() const { +isl::boolean basic_set::is_universe() const +{ auto res = isl_basic_set_is_universe(get()); return manage(res); } -isl::boolean basic_set::is_wrapping() const { +isl::boolean basic_set::is_wrapping() const +{ auto res = isl_basic_set_is_wrapping(get()); return manage(res); } -isl::set basic_set::lexmax() const { +isl::set basic_set::lexmax() const +{ auto res = isl_basic_set_lexmax(copy()); return manage(res); } -isl::set basic_set::lexmin() const { +isl::set basic_set::lexmin() const +{ auto res = isl_basic_set_lexmin(copy()); return manage(res); } -isl::basic_set basic_set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const { +isl::basic_set basic_set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const +{ auto res = isl_basic_set_lower_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release()); return manage(res); } -isl::val basic_set::max_val(const isl::aff &obj) const { +isl::val basic_set::max_val(const isl::aff &obj) const +{ auto res = isl_basic_set_max_val(get(), obj.get()); return manage(res); } -isl::basic_set basic_set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::basic_set basic_set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_basic_set_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::basic_set basic_set::nat_universe(isl::space dim) { +int basic_set::n_constraint() const +{ + auto res = isl_basic_set_n_constraint(get()); + return res; +} + +unsigned int basic_set::n_dim() const +{ + auto res = isl_basic_set_n_dim(get()); + return res; +} + +isl::basic_set basic_set::nat_universe(isl::space dim) +{ auto res = isl_basic_set_nat_universe(dim.release()); return manage(res); } -isl::basic_set basic_set::neg() const { +isl::basic_set basic_set::neg() const +{ auto res = isl_basic_set_neg(copy()); return manage(res); } -isl::basic_set basic_set::params() const { +isl::basic_set basic_set::params() const +{ auto res = isl_basic_set_params(copy()); return manage(res); } -isl::boolean basic_set::plain_is_empty() const { +isl::boolean basic_set::plain_is_empty() const +{ auto res = isl_basic_set_plain_is_empty(get()); return manage(res); } -isl::boolean basic_set::plain_is_equal(const isl::basic_set &bset2) const { +isl::boolean basic_set::plain_is_equal(const isl::basic_set &bset2) const +{ auto res = isl_basic_set_plain_is_equal(get(), bset2.get()); return manage(res); } -isl::boolean basic_set::plain_is_universe() const { +isl::boolean basic_set::plain_is_universe() const +{ auto res = isl_basic_set_plain_is_universe(get()); return manage(res); } -isl::basic_set basic_set::positive_orthant(isl::space space) { +isl::basic_set basic_set::positive_orthant(isl::space space) +{ auto res = isl_basic_set_positive_orthant(space.release()); return manage(res); } -isl::basic_set basic_set::preimage_multi_aff(isl::multi_aff ma) const { +isl::basic_set basic_set::preimage_multi_aff(isl::multi_aff ma) const +{ auto res = isl_basic_set_preimage_multi_aff(copy(), ma.release()); return manage(res); } -isl::basic_set basic_set::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_set basic_set::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::mat basic_set::reduced_basis() const { - auto res = isl_basic_set_reduced_basis(get()); - return manage(res); -} - -isl::basic_set basic_set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_set basic_set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set basic_set::remove_divs() const { +isl::basic_set basic_set::remove_divs() const +{ auto res = isl_basic_set_remove_divs(copy()); return manage(res); } -isl::basic_set basic_set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::basic_set basic_set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_basic_set_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::basic_set basic_set::remove_redundancies() const { +isl::basic_set basic_set::remove_redundancies() const +{ auto res = isl_basic_set_remove_redundancies(copy()); return manage(res); } -isl::basic_set basic_set::remove_unknown_divs() const { +isl::basic_set basic_set::remove_unknown_divs() const +{ auto res = isl_basic_set_remove_unknown_divs(copy()); return manage(res); } -isl::basic_set basic_set::sample() const { +isl::basic_set basic_set::sample() const +{ auto res = isl_basic_set_sample(copy()); return manage(res); } -isl::point basic_set::sample_point() const { +isl::point basic_set::sample_point() const +{ auto res = isl_basic_set_sample_point(copy()); return manage(res); } -isl::basic_set basic_set::set_tuple_id(isl::id id) const { +isl::basic_set basic_set::set_tuple_id(isl::id id) const +{ auto res = isl_basic_set_set_tuple_id(copy(), id.release()); return manage(res); } -isl::basic_set basic_set::set_tuple_name(const std::string &s) const { +isl::basic_set basic_set::set_tuple_name(const std::string &s) const +{ auto res = isl_basic_set_set_tuple_name(copy(), s.c_str()); return manage(res); } -isl::basic_set basic_set::solutions() const { +isl::basic_set basic_set::solutions() const +{ auto res = isl_basic_set_solutions(copy()); return manage(res); } -isl::set basic_set::unite(isl::basic_set bset2) const { +isl::set basic_set::unite(isl::basic_set bset2) const +{ auto res = isl_basic_set_union(copy(), bset2.release()); return manage(res); } -isl::basic_set basic_set::universe(isl::space space) { +isl::basic_set basic_set::universe(isl::space space) +{ auto res = isl_basic_set_universe(space.release()); return manage(res); } -isl::basic_map basic_set::unwrap() const { +isl::basic_map basic_set::unwrap() const +{ auto res = isl_basic_set_unwrap(copy()); return manage(res); } -isl::basic_set basic_set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const { +isl::basic_set basic_set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const +{ auto res = isl_basic_set_upper_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release()); return manage(res); } @@ -5834,7 +6249,8 @@ isl::basic_set_list manage(__isl_take isl_basic_set_list *ptr) { return basic_set_list(ptr); } isl::basic_set_list manage_copy(__isl_keep isl_basic_set_list *ptr) { - return basic_set_list(isl_basic_set_list_copy(ptr)); + ptr = isl_basic_set_list_copy(ptr); + return basic_set_list(ptr); } isl::basic_set_list give(__isl_take isl_basic_set_list *ptr) { return manage(ptr); @@ -5845,7 +6261,9 @@ basic_set_list::basic_set_list() : ptr(nullptr) {} basic_set_list::basic_set_list(const isl::basic_set_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} basic_set_list::basic_set_list(std::nullptr_t) : ptr(nullptr) {} @@ -5909,7 +6327,8 @@ isl::constraint manage(__isl_take isl_constraint *ptr) { return constraint(ptr); } isl::constraint manage_copy(__isl_keep isl_constraint *ptr) { - return constraint(isl_constraint_copy(ptr)); + ptr = isl_constraint_copy(ptr); + return constraint(ptr); } isl::constraint give(__isl_take isl_constraint *ptr) { return manage(ptr); @@ -5920,7 +6339,9 @@ constraint::constraint() : ptr(nullptr) {} constraint::constraint(const isl::constraint &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} constraint::constraint(std::nullptr_t) : ptr(nullptr) {} @@ -5978,103 +6399,123 @@ void constraint::dump() const { } -isl::constraint constraint::alloc_equality(isl::local_space ls) { +isl::constraint constraint::alloc_equality(isl::local_space ls) +{ auto res = isl_constraint_alloc_equality(ls.release()); return manage(res); } -isl::constraint constraint::alloc_inequality(isl::local_space ls) { +isl::constraint constraint::alloc_inequality(isl::local_space ls) +{ auto res = isl_constraint_alloc_inequality(ls.release()); return manage(res); } -int constraint::cmp_last_non_zero(const isl::constraint &c2) const { +int constraint::cmp_last_non_zero(const isl::constraint &c2) const +{ auto res = isl_constraint_cmp_last_non_zero(get(), c2.get()); return res; } -isl::aff constraint::get_aff() const { +isl::aff constraint::get_aff() const +{ auto res = isl_constraint_get_aff(get()); return manage(res); } -isl::aff constraint::get_bound(isl::dim type, int pos) const { +isl::aff constraint::get_bound(isl::dim type, int pos) const +{ auto res = isl_constraint_get_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::val constraint::get_coefficient_val(isl::dim type, int pos) const { +isl::val constraint::get_coefficient_val(isl::dim type, int pos) const +{ auto res = isl_constraint_get_coefficient_val(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::val constraint::get_constant_val() const { +isl::val constraint::get_constant_val() const +{ auto res = isl_constraint_get_constant_val(get()); return manage(res); } -std::string constraint::get_dim_name(isl::dim type, unsigned int pos) const { +std::string constraint::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_constraint_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::aff constraint::get_div(int pos) const { +isl::aff constraint::get_div(int pos) const +{ auto res = isl_constraint_get_div(get(), pos); return manage(res); } -isl::local_space constraint::get_local_space() const { +isl::local_space constraint::get_local_space() const +{ auto res = isl_constraint_get_local_space(get()); return manage(res); } -isl::space constraint::get_space() const { +isl::space constraint::get_space() const +{ auto res = isl_constraint_get_space(get()); return manage(res); } -isl::boolean constraint::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean constraint::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_constraint_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -int constraint::is_div_constraint() const { +int constraint::is_div_constraint() const +{ auto res = isl_constraint_is_div_constraint(get()); return res; } -isl::boolean constraint::is_lower_bound(isl::dim type, unsigned int pos) const { +isl::boolean constraint::is_lower_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_constraint_is_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean constraint::is_upper_bound(isl::dim type, unsigned int pos) const { +isl::boolean constraint::is_upper_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_constraint_is_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -int constraint::plain_cmp(const isl::constraint &c2) const { +int constraint::plain_cmp(const isl::constraint &c2) const +{ auto res = isl_constraint_plain_cmp(get(), c2.get()); return res; } -isl::constraint constraint::set_coefficient_si(isl::dim type, int pos, int v) const { +isl::constraint constraint::set_coefficient_si(isl::dim type, int pos, int v) const +{ auto res = isl_constraint_set_coefficient_si(copy(), static_cast<enum isl_dim_type>(type), pos, v); return manage(res); } -isl::constraint constraint::set_coefficient_val(isl::dim type, int pos, isl::val v) const { +isl::constraint constraint::set_coefficient_val(isl::dim type, int pos, isl::val v) const +{ auto res = isl_constraint_set_coefficient_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::constraint constraint::set_constant_si(int v) const { +isl::constraint constraint::set_constant_si(int v) const +{ auto res = isl_constraint_set_constant_si(copy(), v); return manage(res); } -isl::constraint constraint::set_constant_val(isl::val v) const { +isl::constraint constraint::set_constant_val(isl::val v) const +{ auto res = isl_constraint_set_constant_val(copy(), v.release()); return manage(res); } @@ -6084,7 +6525,8 @@ isl::constraint_list manage(__isl_take isl_constraint_list *ptr) { return constraint_list(ptr); } isl::constraint_list manage_copy(__isl_keep isl_constraint_list *ptr) { - return constraint_list(isl_constraint_list_copy(ptr)); + ptr = isl_constraint_list_copy(ptr); + return constraint_list(ptr); } isl::constraint_list give(__isl_take isl_constraint_list *ptr) { return manage(ptr); @@ -6095,7 +6537,9 @@ constraint_list::constraint_list() : ptr(nullptr) {} constraint_list::constraint_list(const isl::constraint_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} constraint_list::constraint_list(std::nullptr_t) : ptr(nullptr) {} @@ -6159,7 +6603,8 @@ isl::id manage(__isl_take isl_id *ptr) { return id(ptr); } isl::id manage_copy(__isl_keep isl_id *ptr) { - return id(isl_id_copy(ptr)); + ptr = isl_id_copy(ptr); + return id(ptr); } isl::id give(__isl_take isl_id *ptr) { return manage(ptr); @@ -6170,7 +6615,9 @@ id::id() : ptr(nullptr) {} id::id(const isl::id &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} id::id(std::nullptr_t) : ptr(nullptr) {} @@ -6237,23 +6684,27 @@ void id::dump() const { } -isl::id id::alloc(isl::ctx ctx, const std::string &name, void * user) { +isl::id id::alloc(isl::ctx ctx, const std::string &name, void * user) +{ auto res = isl_id_alloc(ctx.release(), name.c_str(), user); return manage(res); } -uint32_t id::get_hash() const { +uint32_t id::get_hash() const +{ auto res = isl_id_get_hash(get()); return res; } -std::string id::get_name() const { +std::string id::get_name() const +{ auto res = isl_id_get_name(get()); std::string tmp(res); return tmp; } -void * id::get_user() const { +void * id::get_user() const +{ auto res = isl_id_get_user(get()); return res; } @@ -6263,7 +6714,8 @@ isl::id_list manage(__isl_take isl_id_list *ptr) { return id_list(ptr); } isl::id_list manage_copy(__isl_keep isl_id_list *ptr) { - return id_list(isl_id_list_copy(ptr)); + ptr = isl_id_list_copy(ptr); + return id_list(ptr); } isl::id_list give(__isl_take isl_id_list *ptr) { return manage(ptr); @@ -6274,7 +6726,9 @@ id_list::id_list() : ptr(nullptr) {} id_list::id_list(const isl::id_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} id_list::id_list(std::nullptr_t) : ptr(nullptr) {} @@ -6338,7 +6792,8 @@ isl::id_to_ast_expr manage(__isl_take isl_id_to_ast_expr *ptr) { return id_to_ast_expr(ptr); } isl::id_to_ast_expr manage_copy(__isl_keep isl_id_to_ast_expr *ptr) { - return id_to_ast_expr(isl_id_to_ast_expr_copy(ptr)); + ptr = isl_id_to_ast_expr_copy(ptr); + return id_to_ast_expr(ptr); } isl::id_to_ast_expr give(__isl_take isl_id_to_ast_expr *ptr) { return manage(ptr); @@ -6349,7 +6804,9 @@ id_to_ast_expr::id_to_ast_expr() : ptr(nullptr) {} id_to_ast_expr::id_to_ast_expr(const isl::id_to_ast_expr &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} id_to_ast_expr::id_to_ast_expr(std::nullptr_t) : ptr(nullptr) {} @@ -6407,38 +6864,46 @@ void id_to_ast_expr::dump() const { } -isl::id_to_ast_expr id_to_ast_expr::alloc(isl::ctx ctx, int min_size) { +isl::id_to_ast_expr id_to_ast_expr::alloc(isl::ctx ctx, int min_size) +{ auto res = isl_id_to_ast_expr_alloc(ctx.release(), min_size); return manage(res); } -isl::id_to_ast_expr id_to_ast_expr::drop(isl::id key) const { +isl::id_to_ast_expr id_to_ast_expr::drop(isl::id key) const +{ auto res = isl_id_to_ast_expr_drop(copy(), key.release()); return manage(res); } -isl::stat id_to_ast_expr::foreach(const std::function<isl::stat(isl::id, isl::ast_expr)> &fn) const { - auto fn_p = &fn; +isl::stat id_to_ast_expr::foreach(const std::function<isl::stat(isl::id, isl::ast_expr)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::id, isl::ast_expr)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_id *arg_0, isl_ast_expr *arg_1, void *arg_2) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::id, isl::ast_expr)> **>(arg_2); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1)); + auto *data = static_cast<struct fn_data *>(arg_2); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1)); return isl_stat(ret); }; - auto res = isl_id_to_ast_expr_foreach(get(), fn_lambda, &fn_p); + auto res = isl_id_to_ast_expr_foreach(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::ast_expr id_to_ast_expr::get(isl::id key) const { +isl::ast_expr id_to_ast_expr::get(isl::id key) const +{ auto res = isl_id_to_ast_expr_get(get(), key.release()); return manage(res); } -isl::boolean id_to_ast_expr::has(const isl::id &key) const { +isl::boolean id_to_ast_expr::has(const isl::id &key) const +{ auto res = isl_id_to_ast_expr_has(get(), key.get()); return manage(res); } -isl::id_to_ast_expr id_to_ast_expr::set(isl::id key, isl::ast_expr val) const { +isl::id_to_ast_expr id_to_ast_expr::set(isl::id key, isl::ast_expr val) const +{ auto res = isl_id_to_ast_expr_set(copy(), key.release(), val.release()); return manage(res); } @@ -6448,7 +6913,8 @@ isl::local_space manage(__isl_take isl_local_space *ptr) { return local_space(ptr); } isl::local_space manage_copy(__isl_keep isl_local_space *ptr) { - return local_space(isl_local_space_copy(ptr)); + ptr = isl_local_space_copy(ptr); + return local_space(ptr); } isl::local_space give(__isl_take isl_local_space *ptr) { return manage(ptr); @@ -6459,7 +6925,9 @@ local_space::local_space() : ptr(nullptr) {} local_space::local_space(const isl::local_space &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} local_space::local_space(std::nullptr_t) : ptr(nullptr) {} @@ -6467,7 +6935,8 @@ local_space::local_space(std::nullptr_t) local_space::local_space(__isl_take isl_local_space *ptr) : ptr(ptr) {} -local_space::local_space(isl::space dim) { +local_space::local_space(isl::space dim) +{ auto res = isl_local_space_from_space(dim.release()); ptr = res; } @@ -6521,118 +6990,147 @@ void local_space::dump() const { } -isl::local_space local_space::add_dims(isl::dim type, unsigned int n) const { +isl::local_space local_space::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_local_space_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -int local_space::dim(isl::dim type) const { +int local_space::dim(isl::dim type) const +{ auto res = isl_local_space_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::local_space local_space::domain() const { +isl::local_space local_space::domain() const +{ auto res = isl_local_space_domain(copy()); return manage(res); } -isl::local_space local_space::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::local_space local_space::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_local_space_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -int local_space::find_dim_by_name(isl::dim type, const std::string &name) const { +int local_space::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_local_space_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::local_space local_space::flatten_domain() const { +isl::local_space local_space::flatten_domain() const +{ auto res = isl_local_space_flatten_domain(copy()); return manage(res); } -isl::local_space local_space::flatten_range() const { +isl::local_space local_space::flatten_range() const +{ auto res = isl_local_space_flatten_range(copy()); return manage(res); } -isl::local_space local_space::from_domain() const { +isl::local_space local_space::from_domain() const +{ auto res = isl_local_space_from_domain(copy()); return manage(res); } -isl::id local_space::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id local_space::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_local_space_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string local_space::get_dim_name(isl::dim type, unsigned int pos) const { +std::string local_space::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_local_space_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::aff local_space::get_div(int pos) const { +isl::aff local_space::get_div(int pos) const +{ auto res = isl_local_space_get_div(get(), pos); return manage(res); } -isl::space local_space::get_space() const { +isl::space local_space::get_space() const +{ auto res = isl_local_space_get_space(get()); return manage(res); } -isl::boolean local_space::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean local_space::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_local_space_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean local_space::has_dim_name(isl::dim type, unsigned int pos) const { +isl::boolean local_space::has_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_local_space_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::local_space local_space::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::local_space local_space::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_local_space_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::local_space local_space::intersect(isl::local_space ls2) const { +isl::local_space local_space::intersect(isl::local_space ls2) const +{ auto res = isl_local_space_intersect(copy(), ls2.release()); return manage(res); } -isl::boolean local_space::is_equal(const isl::local_space &ls2) const { +isl::boolean local_space::is_equal(const isl::local_space &ls2) const +{ auto res = isl_local_space_is_equal(get(), ls2.get()); return manage(res); } -isl::boolean local_space::is_params() const { +isl::boolean local_space::is_params() const +{ auto res = isl_local_space_is_params(get()); return manage(res); } -isl::boolean local_space::is_set() const { +isl::boolean local_space::is_set() const +{ auto res = isl_local_space_is_set(get()); return manage(res); } -isl::local_space local_space::range() const { +isl::local_space local_space::range() const +{ auto res = isl_local_space_range(copy()); return manage(res); } -isl::local_space local_space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::local_space local_space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_local_space_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::local_space local_space::set_tuple_id(isl::dim type, isl::id id) const { +isl::local_space local_space::set_from_params() const +{ + auto res = isl_local_space_set_from_params(copy()); + return manage(res); +} + +isl::local_space local_space::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_local_space_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::local_space local_space::wrap() const { +isl::local_space local_space::wrap() const +{ auto res = isl_local_space_wrap(copy()); return manage(res); } @@ -6642,7 +7140,8 @@ isl::map manage(__isl_take isl_map *ptr) { return map(ptr); } isl::map manage_copy(__isl_keep isl_map *ptr) { - return map(isl_map_copy(ptr)); + ptr = isl_map_copy(ptr); + return map(ptr); } isl::map give(__isl_take isl_map *ptr) { return manage(ptr); @@ -6653,7 +7152,9 @@ map::map() : ptr(nullptr) {} map::map(const isl::map &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} map::map(std::nullptr_t) : ptr(nullptr) {} @@ -6661,11 +7162,13 @@ map::map(std::nullptr_t) map::map(__isl_take isl_map *ptr) : ptr(ptr) {} -map::map(isl::ctx ctx, const std::string &str) { +map::map(isl::ctx ctx, const std::string &str) +{ auto res = isl_map_read_from_str(ctx.release(), str.c_str()); ptr = res; } -map::map(isl::basic_map bmap) { +map::map(isl::basic_map bmap) +{ auto res = isl_map_from_basic_map(bmap.release()); ptr = res; } @@ -6728,830 +7231,1008 @@ void map::dump() const { } -isl::map map::add_constraint(isl::constraint constraint) const { +isl::map map::add_constraint(isl::constraint constraint) const +{ auto res = isl_map_add_constraint(copy(), constraint.release()); return manage(res); } -isl::map map::add_dims(isl::dim type, unsigned int n) const { +isl::map map::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_map_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::basic_map map::affine_hull() const { +isl::basic_map map::affine_hull() const +{ auto res = isl_map_affine_hull(copy()); return manage(res); } -isl::map map::align_params(isl::space model) const { +isl::map map::align_params(isl::space model) const +{ auto res = isl_map_align_params(copy(), model.release()); return manage(res); } -isl::map map::apply_domain(isl::map map2) const { +isl::map map::apply_domain(isl::map map2) const +{ auto res = isl_map_apply_domain(copy(), map2.release()); return manage(res); } -isl::map map::apply_range(isl::map map2) const { +isl::map map::apply_range(isl::map map2) const +{ auto res = isl_map_apply_range(copy(), map2.release()); return manage(res); } -isl::boolean map::can_curry() const { +isl::boolean map::can_curry() const +{ auto res = isl_map_can_curry(get()); return manage(res); } -isl::boolean map::can_range_curry() const { +isl::boolean map::can_range_curry() const +{ auto res = isl_map_can_range_curry(get()); return manage(res); } -isl::boolean map::can_uncurry() const { +isl::boolean map::can_uncurry() const +{ auto res = isl_map_can_uncurry(get()); return manage(res); } -isl::boolean map::can_zip() const { +isl::boolean map::can_zip() const +{ auto res = isl_map_can_zip(get()); return manage(res); } -isl::map map::coalesce() const { +isl::map map::coalesce() const +{ auto res = isl_map_coalesce(copy()); return manage(res); } -isl::map map::complement() const { +isl::map map::complement() const +{ auto res = isl_map_complement(copy()); return manage(res); } -isl::basic_map map::convex_hull() const { +isl::basic_map map::convex_hull() const +{ auto res = isl_map_convex_hull(copy()); return manage(res); } -isl::map map::curry() const { +isl::map map::curry() const +{ auto res = isl_map_curry(copy()); return manage(res); } -isl::set map::deltas() const { +isl::set map::deltas() const +{ auto res = isl_map_deltas(copy()); return manage(res); } -isl::map map::deltas_map() const { +isl::map map::deltas_map() const +{ auto res = isl_map_deltas_map(copy()); return manage(res); } -isl::map map::detect_equalities() const { +isl::map map::detect_equalities() const +{ auto res = isl_map_detect_equalities(copy()); return manage(res); } -unsigned int map::dim(isl::dim type) const { +unsigned int map::dim(isl::dim type) const +{ auto res = isl_map_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::pw_aff map::dim_max(int pos) const { +isl::pw_aff map::dim_max(int pos) const +{ auto res = isl_map_dim_max(copy(), pos); return manage(res); } -isl::pw_aff map::dim_min(int pos) const { +isl::pw_aff map::dim_min(int pos) const +{ auto res = isl_map_dim_min(copy(), pos); return manage(res); } -isl::set map::domain() const { +isl::set map::domain() const +{ auto res = isl_map_domain(copy()); return manage(res); } -isl::map map::domain_factor_domain() const { +isl::map map::domain_factor_domain() const +{ auto res = isl_map_domain_factor_domain(copy()); return manage(res); } -isl::map map::domain_factor_range() const { +isl::map map::domain_factor_range() const +{ auto res = isl_map_domain_factor_range(copy()); return manage(res); } -isl::boolean map::domain_is_wrapping() const { +isl::boolean map::domain_is_wrapping() const +{ auto res = isl_map_domain_is_wrapping(get()); return manage(res); } -isl::map map::domain_map() const { +isl::map map::domain_map() const +{ auto res = isl_map_domain_map(copy()); return manage(res); } -isl::map map::domain_product(isl::map map2) const { +isl::map map::domain_product(isl::map map2) const +{ auto res = isl_map_domain_product(copy(), map2.release()); return manage(res); } -isl::map map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map map::eliminate(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::drop_unused_params() const +{ + auto res = isl_map_drop_unused_params(copy()); + return manage(res); +} + +isl::map map::eliminate(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map map::empty(isl::space space) { +isl::map map::empty(isl::space space) +{ auto res = isl_map_empty(space.release()); return manage(res); } -isl::map map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::map map::factor_domain() const { +isl::map map::factor_domain() const +{ auto res = isl_map_factor_domain(copy()); return manage(res); } -isl::map map::factor_range() const { +isl::map map::factor_range() const +{ auto res = isl_map_factor_range(copy()); return manage(res); } -int map::find_dim_by_id(isl::dim type, const isl::id &id) const { +int map::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_map_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int map::find_dim_by_name(isl::dim type, const std::string &name) const { +int map::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_map_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::map map::fix_si(isl::dim type, unsigned int pos, int value) const { +isl::map map::fix_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_map_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::map map::fix_val(isl::dim type, unsigned int pos, isl::val v) const { +isl::map map::fix_val(isl::dim type, unsigned int pos, isl::val v) const +{ auto res = isl_map_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::map map::fixed_power_val(isl::val exp) const { +isl::map map::fixed_power_val(isl::val exp) const +{ auto res = isl_map_fixed_power_val(copy(), exp.release()); return manage(res); } -isl::map map::flat_domain_product(isl::map map2) const { +isl::map map::flat_domain_product(isl::map map2) const +{ auto res = isl_map_flat_domain_product(copy(), map2.release()); return manage(res); } -isl::map map::flat_product(isl::map map2) const { +isl::map map::flat_product(isl::map map2) const +{ auto res = isl_map_flat_product(copy(), map2.release()); return manage(res); } -isl::map map::flat_range_product(isl::map map2) const { +isl::map map::flat_range_product(isl::map map2) const +{ auto res = isl_map_flat_range_product(copy(), map2.release()); return manage(res); } -isl::map map::flatten() const { +isl::map map::flatten() const +{ auto res = isl_map_flatten(copy()); return manage(res); } -isl::map map::flatten_domain() const { +isl::map map::flatten_domain() const +{ auto res = isl_map_flatten_domain(copy()); return manage(res); } -isl::map map::flatten_range() const { +isl::map map::flatten_range() const +{ auto res = isl_map_flatten_range(copy()); return manage(res); } -isl::map map::floordiv_val(isl::val d) const { +isl::map map::floordiv_val(isl::val d) const +{ auto res = isl_map_floordiv_val(copy(), d.release()); return manage(res); } -isl::stat map::foreach_basic_map(const std::function<isl::stat(isl::basic_map)> &fn) const { - auto fn_p = &fn; +isl::stat map::foreach_basic_map(const std::function<isl::stat(isl::basic_map)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::basic_map)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_basic_map *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::basic_map)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_map_foreach_basic_map(get(), fn_lambda, &fn_p); + auto res = isl_map_foreach_basic_map(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::map map::from_aff(isl::aff aff) { +isl::map map::from_aff(isl::aff aff) +{ auto res = isl_map_from_aff(aff.release()); return manage(res); } -isl::map map::from_domain(isl::set set) { +isl::map map::from_domain(isl::set set) +{ auto res = isl_map_from_domain(set.release()); return manage(res); } -isl::map map::from_domain_and_range(isl::set domain, isl::set range) { +isl::map map::from_domain_and_range(isl::set domain, isl::set range) +{ auto res = isl_map_from_domain_and_range(domain.release(), range.release()); return manage(res); } -isl::map map::from_multi_aff(isl::multi_aff maff) { +isl::map map::from_multi_aff(isl::multi_aff maff) +{ auto res = isl_map_from_multi_aff(maff.release()); return manage(res); } -isl::map map::from_multi_pw_aff(isl::multi_pw_aff mpa) { +isl::map map::from_multi_pw_aff(isl::multi_pw_aff mpa) +{ auto res = isl_map_from_multi_pw_aff(mpa.release()); return manage(res); } -isl::map map::from_pw_aff(isl::pw_aff pwaff) { +isl::map map::from_pw_aff(isl::pw_aff pwaff) +{ auto res = isl_map_from_pw_aff(pwaff.release()); return manage(res); } -isl::map map::from_pw_multi_aff(isl::pw_multi_aff pma) { +isl::map map::from_pw_multi_aff(isl::pw_multi_aff pma) +{ auto res = isl_map_from_pw_multi_aff(pma.release()); return manage(res); } -isl::map map::from_range(isl::set set) { +isl::map map::from_range(isl::set set) +{ auto res = isl_map_from_range(set.release()); return manage(res); } -isl::map map::from_union_map(isl::union_map umap) { +isl::map map::from_union_map(isl::union_map umap) +{ auto res = isl_map_from_union_map(umap.release()); return manage(res); } -isl::id map::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id map::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_map_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string map::get_dim_name(isl::dim type, unsigned int pos) const { +std::string map::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_map_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -uint32_t map::get_hash() const { +uint32_t map::get_hash() const +{ auto res = isl_map_get_hash(get()); return res; } -isl::space map::get_space() const { +isl::space map::get_space() const +{ auto res = isl_map_get_space(get()); return manage(res); } -isl::id map::get_tuple_id(isl::dim type) const { +isl::id map::get_tuple_id(isl::dim type) const +{ auto res = isl_map_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string map::get_tuple_name(isl::dim type) const { +std::string map::get_tuple_name(isl::dim type) const +{ auto res = isl_map_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::map map::gist(isl::map context) const { +isl::map map::gist(isl::map context) const +{ auto res = isl_map_gist(copy(), context.release()); return manage(res); } -isl::map map::gist_basic_map(isl::basic_map context) const { +isl::map map::gist_basic_map(isl::basic_map context) const +{ auto res = isl_map_gist_basic_map(copy(), context.release()); return manage(res); } -isl::map map::gist_domain(isl::set context) const { +isl::map map::gist_domain(isl::set context) const +{ auto res = isl_map_gist_domain(copy(), context.release()); return manage(res); } -isl::map map::gist_params(isl::set context) const { +isl::map map::gist_params(isl::set context) const +{ auto res = isl_map_gist_params(copy(), context.release()); return manage(res); } -isl::map map::gist_range(isl::set context) const { +isl::map map::gist_range(isl::set context) const +{ auto res = isl_map_gist_range(copy(), context.release()); return manage(res); } -isl::boolean map::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean map::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_map_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean map::has_dim_name(isl::dim type, unsigned int pos) const { +isl::boolean map::has_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_map_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean map::has_equal_space(const isl::map &map2) const { +isl::boolean map::has_equal_space(const isl::map &map2) const +{ auto res = isl_map_has_equal_space(get(), map2.get()); return manage(res); } -isl::boolean map::has_tuple_id(isl::dim type) const { +isl::boolean map::has_tuple_id(isl::dim type) const +{ auto res = isl_map_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::boolean map::has_tuple_name(isl::dim type) const { +isl::boolean map::has_tuple_name(isl::dim type) const +{ auto res = isl_map_has_tuple_name(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::map map::identity(isl::space dim) { +isl::map map::identity(isl::space dim) +{ auto res = isl_map_identity(dim.release()); return manage(res); } -isl::map map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const { +isl::map map::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const +{ auto res = isl_map_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n); return manage(res); } -isl::map map::intersect(isl::map map2) const { +isl::map map::intersect(isl::map map2) const +{ auto res = isl_map_intersect(copy(), map2.release()); return manage(res); } -isl::map map::intersect_domain(isl::set set) const { +isl::map map::intersect_domain(isl::set set) const +{ auto res = isl_map_intersect_domain(copy(), set.release()); return manage(res); } -isl::map map::intersect_domain_factor_range(isl::map factor) const { +isl::map map::intersect_domain_factor_range(isl::map factor) const +{ auto res = isl_map_intersect_domain_factor_range(copy(), factor.release()); return manage(res); } -isl::map map::intersect_params(isl::set params) const { +isl::map map::intersect_params(isl::set params) const +{ auto res = isl_map_intersect_params(copy(), params.release()); return manage(res); } -isl::map map::intersect_range(isl::set set) const { +isl::map map::intersect_range(isl::set set) const +{ auto res = isl_map_intersect_range(copy(), set.release()); return manage(res); } -isl::map map::intersect_range_factor_range(isl::map factor) const { +isl::map map::intersect_range_factor_range(isl::map factor) const +{ auto res = isl_map_intersect_range_factor_range(copy(), factor.release()); return manage(res); } -isl::boolean map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean map::is_bijective() const { +isl::boolean map::is_bijective() const +{ auto res = isl_map_is_bijective(get()); return manage(res); } -isl::boolean map::is_disjoint(const isl::map &map2) const { +isl::boolean map::is_disjoint(const isl::map &map2) const +{ auto res = isl_map_is_disjoint(get(), map2.get()); return manage(res); } -isl::boolean map::is_empty() const { +isl::boolean map::is_empty() const +{ auto res = isl_map_is_empty(get()); return manage(res); } -isl::boolean map::is_equal(const isl::map &map2) const { +isl::boolean map::is_equal(const isl::map &map2) const +{ auto res = isl_map_is_equal(get(), map2.get()); return manage(res); } -isl::boolean map::is_identity() const { +isl::boolean map::is_identity() const +{ auto res = isl_map_is_identity(get()); return manage(res); } -isl::boolean map::is_injective() const { +isl::boolean map::is_injective() const +{ auto res = isl_map_is_injective(get()); return manage(res); } -isl::boolean map::is_product() const { +isl::boolean map::is_product() const +{ auto res = isl_map_is_product(get()); return manage(res); } -isl::boolean map::is_single_valued() const { +isl::boolean map::is_single_valued() const +{ auto res = isl_map_is_single_valued(get()); return manage(res); } -isl::boolean map::is_strict_subset(const isl::map &map2) const { +isl::boolean map::is_strict_subset(const isl::map &map2) const +{ auto res = isl_map_is_strict_subset(get(), map2.get()); return manage(res); } -isl::boolean map::is_subset(const isl::map &map2) const { +isl::boolean map::is_subset(const isl::map &map2) const +{ auto res = isl_map_is_subset(get(), map2.get()); return manage(res); } -int map::is_translation() const { +int map::is_translation() const +{ auto res = isl_map_is_translation(get()); return res; } -isl::map map::lex_ge(isl::space set_dim) { +isl::map map::lex_ge(isl::space set_dim) +{ auto res = isl_map_lex_ge(set_dim.release()); return manage(res); } -isl::map map::lex_ge_first(isl::space dim, unsigned int n) { +isl::map map::lex_ge_first(isl::space dim, unsigned int n) +{ auto res = isl_map_lex_ge_first(dim.release(), n); return manage(res); } -isl::map map::lex_ge_map(isl::map map2) const { +isl::map map::lex_ge_map(isl::map map2) const +{ auto res = isl_map_lex_ge_map(copy(), map2.release()); return manage(res); } -isl::map map::lex_gt(isl::space set_dim) { +isl::map map::lex_gt(isl::space set_dim) +{ auto res = isl_map_lex_gt(set_dim.release()); return manage(res); } -isl::map map::lex_gt_first(isl::space dim, unsigned int n) { +isl::map map::lex_gt_first(isl::space dim, unsigned int n) +{ auto res = isl_map_lex_gt_first(dim.release(), n); return manage(res); } -isl::map map::lex_gt_map(isl::map map2) const { +isl::map map::lex_gt_map(isl::map map2) const +{ auto res = isl_map_lex_gt_map(copy(), map2.release()); return manage(res); } -isl::map map::lex_le(isl::space set_dim) { +isl::map map::lex_le(isl::space set_dim) +{ auto res = isl_map_lex_le(set_dim.release()); return manage(res); } -isl::map map::lex_le_first(isl::space dim, unsigned int n) { +isl::map map::lex_le_first(isl::space dim, unsigned int n) +{ auto res = isl_map_lex_le_first(dim.release(), n); return manage(res); } -isl::map map::lex_le_map(isl::map map2) const { +isl::map map::lex_le_map(isl::map map2) const +{ auto res = isl_map_lex_le_map(copy(), map2.release()); return manage(res); } -isl::map map::lex_lt(isl::space set_dim) { +isl::map map::lex_lt(isl::space set_dim) +{ auto res = isl_map_lex_lt(set_dim.release()); return manage(res); } -isl::map map::lex_lt_first(isl::space dim, unsigned int n) { +isl::map map::lex_lt_first(isl::space dim, unsigned int n) +{ auto res = isl_map_lex_lt_first(dim.release(), n); return manage(res); } -isl::map map::lex_lt_map(isl::map map2) const { +isl::map map::lex_lt_map(isl::map map2) const +{ auto res = isl_map_lex_lt_map(copy(), map2.release()); return manage(res); } -isl::map map::lexmax() const { +isl::map map::lexmax() const +{ auto res = isl_map_lexmax(copy()); return manage(res); } -isl::pw_multi_aff map::lexmax_pw_multi_aff() const { +isl::pw_multi_aff map::lexmax_pw_multi_aff() const +{ auto res = isl_map_lexmax_pw_multi_aff(copy()); return manage(res); } -isl::map map::lexmin() const { +isl::map map::lexmin() const +{ auto res = isl_map_lexmin(copy()); return manage(res); } -isl::pw_multi_aff map::lexmin_pw_multi_aff() const { +isl::pw_multi_aff map::lexmin_pw_multi_aff() const +{ auto res = isl_map_lexmin_pw_multi_aff(copy()); return manage(res); } -isl::map map::lower_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::map map::lower_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_map_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::map map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::map map::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_map_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::map map::nat_universe(isl::space dim) { +int map::n_basic_map() const +{ + auto res = isl_map_n_basic_map(get()); + return res; +} + +isl::map map::nat_universe(isl::space dim) +{ auto res = isl_map_nat_universe(dim.release()); return manage(res); } -isl::map map::neg() const { +isl::map map::neg() const +{ auto res = isl_map_neg(copy()); return manage(res); } -isl::map map::oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_oppose(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::map map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_order_ge(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::map map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_order_gt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::map map::order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::order_le(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_order_le(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::map map::order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::map map::order_lt(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_map_order_lt(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -isl::set map::params() const { +isl::set map::params() const +{ auto res = isl_map_params(copy()); return manage(res); } -isl::val map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const { +isl::val map::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const +{ auto res = isl_map_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean map::plain_is_empty() const { +isl::boolean map::plain_is_empty() const +{ auto res = isl_map_plain_is_empty(get()); return manage(res); } -isl::boolean map::plain_is_equal(const isl::map &map2) const { +isl::boolean map::plain_is_equal(const isl::map &map2) const +{ auto res = isl_map_plain_is_equal(get(), map2.get()); return manage(res); } -isl::boolean map::plain_is_injective() const { +isl::boolean map::plain_is_injective() const +{ auto res = isl_map_plain_is_injective(get()); return manage(res); } -isl::boolean map::plain_is_single_valued() const { +isl::boolean map::plain_is_single_valued() const +{ auto res = isl_map_plain_is_single_valued(get()); return manage(res); } -isl::boolean map::plain_is_universe() const { +isl::boolean map::plain_is_universe() const +{ auto res = isl_map_plain_is_universe(get()); return manage(res); } -isl::basic_map map::plain_unshifted_simple_hull() const { +isl::basic_map map::plain_unshifted_simple_hull() const +{ auto res = isl_map_plain_unshifted_simple_hull(copy()); return manage(res); } -isl::basic_map map::polyhedral_hull() const { +isl::basic_map map::polyhedral_hull() const +{ auto res = isl_map_polyhedral_hull(copy()); return manage(res); } -isl::map map::preimage_domain_multi_aff(isl::multi_aff ma) const { +isl::map map::preimage_domain_multi_aff(isl::multi_aff ma) const +{ auto res = isl_map_preimage_domain_multi_aff(copy(), ma.release()); return manage(res); } -isl::map map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const { +isl::map map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const +{ auto res = isl_map_preimage_domain_multi_pw_aff(copy(), mpa.release()); return manage(res); } -isl::map map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::map map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_map_preimage_domain_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::map map::preimage_range_multi_aff(isl::multi_aff ma) const { +isl::map map::preimage_range_multi_aff(isl::multi_aff ma) const +{ auto res = isl_map_preimage_range_multi_aff(copy(), ma.release()); return manage(res); } -isl::map map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::map map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_map_preimage_range_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::map map::product(isl::map map2) const { +isl::map map::product(isl::map map2) const +{ auto res = isl_map_product(copy(), map2.release()); return manage(res); } -isl::map map::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set map::range() const { +isl::set map::range() const +{ auto res = isl_map_range(copy()); return manage(res); } -isl::map map::range_curry() const { +isl::map map::range_curry() const +{ auto res = isl_map_range_curry(copy()); return manage(res); } -isl::map map::range_factor_domain() const { +isl::map map::range_factor_domain() const +{ auto res = isl_map_range_factor_domain(copy()); return manage(res); } -isl::map map::range_factor_range() const { +isl::map map::range_factor_range() const +{ auto res = isl_map_range_factor_range(copy()); return manage(res); } -isl::boolean map::range_is_wrapping() const { +isl::boolean map::range_is_wrapping() const +{ auto res = isl_map_range_is_wrapping(get()); return manage(res); } -isl::map map::range_map() const { +isl::map map::range_map() const +{ auto res = isl_map_range_map(copy()); return manage(res); } -isl::map map::range_product(isl::map map2) const { +isl::map map::range_product(isl::map map2) const +{ auto res = isl_map_range_product(copy(), map2.release()); return manage(res); } -isl::map map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::remove_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map map::remove_divs() const { +isl::map map::remove_divs() const +{ auto res = isl_map_remove_divs(copy()); return manage(res); } -isl::map map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::map map::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_map_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map map::remove_redundancies() const { +isl::map map::remove_redundancies() const +{ auto res = isl_map_remove_redundancies(copy()); return manage(res); } -isl::map map::remove_unknown_divs() const { +isl::map map::remove_unknown_divs() const +{ auto res = isl_map_remove_unknown_divs(copy()); return manage(res); } -isl::map map::reset_tuple_id(isl::dim type) const { +isl::map map::reset_tuple_id(isl::dim type) const +{ auto res = isl_map_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::map map::reset_user() const { +isl::map map::reset_user() const +{ auto res = isl_map_reset_user(copy()); return manage(res); } -isl::map map::reverse() const { +isl::map map::reverse() const +{ auto res = isl_map_reverse(copy()); return manage(res); } -isl::basic_map map::sample() const { +isl::basic_map map::sample() const +{ auto res = isl_map_sample(copy()); return manage(res); } -isl::map map::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::map map::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_map_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::map map::set_tuple_id(isl::dim type, isl::id id) const { +isl::map map::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_map_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::map map::set_tuple_name(isl::dim type, const std::string &s) const { +isl::map map::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_map_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::basic_map map::simple_hull() const { +isl::basic_map map::simple_hull() const +{ auto res = isl_map_simple_hull(copy()); return manage(res); } -isl::map map::subtract(isl::map map2) const { +isl::map map::subtract(isl::map map2) const +{ auto res = isl_map_subtract(copy(), map2.release()); return manage(res); } -isl::map map::subtract_domain(isl::set dom) const { +isl::map map::subtract_domain(isl::set dom) const +{ auto res = isl_map_subtract_domain(copy(), dom.release()); return manage(res); } -isl::map map::subtract_range(isl::set dom) const { +isl::map map::subtract_range(isl::set dom) const +{ auto res = isl_map_subtract_range(copy(), dom.release()); return manage(res); } -isl::map map::sum(isl::map map2) const { +isl::map map::sum(isl::map map2) const +{ auto res = isl_map_sum(copy(), map2.release()); return manage(res); } -isl::map map::uncurry() const { +isl::map map::uncurry() const +{ auto res = isl_map_uncurry(copy()); return manage(res); } -isl::map map::unite(isl::map map2) const { +isl::map map::unite(isl::map map2) const +{ auto res = isl_map_union(copy(), map2.release()); return manage(res); } -isl::map map::universe(isl::space space) { +isl::map map::universe(isl::space space) +{ auto res = isl_map_universe(space.release()); return manage(res); } -isl::basic_map map::unshifted_simple_hull() const { +isl::basic_map map::unshifted_simple_hull() const +{ auto res = isl_map_unshifted_simple_hull(copy()); return manage(res); } -isl::basic_map map::unshifted_simple_hull_from_map_list(isl::map_list list) const { +isl::basic_map map::unshifted_simple_hull_from_map_list(isl::map_list list) const +{ auto res = isl_map_unshifted_simple_hull_from_map_list(copy(), list.release()); return manage(res); } -isl::map map::upper_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::map map::upper_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_map_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::set map::wrap() const { +isl::set map::wrap() const +{ auto res = isl_map_wrap(copy()); return manage(res); } -isl::map map::zip() const { +isl::map map::zip() const +{ auto res = isl_map_zip(copy()); return manage(res); } @@ -7561,7 +8242,8 @@ isl::map_list manage(__isl_take isl_map_list *ptr) { return map_list(ptr); } isl::map_list manage_copy(__isl_keep isl_map_list *ptr) { - return map_list(isl_map_list_copy(ptr)); + ptr = isl_map_list_copy(ptr); + return map_list(ptr); } isl::map_list give(__isl_take isl_map_list *ptr) { return manage(ptr); @@ -7572,7 +8254,9 @@ map_list::map_list() : ptr(nullptr) {} map_list::map_list(const isl::map_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} map_list::map_list(std::nullptr_t) : ptr(nullptr) {} @@ -7636,7 +8320,8 @@ isl::mat manage(__isl_take isl_mat *ptr) { return mat(ptr); } isl::mat manage_copy(__isl_keep isl_mat *ptr) { - return mat(isl_mat_copy(ptr)); + ptr = isl_mat_copy(ptr); + return mat(ptr); } isl::mat give(__isl_take isl_mat *ptr) { return manage(ptr); @@ -7647,7 +8332,9 @@ mat::mat() : ptr(nullptr) {} mat::mat(const isl::mat &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} mat::mat(std::nullptr_t) : ptr(nullptr) {} @@ -7705,182 +8392,242 @@ void mat::dump() const { } -isl::mat mat::add_rows(unsigned int n) const { +isl::mat mat::add_rows(unsigned int n) const +{ auto res = isl_mat_add_rows(copy(), n); return manage(res); } -isl::mat mat::add_zero_cols(unsigned int n) const { +isl::mat mat::add_zero_cols(unsigned int n) const +{ auto res = isl_mat_add_zero_cols(copy(), n); return manage(res); } -isl::mat mat::add_zero_rows(unsigned int n) const { +isl::mat mat::add_zero_rows(unsigned int n) const +{ auto res = isl_mat_add_zero_rows(copy(), n); return manage(res); } -isl::mat mat::aff_direct_sum(isl::mat right) const { +isl::mat mat::aff_direct_sum(isl::mat right) const +{ auto res = isl_mat_aff_direct_sum(copy(), right.release()); return manage(res); } -isl::mat mat::alloc(isl::ctx ctx, unsigned int n_row, unsigned int n_col) { +isl::mat mat::alloc(isl::ctx ctx, unsigned int n_row, unsigned int n_col) +{ auto res = isl_mat_alloc(ctx.release(), n_row, n_col); return manage(res); } -int mat::cols() const { +int mat::cols() const +{ auto res = isl_mat_cols(get()); return res; } -isl::mat mat::concat(isl::mat bot) const { +isl::mat mat::concat(isl::mat bot) const +{ auto res = isl_mat_concat(copy(), bot.release()); return manage(res); } -isl::mat mat::diagonal(isl::mat mat2) const { +isl::mat mat::diagonal(isl::mat mat2) const +{ auto res = isl_mat_diagonal(copy(), mat2.release()); return manage(res); } -isl::mat mat::drop_cols(unsigned int col, unsigned int n) const { +isl::mat mat::drop_cols(unsigned int col, unsigned int n) const +{ auto res = isl_mat_drop_cols(copy(), col, n); return manage(res); } -isl::mat mat::drop_rows(unsigned int row, unsigned int n) const { +isl::mat mat::drop_rows(unsigned int row, unsigned int n) const +{ auto res = isl_mat_drop_rows(copy(), row, n); return manage(res); } -isl::mat mat::from_row_vec(isl::vec vec) { +isl::mat mat::from_row_vec(isl::vec vec) +{ auto res = isl_mat_from_row_vec(vec.release()); return manage(res); } -isl::val mat::get_element_val(int row, int col) const { +isl::val mat::get_element_val(int row, int col) const +{ auto res = isl_mat_get_element_val(get(), row, col); return manage(res); } -int mat::initial_non_zero_cols() const { +isl::boolean mat::has_linearly_independent_rows(const isl::mat &mat2) const +{ + auto res = isl_mat_has_linearly_independent_rows(get(), mat2.get()); + return manage(res); +} + +int mat::initial_non_zero_cols() const +{ auto res = isl_mat_initial_non_zero_cols(get()); return res; } -isl::mat mat::insert_cols(unsigned int col, unsigned int n) const { +isl::mat mat::insert_cols(unsigned int col, unsigned int n) const +{ auto res = isl_mat_insert_cols(copy(), col, n); return manage(res); } -isl::mat mat::insert_rows(unsigned int row, unsigned int n) const { +isl::mat mat::insert_rows(unsigned int row, unsigned int n) const +{ auto res = isl_mat_insert_rows(copy(), row, n); return manage(res); } -isl::mat mat::insert_zero_cols(unsigned int first, unsigned int n) const { +isl::mat mat::insert_zero_cols(unsigned int first, unsigned int n) const +{ auto res = isl_mat_insert_zero_cols(copy(), first, n); return manage(res); } -isl::mat mat::insert_zero_rows(unsigned int row, unsigned int n) const { +isl::mat mat::insert_zero_rows(unsigned int row, unsigned int n) const +{ auto res = isl_mat_insert_zero_rows(copy(), row, n); return manage(res); } -isl::mat mat::inverse_product(isl::mat right) const { +isl::mat mat::inverse_product(isl::mat right) const +{ auto res = isl_mat_inverse_product(copy(), right.release()); return manage(res); } -isl::boolean mat::is_equal(const isl::mat &mat2) const { +isl::boolean mat::is_equal(const isl::mat &mat2) const +{ auto res = isl_mat_is_equal(get(), mat2.get()); return manage(res); } -isl::mat mat::lin_to_aff() const { +isl::mat mat::lin_to_aff() const +{ auto res = isl_mat_lin_to_aff(copy()); return manage(res); } -isl::mat mat::move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const { +isl::mat mat::move_cols(unsigned int dst_col, unsigned int src_col, unsigned int n) const +{ auto res = isl_mat_move_cols(copy(), dst_col, src_col, n); return manage(res); } -isl::mat mat::normalize() const { +isl::mat mat::normalize() const +{ auto res = isl_mat_normalize(copy()); return manage(res); } -isl::mat mat::normalize_row(int row) const { +isl::mat mat::normalize_row(int row) const +{ auto res = isl_mat_normalize_row(copy(), row); return manage(res); } -isl::mat mat::product(isl::mat right) const { +isl::mat mat::product(isl::mat right) const +{ auto res = isl_mat_product(copy(), right.release()); return manage(res); } -isl::mat mat::right_inverse() const { +int mat::rank() const +{ + auto res = isl_mat_rank(get()); + return res; +} + +isl::mat mat::right_inverse() const +{ auto res = isl_mat_right_inverse(copy()); return manage(res); } -isl::mat mat::right_kernel() const { +isl::mat mat::right_kernel() const +{ auto res = isl_mat_right_kernel(copy()); return manage(res); } -int mat::rows() const { +isl::mat mat::row_basis() const +{ + auto res = isl_mat_row_basis(copy()); + return manage(res); +} + +isl::mat mat::row_basis_extension(isl::mat mat2) const +{ + auto res = isl_mat_row_basis_extension(copy(), mat2.release()); + return manage(res); +} + +int mat::rows() const +{ auto res = isl_mat_rows(get()); return res; } -isl::mat mat::set_element_si(int row, int col, int v) const { +isl::mat mat::set_element_si(int row, int col, int v) const +{ auto res = isl_mat_set_element_si(copy(), row, col, v); return manage(res); } -isl::mat mat::set_element_val(int row, int col, isl::val v) const { +isl::mat mat::set_element_val(int row, int col, isl::val v) const +{ auto res = isl_mat_set_element_val(copy(), row, col, v.release()); return manage(res); } -isl::mat mat::swap_cols(unsigned int i, unsigned int j) const { +isl::mat mat::swap_cols(unsigned int i, unsigned int j) const +{ auto res = isl_mat_swap_cols(copy(), i, j); return manage(res); } -isl::mat mat::swap_rows(unsigned int i, unsigned int j) const { +isl::mat mat::swap_rows(unsigned int i, unsigned int j) const +{ auto res = isl_mat_swap_rows(copy(), i, j); return manage(res); } -isl::mat mat::transpose() const { +isl::mat mat::transpose() const +{ auto res = isl_mat_transpose(copy()); return manage(res); } -isl::mat mat::unimodular_complete(int row) const { +isl::mat mat::unimodular_complete(int row) const +{ auto res = isl_mat_unimodular_complete(copy(), row); return manage(res); } -isl::mat mat::vec_concat(isl::vec bot) const { +isl::mat mat::vec_concat(isl::vec bot) const +{ auto res = isl_mat_vec_concat(copy(), bot.release()); return manage(res); } -isl::vec mat::vec_inverse_product(isl::vec vec) const { +isl::vec mat::vec_inverse_product(isl::vec vec) const +{ auto res = isl_mat_vec_inverse_product(copy(), vec.release()); return manage(res); } -isl::vec mat::vec_product(isl::vec vec) const { +isl::vec mat::vec_product(isl::vec vec) const +{ auto res = isl_mat_vec_product(copy(), vec.release()); return manage(res); } @@ -7890,7 +8637,8 @@ isl::multi_aff manage(__isl_take isl_multi_aff *ptr) { return multi_aff(ptr); } isl::multi_aff manage_copy(__isl_keep isl_multi_aff *ptr) { - return multi_aff(isl_multi_aff_copy(ptr)); + ptr = isl_multi_aff_copy(ptr); + return multi_aff(ptr); } isl::multi_aff give(__isl_take isl_multi_aff *ptr) { return manage(ptr); @@ -7901,7 +8649,9 @@ multi_aff::multi_aff() : ptr(nullptr) {} multi_aff::multi_aff(const isl::multi_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} multi_aff::multi_aff(std::nullptr_t) : ptr(nullptr) {} @@ -7909,12 +8659,14 @@ multi_aff::multi_aff(std::nullptr_t) multi_aff::multi_aff(__isl_take isl_multi_aff *ptr) : ptr(ptr) {} -multi_aff::multi_aff(isl::ctx ctx, const std::string &str) { - auto res = isl_multi_aff_read_from_str(ctx.release(), str.c_str()); +multi_aff::multi_aff(isl::aff aff) +{ + auto res = isl_multi_aff_from_aff(aff.release()); ptr = res; } -multi_aff::multi_aff(isl::aff aff) { - auto res = isl_multi_aff_from_aff(aff.release()); +multi_aff::multi_aff(isl::ctx ctx, const std::string &str) +{ + auto res = isl_multi_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -7976,303 +8728,369 @@ void multi_aff::dump() const { } -isl::multi_aff multi_aff::add(isl::multi_aff multi2) const { +isl::multi_aff multi_aff::add(isl::multi_aff multi2) const +{ auto res = isl_multi_aff_add(copy(), multi2.release()); return manage(res); } -isl::multi_aff multi_aff::add_dims(isl::dim type, unsigned int n) const { +isl::multi_aff multi_aff::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_multi_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::multi_aff multi_aff::align_params(isl::space model) const { +isl::multi_aff multi_aff::align_params(isl::space model) const +{ auto res = isl_multi_aff_align_params(copy(), model.release()); return manage(res); } -unsigned int multi_aff::dim(isl::dim type) const { +unsigned int multi_aff::dim(isl::dim type) const +{ auto res = isl_multi_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::multi_aff multi_aff::domain_map(isl::space space) { +isl::multi_aff multi_aff::domain_map(isl::space space) +{ auto res = isl_multi_aff_domain_map(space.release()); return manage(res); } -isl::multi_aff multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_aff multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::multi_aff multi_aff::factor_range() const { +isl::multi_aff multi_aff::factor_range() const +{ auto res = isl_multi_aff_factor_range(copy()); return manage(res); } -int multi_aff::find_dim_by_id(isl::dim type, const isl::id &id) const { +int multi_aff::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_multi_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_multi_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::multi_aff multi_aff::flat_range_product(isl::multi_aff multi2) const { +isl::multi_aff multi_aff::flat_range_product(isl::multi_aff multi2) const +{ auto res = isl_multi_aff_flat_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_aff multi_aff::flatten_domain() const { +isl::multi_aff multi_aff::flatten_domain() const +{ auto res = isl_multi_aff_flatten_domain(copy()); return manage(res); } -isl::multi_aff multi_aff::flatten_range() const { +isl::multi_aff multi_aff::flatten_range() const +{ auto res = isl_multi_aff_flatten_range(copy()); return manage(res); } -isl::multi_aff multi_aff::floor() const { +isl::multi_aff multi_aff::floor() const +{ auto res = isl_multi_aff_floor(copy()); return manage(res); } -isl::multi_aff multi_aff::from_aff_list(isl::space space, isl::aff_list list) { +isl::multi_aff multi_aff::from_aff_list(isl::space space, isl::aff_list list) +{ auto res = isl_multi_aff_from_aff_list(space.release(), list.release()); return manage(res); } -isl::multi_aff multi_aff::from_range() const { +isl::multi_aff multi_aff::from_range() const +{ auto res = isl_multi_aff_from_range(copy()); return manage(res); } -isl::aff multi_aff::get_aff(int pos) const { +isl::aff multi_aff::get_aff(int pos) const +{ auto res = isl_multi_aff_get_aff(get(), pos); return manage(res); } -isl::id multi_aff::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id multi_aff::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_multi_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::space multi_aff::get_domain_space() const { +isl::space multi_aff::get_domain_space() const +{ auto res = isl_multi_aff_get_domain_space(get()); return manage(res); } -isl::space multi_aff::get_space() const { +isl::space multi_aff::get_space() const +{ auto res = isl_multi_aff_get_space(get()); return manage(res); } -isl::id multi_aff::get_tuple_id(isl::dim type) const { +isl::id multi_aff::get_tuple_id(isl::dim type) const +{ auto res = isl_multi_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string multi_aff::get_tuple_name(isl::dim type) const { +std::string multi_aff::get_tuple_name(isl::dim type) const +{ auto res = isl_multi_aff_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::multi_aff multi_aff::gist(isl::set context) const { +isl::multi_aff multi_aff::gist(isl::set context) const +{ auto res = isl_multi_aff_gist(copy(), context.release()); return manage(res); } -isl::multi_aff multi_aff::gist_params(isl::set context) const { +isl::multi_aff multi_aff::gist_params(isl::set context) const +{ auto res = isl_multi_aff_gist_params(copy(), context.release()); return manage(res); } -isl::boolean multi_aff::has_tuple_id(isl::dim type) const { +isl::boolean multi_aff::has_tuple_id(isl::dim type) const +{ auto res = isl_multi_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_aff multi_aff::identity(isl::space space) { +isl::multi_aff multi_aff::identity(isl::space space) +{ auto res = isl_multi_aff_identity(space.release()); return manage(res); } -isl::multi_aff multi_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_aff multi_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean multi_aff::involves_nan() const { +isl::boolean multi_aff::involves_nan() const +{ auto res = isl_multi_aff_involves_nan(get()); return manage(res); } -isl::set multi_aff::lex_ge_set(isl::multi_aff ma2) const { +isl::set multi_aff::lex_ge_set(isl::multi_aff ma2) const +{ auto res = isl_multi_aff_lex_ge_set(copy(), ma2.release()); return manage(res); } -isl::set multi_aff::lex_gt_set(isl::multi_aff ma2) const { +isl::set multi_aff::lex_gt_set(isl::multi_aff ma2) const +{ auto res = isl_multi_aff_lex_gt_set(copy(), ma2.release()); return manage(res); } -isl::set multi_aff::lex_le_set(isl::multi_aff ma2) const { +isl::set multi_aff::lex_le_set(isl::multi_aff ma2) const +{ auto res = isl_multi_aff_lex_le_set(copy(), ma2.release()); return manage(res); } -isl::set multi_aff::lex_lt_set(isl::multi_aff ma2) const { +isl::set multi_aff::lex_lt_set(isl::multi_aff ma2) const +{ auto res = isl_multi_aff_lex_lt_set(copy(), ma2.release()); return manage(res); } -isl::multi_aff multi_aff::mod_multi_val(isl::multi_val mv) const { +isl::multi_aff multi_aff::mod_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_aff_mod_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_aff multi_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::multi_aff multi_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_multi_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::multi_aff multi_aff::multi_val_on_space(isl::space space, isl::multi_val mv) { +isl::multi_aff multi_aff::multi_val_on_space(isl::space space, isl::multi_val mv) +{ auto res = isl_multi_aff_multi_val_on_space(space.release(), mv.release()); return manage(res); } -isl::multi_aff multi_aff::neg() const { +isl::multi_aff multi_aff::neg() const +{ auto res = isl_multi_aff_neg(copy()); return manage(res); } -int multi_aff::plain_cmp(const isl::multi_aff &multi2) const { +int multi_aff::plain_cmp(const isl::multi_aff &multi2) const +{ auto res = isl_multi_aff_plain_cmp(get(), multi2.get()); return res; } -isl::boolean multi_aff::plain_is_equal(const isl::multi_aff &multi2) const { +isl::boolean multi_aff::plain_is_equal(const isl::multi_aff &multi2) const +{ auto res = isl_multi_aff_plain_is_equal(get(), multi2.get()); return manage(res); } -isl::multi_aff multi_aff::product(isl::multi_aff multi2) const { +isl::multi_aff multi_aff::product(isl::multi_aff multi2) const +{ auto res = isl_multi_aff_product(copy(), multi2.release()); return manage(res); } -isl::multi_aff multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n) { +isl::multi_aff multi_aff::project_domain_on_params() const +{ + auto res = isl_multi_aff_project_domain_on_params(copy()); + return manage(res); +} + +isl::multi_aff multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n) +{ auto res = isl_multi_aff_project_out_map(space.release(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::multi_aff multi_aff::pullback(isl::multi_aff ma2) const { +isl::multi_aff multi_aff::pullback(isl::multi_aff ma2) const +{ auto res = isl_multi_aff_pullback_multi_aff(copy(), ma2.release()); return manage(res); } -isl::multi_aff multi_aff::range_factor_domain() const { +isl::multi_aff multi_aff::range_factor_domain() const +{ auto res = isl_multi_aff_range_factor_domain(copy()); return manage(res); } -isl::multi_aff multi_aff::range_factor_range() const { +isl::multi_aff multi_aff::range_factor_range() const +{ auto res = isl_multi_aff_range_factor_range(copy()); return manage(res); } -isl::boolean multi_aff::range_is_wrapping() const { +isl::boolean multi_aff::range_is_wrapping() const +{ auto res = isl_multi_aff_range_is_wrapping(get()); return manage(res); } -isl::multi_aff multi_aff::range_map(isl::space space) { +isl::multi_aff multi_aff::range_map(isl::space space) +{ auto res = isl_multi_aff_range_map(space.release()); return manage(res); } -isl::multi_aff multi_aff::range_product(isl::multi_aff multi2) const { +isl::multi_aff multi_aff::range_product(isl::multi_aff multi2) const +{ auto res = isl_multi_aff_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_aff multi_aff::range_splice(unsigned int pos, isl::multi_aff multi2) const { +isl::multi_aff multi_aff::range_splice(unsigned int pos, isl::multi_aff multi2) const +{ auto res = isl_multi_aff_range_splice(copy(), pos, multi2.release()); return manage(res); } -isl::multi_aff multi_aff::reset_tuple_id(isl::dim type) const { +isl::multi_aff multi_aff::reset_tuple_id(isl::dim type) const +{ auto res = isl_multi_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_aff multi_aff::reset_user() const { +isl::multi_aff multi_aff::reset_user() const +{ auto res = isl_multi_aff_reset_user(copy()); return manage(res); } -isl::multi_aff multi_aff::scale_down_multi_val(isl::multi_val mv) const { +isl::multi_aff multi_aff::scale_down_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_aff_scale_down_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_aff multi_aff::scale_down_val(isl::val v) const { +isl::multi_aff multi_aff::scale_down_val(isl::val v) const +{ auto res = isl_multi_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::multi_aff multi_aff::scale_multi_val(isl::multi_val mv) const { +isl::multi_aff multi_aff::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_aff_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_aff multi_aff::scale_val(isl::val v) const { +isl::multi_aff multi_aff::scale_val(isl::val v) const +{ auto res = isl_multi_aff_scale_val(copy(), v.release()); return manage(res); } -isl::multi_aff multi_aff::set_aff(int pos, isl::aff el) const { +isl::multi_aff multi_aff::set_aff(int pos, isl::aff el) const +{ auto res = isl_multi_aff_set_aff(copy(), pos, el.release()); return manage(res); } -isl::multi_aff multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::multi_aff multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_multi_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::multi_aff multi_aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::multi_aff multi_aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_multi_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::multi_aff multi_aff::set_tuple_name(isl::dim type, const std::string &s) const { +isl::multi_aff multi_aff::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_multi_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::multi_aff multi_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_aff multi2) const { +isl::multi_aff multi_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_aff multi2) const +{ auto res = isl_multi_aff_splice(copy(), in_pos, out_pos, multi2.release()); return manage(res); } -isl::multi_aff multi_aff::sub(isl::multi_aff multi2) const { +isl::multi_aff multi_aff::sub(isl::multi_aff multi2) const +{ auto res = isl_multi_aff_sub(copy(), multi2.release()); return manage(res); } -isl::multi_aff multi_aff::zero(isl::space space) { +isl::multi_aff multi_aff::zero(isl::space space) +{ auto res = isl_multi_aff_zero(space.release()); return manage(res); } @@ -8282,7 +9100,8 @@ isl::multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr) { return multi_pw_aff(ptr); } isl::multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr) { - return multi_pw_aff(isl_multi_pw_aff_copy(ptr)); + ptr = isl_multi_pw_aff_copy(ptr); + return multi_pw_aff(ptr); } isl::multi_pw_aff give(__isl_take isl_multi_pw_aff *ptr) { return manage(ptr); @@ -8293,7 +9112,9 @@ multi_pw_aff::multi_pw_aff() : ptr(nullptr) {} multi_pw_aff::multi_pw_aff(const isl::multi_pw_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} multi_pw_aff::multi_pw_aff(std::nullptr_t) : ptr(nullptr) {} @@ -8301,19 +9122,23 @@ multi_pw_aff::multi_pw_aff(std::nullptr_t) multi_pw_aff::multi_pw_aff(__isl_take isl_multi_pw_aff *ptr) : ptr(ptr) {} -multi_pw_aff::multi_pw_aff(isl::multi_aff ma) { +multi_pw_aff::multi_pw_aff(isl::multi_aff ma) +{ auto res = isl_multi_pw_aff_from_multi_aff(ma.release()); ptr = res; } -multi_pw_aff::multi_pw_aff(isl::pw_aff pa) { +multi_pw_aff::multi_pw_aff(isl::pw_aff pa) +{ auto res = isl_multi_pw_aff_from_pw_aff(pa.release()); ptr = res; } -multi_pw_aff::multi_pw_aff(isl::pw_multi_aff pma) { +multi_pw_aff::multi_pw_aff(isl::pw_multi_aff pma) +{ auto res = isl_multi_pw_aff_from_pw_multi_aff(pma.release()); ptr = res; } -multi_pw_aff::multi_pw_aff(isl::ctx ctx, const std::string &str) { +multi_pw_aff::multi_pw_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_multi_pw_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -8376,308 +9201,375 @@ void multi_pw_aff::dump() const { } -isl::multi_pw_aff multi_pw_aff::add(isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::add(isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_add(copy(), multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::add_dims(isl::dim type, unsigned int n) const { +isl::multi_pw_aff multi_pw_aff::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_multi_pw_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::multi_pw_aff multi_pw_aff::align_params(isl::space model) const { +isl::multi_pw_aff multi_pw_aff::align_params(isl::space model) const +{ auto res = isl_multi_pw_aff_align_params(copy(), model.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::coalesce() const { +isl::multi_pw_aff multi_pw_aff::coalesce() const +{ auto res = isl_multi_pw_aff_coalesce(copy()); return manage(res); } -unsigned int multi_pw_aff::dim(isl::dim type) const { +unsigned int multi_pw_aff::dim(isl::dim type) const +{ auto res = isl_multi_pw_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::set multi_pw_aff::domain() const { +isl::set multi_pw_aff::domain() const +{ auto res = isl_multi_pw_aff_domain(copy()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_pw_aff multi_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::map multi_pw_aff::eq_map(isl::multi_pw_aff mpa2) const { +isl::map multi_pw_aff::eq_map(isl::multi_pw_aff mpa2) const +{ auto res = isl_multi_pw_aff_eq_map(copy(), mpa2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::factor_range() const { +isl::multi_pw_aff multi_pw_aff::factor_range() const +{ auto res = isl_multi_pw_aff_factor_range(copy()); return manage(res); } -int multi_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const { +int multi_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_multi_pw_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int multi_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int multi_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_multi_pw_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::multi_pw_aff multi_pw_aff::flat_range_product(isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::flat_range_product(isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_flat_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::flatten_range() const { +isl::multi_pw_aff multi_pw_aff::flatten_range() const +{ auto res = isl_multi_pw_aff_flatten_range(copy()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::from_pw_aff_list(isl::space space, isl::pw_aff_list list) { +isl::multi_pw_aff multi_pw_aff::from_pw_aff_list(isl::space space, isl::pw_aff_list list) +{ auto res = isl_multi_pw_aff_from_pw_aff_list(space.release(), list.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::from_range() const { +isl::multi_pw_aff multi_pw_aff::from_range() const +{ auto res = isl_multi_pw_aff_from_range(copy()); return manage(res); } -isl::id multi_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id multi_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_multi_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::space multi_pw_aff::get_domain_space() const { +isl::space multi_pw_aff::get_domain_space() const +{ auto res = isl_multi_pw_aff_get_domain_space(get()); return manage(res); } -uint32_t multi_pw_aff::get_hash() const { +uint32_t multi_pw_aff::get_hash() const +{ auto res = isl_multi_pw_aff_get_hash(get()); return res; } -isl::pw_aff multi_pw_aff::get_pw_aff(int pos) const { +isl::pw_aff multi_pw_aff::get_pw_aff(int pos) const +{ auto res = isl_multi_pw_aff_get_pw_aff(get(), pos); return manage(res); } -isl::space multi_pw_aff::get_space() const { +isl::space multi_pw_aff::get_space() const +{ auto res = isl_multi_pw_aff_get_space(get()); return manage(res); } -isl::id multi_pw_aff::get_tuple_id(isl::dim type) const { +isl::id multi_pw_aff::get_tuple_id(isl::dim type) const +{ auto res = isl_multi_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string multi_pw_aff::get_tuple_name(isl::dim type) const { +std::string multi_pw_aff::get_tuple_name(isl::dim type) const +{ auto res = isl_multi_pw_aff_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::multi_pw_aff multi_pw_aff::gist(isl::set set) const { +isl::multi_pw_aff multi_pw_aff::gist(isl::set set) const +{ auto res = isl_multi_pw_aff_gist(copy(), set.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::gist_params(isl::set set) const { +isl::multi_pw_aff multi_pw_aff::gist_params(isl::set set) const +{ auto res = isl_multi_pw_aff_gist_params(copy(), set.release()); return manage(res); } -isl::boolean multi_pw_aff::has_tuple_id(isl::dim type) const { +isl::boolean multi_pw_aff::has_tuple_id(isl::dim type) const +{ auto res = isl_multi_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_pw_aff multi_pw_aff::identity(isl::space space) { +isl::multi_pw_aff multi_pw_aff::identity(isl::space space) +{ auto res = isl_multi_pw_aff_identity(space.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_pw_aff multi_pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_pw_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::multi_pw_aff multi_pw_aff::intersect_domain(isl::set domain) const { +isl::multi_pw_aff multi_pw_aff::intersect_domain(isl::set domain) const +{ auto res = isl_multi_pw_aff_intersect_domain(copy(), domain.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::intersect_params(isl::set set) const { +isl::multi_pw_aff multi_pw_aff::intersect_params(isl::set set) const +{ auto res = isl_multi_pw_aff_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean multi_pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean multi_pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_pw_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean multi_pw_aff::involves_nan() const { +isl::boolean multi_pw_aff::involves_nan() const +{ auto res = isl_multi_pw_aff_involves_nan(get()); return manage(res); } -isl::boolean multi_pw_aff::is_cst() const { +isl::boolean multi_pw_aff::is_cst() const +{ auto res = isl_multi_pw_aff_is_cst(get()); return manage(res); } -isl::boolean multi_pw_aff::is_equal(const isl::multi_pw_aff &mpa2) const { +isl::boolean multi_pw_aff::is_equal(const isl::multi_pw_aff &mpa2) const +{ auto res = isl_multi_pw_aff_is_equal(get(), mpa2.get()); return manage(res); } -isl::map multi_pw_aff::lex_gt_map(isl::multi_pw_aff mpa2) const { +isl::map multi_pw_aff::lex_gt_map(isl::multi_pw_aff mpa2) const +{ auto res = isl_multi_pw_aff_lex_gt_map(copy(), mpa2.release()); return manage(res); } -isl::map multi_pw_aff::lex_lt_map(isl::multi_pw_aff mpa2) const { +isl::map multi_pw_aff::lex_lt_map(isl::multi_pw_aff mpa2) const +{ auto res = isl_multi_pw_aff_lex_lt_map(copy(), mpa2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::mod_multi_val(isl::multi_val mv) const { +isl::multi_pw_aff multi_pw_aff::mod_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_pw_aff_mod_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::multi_pw_aff multi_pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_multi_pw_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::multi_pw_aff multi_pw_aff::neg() const { +isl::multi_pw_aff multi_pw_aff::neg() const +{ auto res = isl_multi_pw_aff_neg(copy()); return manage(res); } -isl::boolean multi_pw_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const { +isl::boolean multi_pw_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const +{ auto res = isl_multi_pw_aff_plain_is_equal(get(), multi2.get()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::product(isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::product(isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_product(copy(), multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_aff ma) const { +isl::multi_pw_aff multi_pw_aff::project_domain_on_params() const +{ + auto res = isl_multi_pw_aff_project_domain_on_params(copy()); + return manage(res); +} + +isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_aff ma) const +{ auto res = isl_multi_pw_aff_pullback_multi_aff(copy(), ma.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::pullback(isl::pw_multi_aff pma) const { +isl::multi_pw_aff multi_pw_aff::pullback(isl::pw_multi_aff pma) const +{ auto res = isl_multi_pw_aff_pullback_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_pw_aff mpa2) const { +isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_pw_aff mpa2) const +{ auto res = isl_multi_pw_aff_pullback_multi_pw_aff(copy(), mpa2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::range_factor_domain() const { +isl::multi_pw_aff multi_pw_aff::range_factor_domain() const +{ auto res = isl_multi_pw_aff_range_factor_domain(copy()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::range_factor_range() const { +isl::multi_pw_aff multi_pw_aff::range_factor_range() const +{ auto res = isl_multi_pw_aff_range_factor_range(copy()); return manage(res); } -isl::boolean multi_pw_aff::range_is_wrapping() const { +isl::boolean multi_pw_aff::range_is_wrapping() const +{ auto res = isl_multi_pw_aff_range_is_wrapping(get()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::range_product(isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::range_product(isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::range_splice(unsigned int pos, isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::range_splice(unsigned int pos, isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_range_splice(copy(), pos, multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::reset_tuple_id(isl::dim type) const { +isl::multi_pw_aff multi_pw_aff::reset_tuple_id(isl::dim type) const +{ auto res = isl_multi_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_pw_aff multi_pw_aff::reset_user() const { +isl::multi_pw_aff multi_pw_aff::reset_user() const +{ auto res = isl_multi_pw_aff_reset_user(copy()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::scale_down_multi_val(isl::multi_val mv) const { +isl::multi_pw_aff multi_pw_aff::scale_down_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_pw_aff_scale_down_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::scale_down_val(isl::val v) const { +isl::multi_pw_aff multi_pw_aff::scale_down_val(isl::val v) const +{ auto res = isl_multi_pw_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::scale_multi_val(isl::multi_val mv) const { +isl::multi_pw_aff multi_pw_aff::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_pw_aff_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::scale_val(isl::val v) const { +isl::multi_pw_aff multi_pw_aff::scale_val(isl::val v) const +{ auto res = isl_multi_pw_aff_scale_val(copy(), v.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::multi_pw_aff multi_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_multi_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::set_pw_aff(int pos, isl::pw_aff el) const { +isl::multi_pw_aff multi_pw_aff::set_pw_aff(int pos, isl::pw_aff el) const +{ auto res = isl_multi_pw_aff_set_pw_aff(copy(), pos, el.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::multi_pw_aff multi_pw_aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_multi_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const { +isl::multi_pw_aff multi_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_multi_pw_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_splice(copy(), in_pos, out_pos, multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::sub(isl::multi_pw_aff multi2) const { +isl::multi_pw_aff multi_pw_aff::sub(isl::multi_pw_aff multi2) const +{ auto res = isl_multi_pw_aff_sub(copy(), multi2.release()); return manage(res); } -isl::multi_pw_aff multi_pw_aff::zero(isl::space space) { +isl::multi_pw_aff multi_pw_aff::zero(isl::space space) +{ auto res = isl_multi_pw_aff_zero(space.release()); return manage(res); } @@ -8687,7 +9579,8 @@ isl::multi_union_pw_aff manage(__isl_take isl_multi_union_pw_aff *ptr) { return multi_union_pw_aff(ptr); } isl::multi_union_pw_aff manage_copy(__isl_keep isl_multi_union_pw_aff *ptr) { - return multi_union_pw_aff(isl_multi_union_pw_aff_copy(ptr)); + ptr = isl_multi_union_pw_aff_copy(ptr); + return multi_union_pw_aff(ptr); } isl::multi_union_pw_aff give(__isl_take isl_multi_union_pw_aff *ptr) { return manage(ptr); @@ -8698,7 +9591,9 @@ multi_union_pw_aff::multi_union_pw_aff() : ptr(nullptr) {} multi_union_pw_aff::multi_union_pw_aff(const isl::multi_union_pw_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} multi_union_pw_aff::multi_union_pw_aff(std::nullptr_t) : ptr(nullptr) {} @@ -8706,19 +9601,23 @@ multi_union_pw_aff::multi_union_pw_aff(std::nullptr_t) multi_union_pw_aff::multi_union_pw_aff(__isl_take isl_multi_union_pw_aff *ptr) : ptr(ptr) {} -multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_aff upa) { +multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_aff upa) +{ auto res = isl_multi_union_pw_aff_from_union_pw_aff(upa.release()); ptr = res; } -multi_union_pw_aff::multi_union_pw_aff(isl::multi_pw_aff mpa) { +multi_union_pw_aff::multi_union_pw_aff(isl::multi_pw_aff mpa) +{ auto res = isl_multi_union_pw_aff_from_multi_pw_aff(mpa.release()); ptr = res; } -multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_multi_aff upma) { +multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_multi_aff upma) +{ auto res = isl_multi_union_pw_aff_from_union_pw_multi_aff(upma.release()); ptr = res; } -multi_union_pw_aff::multi_union_pw_aff(isl::ctx ctx, const std::string &str) { +multi_union_pw_aff::multi_union_pw_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_multi_union_pw_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -8781,293 +9680,357 @@ void multi_union_pw_aff::dump() const { } -isl::multi_union_pw_aff multi_union_pw_aff::add(isl::multi_union_pw_aff multi2) const { +isl::multi_union_pw_aff multi_union_pw_aff::add(isl::multi_union_pw_aff multi2) const +{ auto res = isl_multi_union_pw_aff_add(copy(), multi2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::align_params(isl::space model) const { +isl::multi_union_pw_aff multi_union_pw_aff::align_params(isl::space model) const +{ auto res = isl_multi_union_pw_aff_align_params(copy(), model.release()); return manage(res); } -isl::union_pw_aff multi_union_pw_aff::apply_aff(isl::aff aff) const { +isl::union_pw_aff multi_union_pw_aff::apply_aff(isl::aff aff) const +{ auto res = isl_multi_union_pw_aff_apply_aff(copy(), aff.release()); return manage(res); } -isl::union_pw_aff multi_union_pw_aff::apply_pw_aff(isl::pw_aff pa) const { +isl::union_pw_aff multi_union_pw_aff::apply_pw_aff(isl::pw_aff pa) const +{ auto res = isl_multi_union_pw_aff_apply_pw_aff(copy(), pa.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::apply_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::multi_union_pw_aff multi_union_pw_aff::apply_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_multi_union_pw_aff_apply_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::coalesce() const { +isl::multi_union_pw_aff multi_union_pw_aff::coalesce() const +{ auto res = isl_multi_union_pw_aff_coalesce(copy()); return manage(res); } -unsigned int multi_union_pw_aff::dim(isl::dim type) const { +unsigned int multi_union_pw_aff::dim(isl::dim type) const +{ auto res = isl_multi_union_pw_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set multi_union_pw_aff::domain() const { +isl::union_set multi_union_pw_aff::domain() const +{ auto res = isl_multi_union_pw_aff_domain(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_union_pw_aff multi_union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_union_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::multi_pw_aff multi_union_pw_aff::extract_multi_pw_aff(isl::space space) const { +isl::multi_pw_aff multi_union_pw_aff::extract_multi_pw_aff(isl::space space) const +{ auto res = isl_multi_union_pw_aff_extract_multi_pw_aff(get(), space.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::factor_range() const { +isl::multi_union_pw_aff multi_union_pw_aff::factor_range() const +{ auto res = isl_multi_union_pw_aff_factor_range(copy()); return manage(res); } -int multi_union_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const { +int multi_union_pw_aff::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_multi_union_pw_aff_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int multi_union_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int multi_union_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_multi_union_pw_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::multi_union_pw_aff multi_union_pw_aff::flat_range_product(isl::multi_union_pw_aff multi2) const { +isl::multi_union_pw_aff multi_union_pw_aff::flat_range_product(isl::multi_union_pw_aff multi2) const +{ auto res = isl_multi_union_pw_aff_flat_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::flatten_range() const { +isl::multi_union_pw_aff multi_union_pw_aff::flatten_range() const +{ auto res = isl_multi_union_pw_aff_flatten_range(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::floor() const { +isl::multi_union_pw_aff multi_union_pw_aff::floor() const +{ auto res = isl_multi_union_pw_aff_floor(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::from_multi_aff(isl::multi_aff ma) { +isl::multi_union_pw_aff multi_union_pw_aff::from_multi_aff(isl::multi_aff ma) +{ auto res = isl_multi_union_pw_aff_from_multi_aff(ma.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::from_range() const { +isl::multi_union_pw_aff multi_union_pw_aff::from_range() const +{ auto res = isl_multi_union_pw_aff_from_range(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::from_union_map(isl::union_map umap) { +isl::multi_union_pw_aff multi_union_pw_aff::from_union_map(isl::union_map umap) +{ auto res = isl_multi_union_pw_aff_from_union_map(umap.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::from_union_pw_aff_list(isl::space space, isl::union_pw_aff_list list) { +isl::multi_union_pw_aff multi_union_pw_aff::from_union_pw_aff_list(isl::space space, isl::union_pw_aff_list list) +{ auto res = isl_multi_union_pw_aff_from_union_pw_aff_list(space.release(), list.release()); return manage(res); } -isl::id multi_union_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id multi_union_pw_aff::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_multi_union_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::space multi_union_pw_aff::get_domain_space() const { +isl::space multi_union_pw_aff::get_domain_space() const +{ auto res = isl_multi_union_pw_aff_get_domain_space(get()); return manage(res); } -isl::space multi_union_pw_aff::get_space() const { +isl::space multi_union_pw_aff::get_space() const +{ auto res = isl_multi_union_pw_aff_get_space(get()); return manage(res); } -isl::id multi_union_pw_aff::get_tuple_id(isl::dim type) const { +isl::id multi_union_pw_aff::get_tuple_id(isl::dim type) const +{ auto res = isl_multi_union_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string multi_union_pw_aff::get_tuple_name(isl::dim type) const { +std::string multi_union_pw_aff::get_tuple_name(isl::dim type) const +{ auto res = isl_multi_union_pw_aff_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::union_pw_aff multi_union_pw_aff::get_union_pw_aff(int pos) const { +isl::union_pw_aff multi_union_pw_aff::get_union_pw_aff(int pos) const +{ auto res = isl_multi_union_pw_aff_get_union_pw_aff(get(), pos); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::gist(isl::union_set context) const { +isl::multi_union_pw_aff multi_union_pw_aff::gist(isl::union_set context) const +{ auto res = isl_multi_union_pw_aff_gist(copy(), context.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::gist_params(isl::set context) const { +isl::multi_union_pw_aff multi_union_pw_aff::gist_params(isl::set context) const +{ auto res = isl_multi_union_pw_aff_gist_params(copy(), context.release()); return manage(res); } -isl::boolean multi_union_pw_aff::has_tuple_id(isl::dim type) const { +isl::boolean multi_union_pw_aff::has_tuple_id(isl::dim type) const +{ auto res = isl_multi_union_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::intersect_domain(isl::union_set uset) const { +isl::multi_union_pw_aff multi_union_pw_aff::intersect_domain(isl::union_set uset) const +{ auto res = isl_multi_union_pw_aff_intersect_domain(copy(), uset.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::intersect_params(isl::set params) const { +isl::multi_union_pw_aff multi_union_pw_aff::intersect_params(isl::set params) const +{ auto res = isl_multi_union_pw_aff_intersect_params(copy(), params.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::intersect_range(isl::set set) const { +isl::multi_union_pw_aff multi_union_pw_aff::intersect_range(isl::set set) const +{ auto res = isl_multi_union_pw_aff_intersect_range(copy(), set.release()); return manage(res); } -isl::boolean multi_union_pw_aff::involves_nan() const { +isl::boolean multi_union_pw_aff::involves_nan() const +{ auto res = isl_multi_union_pw_aff_involves_nan(get()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::mod_multi_val(isl::multi_val mv) const { +isl::multi_union_pw_aff multi_union_pw_aff::mod_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_union_pw_aff_mod_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::multi_aff_on_domain(isl::union_set domain, isl::multi_aff ma) { +isl::multi_union_pw_aff multi_union_pw_aff::multi_aff_on_domain(isl::union_set domain, isl::multi_aff ma) +{ auto res = isl_multi_union_pw_aff_multi_aff_on_domain(domain.release(), ma.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv) { +isl::multi_union_pw_aff multi_union_pw_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv) +{ auto res = isl_multi_union_pw_aff_multi_val_on_domain(domain.release(), mv.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::neg() const { +isl::multi_union_pw_aff multi_union_pw_aff::neg() const +{ auto res = isl_multi_union_pw_aff_neg(copy()); return manage(res); } -isl::boolean multi_union_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const { +isl::boolean multi_union_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const +{ auto res = isl_multi_union_pw_aff_plain_is_equal(get(), multi2.get()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::pullback(isl::union_pw_multi_aff upma) const { +isl::multi_union_pw_aff multi_union_pw_aff::pullback(isl::union_pw_multi_aff upma) const +{ auto res = isl_multi_union_pw_aff_pullback_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::range_factor_domain() const { +isl::multi_union_pw_aff multi_union_pw_aff::pw_multi_aff_on_domain(isl::union_set domain, isl::pw_multi_aff pma) +{ + auto res = isl_multi_union_pw_aff_pw_multi_aff_on_domain(domain.release(), pma.release()); + return manage(res); +} + +isl::multi_union_pw_aff multi_union_pw_aff::range_factor_domain() const +{ auto res = isl_multi_union_pw_aff_range_factor_domain(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::range_factor_range() const { +isl::multi_union_pw_aff multi_union_pw_aff::range_factor_range() const +{ auto res = isl_multi_union_pw_aff_range_factor_range(copy()); return manage(res); } -isl::boolean multi_union_pw_aff::range_is_wrapping() const { +isl::boolean multi_union_pw_aff::range_is_wrapping() const +{ auto res = isl_multi_union_pw_aff_range_is_wrapping(get()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::range_product(isl::multi_union_pw_aff multi2) const { +isl::multi_union_pw_aff multi_union_pw_aff::range_product(isl::multi_union_pw_aff multi2) const +{ auto res = isl_multi_union_pw_aff_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::range_splice(unsigned int pos, isl::multi_union_pw_aff multi2) const { +isl::multi_union_pw_aff multi_union_pw_aff::range_splice(unsigned int pos, isl::multi_union_pw_aff multi2) const +{ auto res = isl_multi_union_pw_aff_range_splice(copy(), pos, multi2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::reset_tuple_id(isl::dim type) const { +isl::multi_union_pw_aff multi_union_pw_aff::reset_tuple_id(isl::dim type) const +{ auto res = isl_multi_union_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::reset_user() const { +isl::multi_union_pw_aff multi_union_pw_aff::reset_user() const +{ auto res = isl_multi_union_pw_aff_reset_user(copy()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::scale_down_multi_val(isl::multi_val mv) const { +isl::multi_union_pw_aff multi_union_pw_aff::scale_down_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_union_pw_aff_scale_down_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::scale_down_val(isl::val v) const { +isl::multi_union_pw_aff multi_union_pw_aff::scale_down_val(isl::val v) const +{ auto res = isl_multi_union_pw_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::scale_multi_val(isl::multi_val mv) const { +isl::multi_union_pw_aff multi_union_pw_aff::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_union_pw_aff_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::scale_val(isl::val v) const { +isl::multi_union_pw_aff multi_union_pw_aff::scale_val(isl::val v) const +{ auto res = isl_multi_union_pw_aff_scale_val(copy(), v.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::multi_union_pw_aff multi_union_pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_multi_union_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_multi_union_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const { +isl::multi_union_pw_aff multi_union_pw_aff::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_multi_union_pw_aff_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::set_union_pw_aff(int pos, isl::union_pw_aff el) const { +isl::multi_union_pw_aff multi_union_pw_aff::set_union_pw_aff(int pos, isl::union_pw_aff el) const +{ auto res = isl_multi_union_pw_aff_set_union_pw_aff(copy(), pos, el.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::sub(isl::multi_union_pw_aff multi2) const { +isl::multi_union_pw_aff multi_union_pw_aff::sub(isl::multi_union_pw_aff multi2) const +{ auto res = isl_multi_union_pw_aff_sub(copy(), multi2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::union_add(isl::multi_union_pw_aff mupa2) const { +isl::multi_union_pw_aff multi_union_pw_aff::union_add(isl::multi_union_pw_aff mupa2) const +{ auto res = isl_multi_union_pw_aff_union_add(copy(), mupa2.release()); return manage(res); } -isl::multi_union_pw_aff multi_union_pw_aff::zero(isl::space space) { +isl::multi_union_pw_aff multi_union_pw_aff::zero(isl::space space) +{ auto res = isl_multi_union_pw_aff_zero(space.release()); return manage(res); } -isl::union_set multi_union_pw_aff::zero_union_set() const { +isl::union_set multi_union_pw_aff::zero_union_set() const +{ auto res = isl_multi_union_pw_aff_zero_union_set(copy()); return manage(res); } @@ -9077,7 +10040,8 @@ isl::multi_val manage(__isl_take isl_multi_val *ptr) { return multi_val(ptr); } isl::multi_val manage_copy(__isl_keep isl_multi_val *ptr) { - return multi_val(isl_multi_val_copy(ptr)); + ptr = isl_multi_val_copy(ptr); + return multi_val(ptr); } isl::multi_val give(__isl_take isl_multi_val *ptr) { return manage(ptr); @@ -9088,7 +10052,9 @@ multi_val::multi_val() : ptr(nullptr) {} multi_val::multi_val(const isl::multi_val &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} multi_val::multi_val(std::nullptr_t) : ptr(nullptr) {} @@ -9096,7 +10062,8 @@ multi_val::multi_val(std::nullptr_t) multi_val::multi_val(__isl_take isl_multi_val *ptr) : ptr(ptr) {} -multi_val::multi_val(isl::ctx ctx, const std::string &str) { +multi_val::multi_val(isl::ctx ctx, const std::string &str) +{ auto res = isl_multi_val_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -9159,233 +10126,285 @@ void multi_val::dump() const { } -isl::multi_val multi_val::add(isl::multi_val multi2) const { +isl::multi_val multi_val::add(isl::multi_val multi2) const +{ auto res = isl_multi_val_add(copy(), multi2.release()); return manage(res); } -isl::multi_val multi_val::add_dims(isl::dim type, unsigned int n) const { +isl::multi_val multi_val::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_multi_val_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::multi_val multi_val::add_val(isl::val v) const { +isl::multi_val multi_val::add_val(isl::val v) const +{ auto res = isl_multi_val_add_val(copy(), v.release()); return manage(res); } -isl::multi_val multi_val::align_params(isl::space model) const { +isl::multi_val multi_val::align_params(isl::space model) const +{ auto res = isl_multi_val_align_params(copy(), model.release()); return manage(res); } -unsigned int multi_val::dim(isl::dim type) const { +unsigned int multi_val::dim(isl::dim type) const +{ auto res = isl_multi_val_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::multi_val multi_val::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_val multi_val::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_val_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::multi_val multi_val::factor_range() const { +isl::multi_val multi_val::factor_range() const +{ auto res = isl_multi_val_factor_range(copy()); return manage(res); } -int multi_val::find_dim_by_id(isl::dim type, const isl::id &id) const { +int multi_val::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_multi_val_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int multi_val::find_dim_by_name(isl::dim type, const std::string &name) const { +int multi_val::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_multi_val_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::multi_val multi_val::flat_range_product(isl::multi_val multi2) const { +isl::multi_val multi_val::flat_range_product(isl::multi_val multi2) const +{ auto res = isl_multi_val_flat_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_val multi_val::flatten_range() const { +isl::multi_val multi_val::flatten_range() const +{ auto res = isl_multi_val_flatten_range(copy()); return manage(res); } -isl::multi_val multi_val::from_range() const { +isl::multi_val multi_val::from_range() const +{ auto res = isl_multi_val_from_range(copy()); return manage(res); } -isl::multi_val multi_val::from_val_list(isl::space space, isl::val_list list) { +isl::multi_val multi_val::from_val_list(isl::space space, isl::val_list list) +{ auto res = isl_multi_val_from_val_list(space.release(), list.release()); return manage(res); } -isl::id multi_val::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id multi_val::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_multi_val_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::space multi_val::get_domain_space() const { +isl::space multi_val::get_domain_space() const +{ auto res = isl_multi_val_get_domain_space(get()); return manage(res); } -isl::space multi_val::get_space() const { +isl::space multi_val::get_space() const +{ auto res = isl_multi_val_get_space(get()); return manage(res); } -isl::id multi_val::get_tuple_id(isl::dim type) const { +isl::id multi_val::get_tuple_id(isl::dim type) const +{ auto res = isl_multi_val_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string multi_val::get_tuple_name(isl::dim type) const { +std::string multi_val::get_tuple_name(isl::dim type) const +{ auto res = isl_multi_val_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::val multi_val::get_val(int pos) const { +isl::val multi_val::get_val(int pos) const +{ auto res = isl_multi_val_get_val(get(), pos); return manage(res); } -isl::boolean multi_val::has_tuple_id(isl::dim type) const { +isl::boolean multi_val::has_tuple_id(isl::dim type) const +{ auto res = isl_multi_val_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_val multi_val::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::multi_val multi_val::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_val_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean multi_val::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean multi_val::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_multi_val_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean multi_val::involves_nan() const { +isl::boolean multi_val::involves_nan() const +{ auto res = isl_multi_val_involves_nan(get()); return manage(res); } -isl::multi_val multi_val::mod_multi_val(isl::multi_val mv) const { +isl::multi_val multi_val::mod_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_val_mod_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_val multi_val::mod_val(isl::val v) const { +isl::multi_val multi_val::mod_val(isl::val v) const +{ auto res = isl_multi_val_mod_val(copy(), v.release()); return manage(res); } -isl::multi_val multi_val::neg() const { +isl::multi_val multi_val::neg() const +{ auto res = isl_multi_val_neg(copy()); return manage(res); } -isl::boolean multi_val::plain_is_equal(const isl::multi_val &multi2) const { +isl::boolean multi_val::plain_is_equal(const isl::multi_val &multi2) const +{ auto res = isl_multi_val_plain_is_equal(get(), multi2.get()); return manage(res); } -isl::multi_val multi_val::product(isl::multi_val multi2) const { +isl::multi_val multi_val::product(isl::multi_val multi2) const +{ auto res = isl_multi_val_product(copy(), multi2.release()); return manage(res); } -isl::multi_val multi_val::range_factor_domain() const { +isl::multi_val multi_val::project_domain_on_params() const +{ + auto res = isl_multi_val_project_domain_on_params(copy()); + return manage(res); +} + +isl::multi_val multi_val::range_factor_domain() const +{ auto res = isl_multi_val_range_factor_domain(copy()); return manage(res); } -isl::multi_val multi_val::range_factor_range() const { +isl::multi_val multi_val::range_factor_range() const +{ auto res = isl_multi_val_range_factor_range(copy()); return manage(res); } -isl::boolean multi_val::range_is_wrapping() const { +isl::boolean multi_val::range_is_wrapping() const +{ auto res = isl_multi_val_range_is_wrapping(get()); return manage(res); } -isl::multi_val multi_val::range_product(isl::multi_val multi2) const { +isl::multi_val multi_val::range_product(isl::multi_val multi2) const +{ auto res = isl_multi_val_range_product(copy(), multi2.release()); return manage(res); } -isl::multi_val multi_val::range_splice(unsigned int pos, isl::multi_val multi2) const { +isl::multi_val multi_val::range_splice(unsigned int pos, isl::multi_val multi2) const +{ auto res = isl_multi_val_range_splice(copy(), pos, multi2.release()); return manage(res); } -isl::multi_val multi_val::reset_tuple_id(isl::dim type) const { +isl::multi_val multi_val::reset_tuple_id(isl::dim type) const +{ auto res = isl_multi_val_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::multi_val multi_val::reset_user() const { +isl::multi_val multi_val::reset_user() const +{ auto res = isl_multi_val_reset_user(copy()); return manage(res); } -isl::multi_val multi_val::scale_down_multi_val(isl::multi_val mv) const { +isl::multi_val multi_val::scale_down_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_val_scale_down_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_val multi_val::scale_down_val(isl::val v) const { +isl::multi_val multi_val::scale_down_val(isl::val v) const +{ auto res = isl_multi_val_scale_down_val(copy(), v.release()); return manage(res); } -isl::multi_val multi_val::scale_multi_val(isl::multi_val mv) const { +isl::multi_val multi_val::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_multi_val_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::multi_val multi_val::scale_val(isl::val v) const { +isl::multi_val multi_val::scale_val(isl::val v) const +{ auto res = isl_multi_val_scale_val(copy(), v.release()); return manage(res); } -isl::multi_val multi_val::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::multi_val multi_val::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_multi_val_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::multi_val multi_val::set_tuple_id(isl::dim type, isl::id id) const { +isl::multi_val multi_val::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_multi_val_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::multi_val multi_val::set_tuple_name(isl::dim type, const std::string &s) const { +isl::multi_val multi_val::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_multi_val_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::multi_val multi_val::set_val(int pos, isl::val el) const { +isl::multi_val multi_val::set_val(int pos, isl::val el) const +{ auto res = isl_multi_val_set_val(copy(), pos, el.release()); return manage(res); } -isl::multi_val multi_val::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_val multi2) const { +isl::multi_val multi_val::splice(unsigned int in_pos, unsigned int out_pos, isl::multi_val multi2) const +{ auto res = isl_multi_val_splice(copy(), in_pos, out_pos, multi2.release()); return manage(res); } -isl::multi_val multi_val::sub(isl::multi_val multi2) const { +isl::multi_val multi_val::sub(isl::multi_val multi2) const +{ auto res = isl_multi_val_sub(copy(), multi2.release()); return manage(res); } -isl::multi_val multi_val::zero(isl::space space) { +isl::multi_val multi_val::zero(isl::space space) +{ auto res = isl_multi_val_zero(space.release()); return manage(res); } @@ -9395,7 +10414,8 @@ isl::point manage(__isl_take isl_point *ptr) { return point(ptr); } isl::point manage_copy(__isl_keep isl_point *ptr) { - return point(isl_point_copy(ptr)); + ptr = isl_point_copy(ptr); + return point(ptr); } isl::point give(__isl_take isl_point *ptr) { return manage(ptr); @@ -9406,7 +10426,9 @@ point::point() : ptr(nullptr) {} point::point(const isl::point &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} point::point(std::nullptr_t) : ptr(nullptr) {} @@ -9414,7 +10436,8 @@ point::point(std::nullptr_t) point::point(__isl_take isl_point *ptr) : ptr(ptr) {} -point::point(isl::space dim) { +point::point(isl::space dim) +{ auto res = isl_point_zero(dim.release()); ptr = res; } @@ -9477,27 +10500,32 @@ void point::dump() const { } -isl::point point::add_ui(isl::dim type, int pos, unsigned int val) const { +isl::point point::add_ui(isl::dim type, int pos, unsigned int val) const +{ auto res = isl_point_add_ui(copy(), static_cast<enum isl_dim_type>(type), pos, val); return manage(res); } -isl::val point::get_coordinate_val(isl::dim type, int pos) const { +isl::val point::get_coordinate_val(isl::dim type, int pos) const +{ auto res = isl_point_get_coordinate_val(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::space point::get_space() const { +isl::space point::get_space() const +{ auto res = isl_point_get_space(get()); return manage(res); } -isl::point point::set_coordinate_val(isl::dim type, int pos, isl::val v) const { +isl::point point::set_coordinate_val(isl::dim type, int pos, isl::val v) const +{ auto res = isl_point_set_coordinate_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::point point::sub_ui(isl::dim type, int pos, unsigned int val) const { +isl::point point::sub_ui(isl::dim type, int pos, unsigned int val) const +{ auto res = isl_point_sub_ui(copy(), static_cast<enum isl_dim_type>(type), pos, val); return manage(res); } @@ -9507,7 +10535,8 @@ isl::pw_aff manage(__isl_take isl_pw_aff *ptr) { return pw_aff(ptr); } isl::pw_aff manage_copy(__isl_keep isl_pw_aff *ptr) { - return pw_aff(isl_pw_aff_copy(ptr)); + ptr = isl_pw_aff_copy(ptr); + return pw_aff(ptr); } isl::pw_aff give(__isl_take isl_pw_aff *ptr) { return manage(ptr); @@ -9518,7 +10547,9 @@ pw_aff::pw_aff() : ptr(nullptr) {} pw_aff::pw_aff(const isl::pw_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} pw_aff::pw_aff(std::nullptr_t) : ptr(nullptr) {} @@ -9526,19 +10557,23 @@ pw_aff::pw_aff(std::nullptr_t) pw_aff::pw_aff(__isl_take isl_pw_aff *ptr) : ptr(ptr) {} -pw_aff::pw_aff(isl::aff aff) { +pw_aff::pw_aff(isl::aff aff) +{ auto res = isl_pw_aff_from_aff(aff.release()); ptr = res; } -pw_aff::pw_aff(isl::local_space ls) { +pw_aff::pw_aff(isl::local_space ls) +{ auto res = isl_pw_aff_zero_on_domain(ls.release()); ptr = res; } -pw_aff::pw_aff(isl::set domain, isl::val v) { +pw_aff::pw_aff(isl::set domain, isl::val v) +{ auto res = isl_pw_aff_val_on_domain(domain.release(), v.release()); ptr = res; } -pw_aff::pw_aff(isl::ctx ctx, const std::string &str) { +pw_aff::pw_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_pw_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -9601,384 +10636,479 @@ void pw_aff::dump() const { } -isl::pw_aff pw_aff::add(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::add(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_add(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::add_dims(isl::dim type, unsigned int n) const { +isl::pw_aff pw_aff::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_pw_aff_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::pw_aff pw_aff::align_params(isl::space model) const { +isl::pw_aff pw_aff::align_params(isl::space model) const +{ auto res = isl_pw_aff_align_params(copy(), model.release()); return manage(res); } -isl::pw_aff pw_aff::alloc(isl::set set, isl::aff aff) { +isl::pw_aff pw_aff::alloc(isl::set set, isl::aff aff) +{ auto res = isl_pw_aff_alloc(set.release(), aff.release()); return manage(res); } -isl::pw_aff pw_aff::ceil() const { +isl::pw_aff pw_aff::ceil() const +{ auto res = isl_pw_aff_ceil(copy()); return manage(res); } -isl::pw_aff pw_aff::coalesce() const { +isl::pw_aff pw_aff::coalesce() const +{ auto res = isl_pw_aff_coalesce(copy()); return manage(res); } -isl::pw_aff pw_aff::cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const { +isl::pw_aff pw_aff::cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const +{ auto res = isl_pw_aff_cond(copy(), pwaff_true.release(), pwaff_false.release()); return manage(res); } -unsigned int pw_aff::dim(isl::dim type) const { +unsigned int pw_aff::dim(isl::dim type) const +{ auto res = isl_pw_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::pw_aff pw_aff::div(isl::pw_aff pa2) const { +isl::pw_aff pw_aff::div(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_div(copy(), pa2.release()); return manage(res); } -isl::set pw_aff::domain() const { +isl::set pw_aff::domain() const +{ auto res = isl_pw_aff_domain(copy()); return manage(res); } -isl::pw_aff pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_aff pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_aff pw_aff::empty(isl::space dim) { +isl::pw_aff pw_aff::drop_unused_params() const +{ + auto res = isl_pw_aff_drop_unused_params(copy()); + return manage(res); +} + +isl::pw_aff pw_aff::empty(isl::space dim) +{ auto res = isl_pw_aff_empty(dim.release()); return manage(res); } -isl::map pw_aff::eq_map(isl::pw_aff pa2) const { +isl::map pw_aff::eq_map(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_eq_map(copy(), pa2.release()); return manage(res); } -isl::set pw_aff::eq_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::eq_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_eq_set(copy(), pwaff2.release()); return manage(res); } -int pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +isl::val pw_aff::eval(isl::point pnt) const +{ + auto res = isl_pw_aff_eval(copy(), pnt.release()); + return manage(res); +} + +int pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_pw_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::pw_aff pw_aff::floor() const { +isl::pw_aff pw_aff::floor() const +{ auto res = isl_pw_aff_floor(copy()); return manage(res); } -isl::stat pw_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::aff)> &fn) const { - auto fn_p = &fn; +isl::stat pw_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::aff)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::set, isl::aff)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_set *arg_0, isl_aff *arg_1, void *arg_2) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::set, isl::aff)> **>(arg_2); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1)); + auto *data = static_cast<struct fn_data *>(arg_2); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1)); return isl_stat(ret); }; - auto res = isl_pw_aff_foreach_piece(get(), fn_lambda, &fn_p); + auto res = isl_pw_aff_foreach_piece(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::pw_aff pw_aff::from_range() const { +isl::pw_aff pw_aff::from_range() const +{ auto res = isl_pw_aff_from_range(copy()); return manage(res); } -isl::set pw_aff::ge_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::ge_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_ge_set(copy(), pwaff2.release()); return manage(res); } -isl::id pw_aff::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id pw_aff::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_pw_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string pw_aff::get_dim_name(isl::dim type, unsigned int pos) const { +std::string pw_aff::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_pw_aff_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::space pw_aff::get_domain_space() const { +isl::space pw_aff::get_domain_space() const +{ auto res = isl_pw_aff_get_domain_space(get()); return manage(res); } -uint32_t pw_aff::get_hash() const { +uint32_t pw_aff::get_hash() const +{ auto res = isl_pw_aff_get_hash(get()); return res; } -isl::space pw_aff::get_space() const { +isl::space pw_aff::get_space() const +{ auto res = isl_pw_aff_get_space(get()); return manage(res); } -isl::id pw_aff::get_tuple_id(isl::dim type) const { +isl::id pw_aff::get_tuple_id(isl::dim type) const +{ auto res = isl_pw_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::pw_aff pw_aff::gist(isl::set context) const { +isl::pw_aff pw_aff::gist(isl::set context) const +{ auto res = isl_pw_aff_gist(copy(), context.release()); return manage(res); } -isl::pw_aff pw_aff::gist_params(isl::set context) const { +isl::pw_aff pw_aff::gist_params(isl::set context) const +{ auto res = isl_pw_aff_gist_params(copy(), context.release()); return manage(res); } -isl::map pw_aff::gt_map(isl::pw_aff pa2) const { +isl::map pw_aff::gt_map(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_gt_map(copy(), pa2.release()); return manage(res); } -isl::set pw_aff::gt_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::gt_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_gt_set(copy(), pwaff2.release()); return manage(res); } -isl::boolean pw_aff::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean pw_aff::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_pw_aff_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean pw_aff::has_tuple_id(isl::dim type) const { +isl::boolean pw_aff::has_tuple_id(isl::dim type) const +{ auto res = isl_pw_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::pw_aff pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_aff pw_aff::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_aff_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_aff pw_aff::intersect_domain(isl::set set) const { +isl::pw_aff pw_aff::intersect_domain(isl::set set) const +{ auto res = isl_pw_aff_intersect_domain(copy(), set.release()); return manage(res); } -isl::pw_aff pw_aff::intersect_params(isl::set set) const { +isl::pw_aff pw_aff::intersect_params(isl::set set) const +{ auto res = isl_pw_aff_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean pw_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean pw_aff::involves_nan() const { +isl::boolean pw_aff::involves_nan() const +{ auto res = isl_pw_aff_involves_nan(get()); return manage(res); } -isl::boolean pw_aff::is_cst() const { +isl::boolean pw_aff::is_cst() const +{ auto res = isl_pw_aff_is_cst(get()); return manage(res); } -isl::boolean pw_aff::is_empty() const { +isl::boolean pw_aff::is_empty() const +{ auto res = isl_pw_aff_is_empty(get()); return manage(res); } -isl::boolean pw_aff::is_equal(const isl::pw_aff &pa2) const { +isl::boolean pw_aff::is_equal(const isl::pw_aff &pa2) const +{ auto res = isl_pw_aff_is_equal(get(), pa2.get()); return manage(res); } -isl::set pw_aff::le_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::le_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_le_set(copy(), pwaff2.release()); return manage(res); } -isl::map pw_aff::lt_map(isl::pw_aff pa2) const { +isl::map pw_aff::lt_map(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_lt_map(copy(), pa2.release()); return manage(res); } -isl::set pw_aff::lt_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::lt_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_lt_set(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::max(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::max(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_max(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::min(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::min(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_min(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::mod(isl::val mod) const { +isl::pw_aff pw_aff::mod(isl::val mod) const +{ auto res = isl_pw_aff_mod_val(copy(), mod.release()); return manage(res); } -isl::pw_aff pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::pw_aff pw_aff::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_pw_aff_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::pw_aff pw_aff::mul(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::mul(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_mul(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::nan_on_domain(isl::local_space ls) { +int pw_aff::n_piece() const +{ + auto res = isl_pw_aff_n_piece(get()); + return res; +} + +isl::pw_aff pw_aff::nan_on_domain(isl::local_space ls) +{ auto res = isl_pw_aff_nan_on_domain(ls.release()); return manage(res); } -isl::set pw_aff::ne_set(isl::pw_aff pwaff2) const { +isl::set pw_aff::ne_set(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_ne_set(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::neg() const { +isl::pw_aff pw_aff::neg() const +{ auto res = isl_pw_aff_neg(copy()); return manage(res); } -isl::set pw_aff::non_zero_set() const { +isl::set pw_aff::non_zero_set() const +{ auto res = isl_pw_aff_non_zero_set(copy()); return manage(res); } -isl::set pw_aff::nonneg_set() const { +isl::set pw_aff::nonneg_set() const +{ auto res = isl_pw_aff_nonneg_set(copy()); return manage(res); } -isl::set pw_aff::params() const { +isl::set pw_aff::params() const +{ auto res = isl_pw_aff_params(copy()); return manage(res); } -int pw_aff::plain_cmp(const isl::pw_aff &pa2) const { +int pw_aff::plain_cmp(const isl::pw_aff &pa2) const +{ auto res = isl_pw_aff_plain_cmp(get(), pa2.get()); return res; } -isl::boolean pw_aff::plain_is_equal(const isl::pw_aff &pwaff2) const { +isl::boolean pw_aff::plain_is_equal(const isl::pw_aff &pwaff2) const +{ auto res = isl_pw_aff_plain_is_equal(get(), pwaff2.get()); return manage(res); } -isl::set pw_aff::pos_set() const { +isl::set pw_aff::pos_set() const +{ auto res = isl_pw_aff_pos_set(copy()); return manage(res); } -isl::pw_aff pw_aff::project_domain_on_params() const { +isl::pw_aff pw_aff::project_domain_on_params() const +{ auto res = isl_pw_aff_project_domain_on_params(copy()); return manage(res); } -isl::pw_aff pw_aff::pullback(isl::multi_aff ma) const { +isl::pw_aff pw_aff::pullback(isl::multi_aff ma) const +{ auto res = isl_pw_aff_pullback_multi_aff(copy(), ma.release()); return manage(res); } -isl::pw_aff pw_aff::pullback(isl::pw_multi_aff pma) const { +isl::pw_aff pw_aff::pullback(isl::pw_multi_aff pma) const +{ auto res = isl_pw_aff_pullback_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::pw_aff pw_aff::pullback(isl::multi_pw_aff mpa) const { +isl::pw_aff pw_aff::pullback(isl::multi_pw_aff mpa) const +{ auto res = isl_pw_aff_pullback_multi_pw_aff(copy(), mpa.release()); return manage(res); } -isl::pw_aff pw_aff::reset_tuple_id(isl::dim type) const { +isl::pw_aff pw_aff::reset_tuple_id(isl::dim type) const +{ auto res = isl_pw_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::pw_aff pw_aff::reset_user() const { +isl::pw_aff pw_aff::reset_user() const +{ auto res = isl_pw_aff_reset_user(copy()); return manage(res); } -isl::pw_aff pw_aff::scale(isl::val v) const { +isl::pw_aff pw_aff::scale(isl::val v) const +{ auto res = isl_pw_aff_scale_val(copy(), v.release()); return manage(res); } -isl::pw_aff pw_aff::scale_down(isl::val f) const { +isl::pw_aff pw_aff::scale_down(isl::val f) const +{ auto res = isl_pw_aff_scale_down_val(copy(), f.release()); return manage(res); } -isl::pw_aff pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::pw_aff pw_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_pw_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::pw_aff pw_aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::pw_aff pw_aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_pw_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::pw_aff pw_aff::sub(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::sub(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_sub(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::subtract_domain(isl::set set) const { +isl::pw_aff pw_aff::subtract_domain(isl::set set) const +{ auto res = isl_pw_aff_subtract_domain(copy(), set.release()); return manage(res); } -isl::pw_aff pw_aff::tdiv_q(isl::pw_aff pa2) const { +isl::pw_aff pw_aff::tdiv_q(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_tdiv_q(copy(), pa2.release()); return manage(res); } -isl::pw_aff pw_aff::tdiv_r(isl::pw_aff pa2) const { +isl::pw_aff pw_aff::tdiv_r(isl::pw_aff pa2) const +{ auto res = isl_pw_aff_tdiv_r(copy(), pa2.release()); return manage(res); } -isl::pw_aff pw_aff::union_add(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::union_add(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_union_add(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::union_max(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::union_max(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_union_max(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::union_min(isl::pw_aff pwaff2) const { +isl::pw_aff pw_aff::union_min(isl::pw_aff pwaff2) const +{ auto res = isl_pw_aff_union_min(copy(), pwaff2.release()); return manage(res); } -isl::pw_aff pw_aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos) { +isl::pw_aff pw_aff::var_on_domain(isl::local_space ls, isl::dim type, unsigned int pos) +{ auto res = isl_pw_aff_var_on_domain(ls.release(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::set pw_aff::zero_set() const { +isl::set pw_aff::zero_set() const +{ auto res = isl_pw_aff_zero_set(copy()); return manage(res); } @@ -9988,7 +11118,8 @@ isl::pw_aff_list manage(__isl_take isl_pw_aff_list *ptr) { return pw_aff_list(ptr); } isl::pw_aff_list manage_copy(__isl_keep isl_pw_aff_list *ptr) { - return pw_aff_list(isl_pw_aff_list_copy(ptr)); + ptr = isl_pw_aff_list_copy(ptr); + return pw_aff_list(ptr); } isl::pw_aff_list give(__isl_take isl_pw_aff_list *ptr) { return manage(ptr); @@ -9999,7 +11130,9 @@ pw_aff_list::pw_aff_list() : ptr(nullptr) {} pw_aff_list::pw_aff_list(const isl::pw_aff_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} pw_aff_list::pw_aff_list(std::nullptr_t) : ptr(nullptr) {} @@ -10063,7 +11196,8 @@ isl::pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr) { return pw_multi_aff(ptr); } isl::pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr) { - return pw_multi_aff(isl_pw_multi_aff_copy(ptr)); + ptr = isl_pw_multi_aff_copy(ptr); + return pw_multi_aff(ptr); } isl::pw_multi_aff give(__isl_take isl_pw_multi_aff *ptr) { return manage(ptr); @@ -10074,7 +11208,9 @@ pw_multi_aff::pw_multi_aff() : ptr(nullptr) {} pw_multi_aff::pw_multi_aff(const isl::pw_multi_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} pw_multi_aff::pw_multi_aff(std::nullptr_t) : ptr(nullptr) {} @@ -10082,15 +11218,18 @@ pw_multi_aff::pw_multi_aff(std::nullptr_t) pw_multi_aff::pw_multi_aff(__isl_take isl_pw_multi_aff *ptr) : ptr(ptr) {} -pw_multi_aff::pw_multi_aff(isl::multi_aff ma) { +pw_multi_aff::pw_multi_aff(isl::multi_aff ma) +{ auto res = isl_pw_multi_aff_from_multi_aff(ma.release()); ptr = res; } -pw_multi_aff::pw_multi_aff(isl::pw_aff pa) { +pw_multi_aff::pw_multi_aff(isl::pw_aff pa) +{ auto res = isl_pw_multi_aff_from_pw_aff(pa.release()); ptr = res; } -pw_multi_aff::pw_multi_aff(isl::ctx ctx, const std::string &str) { +pw_multi_aff::pw_multi_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_pw_multi_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -10153,290 +11292,366 @@ void pw_multi_aff::dump() const { } -isl::pw_multi_aff pw_multi_aff::add(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::add(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_add(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::align_params(isl::space model) const { +isl::pw_multi_aff pw_multi_aff::align_params(isl::space model) const +{ auto res = isl_pw_multi_aff_align_params(copy(), model.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::alloc(isl::set set, isl::multi_aff maff) { +isl::pw_multi_aff pw_multi_aff::alloc(isl::set set, isl::multi_aff maff) +{ auto res = isl_pw_multi_aff_alloc(set.release(), maff.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::coalesce() const { +isl::pw_multi_aff pw_multi_aff::coalesce() const +{ auto res = isl_pw_multi_aff_coalesce(copy()); return manage(res); } -unsigned int pw_multi_aff::dim(isl::dim type) const { +unsigned int pw_multi_aff::dim(isl::dim type) const +{ auto res = isl_pw_multi_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::set pw_multi_aff::domain() const { +isl::set pw_multi_aff::domain() const +{ auto res = isl_pw_multi_aff_domain(copy()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_multi_aff pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_multi_aff pw_multi_aff::empty(isl::space space) { +isl::pw_multi_aff pw_multi_aff::drop_unused_params() const +{ + auto res = isl_pw_multi_aff_drop_unused_params(copy()); + return manage(res); +} + +isl::pw_multi_aff pw_multi_aff::empty(isl::space space) +{ auto res = isl_pw_multi_aff_empty(space.release()); return manage(res); } -int pw_multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int pw_multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_pw_multi_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::pw_multi_aff pw_multi_aff::fix_si(isl::dim type, unsigned int pos, int value) const { +isl::pw_multi_aff pw_multi_aff::fix_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_pw_multi_aff_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::pw_multi_aff pw_multi_aff::flat_range_product(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::flat_range_product(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_flat_range_product(copy(), pma2.release()); return manage(res); } -isl::stat pw_multi_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::multi_aff)> &fn) const { - auto fn_p = &fn; +isl::stat pw_multi_aff::foreach_piece(const std::function<isl::stat(isl::set, isl::multi_aff)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::set, isl::multi_aff)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_set *arg_0, isl_multi_aff *arg_1, void *arg_2) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::set, isl::multi_aff)> **>(arg_2); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1)); + auto *data = static_cast<struct fn_data *>(arg_2); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1)); return isl_stat(ret); }; - auto res = isl_pw_multi_aff_foreach_piece(get(), fn_lambda, &fn_p); + auto res = isl_pw_multi_aff_foreach_piece(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::pw_multi_aff pw_multi_aff::from_domain(isl::set set) { +isl::pw_multi_aff pw_multi_aff::from_domain(isl::set set) +{ auto res = isl_pw_multi_aff_from_domain(set.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::from_map(isl::map map) { +isl::pw_multi_aff pw_multi_aff::from_map(isl::map map) +{ auto res = isl_pw_multi_aff_from_map(map.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::from_multi_pw_aff(isl::multi_pw_aff mpa) { +isl::pw_multi_aff pw_multi_aff::from_multi_pw_aff(isl::multi_pw_aff mpa) +{ auto res = isl_pw_multi_aff_from_multi_pw_aff(mpa.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::from_set(isl::set set) { +isl::pw_multi_aff pw_multi_aff::from_set(isl::set set) +{ auto res = isl_pw_multi_aff_from_set(set.release()); return manage(res); } -isl::id pw_multi_aff::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id pw_multi_aff::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_pw_multi_aff_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string pw_multi_aff::get_dim_name(isl::dim type, unsigned int pos) const { +std::string pw_multi_aff::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_pw_multi_aff_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::space pw_multi_aff::get_domain_space() const { +isl::space pw_multi_aff::get_domain_space() const +{ auto res = isl_pw_multi_aff_get_domain_space(get()); return manage(res); } -isl::pw_aff pw_multi_aff::get_pw_aff(int pos) const { +isl::pw_aff pw_multi_aff::get_pw_aff(int pos) const +{ auto res = isl_pw_multi_aff_get_pw_aff(get(), pos); return manage(res); } -isl::space pw_multi_aff::get_space() const { +isl::space pw_multi_aff::get_space() const +{ auto res = isl_pw_multi_aff_get_space(get()); return manage(res); } -isl::id pw_multi_aff::get_tuple_id(isl::dim type) const { +isl::id pw_multi_aff::get_tuple_id(isl::dim type) const +{ auto res = isl_pw_multi_aff_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string pw_multi_aff::get_tuple_name(isl::dim type) const { +std::string pw_multi_aff::get_tuple_name(isl::dim type) const +{ auto res = isl_pw_multi_aff_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::pw_multi_aff pw_multi_aff::gist(isl::set set) const { +isl::pw_multi_aff pw_multi_aff::gist(isl::set set) const +{ auto res = isl_pw_multi_aff_gist(copy(), set.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::gist_params(isl::set set) const { +isl::pw_multi_aff pw_multi_aff::gist_params(isl::set set) const +{ auto res = isl_pw_multi_aff_gist_params(copy(), set.release()); return manage(res); } -isl::boolean pw_multi_aff::has_tuple_id(isl::dim type) const { +isl::boolean pw_multi_aff::has_tuple_id(isl::dim type) const +{ auto res = isl_pw_multi_aff_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::boolean pw_multi_aff::has_tuple_name(isl::dim type) const { +isl::boolean pw_multi_aff::has_tuple_name(isl::dim type) const +{ auto res = isl_pw_multi_aff_has_tuple_name(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::pw_multi_aff pw_multi_aff::identity(isl::space space) { +isl::pw_multi_aff pw_multi_aff::identity(isl::space space) +{ auto res = isl_pw_multi_aff_identity(space.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::intersect_domain(isl::set set) const { +isl::pw_multi_aff pw_multi_aff::intersect_domain(isl::set set) const +{ auto res = isl_pw_multi_aff_intersect_domain(copy(), set.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::intersect_params(isl::set set) const { +isl::pw_multi_aff pw_multi_aff::intersect_params(isl::set set) const +{ auto res = isl_pw_multi_aff_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean pw_multi_aff::involves_nan() const { +isl::boolean pw_multi_aff::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ + auto res = isl_pw_multi_aff_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); + return manage(res); +} + +isl::boolean pw_multi_aff::involves_nan() const +{ auto res = isl_pw_multi_aff_involves_nan(get()); return manage(res); } -isl::boolean pw_multi_aff::is_equal(const isl::pw_multi_aff &pma2) const { +isl::boolean pw_multi_aff::is_equal(const isl::pw_multi_aff &pma2) const +{ auto res = isl_pw_multi_aff_is_equal(get(), pma2.get()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::multi_val_on_domain(isl::set domain, isl::multi_val mv) { +isl::pw_multi_aff pw_multi_aff::multi_val_on_domain(isl::set domain, isl::multi_val mv) +{ auto res = isl_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::neg() const { +int pw_multi_aff::n_piece() const +{ + auto res = isl_pw_multi_aff_n_piece(get()); + return res; +} + +isl::pw_multi_aff pw_multi_aff::neg() const +{ auto res = isl_pw_multi_aff_neg(copy()); return manage(res); } -isl::boolean pw_multi_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const { +isl::boolean pw_multi_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const +{ auto res = isl_pw_multi_aff_plain_is_equal(get(), pma2.get()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::product(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::product(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_product(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::project_domain_on_params() const { +isl::pw_multi_aff pw_multi_aff::project_domain_on_params() const +{ auto res = isl_pw_multi_aff_project_domain_on_params(copy()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n) { +isl::pw_multi_aff pw_multi_aff::project_out_map(isl::space space, isl::dim type, unsigned int first, unsigned int n) +{ auto res = isl_pw_multi_aff_project_out_map(space.release(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_multi_aff pw_multi_aff::pullback(isl::multi_aff ma) const { +isl::pw_multi_aff pw_multi_aff::pullback(isl::multi_aff ma) const +{ auto res = isl_pw_multi_aff_pullback_multi_aff(copy(), ma.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::pullback(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::pullback(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_pullback_pw_multi_aff(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::range_map(isl::space space) { +isl::pw_multi_aff pw_multi_aff::range_map(isl::space space) +{ auto res = isl_pw_multi_aff_range_map(space.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::range_product(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::range_product(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_range_product(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::reset_tuple_id(isl::dim type) const { +isl::pw_multi_aff pw_multi_aff::reset_tuple_id(isl::dim type) const +{ auto res = isl_pw_multi_aff_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::pw_multi_aff pw_multi_aff::reset_user() const { +isl::pw_multi_aff pw_multi_aff::reset_user() const +{ auto res = isl_pw_multi_aff_reset_user(copy()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::scale_down_val(isl::val v) const { +isl::pw_multi_aff pw_multi_aff::scale_down_val(isl::val v) const +{ auto res = isl_pw_multi_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::scale_multi_val(isl::multi_val mv) const { +isl::pw_multi_aff pw_multi_aff::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_pw_multi_aff_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::scale_val(isl::val v) const { +isl::pw_multi_aff pw_multi_aff::scale_val(isl::val v) const +{ auto res = isl_pw_multi_aff_scale_val(copy(), v.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::pw_multi_aff pw_multi_aff::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_pw_multi_aff_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::set_pw_aff(unsigned int pos, isl::pw_aff pa) const { +isl::pw_multi_aff pw_multi_aff::set_pw_aff(unsigned int pos, isl::pw_aff pa) const +{ auto res = isl_pw_multi_aff_set_pw_aff(copy(), pos, pa.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::set_tuple_id(isl::dim type, isl::id id) const { +isl::pw_multi_aff pw_multi_aff::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_pw_multi_aff_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::sub(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::sub(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_sub(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::subtract_domain(isl::set set) const { +isl::pw_multi_aff pw_multi_aff::subtract_domain(isl::set set) const +{ auto res = isl_pw_multi_aff_subtract_domain(copy(), set.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::union_add(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::union_add(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_union_add(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::union_lexmax(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::union_lexmax(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_union_lexmax(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::union_lexmin(isl::pw_multi_aff pma2) const { +isl::pw_multi_aff pw_multi_aff::union_lexmin(isl::pw_multi_aff pma2) const +{ auto res = isl_pw_multi_aff_union_lexmin(copy(), pma2.release()); return manage(res); } -isl::pw_multi_aff pw_multi_aff::zero(isl::space space) { +isl::pw_multi_aff pw_multi_aff::zero(isl::space space) +{ auto res = isl_pw_multi_aff_zero(space.release()); return manage(res); } @@ -10446,7 +11661,8 @@ isl::pw_qpolynomial manage(__isl_take isl_pw_qpolynomial *ptr) { return pw_qpolynomial(ptr); } isl::pw_qpolynomial manage_copy(__isl_keep isl_pw_qpolynomial *ptr) { - return pw_qpolynomial(isl_pw_qpolynomial_copy(ptr)); + ptr = isl_pw_qpolynomial_copy(ptr); + return pw_qpolynomial(ptr); } isl::pw_qpolynomial give(__isl_take isl_pw_qpolynomial *ptr) { return manage(ptr); @@ -10457,7 +11673,9 @@ pw_qpolynomial::pw_qpolynomial() : ptr(nullptr) {} pw_qpolynomial::pw_qpolynomial(const isl::pw_qpolynomial &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} pw_qpolynomial::pw_qpolynomial(std::nullptr_t) : ptr(nullptr) {} @@ -10465,7 +11683,8 @@ pw_qpolynomial::pw_qpolynomial(std::nullptr_t) pw_qpolynomial::pw_qpolynomial(__isl_take isl_pw_qpolynomial *ptr) : ptr(ptr) {} -pw_qpolynomial::pw_qpolynomial(isl::ctx ctx, const std::string &str) { +pw_qpolynomial::pw_qpolynomial(isl::ctx ctx, const std::string &str) +{ auto res = isl_pw_qpolynomial_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -10528,223 +11747,280 @@ void pw_qpolynomial::dump() const { } -isl::pw_qpolynomial pw_qpolynomial::add(isl::pw_qpolynomial pwqp2) const { +isl::pw_qpolynomial pw_qpolynomial::add(isl::pw_qpolynomial pwqp2) const +{ auto res = isl_pw_qpolynomial_add(copy(), pwqp2.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::add_dims(isl::dim type, unsigned int n) const { +isl::pw_qpolynomial pw_qpolynomial::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_pw_qpolynomial_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::alloc(isl::set set, isl::qpolynomial qp) { +isl::pw_qpolynomial pw_qpolynomial::alloc(isl::set set, isl::qpolynomial qp) +{ auto res = isl_pw_qpolynomial_alloc(set.release(), qp.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::coalesce() const { +isl::pw_qpolynomial pw_qpolynomial::coalesce() const +{ auto res = isl_pw_qpolynomial_coalesce(copy()); return manage(res); } -unsigned int pw_qpolynomial::dim(isl::dim type) const { +unsigned int pw_qpolynomial::dim(isl::dim type) const +{ auto res = isl_pw_qpolynomial_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::set pw_qpolynomial::domain() const { +isl::set pw_qpolynomial::domain() const +{ auto res = isl_pw_qpolynomial_domain(copy()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_qpolynomial pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::val pw_qpolynomial::eval(isl::point pnt) const { +isl::pw_qpolynomial pw_qpolynomial::drop_unused_params() const +{ + auto res = isl_pw_qpolynomial_drop_unused_params(copy()); + return manage(res); +} + +isl::val pw_qpolynomial::eval(isl::point pnt) const +{ auto res = isl_pw_qpolynomial_eval(copy(), pnt.release()); return manage(res); } -int pw_qpolynomial::find_dim_by_name(isl::dim type, const std::string &name) const { +int pw_qpolynomial::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_pw_qpolynomial_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::pw_qpolynomial pw_qpolynomial::fix_val(isl::dim type, unsigned int n, isl::val v) const { +isl::pw_qpolynomial pw_qpolynomial::fix_val(isl::dim type, unsigned int n, isl::val v) const +{ auto res = isl_pw_qpolynomial_fix_val(copy(), static_cast<enum isl_dim_type>(type), n, v.release()); return manage(res); } -isl::stat pw_qpolynomial::foreach_piece(const std::function<isl::stat(isl::set, isl::qpolynomial)> &fn) const { - auto fn_p = &fn; +isl::stat pw_qpolynomial::foreach_piece(const std::function<isl::stat(isl::set, isl::qpolynomial)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::set, isl::qpolynomial)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_set *arg_0, isl_qpolynomial *arg_1, void *arg_2) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::set, isl::qpolynomial)> **>(arg_2); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1)); + auto *data = static_cast<struct fn_data *>(arg_2); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1)); return isl_stat(ret); }; - auto res = isl_pw_qpolynomial_foreach_piece(get(), fn_lambda, &fn_p); + auto res = isl_pw_qpolynomial_foreach_piece(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::pw_qpolynomial pw_qpolynomial::from_pw_aff(isl::pw_aff pwaff) { +isl::pw_qpolynomial pw_qpolynomial::from_pw_aff(isl::pw_aff pwaff) +{ auto res = isl_pw_qpolynomial_from_pw_aff(pwaff.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::from_qpolynomial(isl::qpolynomial qp) { +isl::pw_qpolynomial pw_qpolynomial::from_qpolynomial(isl::qpolynomial qp) +{ auto res = isl_pw_qpolynomial_from_qpolynomial(qp.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::from_range() const { +isl::pw_qpolynomial pw_qpolynomial::from_range() const +{ auto res = isl_pw_qpolynomial_from_range(copy()); return manage(res); } -isl::space pw_qpolynomial::get_domain_space() const { +isl::space pw_qpolynomial::get_domain_space() const +{ auto res = isl_pw_qpolynomial_get_domain_space(get()); return manage(res); } -isl::space pw_qpolynomial::get_space() const { +isl::space pw_qpolynomial::get_space() const +{ auto res = isl_pw_qpolynomial_get_space(get()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::gist(isl::set context) const { +isl::pw_qpolynomial pw_qpolynomial::gist(isl::set context) const +{ auto res = isl_pw_qpolynomial_gist(copy(), context.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::gist_params(isl::set context) const { +isl::pw_qpolynomial pw_qpolynomial::gist_params(isl::set context) const +{ auto res = isl_pw_qpolynomial_gist_params(copy(), context.release()); return manage(res); } -isl::boolean pw_qpolynomial::has_equal_space(const isl::pw_qpolynomial &pwqp2) const { +isl::boolean pw_qpolynomial::has_equal_space(const isl::pw_qpolynomial &pwqp2) const +{ auto res = isl_pw_qpolynomial_has_equal_space(get(), pwqp2.get()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_qpolynomial pw_qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_qpolynomial_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::intersect_domain(isl::set set) const { +isl::pw_qpolynomial pw_qpolynomial::intersect_domain(isl::set set) const +{ auto res = isl_pw_qpolynomial_intersect_domain(copy(), set.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::intersect_params(isl::set set) const { +isl::pw_qpolynomial pw_qpolynomial::intersect_params(isl::set set) const +{ auto res = isl_pw_qpolynomial_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean pw_qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean pw_qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_qpolynomial_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean pw_qpolynomial::involves_nan() const { +isl::boolean pw_qpolynomial::involves_nan() const +{ auto res = isl_pw_qpolynomial_involves_nan(get()); return manage(res); } -isl::boolean pw_qpolynomial::is_zero() const { +isl::boolean pw_qpolynomial::is_zero() const +{ auto res = isl_pw_qpolynomial_is_zero(get()); return manage(res); } -isl::val pw_qpolynomial::max() const { +isl::val pw_qpolynomial::max() const +{ auto res = isl_pw_qpolynomial_max(copy()); return manage(res); } -isl::val pw_qpolynomial::min() const { +isl::val pw_qpolynomial::min() const +{ auto res = isl_pw_qpolynomial_min(copy()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::pw_qpolynomial pw_qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_pw_qpolynomial_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::mul(isl::pw_qpolynomial pwqp2) const { +isl::pw_qpolynomial pw_qpolynomial::mul(isl::pw_qpolynomial pwqp2) const +{ auto res = isl_pw_qpolynomial_mul(copy(), pwqp2.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::neg() const { +int pw_qpolynomial::n_piece() const +{ + auto res = isl_pw_qpolynomial_n_piece(get()); + return res; +} + +isl::pw_qpolynomial pw_qpolynomial::neg() const +{ auto res = isl_pw_qpolynomial_neg(copy()); return manage(res); } -isl::boolean pw_qpolynomial::plain_is_equal(const isl::pw_qpolynomial &pwqp2) const { +isl::boolean pw_qpolynomial::plain_is_equal(const isl::pw_qpolynomial &pwqp2) const +{ auto res = isl_pw_qpolynomial_plain_is_equal(get(), pwqp2.get()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::pow(unsigned int exponent) const { +isl::pw_qpolynomial pw_qpolynomial::pow(unsigned int exponent) const +{ auto res = isl_pw_qpolynomial_pow(copy(), exponent); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::project_domain_on_params() const { +isl::pw_qpolynomial pw_qpolynomial::project_domain_on_params() const +{ auto res = isl_pw_qpolynomial_project_domain_on_params(copy()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::reset_domain_space(isl::space dim) const { +isl::pw_qpolynomial pw_qpolynomial::reset_domain_space(isl::space dim) const +{ auto res = isl_pw_qpolynomial_reset_domain_space(copy(), dim.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::reset_user() const { +isl::pw_qpolynomial pw_qpolynomial::reset_user() const +{ auto res = isl_pw_qpolynomial_reset_user(copy()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::scale_down_val(isl::val v) const { +isl::pw_qpolynomial pw_qpolynomial::scale_down_val(isl::val v) const +{ auto res = isl_pw_qpolynomial_scale_down_val(copy(), v.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::scale_val(isl::val v) const { +isl::pw_qpolynomial pw_qpolynomial::scale_val(isl::val v) const +{ auto res = isl_pw_qpolynomial_scale_val(copy(), v.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::split_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::pw_qpolynomial pw_qpolynomial::split_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_pw_qpolynomial_split_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::split_periods(int max_periods) const { +isl::pw_qpolynomial pw_qpolynomial::split_periods(int max_periods) const +{ auto res = isl_pw_qpolynomial_split_periods(copy(), max_periods); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::sub(isl::pw_qpolynomial pwqp2) const { +isl::pw_qpolynomial pw_qpolynomial::sub(isl::pw_qpolynomial pwqp2) const +{ auto res = isl_pw_qpolynomial_sub(copy(), pwqp2.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::subtract_domain(isl::set set) const { +isl::pw_qpolynomial pw_qpolynomial::subtract_domain(isl::set set) const +{ auto res = isl_pw_qpolynomial_subtract_domain(copy(), set.release()); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::to_polynomial(int sign) const { +isl::pw_qpolynomial pw_qpolynomial::to_polynomial(int sign) const +{ auto res = isl_pw_qpolynomial_to_polynomial(copy(), sign); return manage(res); } -isl::pw_qpolynomial pw_qpolynomial::zero(isl::space dim) { +isl::pw_qpolynomial pw_qpolynomial::zero(isl::space dim) +{ auto res = isl_pw_qpolynomial_zero(dim.release()); return manage(res); } @@ -10754,7 +12030,8 @@ isl::qpolynomial manage(__isl_take isl_qpolynomial *ptr) { return qpolynomial(ptr); } isl::qpolynomial manage_copy(__isl_keep isl_qpolynomial *ptr) { - return qpolynomial(isl_qpolynomial_copy(ptr)); + ptr = isl_qpolynomial_copy(ptr); + return qpolynomial(ptr); } isl::qpolynomial give(__isl_take isl_qpolynomial *ptr) { return manage(ptr); @@ -10765,7 +12042,9 @@ qpolynomial::qpolynomial() : ptr(nullptr) {} qpolynomial::qpolynomial(const isl::qpolynomial &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} qpolynomial::qpolynomial(std::nullptr_t) : ptr(nullptr) {} @@ -10823,214 +12102,258 @@ void qpolynomial::dump() const { } -isl::qpolynomial qpolynomial::add(isl::qpolynomial qp2) const { +isl::qpolynomial qpolynomial::add(isl::qpolynomial qp2) const +{ auto res = isl_qpolynomial_add(copy(), qp2.release()); return manage(res); } -isl::qpolynomial qpolynomial::add_dims(isl::dim type, unsigned int n) const { +isl::qpolynomial qpolynomial::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_qpolynomial_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::qpolynomial qpolynomial::align_params(isl::space model) const { +isl::qpolynomial qpolynomial::align_params(isl::space model) const +{ auto res = isl_qpolynomial_align_params(copy(), model.release()); return manage(res); } -isl::stat qpolynomial::as_polynomial_on_domain(const isl::basic_set &bset, const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> &fn) const { - auto fn_p = &fn; +isl::stat qpolynomial::as_polynomial_on_domain(const isl::basic_set &bset, const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_basic_set *arg_0, isl_qpolynomial *arg_1, void *arg_2) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::basic_set, isl::qpolynomial)> **>(arg_2); - stat ret = (*func)(isl::manage(arg_0), isl::manage(arg_1)); + auto *data = static_cast<struct fn_data *>(arg_2); + stat ret = (*data->func)(isl::manage(arg_0), isl::manage(arg_1)); return isl_stat(ret); }; - auto res = isl_qpolynomial_as_polynomial_on_domain(get(), bset.get(), fn_lambda, &fn_p); + auto res = isl_qpolynomial_as_polynomial_on_domain(get(), bset.get(), fn_lambda, &fn_data); return isl::stat(res); } -unsigned int qpolynomial::dim(isl::dim type) const { +unsigned int qpolynomial::dim(isl::dim type) const +{ auto res = isl_qpolynomial_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::qpolynomial qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::qpolynomial qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::val qpolynomial::eval(isl::point pnt) const { +isl::val qpolynomial::eval(isl::point pnt) const +{ auto res = isl_qpolynomial_eval(copy(), pnt.release()); return manage(res); } -isl::stat qpolynomial::foreach_term(const std::function<isl::stat(isl::term)> &fn) const { - auto fn_p = &fn; +isl::stat qpolynomial::foreach_term(const std::function<isl::stat(isl::term)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::term)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_term *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::term)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_qpolynomial_foreach_term(get(), fn_lambda, &fn_p); + auto res = isl_qpolynomial_foreach_term(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::qpolynomial qpolynomial::from_aff(isl::aff aff) { +isl::qpolynomial qpolynomial::from_aff(isl::aff aff) +{ auto res = isl_qpolynomial_from_aff(aff.release()); return manage(res); } -isl::qpolynomial qpolynomial::from_constraint(isl::constraint c, isl::dim type, unsigned int pos) { +isl::qpolynomial qpolynomial::from_constraint(isl::constraint c, isl::dim type, unsigned int pos) +{ auto res = isl_qpolynomial_from_constraint(c.release(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::qpolynomial qpolynomial::from_term(isl::term term) { +isl::qpolynomial qpolynomial::from_term(isl::term term) +{ auto res = isl_qpolynomial_from_term(term.release()); return manage(res); } -isl::val qpolynomial::get_constant_val() const { +isl::val qpolynomial::get_constant_val() const +{ auto res = isl_qpolynomial_get_constant_val(get()); return manage(res); } -isl::space qpolynomial::get_domain_space() const { +isl::space qpolynomial::get_domain_space() const +{ auto res = isl_qpolynomial_get_domain_space(get()); return manage(res); } -isl::space qpolynomial::get_space() const { +isl::space qpolynomial::get_space() const +{ auto res = isl_qpolynomial_get_space(get()); return manage(res); } -isl::qpolynomial qpolynomial::gist(isl::set context) const { +isl::qpolynomial qpolynomial::gist(isl::set context) const +{ auto res = isl_qpolynomial_gist(copy(), context.release()); return manage(res); } -isl::qpolynomial qpolynomial::gist_params(isl::set context) const { +isl::qpolynomial qpolynomial::gist_params(isl::set context) const +{ auto res = isl_qpolynomial_gist_params(copy(), context.release()); return manage(res); } -isl::qpolynomial qpolynomial::homogenize() const { +isl::qpolynomial qpolynomial::homogenize() const +{ auto res = isl_qpolynomial_homogenize(copy()); return manage(res); } -isl::qpolynomial qpolynomial::infty_on_domain(isl::space dim) { +isl::qpolynomial qpolynomial::infty_on_domain(isl::space dim) +{ auto res = isl_qpolynomial_infty_on_domain(dim.release()); return manage(res); } -isl::qpolynomial qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::qpolynomial qpolynomial::insert_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_qpolynomial_insert_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean qpolynomial::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_qpolynomial_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean qpolynomial::is_infty() const { +isl::boolean qpolynomial::is_infty() const +{ auto res = isl_qpolynomial_is_infty(get()); return manage(res); } -isl::boolean qpolynomial::is_nan() const { +isl::boolean qpolynomial::is_nan() const +{ auto res = isl_qpolynomial_is_nan(get()); return manage(res); } -isl::boolean qpolynomial::is_neginfty() const { +isl::boolean qpolynomial::is_neginfty() const +{ auto res = isl_qpolynomial_is_neginfty(get()); return manage(res); } -isl::boolean qpolynomial::is_zero() const { +isl::boolean qpolynomial::is_zero() const +{ auto res = isl_qpolynomial_is_zero(get()); return manage(res); } -isl::qpolynomial qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::qpolynomial qpolynomial::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_qpolynomial_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::qpolynomial qpolynomial::mul(isl::qpolynomial qp2) const { +isl::qpolynomial qpolynomial::mul(isl::qpolynomial qp2) const +{ auto res = isl_qpolynomial_mul(copy(), qp2.release()); return manage(res); } -isl::qpolynomial qpolynomial::nan_on_domain(isl::space dim) { +isl::qpolynomial qpolynomial::nan_on_domain(isl::space dim) +{ auto res = isl_qpolynomial_nan_on_domain(dim.release()); return manage(res); } -isl::qpolynomial qpolynomial::neg() const { +isl::qpolynomial qpolynomial::neg() const +{ auto res = isl_qpolynomial_neg(copy()); return manage(res); } -isl::qpolynomial qpolynomial::neginfty_on_domain(isl::space dim) { +isl::qpolynomial qpolynomial::neginfty_on_domain(isl::space dim) +{ auto res = isl_qpolynomial_neginfty_on_domain(dim.release()); return manage(res); } -isl::qpolynomial qpolynomial::one_on_domain(isl::space dim) { +isl::qpolynomial qpolynomial::one_on_domain(isl::space dim) +{ auto res = isl_qpolynomial_one_on_domain(dim.release()); return manage(res); } -isl::boolean qpolynomial::plain_is_equal(const isl::qpolynomial &qp2) const { +isl::boolean qpolynomial::plain_is_equal(const isl::qpolynomial &qp2) const +{ auto res = isl_qpolynomial_plain_is_equal(get(), qp2.get()); return manage(res); } -isl::qpolynomial qpolynomial::pow(unsigned int power) const { +isl::qpolynomial qpolynomial::pow(unsigned int power) const +{ auto res = isl_qpolynomial_pow(copy(), power); return manage(res); } -isl::qpolynomial qpolynomial::project_domain_on_params() const { +isl::qpolynomial qpolynomial::project_domain_on_params() const +{ auto res = isl_qpolynomial_project_domain_on_params(copy()); return manage(res); } -isl::qpolynomial qpolynomial::scale_down_val(isl::val v) const { +isl::qpolynomial qpolynomial::scale_down_val(isl::val v) const +{ auto res = isl_qpolynomial_scale_down_val(copy(), v.release()); return manage(res); } -isl::qpolynomial qpolynomial::scale_val(isl::val v) const { +isl::qpolynomial qpolynomial::scale_val(isl::val v) const +{ auto res = isl_qpolynomial_scale_val(copy(), v.release()); return manage(res); } -int qpolynomial::sgn() const { +int qpolynomial::sgn() const +{ auto res = isl_qpolynomial_sgn(get()); return res; } -isl::qpolynomial qpolynomial::sub(isl::qpolynomial qp2) const { +isl::qpolynomial qpolynomial::sub(isl::qpolynomial qp2) const +{ auto res = isl_qpolynomial_sub(copy(), qp2.release()); return manage(res); } -isl::qpolynomial qpolynomial::val_on_domain(isl::space space, isl::val val) { +isl::qpolynomial qpolynomial::val_on_domain(isl::space space, isl::val val) +{ auto res = isl_qpolynomial_val_on_domain(space.release(), val.release()); return manage(res); } -isl::qpolynomial qpolynomial::var_on_domain(isl::space dim, isl::dim type, unsigned int pos) { +isl::qpolynomial qpolynomial::var_on_domain(isl::space dim, isl::dim type, unsigned int pos) +{ auto res = isl_qpolynomial_var_on_domain(dim.release(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::qpolynomial qpolynomial::zero_on_domain(isl::space dim) { +isl::qpolynomial qpolynomial::zero_on_domain(isl::space dim) +{ auto res = isl_qpolynomial_zero_on_domain(dim.release()); return manage(res); } @@ -11040,7 +12363,8 @@ isl::schedule manage(__isl_take isl_schedule *ptr) { return schedule(ptr); } isl::schedule manage_copy(__isl_keep isl_schedule *ptr) { - return schedule(isl_schedule_copy(ptr)); + ptr = isl_schedule_copy(ptr); + return schedule(ptr); } isl::schedule give(__isl_take isl_schedule *ptr) { return manage(ptr); @@ -11051,7 +12375,9 @@ schedule::schedule() : ptr(nullptr) {} schedule::schedule(const isl::schedule &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} schedule::schedule(std::nullptr_t) : ptr(nullptr) {} @@ -11059,7 +12385,8 @@ schedule::schedule(std::nullptr_t) schedule::schedule(__isl_take isl_schedule *ptr) : ptr(ptr) {} -schedule::schedule(isl::ctx ctx, const std::string &str) { +schedule::schedule(isl::ctx ctx, const std::string &str) +{ auto res = isl_schedule_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -11122,82 +12449,98 @@ void schedule::dump() const { } -isl::schedule schedule::align_params(isl::space space) const { +isl::schedule schedule::align_params(isl::space space) const +{ auto res = isl_schedule_align_params(copy(), space.release()); return manage(res); } -isl::schedule schedule::empty(isl::space space) { +isl::schedule schedule::empty(isl::space space) +{ auto res = isl_schedule_empty(space.release()); return manage(res); } -isl::schedule schedule::from_domain(isl::union_set domain) { +isl::schedule schedule::from_domain(isl::union_set domain) +{ auto res = isl_schedule_from_domain(domain.release()); return manage(res); } -isl::union_set schedule::get_domain() const { +isl::union_set schedule::get_domain() const +{ auto res = isl_schedule_get_domain(get()); return manage(res); } -isl::union_map schedule::get_map() const { +isl::union_map schedule::get_map() const +{ auto res = isl_schedule_get_map(get()); return manage(res); } -isl::schedule_node schedule::get_root() const { +isl::schedule_node schedule::get_root() const +{ auto res = isl_schedule_get_root(get()); return manage(res); } -isl::schedule schedule::gist_domain_params(isl::set context) const { +isl::schedule schedule::gist_domain_params(isl::set context) const +{ auto res = isl_schedule_gist_domain_params(copy(), context.release()); return manage(res); } -isl::schedule schedule::insert_context(isl::set context) const { +isl::schedule schedule::insert_context(isl::set context) const +{ auto res = isl_schedule_insert_context(copy(), context.release()); return manage(res); } -isl::schedule schedule::insert_guard(isl::set guard) const { +isl::schedule schedule::insert_guard(isl::set guard) const +{ auto res = isl_schedule_insert_guard(copy(), guard.release()); return manage(res); } -isl::schedule schedule::insert_partial_schedule(isl::multi_union_pw_aff partial) const { +isl::schedule schedule::insert_partial_schedule(isl::multi_union_pw_aff partial) const +{ auto res = isl_schedule_insert_partial_schedule(copy(), partial.release()); return manage(res); } -isl::schedule schedule::intersect_domain(isl::union_set domain) const { +isl::schedule schedule::intersect_domain(isl::union_set domain) const +{ auto res = isl_schedule_intersect_domain(copy(), domain.release()); return manage(res); } -isl::boolean schedule::plain_is_equal(const isl::schedule &schedule2) const { +isl::boolean schedule::plain_is_equal(const isl::schedule &schedule2) const +{ auto res = isl_schedule_plain_is_equal(get(), schedule2.get()); return manage(res); } -isl::schedule schedule::pullback(isl::union_pw_multi_aff upma) const { +isl::schedule schedule::pullback(isl::union_pw_multi_aff upma) const +{ auto res = isl_schedule_pullback_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::schedule schedule::reset_user() const { +isl::schedule schedule::reset_user() const +{ auto res = isl_schedule_reset_user(copy()); return manage(res); } -isl::schedule schedule::sequence(isl::schedule schedule2) const { +isl::schedule schedule::sequence(isl::schedule schedule2) const +{ auto res = isl_schedule_sequence(copy(), schedule2.release()); return manage(res); } -isl::schedule schedule::set(isl::schedule schedule2) const { +isl::schedule schedule::set(isl::schedule schedule2) const +{ auto res = isl_schedule_set(copy(), schedule2.release()); return manage(res); } @@ -11207,7 +12550,8 @@ isl::schedule_constraints manage(__isl_take isl_schedule_constraints *ptr) { return schedule_constraints(ptr); } isl::schedule_constraints manage_copy(__isl_keep isl_schedule_constraints *ptr) { - return schedule_constraints(isl_schedule_constraints_copy(ptr)); + ptr = isl_schedule_constraints_copy(ptr); + return schedule_constraints(ptr); } isl::schedule_constraints give(__isl_take isl_schedule_constraints *ptr) { return manage(ptr); @@ -11218,7 +12562,9 @@ schedule_constraints::schedule_constraints() : ptr(nullptr) {} schedule_constraints::schedule_constraints(const isl::schedule_constraints &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} schedule_constraints::schedule_constraints(std::nullptr_t) : ptr(nullptr) {} @@ -11226,7 +12572,8 @@ schedule_constraints::schedule_constraints(std::nullptr_t) schedule_constraints::schedule_constraints(__isl_take isl_schedule_constraints *ptr) : ptr(ptr) {} -schedule_constraints::schedule_constraints(isl::ctx ctx, const std::string &str) { +schedule_constraints::schedule_constraints(isl::ctx ctx, const std::string &str) +{ auto res = isl_schedule_constraints_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -11289,77 +12636,92 @@ void schedule_constraints::dump() const { } -isl::schedule_constraints schedule_constraints::apply(isl::union_map umap) const { +isl::schedule_constraints schedule_constraints::apply(isl::union_map umap) const +{ auto res = isl_schedule_constraints_apply(copy(), umap.release()); return manage(res); } -isl::schedule schedule_constraints::compute_schedule() const { +isl::schedule schedule_constraints::compute_schedule() const +{ auto res = isl_schedule_constraints_compute_schedule(copy()); return manage(res); } -isl::union_map schedule_constraints::get_coincidence() const { +isl::union_map schedule_constraints::get_coincidence() const +{ auto res = isl_schedule_constraints_get_coincidence(get()); return manage(res); } -isl::union_map schedule_constraints::get_conditional_validity() const { +isl::union_map schedule_constraints::get_conditional_validity() const +{ auto res = isl_schedule_constraints_get_conditional_validity(get()); return manage(res); } -isl::union_map schedule_constraints::get_conditional_validity_condition() const { +isl::union_map schedule_constraints::get_conditional_validity_condition() const +{ auto res = isl_schedule_constraints_get_conditional_validity_condition(get()); return manage(res); } -isl::set schedule_constraints::get_context() const { +isl::set schedule_constraints::get_context() const +{ auto res = isl_schedule_constraints_get_context(get()); return manage(res); } -isl::union_set schedule_constraints::get_domain() const { +isl::union_set schedule_constraints::get_domain() const +{ auto res = isl_schedule_constraints_get_domain(get()); return manage(res); } -isl::union_map schedule_constraints::get_proximity() const { +isl::union_map schedule_constraints::get_proximity() const +{ auto res = isl_schedule_constraints_get_proximity(get()); return manage(res); } -isl::union_map schedule_constraints::get_validity() const { +isl::union_map schedule_constraints::get_validity() const +{ auto res = isl_schedule_constraints_get_validity(get()); return manage(res); } -isl::schedule_constraints schedule_constraints::on_domain(isl::union_set domain) { +isl::schedule_constraints schedule_constraints::on_domain(isl::union_set domain) +{ auto res = isl_schedule_constraints_on_domain(domain.release()); return manage(res); } -isl::schedule_constraints schedule_constraints::set_coincidence(isl::union_map coincidence) const { +isl::schedule_constraints schedule_constraints::set_coincidence(isl::union_map coincidence) const +{ auto res = isl_schedule_constraints_set_coincidence(copy(), coincidence.release()); return manage(res); } -isl::schedule_constraints schedule_constraints::set_conditional_validity(isl::union_map condition, isl::union_map validity) const { +isl::schedule_constraints schedule_constraints::set_conditional_validity(isl::union_map condition, isl::union_map validity) const +{ auto res = isl_schedule_constraints_set_conditional_validity(copy(), condition.release(), validity.release()); return manage(res); } -isl::schedule_constraints schedule_constraints::set_context(isl::set context) const { +isl::schedule_constraints schedule_constraints::set_context(isl::set context) const +{ auto res = isl_schedule_constraints_set_context(copy(), context.release()); return manage(res); } -isl::schedule_constraints schedule_constraints::set_proximity(isl::union_map proximity) const { +isl::schedule_constraints schedule_constraints::set_proximity(isl::union_map proximity) const +{ auto res = isl_schedule_constraints_set_proximity(copy(), proximity.release()); return manage(res); } -isl::schedule_constraints schedule_constraints::set_validity(isl::union_map validity) const { +isl::schedule_constraints schedule_constraints::set_validity(isl::union_map validity) const +{ auto res = isl_schedule_constraints_set_validity(copy(), validity.release()); return manage(res); } @@ -11369,7 +12731,8 @@ isl::schedule_node manage(__isl_take isl_schedule_node *ptr) { return schedule_node(ptr); } isl::schedule_node manage_copy(__isl_keep isl_schedule_node *ptr) { - return schedule_node(isl_schedule_node_copy(ptr)); + ptr = isl_schedule_node_copy(ptr); + return schedule_node(ptr); } isl::schedule_node give(__isl_take isl_schedule_node *ptr) { return manage(ptr); @@ -11380,7 +12743,9 @@ schedule_node::schedule_node() : ptr(nullptr) {} schedule_node::schedule_node(const isl::schedule_node &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} schedule_node::schedule_node(std::nullptr_t) : ptr(nullptr) {} @@ -11447,303 +12812,370 @@ void schedule_node::dump() const { } -isl::schedule_node schedule_node::align_params(isl::space space) const { +isl::schedule_node schedule_node::align_params(isl::space space) const +{ auto res = isl_schedule_node_align_params(copy(), space.release()); return manage(res); } -isl::schedule_node schedule_node::ancestor(int generation) const { +isl::schedule_node schedule_node::ancestor(int generation) const +{ auto res = isl_schedule_node_ancestor(copy(), generation); return manage(res); } -isl::boolean schedule_node::band_member_get_coincident(int pos) const { +isl::boolean schedule_node::band_member_get_coincident(int pos) const +{ auto res = isl_schedule_node_band_member_get_coincident(get(), pos); return manage(res); } -isl::schedule_node schedule_node::band_member_set_coincident(int pos, int coincident) const { +isl::schedule_node schedule_node::band_member_set_coincident(int pos, int coincident) const +{ auto res = isl_schedule_node_band_member_set_coincident(copy(), pos, coincident); return manage(res); } -isl::schedule_node schedule_node::band_set_ast_build_options(isl::union_set options) const { +isl::schedule_node schedule_node::band_set_ast_build_options(isl::union_set options) const +{ auto res = isl_schedule_node_band_set_ast_build_options(copy(), options.release()); return manage(res); } -isl::schedule_node schedule_node::child(int pos) const { +isl::schedule_node schedule_node::child(int pos) const +{ auto res = isl_schedule_node_child(copy(), pos); return manage(res); } -isl::set schedule_node::context_get_context() const { +isl::set schedule_node::context_get_context() const +{ auto res = isl_schedule_node_context_get_context(get()); return manage(res); } -isl::schedule_node schedule_node::cut() const { +isl::schedule_node schedule_node::cut() const +{ auto res = isl_schedule_node_cut(copy()); return manage(res); } -isl::union_set schedule_node::domain_get_domain() const { +isl::union_set schedule_node::domain_get_domain() const +{ auto res = isl_schedule_node_domain_get_domain(get()); return manage(res); } -isl::union_pw_multi_aff schedule_node::expansion_get_contraction() const { +isl::union_pw_multi_aff schedule_node::expansion_get_contraction() const +{ auto res = isl_schedule_node_expansion_get_contraction(get()); return manage(res); } -isl::union_map schedule_node::expansion_get_expansion() const { +isl::union_map schedule_node::expansion_get_expansion() const +{ auto res = isl_schedule_node_expansion_get_expansion(get()); return manage(res); } -isl::union_map schedule_node::extension_get_extension() const { +isl::union_map schedule_node::extension_get_extension() const +{ auto res = isl_schedule_node_extension_get_extension(get()); return manage(res); } -isl::union_set schedule_node::filter_get_filter() const { +isl::union_set schedule_node::filter_get_filter() const +{ auto res = isl_schedule_node_filter_get_filter(get()); return manage(res); } -isl::schedule_node schedule_node::first_child() const { +isl::schedule_node schedule_node::first_child() const +{ auto res = isl_schedule_node_first_child(copy()); return manage(res); } -isl::stat schedule_node::foreach_ancestor_top_down(const std::function<isl::stat(isl::schedule_node)> &fn) const { - auto fn_p = &fn; +isl::stat schedule_node::foreach_ancestor_top_down(const std::function<isl::stat(isl::schedule_node)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::schedule_node)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_schedule_node *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::schedule_node)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_schedule_node_foreach_ancestor_top_down(get(), fn_lambda, &fn_p); + auto res = isl_schedule_node_foreach_ancestor_top_down(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::schedule_node schedule_node::from_domain(isl::union_set domain) { +isl::schedule_node schedule_node::from_domain(isl::union_set domain) +{ auto res = isl_schedule_node_from_domain(domain.release()); return manage(res); } -isl::schedule_node schedule_node::from_extension(isl::union_map extension) { +isl::schedule_node schedule_node::from_extension(isl::union_map extension) +{ auto res = isl_schedule_node_from_extension(extension.release()); return manage(res); } -int schedule_node::get_ancestor_child_position(const isl::schedule_node &ancestor) const { +int schedule_node::get_ancestor_child_position(const isl::schedule_node &ancestor) const +{ auto res = isl_schedule_node_get_ancestor_child_position(get(), ancestor.get()); return res; } -isl::schedule_node schedule_node::get_child(int pos) const { +isl::schedule_node schedule_node::get_child(int pos) const +{ auto res = isl_schedule_node_get_child(get(), pos); return manage(res); } -int schedule_node::get_child_position() const { +int schedule_node::get_child_position() const +{ auto res = isl_schedule_node_get_child_position(get()); return res; } -isl::union_set schedule_node::get_domain() const { +isl::union_set schedule_node::get_domain() const +{ auto res = isl_schedule_node_get_domain(get()); return manage(res); } -isl::multi_union_pw_aff schedule_node::get_prefix_schedule_multi_union_pw_aff() const { +isl::multi_union_pw_aff schedule_node::get_prefix_schedule_multi_union_pw_aff() const +{ auto res = isl_schedule_node_get_prefix_schedule_multi_union_pw_aff(get()); return manage(res); } -isl::union_map schedule_node::get_prefix_schedule_relation() const { +isl::union_map schedule_node::get_prefix_schedule_relation() const +{ auto res = isl_schedule_node_get_prefix_schedule_relation(get()); return manage(res); } -isl::union_map schedule_node::get_prefix_schedule_union_map() const { +isl::union_map schedule_node::get_prefix_schedule_union_map() const +{ auto res = isl_schedule_node_get_prefix_schedule_union_map(get()); return manage(res); } -isl::union_pw_multi_aff schedule_node::get_prefix_schedule_union_pw_multi_aff() const { +isl::union_pw_multi_aff schedule_node::get_prefix_schedule_union_pw_multi_aff() const +{ auto res = isl_schedule_node_get_prefix_schedule_union_pw_multi_aff(get()); return manage(res); } -isl::schedule schedule_node::get_schedule() const { +isl::schedule schedule_node::get_schedule() const +{ auto res = isl_schedule_node_get_schedule(get()); return manage(res); } -int schedule_node::get_schedule_depth() const { +int schedule_node::get_schedule_depth() const +{ auto res = isl_schedule_node_get_schedule_depth(get()); return res; } -isl::schedule_node schedule_node::get_shared_ancestor(const isl::schedule_node &node2) const { +isl::schedule_node schedule_node::get_shared_ancestor(const isl::schedule_node &node2) const +{ auto res = isl_schedule_node_get_shared_ancestor(get(), node2.get()); return manage(res); } -isl::union_pw_multi_aff schedule_node::get_subtree_contraction() const { +isl::union_pw_multi_aff schedule_node::get_subtree_contraction() const +{ auto res = isl_schedule_node_get_subtree_contraction(get()); return manage(res); } -isl::union_map schedule_node::get_subtree_expansion() const { +isl::union_map schedule_node::get_subtree_expansion() const +{ auto res = isl_schedule_node_get_subtree_expansion(get()); return manage(res); } -isl::union_map schedule_node::get_subtree_schedule_union_map() const { +isl::union_map schedule_node::get_subtree_schedule_union_map() const +{ auto res = isl_schedule_node_get_subtree_schedule_union_map(get()); return manage(res); } -int schedule_node::get_tree_depth() const { +int schedule_node::get_tree_depth() const +{ auto res = isl_schedule_node_get_tree_depth(get()); return res; } -isl::union_set schedule_node::get_universe_domain() const { +isl::union_set schedule_node::get_universe_domain() const +{ auto res = isl_schedule_node_get_universe_domain(get()); return manage(res); } -isl::schedule_node schedule_node::graft_after(isl::schedule_node graft) const { +isl::schedule_node schedule_node::graft_after(isl::schedule_node graft) const +{ auto res = isl_schedule_node_graft_after(copy(), graft.release()); return manage(res); } -isl::schedule_node schedule_node::graft_before(isl::schedule_node graft) const { +isl::schedule_node schedule_node::graft_before(isl::schedule_node graft) const +{ auto res = isl_schedule_node_graft_before(copy(), graft.release()); return manage(res); } -isl::schedule_node schedule_node::group(isl::id group_id) const { +isl::schedule_node schedule_node::group(isl::id group_id) const +{ auto res = isl_schedule_node_group(copy(), group_id.release()); return manage(res); } -isl::set schedule_node::guard_get_guard() const { +isl::set schedule_node::guard_get_guard() const +{ auto res = isl_schedule_node_guard_get_guard(get()); return manage(res); } -isl::boolean schedule_node::has_children() const { +isl::boolean schedule_node::has_children() const +{ auto res = isl_schedule_node_has_children(get()); return manage(res); } -isl::boolean schedule_node::has_next_sibling() const { +isl::boolean schedule_node::has_next_sibling() const +{ auto res = isl_schedule_node_has_next_sibling(get()); return manage(res); } -isl::boolean schedule_node::has_parent() const { +isl::boolean schedule_node::has_parent() const +{ auto res = isl_schedule_node_has_parent(get()); return manage(res); } -isl::boolean schedule_node::has_previous_sibling() const { +isl::boolean schedule_node::has_previous_sibling() const +{ auto res = isl_schedule_node_has_previous_sibling(get()); return manage(res); } -isl::schedule_node schedule_node::insert_context(isl::set context) const { +isl::schedule_node schedule_node::insert_context(isl::set context) const +{ auto res = isl_schedule_node_insert_context(copy(), context.release()); return manage(res); } -isl::schedule_node schedule_node::insert_filter(isl::union_set filter) const { +isl::schedule_node schedule_node::insert_filter(isl::union_set filter) const +{ auto res = isl_schedule_node_insert_filter(copy(), filter.release()); return manage(res); } -isl::schedule_node schedule_node::insert_guard(isl::set context) const { +isl::schedule_node schedule_node::insert_guard(isl::set context) const +{ auto res = isl_schedule_node_insert_guard(copy(), context.release()); return manage(res); } -isl::schedule_node schedule_node::insert_mark(isl::id mark) const { +isl::schedule_node schedule_node::insert_mark(isl::id mark) const +{ auto res = isl_schedule_node_insert_mark(copy(), mark.release()); return manage(res); } -isl::schedule_node schedule_node::insert_partial_schedule(isl::multi_union_pw_aff schedule) const { +isl::schedule_node schedule_node::insert_partial_schedule(isl::multi_union_pw_aff schedule) const +{ auto res = isl_schedule_node_insert_partial_schedule(copy(), schedule.release()); return manage(res); } -isl::schedule_node schedule_node::insert_sequence(isl::union_set_list filters) const { +isl::schedule_node schedule_node::insert_sequence(isl::union_set_list filters) const +{ auto res = isl_schedule_node_insert_sequence(copy(), filters.release()); return manage(res); } -isl::schedule_node schedule_node::insert_set(isl::union_set_list filters) const { +isl::schedule_node schedule_node::insert_set(isl::union_set_list filters) const +{ auto res = isl_schedule_node_insert_set(copy(), filters.release()); return manage(res); } -isl::boolean schedule_node::is_equal(const isl::schedule_node &node2) const { +isl::boolean schedule_node::is_equal(const isl::schedule_node &node2) const +{ auto res = isl_schedule_node_is_equal(get(), node2.get()); return manage(res); } -isl::boolean schedule_node::is_subtree_anchored() const { +isl::boolean schedule_node::is_subtree_anchored() const +{ auto res = isl_schedule_node_is_subtree_anchored(get()); return manage(res); } -isl::id schedule_node::mark_get_id() const { +isl::id schedule_node::mark_get_id() const +{ auto res = isl_schedule_node_mark_get_id(get()); return manage(res); } -isl::schedule_node schedule_node::next_sibling() const { +int schedule_node::n_children() const +{ + auto res = isl_schedule_node_n_children(get()); + return res; +} + +isl::schedule_node schedule_node::next_sibling() const +{ auto res = isl_schedule_node_next_sibling(copy()); return manage(res); } -isl::schedule_node schedule_node::order_after(isl::union_set filter) const { +isl::schedule_node schedule_node::order_after(isl::union_set filter) const +{ auto res = isl_schedule_node_order_after(copy(), filter.release()); return manage(res); } -isl::schedule_node schedule_node::order_before(isl::union_set filter) const { +isl::schedule_node schedule_node::order_before(isl::union_set filter) const +{ auto res = isl_schedule_node_order_before(copy(), filter.release()); return manage(res); } -isl::schedule_node schedule_node::parent() const { +isl::schedule_node schedule_node::parent() const +{ auto res = isl_schedule_node_parent(copy()); return manage(res); } -isl::schedule_node schedule_node::previous_sibling() const { +isl::schedule_node schedule_node::previous_sibling() const +{ auto res = isl_schedule_node_previous_sibling(copy()); return manage(res); } -isl::schedule_node schedule_node::reset_user() const { +isl::schedule_node schedule_node::reset_user() const +{ auto res = isl_schedule_node_reset_user(copy()); return manage(res); } -isl::schedule_node schedule_node::root() const { +isl::schedule_node schedule_node::root() const +{ auto res = isl_schedule_node_root(copy()); return manage(res); } -isl::schedule_node schedule_node::sequence_splice_child(int pos) const { +isl::schedule_node schedule_node::sequence_splice_child(int pos) const +{ auto res = isl_schedule_node_sequence_splice_child(copy(), pos); return manage(res); } @@ -11753,7 +13185,8 @@ isl::set manage(__isl_take isl_set *ptr) { return set(ptr); } isl::set manage_copy(__isl_keep isl_set *ptr) { - return set(isl_set_copy(ptr)); + ptr = isl_set_copy(ptr); + return set(ptr); } isl::set give(__isl_take isl_set *ptr) { return manage(ptr); @@ -11764,7 +13197,9 @@ set::set() : ptr(nullptr) {} set::set(const isl::set &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} set::set(std::nullptr_t) : ptr(nullptr) {} @@ -11772,19 +13207,23 @@ set::set(std::nullptr_t) set::set(__isl_take isl_set *ptr) : ptr(ptr) {} -set::set(isl::ctx ctx, const std::string &str) { +set::set(isl::ctx ctx, const std::string &str) +{ auto res = isl_set_read_from_str(ctx.release(), str.c_str()); ptr = res; } -set::set(isl::basic_set bset) { +set::set(isl::basic_set bset) +{ auto res = isl_set_from_basic_set(bset.release()); ptr = res; } -set::set(isl::point pnt) { +set::set(isl::point pnt) +{ auto res = isl_set_from_point(pnt.release()); ptr = res; } -set::set(isl::union_set uset) { +set::set(isl::union_set uset) +{ auto res = isl_set_from_union_set(uset.release()); ptr = res; } @@ -11847,651 +13286,806 @@ void set::dump() const { } -isl::set set::add_constraint(isl::constraint constraint) const { +isl::set set::add_constraint(isl::constraint constraint) const +{ auto res = isl_set_add_constraint(copy(), constraint.release()); return manage(res); } -isl::set set::add_dims(isl::dim type, unsigned int n) const { +isl::set set::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_set_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::basic_set set::affine_hull() const { +isl::basic_set set::affine_hull() const +{ auto res = isl_set_affine_hull(copy()); return manage(res); } -isl::set set::align_params(isl::space model) const { +isl::set set::align_params(isl::space model) const +{ auto res = isl_set_align_params(copy(), model.release()); return manage(res); } -isl::set set::apply(isl::map map) const { +isl::set set::apply(isl::map map) const +{ auto res = isl_set_apply(copy(), map.release()); return manage(res); } -isl::basic_set set::bounded_simple_hull() const { +isl::basic_set set::bounded_simple_hull() const +{ auto res = isl_set_bounded_simple_hull(copy()); return manage(res); } -isl::set set::box_from_points(isl::point pnt1, isl::point pnt2) { +isl::set set::box_from_points(isl::point pnt1, isl::point pnt2) +{ auto res = isl_set_box_from_points(pnt1.release(), pnt2.release()); return manage(res); } -isl::set set::coalesce() const { +isl::set set::coalesce() const +{ auto res = isl_set_coalesce(copy()); return manage(res); } -isl::basic_set set::coefficients() const { +isl::basic_set set::coefficients() const +{ auto res = isl_set_coefficients(copy()); return manage(res); } -isl::set set::complement() const { +isl::set set::complement() const +{ auto res = isl_set_complement(copy()); return manage(res); } -isl::basic_set set::convex_hull() const { +isl::basic_set set::convex_hull() const +{ auto res = isl_set_convex_hull(copy()); return manage(res); } -isl::val set::count_val() const { +isl::val set::count_val() const +{ auto res = isl_set_count_val(get()); return manage(res); } -isl::set set::detect_equalities() const { +isl::set set::detect_equalities() const +{ auto res = isl_set_detect_equalities(copy()); return manage(res); } -unsigned int set::dim(isl::dim type) const { +unsigned int set::dim(isl::dim type) const +{ auto res = isl_set_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::boolean set::dim_has_any_lower_bound(isl::dim type, unsigned int pos) const { +isl::boolean set::dim_has_any_lower_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_set_dim_has_any_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::dim_has_any_upper_bound(isl::dim type, unsigned int pos) const { +isl::boolean set::dim_has_any_upper_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_set_dim_has_any_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::dim_has_lower_bound(isl::dim type, unsigned int pos) const { +isl::boolean set::dim_has_lower_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_set_dim_has_lower_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::dim_has_upper_bound(isl::dim type, unsigned int pos) const { +isl::boolean set::dim_has_upper_bound(isl::dim type, unsigned int pos) const +{ auto res = isl_set_dim_has_upper_bound(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::dim_is_bounded(isl::dim type, unsigned int pos) const { +isl::boolean set::dim_is_bounded(isl::dim type, unsigned int pos) const +{ auto res = isl_set_dim_is_bounded(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::pw_aff set::dim_max(int pos) const { +isl::pw_aff set::dim_max(int pos) const +{ auto res = isl_set_dim_max(copy(), pos); return manage(res); } -isl::pw_aff set::dim_min(int pos) const { +isl::pw_aff set::dim_min(int pos) const +{ auto res = isl_set_dim_min(copy(), pos); return manage(res); } -isl::set set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_drop_constraints_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_drop_constraints_not_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::eliminate(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::drop_unused_params() const +{ + auto res = isl_set_drop_unused_params(copy()); + return manage(res); +} + +isl::set set::eliminate(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_eliminate(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::empty(isl::space space) { +isl::set set::empty(isl::space space) +{ auto res = isl_set_empty(space.release()); return manage(res); } -isl::set set::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const { +isl::set set::equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const +{ auto res = isl_set_equate(copy(), static_cast<enum isl_dim_type>(type1), pos1, static_cast<enum isl_dim_type>(type2), pos2); return manage(res); } -int set::find_dim_by_id(isl::dim type, const isl::id &id) const { +int set::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_set_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int set::find_dim_by_name(isl::dim type, const std::string &name) const { +int set::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_set_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::set set::fix_si(isl::dim type, unsigned int pos, int value) const { +isl::set set::fix_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_set_fix_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::set set::fix_val(isl::dim type, unsigned int pos, isl::val v) const { +isl::set set::fix_val(isl::dim type, unsigned int pos, isl::val v) const +{ auto res = isl_set_fix_val(copy(), static_cast<enum isl_dim_type>(type), pos, v.release()); return manage(res); } -isl::set set::flat_product(isl::set set2) const { +isl::set set::flat_product(isl::set set2) const +{ auto res = isl_set_flat_product(copy(), set2.release()); return manage(res); } -isl::set set::flatten() const { +isl::set set::flatten() const +{ auto res = isl_set_flatten(copy()); return manage(res); } -isl::map set::flatten_map() const { +isl::map set::flatten_map() const +{ auto res = isl_set_flatten_map(copy()); return manage(res); } -int set::follows_at(const isl::set &set2, int pos) const { +int set::follows_at(const isl::set &set2, int pos) const +{ auto res = isl_set_follows_at(get(), set2.get(), pos); return res; } -isl::stat set::foreach_basic_set(const std::function<isl::stat(isl::basic_set)> &fn) const { - auto fn_p = &fn; +isl::stat set::foreach_basic_set(const std::function<isl::stat(isl::basic_set)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::basic_set)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_basic_set *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::basic_set)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_set_foreach_basic_set(get(), fn_lambda, &fn_p); + auto res = isl_set_foreach_basic_set(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::stat set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const { - auto fn_p = &fn; +isl::stat set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::point)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_point *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::point)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_set_foreach_point(get(), fn_lambda, &fn_p); + auto res = isl_set_foreach_point(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::set set::from_multi_pw_aff(isl::multi_pw_aff mpa) { +isl::set set::from_multi_pw_aff(isl::multi_pw_aff mpa) +{ auto res = isl_set_from_multi_pw_aff(mpa.release()); return manage(res); } -isl::set set::from_params() const { +isl::set set::from_params() const +{ auto res = isl_set_from_params(copy()); return manage(res); } -isl::set set::from_pw_aff(isl::pw_aff pwaff) { +isl::set set::from_pw_aff(isl::pw_aff pwaff) +{ auto res = isl_set_from_pw_aff(pwaff.release()); return manage(res); } -isl::set set::from_pw_multi_aff(isl::pw_multi_aff pma) { +isl::set set::from_pw_multi_aff(isl::pw_multi_aff pma) +{ auto res = isl_set_from_pw_multi_aff(pma.release()); return manage(res); } -isl::basic_set_list set::get_basic_set_list() const { +isl::basic_set_list set::get_basic_set_list() const +{ auto res = isl_set_get_basic_set_list(get()); return manage(res); } -isl::id set::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id set::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_set_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string set::get_dim_name(isl::dim type, unsigned int pos) const { +std::string set::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_set_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::space set::get_space() const { +isl::space set::get_space() const +{ auto res = isl_set_get_space(get()); return manage(res); } -isl::id set::get_tuple_id() const { +isl::val set::get_stride(int pos) const +{ + auto res = isl_set_get_stride(get(), pos); + return manage(res); +} + +isl::id set::get_tuple_id() const +{ auto res = isl_set_get_tuple_id(get()); return manage(res); } -std::string set::get_tuple_name() const { +std::string set::get_tuple_name() const +{ auto res = isl_set_get_tuple_name(get()); std::string tmp(res); return tmp; } -isl::set set::gist(isl::set context) const { +isl::set set::gist(isl::set context) const +{ auto res = isl_set_gist(copy(), context.release()); return manage(res); } -isl::set set::gist_basic_set(isl::basic_set context) const { +isl::set set::gist_basic_set(isl::basic_set context) const +{ auto res = isl_set_gist_basic_set(copy(), context.release()); return manage(res); } -isl::set set::gist_params(isl::set context) const { +isl::set set::gist_params(isl::set context) const +{ auto res = isl_set_gist_params(copy(), context.release()); return manage(res); } -isl::boolean set::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean set::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_set_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::has_dim_name(isl::dim type, unsigned int pos) const { +isl::boolean set::has_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_set_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::has_equal_space(const isl::set &set2) const { +isl::boolean set::has_equal_space(const isl::set &set2) const +{ auto res = isl_set_has_equal_space(get(), set2.get()); return manage(res); } -isl::boolean set::has_tuple_id() const { +isl::boolean set::has_tuple_id() const +{ auto res = isl_set_has_tuple_id(get()); return manage(res); } -isl::boolean set::has_tuple_name() const { +isl::boolean set::has_tuple_name() const +{ auto res = isl_set_has_tuple_name(get()); return manage(res); } -isl::map set::identity() const { +isl::map set::identity() const +{ auto res = isl_set_identity(copy()); return manage(res); } -isl::pw_aff set::indicator_function() const { +isl::pw_aff set::indicator_function() const +{ auto res = isl_set_indicator_function(copy()); return manage(res); } -isl::set set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const { +isl::set set::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const +{ auto res = isl_set_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n); return manage(res); } -isl::set set::intersect(isl::set set2) const { +isl::set set::intersect(isl::set set2) const +{ auto res = isl_set_intersect(copy(), set2.release()); return manage(res); } -isl::set set::intersect_params(isl::set params) const { +isl::set set::intersect_params(isl::set params) const +{ auto res = isl_set_intersect_params(copy(), params.release()); return manage(res); } -isl::boolean set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean set::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean set::is_bounded() const { +isl::boolean set::is_bounded() const +{ auto res = isl_set_is_bounded(get()); return manage(res); } -isl::boolean set::is_box() const { +isl::boolean set::is_box() const +{ auto res = isl_set_is_box(get()); return manage(res); } -isl::boolean set::is_disjoint(const isl::set &set2) const { +isl::boolean set::is_disjoint(const isl::set &set2) const +{ auto res = isl_set_is_disjoint(get(), set2.get()); return manage(res); } -isl::boolean set::is_empty() const { +isl::boolean set::is_empty() const +{ auto res = isl_set_is_empty(get()); return manage(res); } -isl::boolean set::is_equal(const isl::set &set2) const { +isl::boolean set::is_equal(const isl::set &set2) const +{ auto res = isl_set_is_equal(get(), set2.get()); return manage(res); } -isl::boolean set::is_params() const { +isl::boolean set::is_params() const +{ auto res = isl_set_is_params(get()); return manage(res); } -isl::boolean set::is_singleton() const { +isl::boolean set::is_singleton() const +{ auto res = isl_set_is_singleton(get()); return manage(res); } -isl::boolean set::is_strict_subset(const isl::set &set2) const { +isl::boolean set::is_strict_subset(const isl::set &set2) const +{ auto res = isl_set_is_strict_subset(get(), set2.get()); return manage(res); } -isl::boolean set::is_subset(const isl::set &set2) const { +isl::boolean set::is_subset(const isl::set &set2) const +{ auto res = isl_set_is_subset(get(), set2.get()); return manage(res); } -isl::boolean set::is_wrapping() const { +isl::boolean set::is_wrapping() const +{ auto res = isl_set_is_wrapping(get()); return manage(res); } -isl::map set::lex_ge_set(isl::set set2) const { +isl::map set::lex_ge_set(isl::set set2) const +{ auto res = isl_set_lex_ge_set(copy(), set2.release()); return manage(res); } -isl::map set::lex_gt_set(isl::set set2) const { +isl::map set::lex_gt_set(isl::set set2) const +{ auto res = isl_set_lex_gt_set(copy(), set2.release()); return manage(res); } -isl::map set::lex_le_set(isl::set set2) const { +isl::map set::lex_le_set(isl::set set2) const +{ auto res = isl_set_lex_le_set(copy(), set2.release()); return manage(res); } -isl::map set::lex_lt_set(isl::set set2) const { +isl::map set::lex_lt_set(isl::set set2) const +{ auto res = isl_set_lex_lt_set(copy(), set2.release()); return manage(res); } -isl::set set::lexmax() const { +isl::set set::lexmax() const +{ auto res = isl_set_lexmax(copy()); return manage(res); } -isl::pw_multi_aff set::lexmax_pw_multi_aff() const { +isl::pw_multi_aff set::lexmax_pw_multi_aff() const +{ auto res = isl_set_lexmax_pw_multi_aff(copy()); return manage(res); } -isl::set set::lexmin() const { +isl::set set::lexmin() const +{ auto res = isl_set_lexmin(copy()); return manage(res); } -isl::pw_multi_aff set::lexmin_pw_multi_aff() const { +isl::pw_multi_aff set::lexmin_pw_multi_aff() const +{ auto res = isl_set_lexmin_pw_multi_aff(copy()); return manage(res); } -isl::set set::lower_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::set set::lower_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_set_lower_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::set set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const { +isl::set set::lower_bound_val(isl::dim type, unsigned int pos, isl::val value) const +{ auto res = isl_set_lower_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release()); return manage(res); } -isl::val set::max_val(const isl::aff &obj) const { +isl::val set::max_val(const isl::aff &obj) const +{ auto res = isl_set_max_val(get(), obj.get()); return manage(res); } -isl::val set::min_val(const isl::aff &obj) const { +isl::val set::min_val(const isl::aff &obj) const +{ auto res = isl_set_min_val(get(), obj.get()); return manage(res); } -isl::set set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::set set::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_set_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::set set::nat_universe(isl::space dim) { +int set::n_basic_set() const +{ + auto res = isl_set_n_basic_set(get()); + return res; +} + +unsigned int set::n_dim() const +{ + auto res = isl_set_n_dim(get()); + return res; +} + +isl::set set::nat_universe(isl::space dim) +{ auto res = isl_set_nat_universe(dim.release()); return manage(res); } -isl::set set::neg() const { +isl::set set::neg() const +{ auto res = isl_set_neg(copy()); return manage(res); } -isl::set set::params() const { +isl::set set::params() const +{ auto res = isl_set_params(copy()); return manage(res); } -int set::plain_cmp(const isl::set &set2) const { +int set::plain_cmp(const isl::set &set2) const +{ auto res = isl_set_plain_cmp(get(), set2.get()); return res; } -isl::val set::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const { +isl::val set::plain_get_val_if_fixed(isl::dim type, unsigned int pos) const +{ auto res = isl_set_plain_get_val_if_fixed(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean set::plain_is_disjoint(const isl::set &set2) const { +isl::boolean set::plain_is_disjoint(const isl::set &set2) const +{ auto res = isl_set_plain_is_disjoint(get(), set2.get()); return manage(res); } -isl::boolean set::plain_is_empty() const { +isl::boolean set::plain_is_empty() const +{ auto res = isl_set_plain_is_empty(get()); return manage(res); } -isl::boolean set::plain_is_equal(const isl::set &set2) const { +isl::boolean set::plain_is_equal(const isl::set &set2) const +{ auto res = isl_set_plain_is_equal(get(), set2.get()); return manage(res); } -isl::boolean set::plain_is_universe() const { +isl::boolean set::plain_is_universe() const +{ auto res = isl_set_plain_is_universe(get()); return manage(res); } -isl::basic_set set::plain_unshifted_simple_hull() const { +isl::basic_set set::plain_unshifted_simple_hull() const +{ auto res = isl_set_plain_unshifted_simple_hull(copy()); return manage(res); } -isl::basic_set set::polyhedral_hull() const { +isl::basic_set set::polyhedral_hull() const +{ auto res = isl_set_polyhedral_hull(copy()); return manage(res); } -isl::set set::preimage_multi_aff(isl::multi_aff ma) const { +isl::set set::preimage_multi_aff(isl::multi_aff ma) const +{ auto res = isl_set_preimage_multi_aff(copy(), ma.release()); return manage(res); } -isl::set set::preimage_multi_pw_aff(isl::multi_pw_aff mpa) const { +isl::set set::preimage_multi_pw_aff(isl::multi_pw_aff mpa) const +{ auto res = isl_set_preimage_multi_pw_aff(copy(), mpa.release()); return manage(res); } -isl::set set::preimage_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::set set::preimage_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_set_preimage_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::set set::product(isl::set set2) const { +isl::set set::product(isl::set set2) const +{ auto res = isl_set_product(copy(), set2.release()); return manage(res); } -isl::map set::project_onto_map(isl::dim type, unsigned int first, unsigned int n) const { +isl::map set::project_onto_map(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_project_onto_map(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::remove_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_remove_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::remove_divs() const { +isl::set set::remove_divs() const +{ auto res = isl_set_remove_divs(copy()); return manage(res); } -isl::set set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_remove_divs_involving_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::remove_redundancies() const { +isl::set set::remove_redundancies() const +{ auto res = isl_set_remove_redundancies(copy()); return manage(res); } -isl::set set::remove_unknown_divs() const { +isl::set set::remove_unknown_divs() const +{ auto res = isl_set_remove_unknown_divs(copy()); return manage(res); } -isl::set set::reset_space(isl::space dim) const { +isl::set set::reset_space(isl::space dim) const +{ auto res = isl_set_reset_space(copy(), dim.release()); return manage(res); } -isl::set set::reset_tuple_id() const { +isl::set set::reset_tuple_id() const +{ auto res = isl_set_reset_tuple_id(copy()); return manage(res); } -isl::set set::reset_user() const { +isl::set set::reset_user() const +{ auto res = isl_set_reset_user(copy()); return manage(res); } -isl::basic_set set::sample() const { +isl::basic_set set::sample() const +{ auto res = isl_set_sample(copy()); return manage(res); } -isl::point set::sample_point() const { +isl::point set::sample_point() const +{ auto res = isl_set_sample_point(copy()); return manage(res); } -isl::set set::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::set set::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_set_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::set set::set_tuple_id(isl::id id) const { +isl::set set::set_tuple_id(isl::id id) const +{ auto res = isl_set_set_tuple_id(copy(), id.release()); return manage(res); } -isl::set set::set_tuple_name(const std::string &s) const { +isl::set set::set_tuple_name(const std::string &s) const +{ auto res = isl_set_set_tuple_name(copy(), s.c_str()); return manage(res); } -isl::basic_set set::simple_hull() const { +isl::basic_set set::simple_hull() const +{ auto res = isl_set_simple_hull(copy()); return manage(res); } -int set::size() const { +int set::size() const +{ auto res = isl_set_size(get()); return res; } -isl::basic_set set::solutions() const { +isl::basic_set set::solutions() const +{ auto res = isl_set_solutions(copy()); return manage(res); } -isl::set set::split_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::set set::split_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_set_split_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::set set::subtract(isl::set set2) const { +isl::set set::subtract(isl::set set2) const +{ auto res = isl_set_subtract(copy(), set2.release()); return manage(res); } -isl::set set::sum(isl::set set2) const { +isl::set set::sum(isl::set set2) const +{ auto res = isl_set_sum(copy(), set2.release()); return manage(res); } -isl::set set::unite(isl::set set2) const { +isl::set set::unite(isl::set set2) const +{ auto res = isl_set_union(copy(), set2.release()); return manage(res); } -isl::set set::universe(isl::space space) { +isl::set set::universe(isl::space space) +{ auto res = isl_set_universe(space.release()); return manage(res); } -isl::basic_set set::unshifted_simple_hull() const { +isl::basic_set set::unshifted_simple_hull() const +{ auto res = isl_set_unshifted_simple_hull(copy()); return manage(res); } -isl::basic_set set::unshifted_simple_hull_from_set_list(isl::set_list list) const { +isl::basic_set set::unshifted_simple_hull_from_set_list(isl::set_list list) const +{ auto res = isl_set_unshifted_simple_hull_from_set_list(copy(), list.release()); return manage(res); } -isl::map set::unwrap() const { +isl::map set::unwrap() const +{ auto res = isl_set_unwrap(copy()); return manage(res); } -isl::set set::upper_bound_si(isl::dim type, unsigned int pos, int value) const { +isl::set set::upper_bound_si(isl::dim type, unsigned int pos, int value) const +{ auto res = isl_set_upper_bound_si(copy(), static_cast<enum isl_dim_type>(type), pos, value); return manage(res); } -isl::set set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const { +isl::set set::upper_bound_val(isl::dim type, unsigned int pos, isl::val value) const +{ auto res = isl_set_upper_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release()); return manage(res); } -isl::map set::wrapped_domain_map() const { +isl::map set::wrapped_domain_map() const +{ auto res = isl_set_wrapped_domain_map(copy()); return manage(res); } @@ -12501,7 +14095,8 @@ isl::set_list manage(__isl_take isl_set_list *ptr) { return set_list(ptr); } isl::set_list manage_copy(__isl_keep isl_set_list *ptr) { - return set_list(isl_set_list_copy(ptr)); + ptr = isl_set_list_copy(ptr); + return set_list(ptr); } isl::set_list give(__isl_take isl_set_list *ptr) { return manage(ptr); @@ -12512,7 +14107,9 @@ set_list::set_list() : ptr(nullptr) {} set_list::set_list(const isl::set_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} set_list::set_list(std::nullptr_t) : ptr(nullptr) {} @@ -12576,7 +14173,8 @@ isl::space manage(__isl_take isl_space *ptr) { return space(ptr); } isl::space manage_copy(__isl_keep isl_space *ptr) { - return space(isl_space_copy(ptr)); + ptr = isl_space_copy(ptr); + return space(ptr); } isl::space give(__isl_take isl_space *ptr) { return manage(ptr); @@ -12587,7 +14185,9 @@ space::space() : ptr(nullptr) {} space::space(const isl::space &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} space::space(std::nullptr_t) : ptr(nullptr) {} @@ -12595,11 +14195,13 @@ space::space(std::nullptr_t) space::space(__isl_take isl_space *ptr) : ptr(ptr) {} -space::space(isl::ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out) { +space::space(isl::ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out) +{ auto res = isl_space_alloc(ctx.release(), nparam, n_in, n_out); ptr = res; } -space::space(isl::ctx ctx, unsigned int nparam, unsigned int dim) { +space::space(isl::ctx ctx, unsigned int nparam, unsigned int dim) +{ auto res = isl_space_set_alloc(ctx.release(), nparam, dim); ptr = res; } @@ -12662,334 +14264,418 @@ void space::dump() const { } -isl::space space::add_dims(isl::dim type, unsigned int n) const { +isl::space space::add_dims(isl::dim type, unsigned int n) const +{ auto res = isl_space_add_dims(copy(), static_cast<enum isl_dim_type>(type), n); return manage(res); } -isl::space space::align_params(isl::space dim2) const { +isl::space space::add_param_id(isl::id id) const +{ + auto res = isl_space_add_param_id(copy(), id.release()); + return manage(res); +} + +isl::space space::align_params(isl::space dim2) const +{ auto res = isl_space_align_params(copy(), dim2.release()); return manage(res); } -isl::boolean space::can_curry() const { +isl::boolean space::can_curry() const +{ auto res = isl_space_can_curry(get()); return manage(res); } -isl::boolean space::can_range_curry() const { +isl::boolean space::can_range_curry() const +{ auto res = isl_space_can_range_curry(get()); return manage(res); } -isl::boolean space::can_uncurry() const { +isl::boolean space::can_uncurry() const +{ auto res = isl_space_can_uncurry(get()); return manage(res); } -isl::boolean space::can_zip() const { +isl::boolean space::can_zip() const +{ auto res = isl_space_can_zip(get()); return manage(res); } -isl::space space::curry() const { +isl::space space::curry() const +{ auto res = isl_space_curry(copy()); return manage(res); } -unsigned int space::dim(isl::dim type) const { +unsigned int space::dim(isl::dim type) const +{ auto res = isl_space_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::space space::domain() const { +isl::space space::domain() const +{ auto res = isl_space_domain(copy()); return manage(res); } -isl::space space::domain_factor_domain() const { +isl::space space::domain_factor_domain() const +{ auto res = isl_space_domain_factor_domain(copy()); return manage(res); } -isl::space space::domain_factor_range() const { +isl::space space::domain_factor_range() const +{ auto res = isl_space_domain_factor_range(copy()); return manage(res); } -isl::boolean space::domain_is_wrapping() const { +isl::boolean space::domain_is_wrapping() const +{ auto res = isl_space_domain_is_wrapping(get()); return manage(res); } -isl::space space::domain_map() const { +isl::space space::domain_map() const +{ auto res = isl_space_domain_map(copy()); return manage(res); } -isl::space space::domain_product(isl::space right) const { +isl::space space::domain_product(isl::space right) const +{ auto res = isl_space_domain_product(copy(), right.release()); return manage(res); } -isl::space space::drop_dims(isl::dim type, unsigned int first, unsigned int num) const { +isl::space space::drop_dims(isl::dim type, unsigned int first, unsigned int num) const +{ auto res = isl_space_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, num); return manage(res); } -isl::space space::factor_domain() const { +isl::space space::factor_domain() const +{ auto res = isl_space_factor_domain(copy()); return manage(res); } -isl::space space::factor_range() const { +isl::space space::factor_range() const +{ auto res = isl_space_factor_range(copy()); return manage(res); } -int space::find_dim_by_id(isl::dim type, const isl::id &id) const { +int space::find_dim_by_id(isl::dim type, const isl::id &id) const +{ auto res = isl_space_find_dim_by_id(get(), static_cast<enum isl_dim_type>(type), id.get()); return res; } -int space::find_dim_by_name(isl::dim type, const std::string &name) const { +int space::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_space_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::space space::from_domain() const { +isl::space space::flatten_domain() const +{ + auto res = isl_space_flatten_domain(copy()); + return manage(res); +} + +isl::space space::flatten_range() const +{ + auto res = isl_space_flatten_range(copy()); + return manage(res); +} + +isl::space space::from_domain() const +{ auto res = isl_space_from_domain(copy()); return manage(res); } -isl::space space::from_range() const { +isl::space space::from_range() const +{ auto res = isl_space_from_range(copy()); return manage(res); } -isl::id space::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id space::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_space_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -std::string space::get_dim_name(isl::dim type, unsigned int pos) const { +std::string space::get_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_space_get_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); std::string tmp(res); return tmp; } -isl::id space::get_tuple_id(isl::dim type) const { +isl::id space::get_tuple_id(isl::dim type) const +{ auto res = isl_space_get_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -std::string space::get_tuple_name(isl::dim type) const { +std::string space::get_tuple_name(isl::dim type) const +{ auto res = isl_space_get_tuple_name(get(), static_cast<enum isl_dim_type>(type)); std::string tmp(res); return tmp; } -isl::boolean space::has_dim_id(isl::dim type, unsigned int pos) const { +isl::boolean space::has_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_space_has_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean space::has_dim_name(isl::dim type, unsigned int pos) const { +isl::boolean space::has_dim_name(isl::dim type, unsigned int pos) const +{ auto res = isl_space_has_dim_name(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -isl::boolean space::has_equal_params(const isl::space &space2) const { +isl::boolean space::has_equal_params(const isl::space &space2) const +{ auto res = isl_space_has_equal_params(get(), space2.get()); return manage(res); } -isl::boolean space::has_equal_tuples(const isl::space &space2) const { +isl::boolean space::has_equal_tuples(const isl::space &space2) const +{ auto res = isl_space_has_equal_tuples(get(), space2.get()); return manage(res); } -isl::boolean space::has_tuple_id(isl::dim type) const { +isl::boolean space::has_tuple_id(isl::dim type) const +{ auto res = isl_space_has_tuple_id(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::boolean space::has_tuple_name(isl::dim type) const { +isl::boolean space::has_tuple_name(isl::dim type) const +{ auto res = isl_space_has_tuple_name(get(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::space space::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const { +isl::space space::insert_dims(isl::dim type, unsigned int pos, unsigned int n) const +{ auto res = isl_space_insert_dims(copy(), static_cast<enum isl_dim_type>(type), pos, n); return manage(res); } -isl::boolean space::is_domain(const isl::space &space2) const { +isl::boolean space::is_domain(const isl::space &space2) const +{ auto res = isl_space_is_domain(get(), space2.get()); return manage(res); } -isl::boolean space::is_equal(const isl::space &space2) const { +isl::boolean space::is_equal(const isl::space &space2) const +{ auto res = isl_space_is_equal(get(), space2.get()); return manage(res); } -isl::boolean space::is_map() const { +isl::boolean space::is_map() const +{ auto res = isl_space_is_map(get()); return manage(res); } -isl::boolean space::is_params() const { +isl::boolean space::is_params() const +{ auto res = isl_space_is_params(get()); return manage(res); } -isl::boolean space::is_product() const { +isl::boolean space::is_product() const +{ auto res = isl_space_is_product(get()); return manage(res); } -isl::boolean space::is_range(const isl::space &space2) const { +isl::boolean space::is_range(const isl::space &space2) const +{ auto res = isl_space_is_range(get(), space2.get()); return manage(res); } -isl::boolean space::is_set() const { +isl::boolean space::is_set() const +{ auto res = isl_space_is_set(get()); return manage(res); } -isl::boolean space::is_wrapping() const { +isl::boolean space::is_wrapping() const +{ auto res = isl_space_is_wrapping(get()); return manage(res); } -isl::space space::join(isl::space right) const { +isl::space space::join(isl::space right) const +{ auto res = isl_space_join(copy(), right.release()); return manage(res); } -isl::space space::map_from_domain_and_range(isl::space range) const { +isl::space space::map_from_domain_and_range(isl::space range) const +{ auto res = isl_space_map_from_domain_and_range(copy(), range.release()); return manage(res); } -isl::space space::map_from_set() const { +isl::space space::map_from_set() const +{ auto res = isl_space_map_from_set(copy()); return manage(res); } -isl::space space::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const { +isl::space space::move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const +{ auto res = isl_space_move_dims(copy(), static_cast<enum isl_dim_type>(dst_type), dst_pos, static_cast<enum isl_dim_type>(src_type), src_pos, n); return manage(res); } -isl::space space::params() const { +isl::space space::params() const +{ auto res = isl_space_params(copy()); return manage(res); } -isl::space space::params_alloc(isl::ctx ctx, unsigned int nparam) { +isl::space space::params_alloc(isl::ctx ctx, unsigned int nparam) +{ auto res = isl_space_params_alloc(ctx.release(), nparam); return manage(res); } -isl::space space::product(isl::space right) const { +isl::space space::product(isl::space right) const +{ auto res = isl_space_product(copy(), right.release()); return manage(res); } -isl::space space::range() const { +isl::space space::range() const +{ auto res = isl_space_range(copy()); return manage(res); } -isl::space space::range_curry() const { +isl::space space::range_curry() const +{ auto res = isl_space_range_curry(copy()); return manage(res); } -isl::space space::range_factor_domain() const { +isl::space space::range_factor_domain() const +{ auto res = isl_space_range_factor_domain(copy()); return manage(res); } -isl::space space::range_factor_range() const { +isl::space space::range_factor_range() const +{ auto res = isl_space_range_factor_range(copy()); return manage(res); } -isl::boolean space::range_is_wrapping() const { +isl::boolean space::range_is_wrapping() const +{ auto res = isl_space_range_is_wrapping(get()); return manage(res); } -isl::space space::range_map() const { +isl::space space::range_map() const +{ auto res = isl_space_range_map(copy()); return manage(res); } -isl::space space::range_product(isl::space right) const { +isl::space space::range_product(isl::space right) const +{ auto res = isl_space_range_product(copy(), right.release()); return manage(res); } -isl::space space::reset_tuple_id(isl::dim type) const { +isl::space space::reset_tuple_id(isl::dim type) const +{ auto res = isl_space_reset_tuple_id(copy(), static_cast<enum isl_dim_type>(type)); return manage(res); } -isl::space space::reset_user() const { +isl::space space::reset_user() const +{ auto res = isl_space_reset_user(copy()); return manage(res); } -isl::space space::reverse() const { +isl::space space::reverse() const +{ auto res = isl_space_reverse(copy()); return manage(res); } -isl::space space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const { +isl::space space::set_dim_id(isl::dim type, unsigned int pos, isl::id id) const +{ auto res = isl_space_set_dim_id(copy(), static_cast<enum isl_dim_type>(type), pos, id.release()); return manage(res); } -isl::space space::set_from_params() const { +isl::space space::set_from_params() const +{ auto res = isl_space_set_from_params(copy()); return manage(res); } -isl::space space::set_tuple_id(isl::dim type, isl::id id) const { +isl::space space::set_tuple_id(isl::dim type, isl::id id) const +{ auto res = isl_space_set_tuple_id(copy(), static_cast<enum isl_dim_type>(type), id.release()); return manage(res); } -isl::space space::set_tuple_name(isl::dim type, const std::string &s) const { +isl::space space::set_tuple_name(isl::dim type, const std::string &s) const +{ auto res = isl_space_set_tuple_name(copy(), static_cast<enum isl_dim_type>(type), s.c_str()); return manage(res); } -isl::boolean space::tuple_is_equal(isl::dim type1, const isl::space &space2, isl::dim type2) const { +isl::boolean space::tuple_is_equal(isl::dim type1, const isl::space &space2, isl::dim type2) const +{ auto res = isl_space_tuple_is_equal(get(), static_cast<enum isl_dim_type>(type1), space2.get(), static_cast<enum isl_dim_type>(type2)); return manage(res); } -isl::space space::uncurry() const { +isl::space space::uncurry() const +{ auto res = isl_space_uncurry(copy()); return manage(res); } -isl::space space::unwrap() const { +isl::space space::unwrap() const +{ auto res = isl_space_unwrap(copy()); return manage(res); } -isl::space space::wrap() const { +isl::space space::wrap() const +{ auto res = isl_space_wrap(copy()); return manage(res); } -isl::space space::zip() const { +isl::space space::zip() const +{ auto res = isl_space_zip(copy()); return manage(res); } @@ -12999,7 +14685,8 @@ isl::term manage(__isl_take isl_term *ptr) { return term(ptr); } isl::term manage_copy(__isl_keep isl_term *ptr) { - return term(isl_term_copy(ptr)); + ptr = isl_term_copy(ptr); + return term(ptr); } isl::term give(__isl_take isl_term *ptr) { return manage(ptr); @@ -13010,7 +14697,9 @@ term::term() : ptr(nullptr) {} term::term(const isl::term &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} term::term(std::nullptr_t) : ptr(nullptr) {} @@ -13064,22 +14753,26 @@ isl::ctx term::get_ctx() const { } -unsigned int term::dim(isl::dim type) const { +unsigned int term::dim(isl::dim type) const +{ auto res = isl_term_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::val term::get_coefficient_val() const { +isl::val term::get_coefficient_val() const +{ auto res = isl_term_get_coefficient_val(get()); return manage(res); } -isl::aff term::get_div(unsigned int pos) const { +isl::aff term::get_div(unsigned int pos) const +{ auto res = isl_term_get_div(get(), pos); return manage(res); } -int term::get_exp(isl::dim type, unsigned int pos) const { +int term::get_exp(isl::dim type, unsigned int pos) const +{ auto res = isl_term_get_exp(get(), static_cast<enum isl_dim_type>(type), pos); return res; } @@ -13089,7 +14782,8 @@ isl::union_access_info manage(__isl_take isl_union_access_info *ptr) { return union_access_info(ptr); } isl::union_access_info manage_copy(__isl_keep isl_union_access_info *ptr) { - return union_access_info(isl_union_access_info_copy(ptr)); + ptr = isl_union_access_info_copy(ptr); + return union_access_info(ptr); } isl::union_access_info give(__isl_take isl_union_access_info *ptr) { return manage(ptr); @@ -13100,7 +14794,9 @@ union_access_info::union_access_info() : ptr(nullptr) {} union_access_info::union_access_info(const isl::union_access_info &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_access_info::union_access_info(std::nullptr_t) : ptr(nullptr) {} @@ -13108,7 +14804,8 @@ union_access_info::union_access_info(std::nullptr_t) union_access_info::union_access_info(__isl_take isl_union_access_info *ptr) : ptr(ptr) {} -union_access_info::union_access_info(isl::union_map sink) { +union_access_info::union_access_info(isl::union_map sink) +{ auto res = isl_union_access_info_from_sink(sink.release()); ptr = res; } @@ -13167,32 +14864,38 @@ std::string union_access_info::to_str() const { -isl::union_flow union_access_info::compute_flow() const { +isl::union_flow union_access_info::compute_flow() const +{ auto res = isl_union_access_info_compute_flow(copy()); return manage(res); } -isl::union_access_info union_access_info::set_kill(isl::union_map kill) const { +isl::union_access_info union_access_info::set_kill(isl::union_map kill) const +{ auto res = isl_union_access_info_set_kill(copy(), kill.release()); return manage(res); } -isl::union_access_info union_access_info::set_may_source(isl::union_map may_source) const { +isl::union_access_info union_access_info::set_may_source(isl::union_map may_source) const +{ auto res = isl_union_access_info_set_may_source(copy(), may_source.release()); return manage(res); } -isl::union_access_info union_access_info::set_must_source(isl::union_map must_source) const { +isl::union_access_info union_access_info::set_must_source(isl::union_map must_source) const +{ auto res = isl_union_access_info_set_must_source(copy(), must_source.release()); return manage(res); } -isl::union_access_info union_access_info::set_schedule(isl::schedule schedule) const { +isl::union_access_info union_access_info::set_schedule(isl::schedule schedule) const +{ auto res = isl_union_access_info_set_schedule(copy(), schedule.release()); return manage(res); } -isl::union_access_info union_access_info::set_schedule_map(isl::union_map schedule_map) const { +isl::union_access_info union_access_info::set_schedule_map(isl::union_map schedule_map) const +{ auto res = isl_union_access_info_set_schedule_map(copy(), schedule_map.release()); return manage(res); } @@ -13202,7 +14905,8 @@ isl::union_flow manage(__isl_take isl_union_flow *ptr) { return union_flow(ptr); } isl::union_flow manage_copy(__isl_keep isl_union_flow *ptr) { - return union_flow(isl_union_flow_copy(ptr)); + ptr = isl_union_flow_copy(ptr); + return union_flow(ptr); } isl::union_flow give(__isl_take isl_union_flow *ptr) { return manage(ptr); @@ -13213,7 +14917,9 @@ union_flow::union_flow() : ptr(nullptr) {} union_flow::union_flow(const isl::union_flow &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_flow::union_flow(std::nullptr_t) : ptr(nullptr) {} @@ -13276,32 +14982,38 @@ std::string union_flow::to_str() const { -isl::union_map union_flow::get_full_may_dependence() const { +isl::union_map union_flow::get_full_may_dependence() const +{ auto res = isl_union_flow_get_full_may_dependence(get()); return manage(res); } -isl::union_map union_flow::get_full_must_dependence() const { +isl::union_map union_flow::get_full_must_dependence() const +{ auto res = isl_union_flow_get_full_must_dependence(get()); return manage(res); } -isl::union_map union_flow::get_may_dependence() const { +isl::union_map union_flow::get_may_dependence() const +{ auto res = isl_union_flow_get_may_dependence(get()); return manage(res); } -isl::union_map union_flow::get_may_no_source() const { +isl::union_map union_flow::get_may_no_source() const +{ auto res = isl_union_flow_get_may_no_source(get()); return manage(res); } -isl::union_map union_flow::get_must_dependence() const { +isl::union_map union_flow::get_must_dependence() const +{ auto res = isl_union_flow_get_must_dependence(get()); return manage(res); } -isl::union_map union_flow::get_must_no_source() const { +isl::union_map union_flow::get_must_no_source() const +{ auto res = isl_union_flow_get_must_no_source(get()); return manage(res); } @@ -13311,7 +15023,8 @@ isl::union_map manage(__isl_take isl_union_map *ptr) { return union_map(ptr); } isl::union_map manage_copy(__isl_keep isl_union_map *ptr) { - return union_map(isl_union_map_copy(ptr)); + ptr = isl_union_map_copy(ptr); + return union_map(ptr); } isl::union_map give(__isl_take isl_union_map *ptr) { return manage(ptr); @@ -13322,7 +15035,9 @@ union_map::union_map() : ptr(nullptr) {} union_map::union_map(const isl::union_map &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_map::union_map(std::nullptr_t) : ptr(nullptr) {} @@ -13330,22 +15045,26 @@ union_map::union_map(std::nullptr_t) union_map::union_map(__isl_take isl_union_map *ptr) : ptr(ptr) {} -union_map::union_map(isl::ctx ctx, const std::string &str) { - auto res = isl_union_map_read_from_str(ctx.release(), str.c_str()); - ptr = res; -} -union_map::union_map(isl::union_pw_aff upa) { +union_map::union_map(isl::union_pw_aff upa) +{ auto res = isl_union_map_from_union_pw_aff(upa.release()); ptr = res; } -union_map::union_map(isl::basic_map bmap) { +union_map::union_map(isl::basic_map bmap) +{ auto res = isl_union_map_from_basic_map(bmap.release()); ptr = res; } -union_map::union_map(isl::map map) { +union_map::union_map(isl::map map) +{ auto res = isl_union_map_from_map(map.release()); ptr = res; } +union_map::union_map(isl::ctx ctx, const std::string &str) +{ + auto res = isl_union_map_read_from_str(ctx.release(), str.c_str()); + ptr = res; +} union_map &union_map::operator=(isl::union_map obj) { std::swap(this->ptr, obj.ptr); @@ -13405,483 +15124,598 @@ void union_map::dump() const { } -isl::union_map union_map::add_map(isl::map map) const { +isl::union_map union_map::add_map(isl::map map) const +{ auto res = isl_union_map_add_map(copy(), map.release()); return manage(res); } -isl::union_map union_map::affine_hull() const { +isl::union_map union_map::affine_hull() const +{ auto res = isl_union_map_affine_hull(copy()); return manage(res); } -isl::union_map union_map::align_params(isl::space model) const { +isl::union_map union_map::align_params(isl::space model) const +{ auto res = isl_union_map_align_params(copy(), model.release()); return manage(res); } -isl::union_map union_map::apply_domain(isl::union_map umap2) const { +isl::union_map union_map::apply_domain(isl::union_map umap2) const +{ auto res = isl_union_map_apply_domain(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::apply_range(isl::union_map umap2) const { +isl::union_map union_map::apply_range(isl::union_map umap2) const +{ auto res = isl_union_map_apply_range(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::coalesce() const { +isl::union_map union_map::coalesce() const +{ auto res = isl_union_map_coalesce(copy()); return manage(res); } -isl::boolean union_map::contains(const isl::space &space) const { +isl::boolean union_map::contains(const isl::space &space) const +{ auto res = isl_union_map_contains(get(), space.get()); return manage(res); } -isl::union_map union_map::curry() const { +isl::union_map union_map::curry() const +{ auto res = isl_union_map_curry(copy()); return manage(res); } -isl::union_set union_map::deltas() const { +isl::union_set union_map::deltas() const +{ auto res = isl_union_map_deltas(copy()); return manage(res); } -isl::union_map union_map::deltas_map() const { +isl::union_map union_map::deltas_map() const +{ auto res = isl_union_map_deltas_map(copy()); return manage(res); } -isl::union_map union_map::detect_equalities() const { +isl::union_map union_map::detect_equalities() const +{ auto res = isl_union_map_detect_equalities(copy()); return manage(res); } -unsigned int union_map::dim(isl::dim type) const { +unsigned int union_map::dim(isl::dim type) const +{ auto res = isl_union_map_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set union_map::domain() const { +isl::union_set union_map::domain() const +{ auto res = isl_union_map_domain(copy()); return manage(res); } -isl::union_map union_map::domain_factor_domain() const { +isl::union_map union_map::domain_factor_domain() const +{ auto res = isl_union_map_domain_factor_domain(copy()); return manage(res); } -isl::union_map union_map::domain_factor_range() const { +isl::union_map union_map::domain_factor_range() const +{ auto res = isl_union_map_domain_factor_range(copy()); return manage(res); } -isl::union_map union_map::domain_map() const { +isl::union_map union_map::domain_map() const +{ auto res = isl_union_map_domain_map(copy()); return manage(res); } -isl::union_pw_multi_aff union_map::domain_map_union_pw_multi_aff() const { +isl::union_pw_multi_aff union_map::domain_map_union_pw_multi_aff() const +{ auto res = isl_union_map_domain_map_union_pw_multi_aff(copy()); return manage(res); } -isl::union_map union_map::domain_product(isl::union_map umap2) const { +isl::union_map union_map::domain_product(isl::union_map umap2) const +{ auto res = isl_union_map_domain_product(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::empty(isl::space space) { +isl::union_map union_map::empty(isl::space space) +{ auto res = isl_union_map_empty(space.release()); return manage(res); } -isl::union_map union_map::eq_at(isl::multi_union_pw_aff mupa) const { +isl::union_map union_map::eq_at(isl::multi_union_pw_aff mupa) const +{ auto res = isl_union_map_eq_at_multi_union_pw_aff(copy(), mupa.release()); return manage(res); } -isl::map union_map::extract_map(isl::space dim) const { +isl::map union_map::extract_map(isl::space dim) const +{ auto res = isl_union_map_extract_map(get(), dim.release()); return manage(res); } -isl::union_map union_map::factor_domain() const { +isl::union_map union_map::factor_domain() const +{ auto res = isl_union_map_factor_domain(copy()); return manage(res); } -isl::union_map union_map::factor_range() const { +isl::union_map union_map::factor_range() const +{ auto res = isl_union_map_factor_range(copy()); return manage(res); } -int union_map::find_dim_by_name(isl::dim type, const std::string &name) const { +int union_map::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_union_map_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::union_map union_map::fixed_power(isl::val exp) const { +isl::union_map union_map::fixed_power(isl::val exp) const +{ auto res = isl_union_map_fixed_power_val(copy(), exp.release()); return manage(res); } -isl::union_map union_map::flat_domain_product(isl::union_map umap2) const { +isl::union_map union_map::flat_domain_product(isl::union_map umap2) const +{ auto res = isl_union_map_flat_domain_product(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::flat_range_product(isl::union_map umap2) const { +isl::union_map union_map::flat_range_product(isl::union_map umap2) const +{ auto res = isl_union_map_flat_range_product(copy(), umap2.release()); return manage(res); } -isl::stat union_map::foreach_map(const std::function<isl::stat(isl::map)> &fn) const { - auto fn_p = &fn; +isl::stat union_map::foreach_map(const std::function<isl::stat(isl::map)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::map)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_map *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::map)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_map_foreach_map(get(), fn_lambda, &fn_p); + auto res = isl_union_map_foreach_map(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::union_map union_map::from(isl::union_pw_multi_aff upma) { +isl::union_map union_map::from(isl::union_pw_multi_aff upma) +{ auto res = isl_union_map_from_union_pw_multi_aff(upma.release()); return manage(res); } -isl::union_map union_map::from(isl::multi_union_pw_aff mupa) { +isl::union_map union_map::from(isl::multi_union_pw_aff mupa) +{ auto res = isl_union_map_from_multi_union_pw_aff(mupa.release()); return manage(res); } -isl::union_map union_map::from_domain(isl::union_set uset) { +isl::union_map union_map::from_domain(isl::union_set uset) +{ auto res = isl_union_map_from_domain(uset.release()); return manage(res); } -isl::union_map union_map::from_domain_and_range(isl::union_set domain, isl::union_set range) { +isl::union_map union_map::from_domain_and_range(isl::union_set domain, isl::union_set range) +{ auto res = isl_union_map_from_domain_and_range(domain.release(), range.release()); return manage(res); } -isl::union_map union_map::from_range(isl::union_set uset) { +isl::union_map union_map::from_range(isl::union_set uset) +{ auto res = isl_union_map_from_range(uset.release()); return manage(res); } -isl::id union_map::get_dim_id(isl::dim type, unsigned int pos) const { +isl::id union_map::get_dim_id(isl::dim type, unsigned int pos) const +{ auto res = isl_union_map_get_dim_id(get(), static_cast<enum isl_dim_type>(type), pos); return manage(res); } -uint32_t union_map::get_hash() const { +uint32_t union_map::get_hash() const +{ auto res = isl_union_map_get_hash(get()); return res; } -isl::space union_map::get_space() const { +isl::space union_map::get_space() const +{ auto res = isl_union_map_get_space(get()); return manage(res); } -isl::union_map union_map::gist(isl::union_map context) const { +isl::union_map union_map::gist(isl::union_map context) const +{ auto res = isl_union_map_gist(copy(), context.release()); return manage(res); } -isl::union_map union_map::gist_domain(isl::union_set uset) const { +isl::union_map union_map::gist_domain(isl::union_set uset) const +{ auto res = isl_union_map_gist_domain(copy(), uset.release()); return manage(res); } -isl::union_map union_map::gist_params(isl::set set) const { +isl::union_map union_map::gist_params(isl::set set) const +{ auto res = isl_union_map_gist_params(copy(), set.release()); return manage(res); } -isl::union_map union_map::gist_range(isl::union_set uset) const { +isl::union_map union_map::gist_range(isl::union_set uset) const +{ auto res = isl_union_map_gist_range(copy(), uset.release()); return manage(res); } -isl::union_map union_map::intersect(isl::union_map umap2) const { +isl::union_map union_map::intersect(isl::union_map umap2) const +{ auto res = isl_union_map_intersect(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::intersect_domain(isl::union_set uset) const { +isl::union_map union_map::intersect_domain(isl::union_set uset) const +{ auto res = isl_union_map_intersect_domain(copy(), uset.release()); return manage(res); } -isl::union_map union_map::intersect_params(isl::set set) const { +isl::union_map union_map::intersect_params(isl::set set) const +{ auto res = isl_union_map_intersect_params(copy(), set.release()); return manage(res); } -isl::union_map union_map::intersect_range(isl::union_set uset) const { +isl::union_map union_map::intersect_range(isl::union_set uset) const +{ auto res = isl_union_map_intersect_range(copy(), uset.release()); return manage(res); } -isl::union_map union_map::intersect_range_factor_range(isl::union_map factor) const { +isl::union_map union_map::intersect_range_factor_range(isl::union_map factor) const +{ auto res = isl_union_map_intersect_range_factor_range(copy(), factor.release()); return manage(res); } -isl::boolean union_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::boolean union_map::involves_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_map_involves_dims(get(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::boolean union_map::is_bijective() const { +isl::boolean union_map::is_bijective() const +{ auto res = isl_union_map_is_bijective(get()); return manage(res); } -isl::boolean union_map::is_disjoint(const isl::union_map &umap2) const { +isl::boolean union_map::is_disjoint(const isl::union_map &umap2) const +{ auto res = isl_union_map_is_disjoint(get(), umap2.get()); return manage(res); } -isl::boolean union_map::is_empty() const { +isl::boolean union_map::is_empty() const +{ auto res = isl_union_map_is_empty(get()); return manage(res); } -isl::boolean union_map::is_equal(const isl::union_map &umap2) const { +isl::boolean union_map::is_equal(const isl::union_map &umap2) const +{ auto res = isl_union_map_is_equal(get(), umap2.get()); return manage(res); } -isl::boolean union_map::is_identity() const { +isl::boolean union_map::is_identity() const +{ auto res = isl_union_map_is_identity(get()); return manage(res); } -isl::boolean union_map::is_injective() const { +isl::boolean union_map::is_injective() const +{ auto res = isl_union_map_is_injective(get()); return manage(res); } -isl::boolean union_map::is_single_valued() const { +isl::boolean union_map::is_single_valued() const +{ auto res = isl_union_map_is_single_valued(get()); return manage(res); } -isl::boolean union_map::is_strict_subset(const isl::union_map &umap2) const { +isl::boolean union_map::is_strict_subset(const isl::union_map &umap2) const +{ auto res = isl_union_map_is_strict_subset(get(), umap2.get()); return manage(res); } -isl::boolean union_map::is_subset(const isl::union_map &umap2) const { +isl::boolean union_map::is_subset(const isl::union_map &umap2) const +{ auto res = isl_union_map_is_subset(get(), umap2.get()); return manage(res); } -isl::union_map union_map::lex_ge_union_map(isl::union_map umap2) const { +isl::union_map union_map::lex_ge_union_map(isl::union_map umap2) const +{ auto res = isl_union_map_lex_ge_union_map(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::lex_gt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const { +isl::union_map union_map::lex_gt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const +{ auto res = isl_union_map_lex_gt_at_multi_union_pw_aff(copy(), mupa.release()); return manage(res); } -isl::union_map union_map::lex_gt_union_map(isl::union_map umap2) const { +isl::union_map union_map::lex_gt_union_map(isl::union_map umap2) const +{ auto res = isl_union_map_lex_gt_union_map(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::lex_le_union_map(isl::union_map umap2) const { +isl::union_map union_map::lex_le_union_map(isl::union_map umap2) const +{ auto res = isl_union_map_lex_le_union_map(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::lex_lt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const { +isl::union_map union_map::lex_lt_at_multi_union_pw_aff(isl::multi_union_pw_aff mupa) const +{ auto res = isl_union_map_lex_lt_at_multi_union_pw_aff(copy(), mupa.release()); return manage(res); } -isl::union_map union_map::lex_lt_union_map(isl::union_map umap2) const { +isl::union_map union_map::lex_lt_union_map(isl::union_map umap2) const +{ auto res = isl_union_map_lex_lt_union_map(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::lexmax() const { +isl::union_map union_map::lexmax() const +{ auto res = isl_union_map_lexmax(copy()); return manage(res); } -isl::union_map union_map::lexmin() const { +isl::union_map union_map::lexmin() const +{ auto res = isl_union_map_lexmin(copy()); return manage(res); } -isl::set union_map::params() const { +int union_map::n_map() const +{ + auto res = isl_union_map_n_map(get()); + return res; +} + +isl::set union_map::params() const +{ auto res = isl_union_map_params(copy()); return manage(res); } -isl::boolean union_map::plain_is_injective() const { +isl::boolean union_map::plain_is_empty() const +{ + auto res = isl_union_map_plain_is_empty(get()); + return manage(res); +} + +isl::boolean union_map::plain_is_injective() const +{ auto res = isl_union_map_plain_is_injective(get()); return manage(res); } -isl::union_map union_map::polyhedral_hull() const { +isl::union_map union_map::polyhedral_hull() const +{ auto res = isl_union_map_polyhedral_hull(copy()); return manage(res); } -isl::union_map union_map::preimage_domain_multi_aff(isl::multi_aff ma) const { +isl::union_map union_map::preimage_domain_multi_aff(isl::multi_aff ma) const +{ auto res = isl_union_map_preimage_domain_multi_aff(copy(), ma.release()); return manage(res); } -isl::union_map union_map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const { +isl::union_map union_map::preimage_domain_multi_pw_aff(isl::multi_pw_aff mpa) const +{ auto res = isl_union_map_preimage_domain_multi_pw_aff(copy(), mpa.release()); return manage(res); } -isl::union_map union_map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::union_map union_map::preimage_domain_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_union_map_preimage_domain_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::union_map union_map::preimage_domain_union_pw_multi_aff(isl::union_pw_multi_aff upma) const { +isl::union_map union_map::preimage_domain_union_pw_multi_aff(isl::union_pw_multi_aff upma) const +{ auto res = isl_union_map_preimage_domain_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::union_map union_map::preimage_range_multi_aff(isl::multi_aff ma) const { +isl::union_map union_map::preimage_range_multi_aff(isl::multi_aff ma) const +{ auto res = isl_union_map_preimage_range_multi_aff(copy(), ma.release()); return manage(res); } -isl::union_map union_map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::union_map union_map::preimage_range_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_union_map_preimage_range_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::union_map union_map::preimage_range_union_pw_multi_aff(isl::union_pw_multi_aff upma) const { +isl::union_map union_map::preimage_range_union_pw_multi_aff(isl::union_pw_multi_aff upma) const +{ auto res = isl_union_map_preimage_range_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::union_map union_map::product(isl::union_map umap2) const { +isl::union_map union_map::product(isl::union_map umap2) const +{ auto res = isl_union_map_product(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::union_map union_map::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_map_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::union_set union_map::range() const { +isl::union_map union_map::project_out_all_params() const +{ + auto res = isl_union_map_project_out_all_params(copy()); + return manage(res); +} + +isl::union_set union_map::range() const +{ auto res = isl_union_map_range(copy()); return manage(res); } -isl::union_map union_map::range_curry() const { +isl::union_map union_map::range_curry() const +{ auto res = isl_union_map_range_curry(copy()); return manage(res); } -isl::union_map union_map::range_factor_domain() const { +isl::union_map union_map::range_factor_domain() const +{ auto res = isl_union_map_range_factor_domain(copy()); return manage(res); } -isl::union_map union_map::range_factor_range() const { +isl::union_map union_map::range_factor_range() const +{ auto res = isl_union_map_range_factor_range(copy()); return manage(res); } -isl::union_map union_map::range_map() const { +isl::union_map union_map::range_map() const +{ auto res = isl_union_map_range_map(copy()); return manage(res); } -isl::union_map union_map::range_product(isl::union_map umap2) const { +isl::union_map union_map::range_product(isl::union_map umap2) const +{ auto res = isl_union_map_range_product(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::remove_divs() const { +isl::union_map union_map::remove_divs() const +{ auto res = isl_union_map_remove_divs(copy()); return manage(res); } -isl::union_map union_map::remove_redundancies() const { +isl::union_map union_map::remove_redundancies() const +{ auto res = isl_union_map_remove_redundancies(copy()); return manage(res); } -isl::union_map union_map::reset_user() const { +isl::union_map union_map::reset_user() const +{ auto res = isl_union_map_reset_user(copy()); return manage(res); } -isl::union_map union_map::reverse() const { +isl::union_map union_map::reverse() const +{ auto res = isl_union_map_reverse(copy()); return manage(res); } -isl::basic_map union_map::sample() const { +isl::basic_map union_map::sample() const +{ auto res = isl_union_map_sample(copy()); return manage(res); } -isl::union_map union_map::simple_hull() const { +isl::union_map union_map::simple_hull() const +{ auto res = isl_union_map_simple_hull(copy()); return manage(res); } -isl::union_map union_map::subtract(isl::union_map umap2) const { +isl::union_map union_map::subtract(isl::union_map umap2) const +{ auto res = isl_union_map_subtract(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::subtract_domain(isl::union_set dom) const { +isl::union_map union_map::subtract_domain(isl::union_set dom) const +{ auto res = isl_union_map_subtract_domain(copy(), dom.release()); return manage(res); } -isl::union_map union_map::subtract_range(isl::union_set dom) const { +isl::union_map union_map::subtract_range(isl::union_set dom) const +{ auto res = isl_union_map_subtract_range(copy(), dom.release()); return manage(res); } -isl::union_map union_map::uncurry() const { +isl::union_map union_map::uncurry() const +{ auto res = isl_union_map_uncurry(copy()); return manage(res); } -isl::union_map union_map::unite(isl::union_map umap2) const { +isl::union_map union_map::unite(isl::union_map umap2) const +{ auto res = isl_union_map_union(copy(), umap2.release()); return manage(res); } -isl::union_map union_map::universe() const { +isl::union_map union_map::universe() const +{ auto res = isl_union_map_universe(copy()); return manage(res); } -isl::union_set union_map::wrap() const { +isl::union_set union_map::wrap() const +{ auto res = isl_union_map_wrap(copy()); return manage(res); } -isl::union_map union_map::zip() const { +isl::union_map union_map::zip() const +{ auto res = isl_union_map_zip(copy()); return manage(res); } @@ -13891,7 +15725,8 @@ isl::union_map_list manage(__isl_take isl_union_map_list *ptr) { return union_map_list(ptr); } isl::union_map_list manage_copy(__isl_keep isl_union_map_list *ptr) { - return union_map_list(isl_union_map_list_copy(ptr)); + ptr = isl_union_map_list_copy(ptr); + return union_map_list(ptr); } isl::union_map_list give(__isl_take isl_union_map_list *ptr) { return manage(ptr); @@ -13902,7 +15737,9 @@ union_map_list::union_map_list() : ptr(nullptr) {} union_map_list::union_map_list(const isl::union_map_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_map_list::union_map_list(std::nullptr_t) : ptr(nullptr) {} @@ -13966,7 +15803,8 @@ isl::union_pw_aff manage(__isl_take isl_union_pw_aff *ptr) { return union_pw_aff(ptr); } isl::union_pw_aff manage_copy(__isl_keep isl_union_pw_aff *ptr) { - return union_pw_aff(isl_union_pw_aff_copy(ptr)); + ptr = isl_union_pw_aff_copy(ptr); + return union_pw_aff(ptr); } isl::union_pw_aff give(__isl_take isl_union_pw_aff *ptr) { return manage(ptr); @@ -13977,7 +15815,9 @@ union_pw_aff::union_pw_aff() : ptr(nullptr) {} union_pw_aff::union_pw_aff(const isl::union_pw_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_pw_aff::union_pw_aff(std::nullptr_t) : ptr(nullptr) {} @@ -13985,15 +15825,18 @@ union_pw_aff::union_pw_aff(std::nullptr_t) union_pw_aff::union_pw_aff(__isl_take isl_union_pw_aff *ptr) : ptr(ptr) {} -union_pw_aff::union_pw_aff(isl::pw_aff pa) { +union_pw_aff::union_pw_aff(isl::pw_aff pa) +{ auto res = isl_union_pw_aff_from_pw_aff(pa.release()); ptr = res; } -union_pw_aff::union_pw_aff(isl::union_set domain, isl::val v) { +union_pw_aff::union_pw_aff(isl::union_set domain, isl::val v) +{ auto res = isl_union_pw_aff_val_on_domain(domain.release(), v.release()); ptr = res; } -union_pw_aff::union_pw_aff(isl::ctx ctx, const std::string &str) { +union_pw_aff::union_pw_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_union_pw_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -14056,158 +15899,208 @@ void union_pw_aff::dump() const { } -isl::union_pw_aff union_pw_aff::add(isl::union_pw_aff upa2) const { +isl::union_pw_aff union_pw_aff::add(isl::union_pw_aff upa2) const +{ auto res = isl_union_pw_aff_add(copy(), upa2.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::add_pw_aff(isl::pw_aff pa) const { +isl::union_pw_aff union_pw_aff::add_pw_aff(isl::pw_aff pa) const +{ auto res = isl_union_pw_aff_add_pw_aff(copy(), pa.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::aff_on_domain(isl::union_set domain, isl::aff aff) { +isl::union_pw_aff union_pw_aff::aff_on_domain(isl::union_set domain, isl::aff aff) +{ auto res = isl_union_pw_aff_aff_on_domain(domain.release(), aff.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::align_params(isl::space model) const { +isl::union_pw_aff union_pw_aff::align_params(isl::space model) const +{ auto res = isl_union_pw_aff_align_params(copy(), model.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::coalesce() const { +isl::union_pw_aff union_pw_aff::coalesce() const +{ auto res = isl_union_pw_aff_coalesce(copy()); return manage(res); } -unsigned int union_pw_aff::dim(isl::dim type) const { +unsigned int union_pw_aff::dim(isl::dim type) const +{ auto res = isl_union_pw_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set union_pw_aff::domain() const { +isl::union_set union_pw_aff::domain() const +{ auto res = isl_union_pw_aff_domain(copy()); return manage(res); } -isl::union_pw_aff union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::union_pw_aff union_pw_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_pw_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::union_pw_aff union_pw_aff::empty(isl::space space) { +isl::union_pw_aff union_pw_aff::empty(isl::space space) +{ auto res = isl_union_pw_aff_empty(space.release()); return manage(res); } -isl::pw_aff union_pw_aff::extract_pw_aff(isl::space space) const { +isl::pw_aff union_pw_aff::extract_pw_aff(isl::space space) const +{ auto res = isl_union_pw_aff_extract_pw_aff(get(), space.release()); return manage(res); } -int union_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int union_pw_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_union_pw_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::union_pw_aff union_pw_aff::floor() const { +isl::union_pw_aff union_pw_aff::floor() const +{ auto res = isl_union_pw_aff_floor(copy()); return manage(res); } -isl::stat union_pw_aff::foreach_pw_aff(const std::function<isl::stat(isl::pw_aff)> &fn) const { - auto fn_p = &fn; +isl::stat union_pw_aff::foreach_pw_aff(const std::function<isl::stat(isl::pw_aff)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::pw_aff)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_pw_aff *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::pw_aff)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_pw_aff_foreach_pw_aff(get(), fn_lambda, &fn_p); + auto res = isl_union_pw_aff_foreach_pw_aff(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::space union_pw_aff::get_space() const { +isl::space union_pw_aff::get_space() const +{ auto res = isl_union_pw_aff_get_space(get()); return manage(res); } -isl::union_pw_aff union_pw_aff::gist(isl::union_set context) const { +isl::union_pw_aff union_pw_aff::gist(isl::union_set context) const +{ auto res = isl_union_pw_aff_gist(copy(), context.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::gist_params(isl::set context) const { +isl::union_pw_aff union_pw_aff::gist_params(isl::set context) const +{ auto res = isl_union_pw_aff_gist_params(copy(), context.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::intersect_domain(isl::union_set uset) const { +isl::union_pw_aff union_pw_aff::intersect_domain(isl::union_set uset) const +{ auto res = isl_union_pw_aff_intersect_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::intersect_params(isl::set set) const { +isl::union_pw_aff union_pw_aff::intersect_params(isl::set set) const +{ auto res = isl_union_pw_aff_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean union_pw_aff::involves_nan() const { +isl::boolean union_pw_aff::involves_nan() const +{ auto res = isl_union_pw_aff_involves_nan(get()); return manage(res); } -isl::union_pw_aff union_pw_aff::mod_val(isl::val f) const { +isl::union_pw_aff union_pw_aff::mod_val(isl::val f) const +{ auto res = isl_union_pw_aff_mod_val(copy(), f.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::neg() const { +int union_pw_aff::n_pw_aff() const +{ + auto res = isl_union_pw_aff_n_pw_aff(get()); + return res; +} + +isl::union_pw_aff union_pw_aff::neg() const +{ auto res = isl_union_pw_aff_neg(copy()); return manage(res); } -isl::boolean union_pw_aff::plain_is_equal(const isl::union_pw_aff &upa2) const { +isl::union_pw_aff union_pw_aff::param_on_domain_id(isl::union_set domain, isl::id id) +{ + auto res = isl_union_pw_aff_param_on_domain_id(domain.release(), id.release()); + return manage(res); +} + +isl::boolean union_pw_aff::plain_is_equal(const isl::union_pw_aff &upa2) const +{ auto res = isl_union_pw_aff_plain_is_equal(get(), upa2.get()); return manage(res); } -isl::union_pw_aff union_pw_aff::pullback(isl::union_pw_multi_aff upma) const { +isl::union_pw_aff union_pw_aff::pullback(isl::union_pw_multi_aff upma) const +{ auto res = isl_union_pw_aff_pullback_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::reset_user() const { +isl::union_pw_aff union_pw_aff::pw_aff_on_domain(isl::union_set domain, isl::pw_aff pa) +{ + auto res = isl_union_pw_aff_pw_aff_on_domain(domain.release(), pa.release()); + return manage(res); +} + +isl::union_pw_aff union_pw_aff::reset_user() const +{ auto res = isl_union_pw_aff_reset_user(copy()); return manage(res); } -isl::union_pw_aff union_pw_aff::scale_down_val(isl::val v) const { +isl::union_pw_aff union_pw_aff::scale_down_val(isl::val v) const +{ auto res = isl_union_pw_aff_scale_down_val(copy(), v.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::scale_val(isl::val v) const { +isl::union_pw_aff union_pw_aff::scale_val(isl::val v) const +{ auto res = isl_union_pw_aff_scale_val(copy(), v.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::sub(isl::union_pw_aff upa2) const { +isl::union_pw_aff union_pw_aff::sub(isl::union_pw_aff upa2) const +{ auto res = isl_union_pw_aff_sub(copy(), upa2.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::subtract_domain(isl::union_set uset) const { +isl::union_pw_aff union_pw_aff::subtract_domain(isl::union_set uset) const +{ auto res = isl_union_pw_aff_subtract_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_aff union_pw_aff::union_add(isl::union_pw_aff upa2) const { +isl::union_pw_aff union_pw_aff::union_add(isl::union_pw_aff upa2) const +{ auto res = isl_union_pw_aff_union_add(copy(), upa2.release()); return manage(res); } -isl::union_set union_pw_aff::zero_union_set() const { +isl::union_set union_pw_aff::zero_union_set() const +{ auto res = isl_union_pw_aff_zero_union_set(copy()); return manage(res); } @@ -14217,7 +16110,8 @@ isl::union_pw_aff_list manage(__isl_take isl_union_pw_aff_list *ptr) { return union_pw_aff_list(ptr); } isl::union_pw_aff_list manage_copy(__isl_keep isl_union_pw_aff_list *ptr) { - return union_pw_aff_list(isl_union_pw_aff_list_copy(ptr)); + ptr = isl_union_pw_aff_list_copy(ptr); + return union_pw_aff_list(ptr); } isl::union_pw_aff_list give(__isl_take isl_union_pw_aff_list *ptr) { return manage(ptr); @@ -14228,7 +16122,9 @@ union_pw_aff_list::union_pw_aff_list() : ptr(nullptr) {} union_pw_aff_list::union_pw_aff_list(const isl::union_pw_aff_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_pw_aff_list::union_pw_aff_list(std::nullptr_t) : ptr(nullptr) {} @@ -14292,7 +16188,8 @@ isl::union_pw_multi_aff manage(__isl_take isl_union_pw_multi_aff *ptr) { return union_pw_multi_aff(ptr); } isl::union_pw_multi_aff manage_copy(__isl_keep isl_union_pw_multi_aff *ptr) { - return union_pw_multi_aff(isl_union_pw_multi_aff_copy(ptr)); + ptr = isl_union_pw_multi_aff_copy(ptr); + return union_pw_multi_aff(ptr); } isl::union_pw_multi_aff give(__isl_take isl_union_pw_multi_aff *ptr) { return manage(ptr); @@ -14303,7 +16200,9 @@ union_pw_multi_aff::union_pw_multi_aff() : ptr(nullptr) {} union_pw_multi_aff::union_pw_multi_aff(const isl::union_pw_multi_aff &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_pw_multi_aff::union_pw_multi_aff(std::nullptr_t) : ptr(nullptr) {} @@ -14311,23 +16210,28 @@ union_pw_multi_aff::union_pw_multi_aff(std::nullptr_t) union_pw_multi_aff::union_pw_multi_aff(__isl_take isl_union_pw_multi_aff *ptr) : ptr(ptr) {} -union_pw_multi_aff::union_pw_multi_aff(isl::pw_multi_aff pma) { +union_pw_multi_aff::union_pw_multi_aff(isl::pw_multi_aff pma) +{ auto res = isl_union_pw_multi_aff_from_pw_multi_aff(pma.release()); ptr = res; } -union_pw_multi_aff::union_pw_multi_aff(isl::union_set uset) { +union_pw_multi_aff::union_pw_multi_aff(isl::union_set uset) +{ auto res = isl_union_pw_multi_aff_from_domain(uset.release()); ptr = res; } -union_pw_multi_aff::union_pw_multi_aff(isl::union_map umap) { +union_pw_multi_aff::union_pw_multi_aff(isl::union_map umap) +{ auto res = isl_union_pw_multi_aff_from_union_map(umap.release()); ptr = res; } -union_pw_multi_aff::union_pw_multi_aff(isl::ctx ctx, const std::string &str) { +union_pw_multi_aff::union_pw_multi_aff(isl::ctx ctx, const std::string &str) +{ auto res = isl_union_pw_multi_aff_read_from_str(ctx.release(), str.c_str()); ptr = res; } -union_pw_multi_aff::union_pw_multi_aff(isl::union_pw_aff upa) { +union_pw_multi_aff::union_pw_multi_aff(isl::union_pw_aff upa) +{ auto res = isl_union_pw_multi_aff_from_union_pw_aff(upa.release()); ptr = res; } @@ -14390,173 +16294,214 @@ void union_pw_multi_aff::dump() const { } -isl::union_pw_multi_aff union_pw_multi_aff::add(isl::union_pw_multi_aff upma2) const { +isl::union_pw_multi_aff union_pw_multi_aff::add(isl::union_pw_multi_aff upma2) const +{ auto res = isl_union_pw_multi_aff_add(copy(), upma2.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::add_pw_multi_aff(isl::pw_multi_aff pma) const { +isl::union_pw_multi_aff union_pw_multi_aff::add_pw_multi_aff(isl::pw_multi_aff pma) const +{ auto res = isl_union_pw_multi_aff_add_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::align_params(isl::space model) const { +isl::union_pw_multi_aff union_pw_multi_aff::align_params(isl::space model) const +{ auto res = isl_union_pw_multi_aff_align_params(copy(), model.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::coalesce() const { +isl::union_pw_multi_aff union_pw_multi_aff::coalesce() const +{ auto res = isl_union_pw_multi_aff_coalesce(copy()); return manage(res); } -unsigned int union_pw_multi_aff::dim(isl::dim type) const { +unsigned int union_pw_multi_aff::dim(isl::dim type) const +{ auto res = isl_union_pw_multi_aff_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set union_pw_multi_aff::domain() const { +isl::union_set union_pw_multi_aff::domain() const +{ auto res = isl_union_pw_multi_aff_domain(copy()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::union_pw_multi_aff union_pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_pw_multi_aff_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::empty(isl::space space) { +isl::union_pw_multi_aff union_pw_multi_aff::empty(isl::space space) +{ auto res = isl_union_pw_multi_aff_empty(space.release()); return manage(res); } -isl::pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(isl::space space) const { +isl::pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(isl::space space) const +{ auto res = isl_union_pw_multi_aff_extract_pw_multi_aff(get(), space.release()); return manage(res); } -int union_pw_multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const { +int union_pw_multi_aff::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_union_pw_multi_aff_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::union_pw_multi_aff union_pw_multi_aff::flat_range_product(isl::union_pw_multi_aff upma2) const { +isl::union_pw_multi_aff union_pw_multi_aff::flat_range_product(isl::union_pw_multi_aff upma2) const +{ auto res = isl_union_pw_multi_aff_flat_range_product(copy(), upma2.release()); return manage(res); } -isl::stat union_pw_multi_aff::foreach_pw_multi_aff(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const { - auto fn_p = &fn; +isl::stat union_pw_multi_aff::foreach_pw_multi_aff(const std::function<isl::stat(isl::pw_multi_aff)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::pw_multi_aff)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_pw_multi_aff *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::pw_multi_aff)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_pw_multi_aff_foreach_pw_multi_aff(get(), fn_lambda, &fn_p); + auto res = isl_union_pw_multi_aff_foreach_pw_multi_aff(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::union_pw_multi_aff union_pw_multi_aff::from_aff(isl::aff aff) { +isl::union_pw_multi_aff union_pw_multi_aff::from_aff(isl::aff aff) +{ auto res = isl_union_pw_multi_aff_from_aff(aff.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::from_multi_union_pw_aff(isl::multi_union_pw_aff mupa) { +isl::union_pw_multi_aff union_pw_multi_aff::from_multi_union_pw_aff(isl::multi_union_pw_aff mupa) +{ auto res = isl_union_pw_multi_aff_from_multi_union_pw_aff(mupa.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::from_union_set(isl::union_set uset) { +isl::union_pw_multi_aff union_pw_multi_aff::from_union_set(isl::union_set uset) +{ auto res = isl_union_pw_multi_aff_from_union_set(uset.release()); return manage(res); } -isl::space union_pw_multi_aff::get_space() const { +isl::space union_pw_multi_aff::get_space() const +{ auto res = isl_union_pw_multi_aff_get_space(get()); return manage(res); } -isl::union_pw_aff union_pw_multi_aff::get_union_pw_aff(int pos) const { +isl::union_pw_aff union_pw_multi_aff::get_union_pw_aff(int pos) const +{ auto res = isl_union_pw_multi_aff_get_union_pw_aff(get(), pos); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::gist(isl::union_set context) const { +isl::union_pw_multi_aff union_pw_multi_aff::gist(isl::union_set context) const +{ auto res = isl_union_pw_multi_aff_gist(copy(), context.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::gist_params(isl::set context) const { +isl::union_pw_multi_aff union_pw_multi_aff::gist_params(isl::set context) const +{ auto res = isl_union_pw_multi_aff_gist_params(copy(), context.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain(isl::union_set uset) const { +isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain(isl::union_set uset) const +{ auto res = isl_union_pw_multi_aff_intersect_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::intersect_params(isl::set set) const { +isl::union_pw_multi_aff union_pw_multi_aff::intersect_params(isl::set set) const +{ auto res = isl_union_pw_multi_aff_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean union_pw_multi_aff::involves_nan() const { +isl::boolean union_pw_multi_aff::involves_nan() const +{ auto res = isl_union_pw_multi_aff_involves_nan(get()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv) { +isl::union_pw_multi_aff union_pw_multi_aff::multi_val_on_domain(isl::union_set domain, isl::multi_val mv) +{ auto res = isl_union_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::neg() const { +int union_pw_multi_aff::n_pw_multi_aff() const +{ + auto res = isl_union_pw_multi_aff_n_pw_multi_aff(get()); + return res; +} + +isl::union_pw_multi_aff union_pw_multi_aff::neg() const +{ auto res = isl_union_pw_multi_aff_neg(copy()); return manage(res); } -isl::boolean union_pw_multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const { +isl::boolean union_pw_multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const +{ auto res = isl_union_pw_multi_aff_plain_is_equal(get(), upma2.get()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::pullback(isl::union_pw_multi_aff upma2) const { +isl::union_pw_multi_aff union_pw_multi_aff::pullback(isl::union_pw_multi_aff upma2) const +{ auto res = isl_union_pw_multi_aff_pullback_union_pw_multi_aff(copy(), upma2.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::reset_user() const { +isl::union_pw_multi_aff union_pw_multi_aff::reset_user() const +{ auto res = isl_union_pw_multi_aff_reset_user(copy()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::scale_down_val(isl::val val) const { +isl::union_pw_multi_aff union_pw_multi_aff::scale_down_val(isl::val val) const +{ auto res = isl_union_pw_multi_aff_scale_down_val(copy(), val.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::scale_multi_val(isl::multi_val mv) const { +isl::union_pw_multi_aff union_pw_multi_aff::scale_multi_val(isl::multi_val mv) const +{ auto res = isl_union_pw_multi_aff_scale_multi_val(copy(), mv.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::scale_val(isl::val val) const { +isl::union_pw_multi_aff union_pw_multi_aff::scale_val(isl::val val) const +{ auto res = isl_union_pw_multi_aff_scale_val(copy(), val.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::sub(isl::union_pw_multi_aff upma2) const { +isl::union_pw_multi_aff union_pw_multi_aff::sub(isl::union_pw_multi_aff upma2) const +{ auto res = isl_union_pw_multi_aff_sub(copy(), upma2.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::subtract_domain(isl::union_set uset) const { +isl::union_pw_multi_aff union_pw_multi_aff::subtract_domain(isl::union_set uset) const +{ auto res = isl_union_pw_multi_aff_subtract_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_multi_aff union_pw_multi_aff::union_add(isl::union_pw_multi_aff upma2) const { +isl::union_pw_multi_aff union_pw_multi_aff::union_add(isl::union_pw_multi_aff upma2) const +{ auto res = isl_union_pw_multi_aff_union_add(copy(), upma2.release()); return manage(res); } @@ -14566,7 +16511,8 @@ isl::union_pw_multi_aff_list manage(__isl_take isl_union_pw_multi_aff_list *ptr) return union_pw_multi_aff_list(ptr); } isl::union_pw_multi_aff_list manage_copy(__isl_keep isl_union_pw_multi_aff_list *ptr) { - return union_pw_multi_aff_list(isl_union_pw_multi_aff_list_copy(ptr)); + ptr = isl_union_pw_multi_aff_list_copy(ptr); + return union_pw_multi_aff_list(ptr); } isl::union_pw_multi_aff_list give(__isl_take isl_union_pw_multi_aff_list *ptr) { return manage(ptr); @@ -14577,7 +16523,9 @@ union_pw_multi_aff_list::union_pw_multi_aff_list() : ptr(nullptr) {} union_pw_multi_aff_list::union_pw_multi_aff_list(const isl::union_pw_multi_aff_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_pw_multi_aff_list::union_pw_multi_aff_list(std::nullptr_t) : ptr(nullptr) {} @@ -14641,7 +16589,8 @@ isl::union_pw_qpolynomial manage(__isl_take isl_union_pw_qpolynomial *ptr) { return union_pw_qpolynomial(ptr); } isl::union_pw_qpolynomial manage_copy(__isl_keep isl_union_pw_qpolynomial *ptr) { - return union_pw_qpolynomial(isl_union_pw_qpolynomial_copy(ptr)); + ptr = isl_union_pw_qpolynomial_copy(ptr); + return union_pw_qpolynomial(ptr); } isl::union_pw_qpolynomial give(__isl_take isl_union_pw_qpolynomial *ptr) { return manage(ptr); @@ -14652,7 +16601,9 @@ union_pw_qpolynomial::union_pw_qpolynomial() : ptr(nullptr) {} union_pw_qpolynomial::union_pw_qpolynomial(const isl::union_pw_qpolynomial &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_pw_qpolynomial::union_pw_qpolynomial(std::nullptr_t) : ptr(nullptr) {} @@ -14660,7 +16611,8 @@ union_pw_qpolynomial::union_pw_qpolynomial(std::nullptr_t) union_pw_qpolynomial::union_pw_qpolynomial(__isl_take isl_union_pw_qpolynomial *ptr) : ptr(ptr) {} -union_pw_qpolynomial::union_pw_qpolynomial(isl::ctx ctx, const std::string &str) { +union_pw_qpolynomial::union_pw_qpolynomial(isl::ctx ctx, const std::string &str) +{ auto res = isl_union_pw_qpolynomial_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -14719,148 +16671,184 @@ std::string union_pw_qpolynomial::to_str() const { -isl::union_pw_qpolynomial union_pw_qpolynomial::add(isl::union_pw_qpolynomial upwqp2) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::add(isl::union_pw_qpolynomial upwqp2) const +{ auto res = isl_union_pw_qpolynomial_add(copy(), upwqp2.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::add_pw_qpolynomial(isl::pw_qpolynomial pwqp) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::add_pw_qpolynomial(isl::pw_qpolynomial pwqp) const +{ auto res = isl_union_pw_qpolynomial_add_pw_qpolynomial(copy(), pwqp.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::align_params(isl::space model) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::align_params(isl::space model) const +{ auto res = isl_union_pw_qpolynomial_align_params(copy(), model.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::coalesce() const { +isl::union_pw_qpolynomial union_pw_qpolynomial::coalesce() const +{ auto res = isl_union_pw_qpolynomial_coalesce(copy()); return manage(res); } -unsigned int union_pw_qpolynomial::dim(isl::dim type) const { +unsigned int union_pw_qpolynomial::dim(isl::dim type) const +{ auto res = isl_union_pw_qpolynomial_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set union_pw_qpolynomial::domain() const { +isl::union_set union_pw_qpolynomial::domain() const +{ auto res = isl_union_pw_qpolynomial_domain(copy()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::drop_dims(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_pw_qpolynomial_drop_dims(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::val union_pw_qpolynomial::eval(isl::point pnt) const { +isl::val union_pw_qpolynomial::eval(isl::point pnt) const +{ auto res = isl_union_pw_qpolynomial_eval(copy(), pnt.release()); return manage(res); } -isl::pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(isl::space dim) const { +isl::pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(isl::space dim) const +{ auto res = isl_union_pw_qpolynomial_extract_pw_qpolynomial(get(), dim.release()); return manage(res); } -int union_pw_qpolynomial::find_dim_by_name(isl::dim type, const std::string &name) const { +int union_pw_qpolynomial::find_dim_by_name(isl::dim type, const std::string &name) const +{ auto res = isl_union_pw_qpolynomial_find_dim_by_name(get(), static_cast<enum isl_dim_type>(type), name.c_str()); return res; } -isl::stat union_pw_qpolynomial::foreach_pw_qpolynomial(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const { - auto fn_p = &fn; +isl::stat union_pw_qpolynomial::foreach_pw_qpolynomial(const std::function<isl::stat(isl::pw_qpolynomial)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::pw_qpolynomial)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_pw_qpolynomial *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::pw_qpolynomial)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_pw_qpolynomial_foreach_pw_qpolynomial(get(), fn_lambda, &fn_p); + auto res = isl_union_pw_qpolynomial_foreach_pw_qpolynomial(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::from_pw_qpolynomial(isl::pw_qpolynomial pwqp) { +isl::union_pw_qpolynomial union_pw_qpolynomial::from_pw_qpolynomial(isl::pw_qpolynomial pwqp) +{ auto res = isl_union_pw_qpolynomial_from_pw_qpolynomial(pwqp.release()); return manage(res); } -isl::space union_pw_qpolynomial::get_space() const { +isl::space union_pw_qpolynomial::get_space() const +{ auto res = isl_union_pw_qpolynomial_get_space(get()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::gist(isl::union_set context) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::gist(isl::union_set context) const +{ auto res = isl_union_pw_qpolynomial_gist(copy(), context.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::gist_params(isl::set context) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::gist_params(isl::set context) const +{ auto res = isl_union_pw_qpolynomial_gist_params(copy(), context.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_domain(isl::union_set uset) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_domain(isl::union_set uset) const +{ auto res = isl_union_pw_qpolynomial_intersect_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_params(isl::set set) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::intersect_params(isl::set set) const +{ auto res = isl_union_pw_qpolynomial_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean union_pw_qpolynomial::involves_nan() const { +isl::boolean union_pw_qpolynomial::involves_nan() const +{ auto res = isl_union_pw_qpolynomial_involves_nan(get()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::mul(isl::union_pw_qpolynomial upwqp2) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::mul(isl::union_pw_qpolynomial upwqp2) const +{ auto res = isl_union_pw_qpolynomial_mul(copy(), upwqp2.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::neg() const { +int union_pw_qpolynomial::n_pw_qpolynomial() const +{ + auto res = isl_union_pw_qpolynomial_n_pw_qpolynomial(get()); + return res; +} + +isl::union_pw_qpolynomial union_pw_qpolynomial::neg() const +{ auto res = isl_union_pw_qpolynomial_neg(copy()); return manage(res); } -isl::boolean union_pw_qpolynomial::plain_is_equal(const isl::union_pw_qpolynomial &upwqp2) const { +isl::boolean union_pw_qpolynomial::plain_is_equal(const isl::union_pw_qpolynomial &upwqp2) const +{ auto res = isl_union_pw_qpolynomial_plain_is_equal(get(), upwqp2.get()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::reset_user() const { +isl::union_pw_qpolynomial union_pw_qpolynomial::reset_user() const +{ auto res = isl_union_pw_qpolynomial_reset_user(copy()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::scale_down_val(isl::val v) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::scale_down_val(isl::val v) const +{ auto res = isl_union_pw_qpolynomial_scale_down_val(copy(), v.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::scale_val(isl::val v) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::scale_val(isl::val v) const +{ auto res = isl_union_pw_qpolynomial_scale_val(copy(), v.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::sub(isl::union_pw_qpolynomial upwqp2) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::sub(isl::union_pw_qpolynomial upwqp2) const +{ auto res = isl_union_pw_qpolynomial_sub(copy(), upwqp2.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::subtract_domain(isl::union_set uset) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::subtract_domain(isl::union_set uset) const +{ auto res = isl_union_pw_qpolynomial_subtract_domain(copy(), uset.release()); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::to_polynomial(int sign) const { +isl::union_pw_qpolynomial union_pw_qpolynomial::to_polynomial(int sign) const +{ auto res = isl_union_pw_qpolynomial_to_polynomial(copy(), sign); return manage(res); } -isl::union_pw_qpolynomial union_pw_qpolynomial::zero(isl::space dim) { +isl::union_pw_qpolynomial union_pw_qpolynomial::zero(isl::space dim) +{ auto res = isl_union_pw_qpolynomial_zero(dim.release()); return manage(res); } @@ -14870,7 +16858,8 @@ isl::union_set manage(__isl_take isl_union_set *ptr) { return union_set(ptr); } isl::union_set manage_copy(__isl_keep isl_union_set *ptr) { - return union_set(isl_union_set_copy(ptr)); + ptr = isl_union_set_copy(ptr); + return union_set(ptr); } isl::union_set give(__isl_take isl_union_set *ptr) { return manage(ptr); @@ -14881,7 +16870,9 @@ union_set::union_set() : ptr(nullptr) {} union_set::union_set(const isl::union_set &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_set::union_set(std::nullptr_t) : ptr(nullptr) {} @@ -14889,19 +16880,23 @@ union_set::union_set(std::nullptr_t) union_set::union_set(__isl_take isl_union_set *ptr) : ptr(ptr) {} -union_set::union_set(isl::basic_set bset) { +union_set::union_set(isl::basic_set bset) +{ auto res = isl_union_set_from_basic_set(bset.release()); ptr = res; } -union_set::union_set(isl::set set) { +union_set::union_set(isl::set set) +{ auto res = isl_union_set_from_set(set.release()); ptr = res; } -union_set::union_set(isl::point pnt) { +union_set::union_set(isl::point pnt) +{ auto res = isl_union_set_from_point(pnt.release()); ptr = res; } -union_set::union_set(isl::ctx ctx, const std::string &str) { +union_set::union_set(isl::ctx ctx, const std::string &str) +{ auto res = isl_union_set_read_from_str(ctx.release(), str.c_str()); ptr = res; } @@ -14964,289 +16959,354 @@ void union_set::dump() const { } -isl::union_set union_set::add_set(isl::set set) const { +isl::union_set union_set::add_set(isl::set set) const +{ auto res = isl_union_set_add_set(copy(), set.release()); return manage(res); } -isl::union_set union_set::affine_hull() const { +isl::union_set union_set::affine_hull() const +{ auto res = isl_union_set_affine_hull(copy()); return manage(res); } -isl::union_set union_set::align_params(isl::space model) const { +isl::union_set union_set::align_params(isl::space model) const +{ auto res = isl_union_set_align_params(copy(), model.release()); return manage(res); } -isl::union_set union_set::apply(isl::union_map umap) const { +isl::union_set union_set::apply(isl::union_map umap) const +{ auto res = isl_union_set_apply(copy(), umap.release()); return manage(res); } -isl::union_set union_set::coalesce() const { +isl::union_set union_set::coalesce() const +{ auto res = isl_union_set_coalesce(copy()); return manage(res); } -isl::union_set union_set::coefficients() const { +isl::union_set union_set::coefficients() const +{ auto res = isl_union_set_coefficients(copy()); return manage(res); } -isl::schedule union_set::compute_schedule(isl::union_map validity, isl::union_map proximity) const { +isl::schedule union_set::compute_schedule(isl::union_map validity, isl::union_map proximity) const +{ auto res = isl_union_set_compute_schedule(copy(), validity.release(), proximity.release()); return manage(res); } -isl::boolean union_set::contains(const isl::space &space) const { +isl::boolean union_set::contains(const isl::space &space) const +{ auto res = isl_union_set_contains(get(), space.get()); return manage(res); } -isl::union_set union_set::detect_equalities() const { +isl::union_set union_set::detect_equalities() const +{ auto res = isl_union_set_detect_equalities(copy()); return manage(res); } -unsigned int union_set::dim(isl::dim type) const { +unsigned int union_set::dim(isl::dim type) const +{ auto res = isl_union_set_dim(get(), static_cast<enum isl_dim_type>(type)); return res; } -isl::union_set union_set::empty(isl::space space) { +isl::union_set union_set::empty(isl::space space) +{ auto res = isl_union_set_empty(space.release()); return manage(res); } -isl::set union_set::extract_set(isl::space dim) const { +isl::set union_set::extract_set(isl::space dim) const +{ auto res = isl_union_set_extract_set(get(), dim.release()); return manage(res); } -isl::stat union_set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const { - auto fn_p = &fn; +isl::stat union_set::foreach_point(const std::function<isl::stat(isl::point)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::point)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_point *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::point)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_set_foreach_point(get(), fn_lambda, &fn_p); + auto res = isl_union_set_foreach_point(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::stat union_set::foreach_set(const std::function<isl::stat(isl::set)> &fn) const { - auto fn_p = &fn; +isl::stat union_set::foreach_set(const std::function<isl::stat(isl::set)> &fn) const +{ + struct fn_data { + const std::function<isl::stat(isl::set)> *func; + } fn_data = { &fn }; auto fn_lambda = [](isl_set *arg_0, void *arg_1) -> isl_stat { - auto *func = *static_cast<const std::function<isl::stat(isl::set)> **>(arg_1); - stat ret = (*func)(isl::manage(arg_0)); + auto *data = static_cast<struct fn_data *>(arg_1); + stat ret = (*data->func)(isl::manage(arg_0)); return isl_stat(ret); }; - auto res = isl_union_set_foreach_set(get(), fn_lambda, &fn_p); + auto res = isl_union_set_foreach_set(get(), fn_lambda, &fn_data); return isl::stat(res); } -isl::basic_set_list union_set::get_basic_set_list() const { +isl::basic_set_list union_set::get_basic_set_list() const +{ auto res = isl_union_set_get_basic_set_list(get()); return manage(res); } -uint32_t union_set::get_hash() const { +uint32_t union_set::get_hash() const +{ auto res = isl_union_set_get_hash(get()); return res; } -isl::space union_set::get_space() const { +isl::space union_set::get_space() const +{ auto res = isl_union_set_get_space(get()); return manage(res); } -isl::union_set union_set::gist(isl::union_set context) const { +isl::union_set union_set::gist(isl::union_set context) const +{ auto res = isl_union_set_gist(copy(), context.release()); return manage(res); } -isl::union_set union_set::gist_params(isl::set set) const { +isl::union_set union_set::gist_params(isl::set set) const +{ auto res = isl_union_set_gist_params(copy(), set.release()); return manage(res); } -isl::union_map union_set::identity() const { +isl::union_map union_set::identity() const +{ auto res = isl_union_set_identity(copy()); return manage(res); } -isl::union_pw_multi_aff union_set::identity_union_pw_multi_aff() const { +isl::union_pw_multi_aff union_set::identity_union_pw_multi_aff() const +{ auto res = isl_union_set_identity_union_pw_multi_aff(copy()); return manage(res); } -isl::union_set union_set::intersect(isl::union_set uset2) const { +isl::union_set union_set::intersect(isl::union_set uset2) const +{ auto res = isl_union_set_intersect(copy(), uset2.release()); return manage(res); } -isl::union_set union_set::intersect_params(isl::set set) const { +isl::union_set union_set::intersect_params(isl::set set) const +{ auto res = isl_union_set_intersect_params(copy(), set.release()); return manage(res); } -isl::boolean union_set::is_disjoint(const isl::union_set &uset2) const { +isl::boolean union_set::is_disjoint(const isl::union_set &uset2) const +{ auto res = isl_union_set_is_disjoint(get(), uset2.get()); return manage(res); } -isl::boolean union_set::is_empty() const { +isl::boolean union_set::is_empty() const +{ auto res = isl_union_set_is_empty(get()); return manage(res); } -isl::boolean union_set::is_equal(const isl::union_set &uset2) const { +isl::boolean union_set::is_equal(const isl::union_set &uset2) const +{ auto res = isl_union_set_is_equal(get(), uset2.get()); return manage(res); } -isl::boolean union_set::is_params() const { +isl::boolean union_set::is_params() const +{ auto res = isl_union_set_is_params(get()); return manage(res); } -isl::boolean union_set::is_strict_subset(const isl::union_set &uset2) const { +isl::boolean union_set::is_strict_subset(const isl::union_set &uset2) const +{ auto res = isl_union_set_is_strict_subset(get(), uset2.get()); return manage(res); } -isl::boolean union_set::is_subset(const isl::union_set &uset2) const { +isl::boolean union_set::is_subset(const isl::union_set &uset2) const +{ auto res = isl_union_set_is_subset(get(), uset2.get()); return manage(res); } -isl::union_map union_set::lex_ge_union_set(isl::union_set uset2) const { +isl::union_map union_set::lex_ge_union_set(isl::union_set uset2) const +{ auto res = isl_union_set_lex_ge_union_set(copy(), uset2.release()); return manage(res); } -isl::union_map union_set::lex_gt_union_set(isl::union_set uset2) const { +isl::union_map union_set::lex_gt_union_set(isl::union_set uset2) const +{ auto res = isl_union_set_lex_gt_union_set(copy(), uset2.release()); return manage(res); } -isl::union_map union_set::lex_le_union_set(isl::union_set uset2) const { +isl::union_map union_set::lex_le_union_set(isl::union_set uset2) const +{ auto res = isl_union_set_lex_le_union_set(copy(), uset2.release()); return manage(res); } -isl::union_map union_set::lex_lt_union_set(isl::union_set uset2) const { +isl::union_map union_set::lex_lt_union_set(isl::union_set uset2) const +{ auto res = isl_union_set_lex_lt_union_set(copy(), uset2.release()); return manage(res); } -isl::union_set union_set::lexmax() const { +isl::union_set union_set::lexmax() const +{ auto res = isl_union_set_lexmax(copy()); return manage(res); } -isl::union_set union_set::lexmin() const { +isl::union_set union_set::lexmin() const +{ auto res = isl_union_set_lexmin(copy()); return manage(res); } -isl::multi_val union_set::min_multi_union_pw_aff(const isl::multi_union_pw_aff &obj) const { +isl::multi_val union_set::min_multi_union_pw_aff(const isl::multi_union_pw_aff &obj) const +{ auto res = isl_union_set_min_multi_union_pw_aff(get(), obj.get()); return manage(res); } -isl::set union_set::params() const { +int union_set::n_set() const +{ + auto res = isl_union_set_n_set(get()); + return res; +} + +isl::set union_set::params() const +{ auto res = isl_union_set_params(copy()); return manage(res); } -isl::union_set union_set::polyhedral_hull() const { +isl::union_set union_set::polyhedral_hull() const +{ auto res = isl_union_set_polyhedral_hull(copy()); return manage(res); } -isl::union_set union_set::preimage(isl::multi_aff ma) const { +isl::union_set union_set::preimage(isl::multi_aff ma) const +{ auto res = isl_union_set_preimage_multi_aff(copy(), ma.release()); return manage(res); } -isl::union_set union_set::preimage(isl::pw_multi_aff pma) const { +isl::union_set union_set::preimage(isl::pw_multi_aff pma) const +{ auto res = isl_union_set_preimage_pw_multi_aff(copy(), pma.release()); return manage(res); } -isl::union_set union_set::preimage(isl::union_pw_multi_aff upma) const { +isl::union_set union_set::preimage(isl::union_pw_multi_aff upma) const +{ auto res = isl_union_set_preimage_union_pw_multi_aff(copy(), upma.release()); return manage(res); } -isl::union_set union_set::product(isl::union_set uset2) const { +isl::union_set union_set::product(isl::union_set uset2) const +{ auto res = isl_union_set_product(copy(), uset2.release()); return manage(res); } -isl::union_set union_set::project_out(isl::dim type, unsigned int first, unsigned int n) const { +isl::union_set union_set::project_out(isl::dim type, unsigned int first, unsigned int n) const +{ auto res = isl_union_set_project_out(copy(), static_cast<enum isl_dim_type>(type), first, n); return manage(res); } -isl::union_set union_set::remove_divs() const { +isl::union_set union_set::remove_divs() const +{ auto res = isl_union_set_remove_divs(copy()); return manage(res); } -isl::union_set union_set::remove_redundancies() const { +isl::union_set union_set::remove_redundancies() const +{ auto res = isl_union_set_remove_redundancies(copy()); return manage(res); } -isl::union_set union_set::reset_user() const { +isl::union_set union_set::reset_user() const +{ auto res = isl_union_set_reset_user(copy()); return manage(res); } -isl::basic_set union_set::sample() const { +isl::basic_set union_set::sample() const +{ auto res = isl_union_set_sample(copy()); return manage(res); } -isl::point union_set::sample_point() const { +isl::point union_set::sample_point() const +{ auto res = isl_union_set_sample_point(copy()); return manage(res); } -isl::union_set union_set::simple_hull() const { +isl::union_set union_set::simple_hull() const +{ auto res = isl_union_set_simple_hull(copy()); return manage(res); } -isl::union_set union_set::solutions() const { +isl::union_set union_set::solutions() const +{ auto res = isl_union_set_solutions(copy()); return manage(res); } -isl::union_set union_set::subtract(isl::union_set uset2) const { +isl::union_set union_set::subtract(isl::union_set uset2) const +{ auto res = isl_union_set_subtract(copy(), uset2.release()); return manage(res); } -isl::union_set union_set::unite(isl::union_set uset2) const { +isl::union_set union_set::unite(isl::union_set uset2) const +{ auto res = isl_union_set_union(copy(), uset2.release()); return manage(res); } -isl::union_set union_set::universe() const { +isl::union_set union_set::universe() const +{ auto res = isl_union_set_universe(copy()); return manage(res); } -isl::union_map union_set::unwrap() const { +isl::union_map union_set::unwrap() const +{ auto res = isl_union_set_unwrap(copy()); return manage(res); } -isl::union_map union_set::wrapped_domain_map() const { +isl::union_map union_set::wrapped_domain_map() const +{ auto res = isl_union_set_wrapped_domain_map(copy()); return manage(res); } @@ -15256,7 +17316,8 @@ isl::union_set_list manage(__isl_take isl_union_set_list *ptr) { return union_set_list(ptr); } isl::union_set_list manage_copy(__isl_keep isl_union_set_list *ptr) { - return union_set_list(isl_union_set_list_copy(ptr)); + ptr = isl_union_set_list_copy(ptr); + return union_set_list(ptr); } isl::union_set_list give(__isl_take isl_union_set_list *ptr) { return manage(ptr); @@ -15267,7 +17328,9 @@ union_set_list::union_set_list() : ptr(nullptr) {} union_set_list::union_set_list(const isl::union_set_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} union_set_list::union_set_list(std::nullptr_t) : ptr(nullptr) {} @@ -15331,7 +17394,8 @@ isl::val manage(__isl_take isl_val *ptr) { return val(ptr); } isl::val manage_copy(__isl_keep isl_val *ptr) { - return val(isl_val_copy(ptr)); + ptr = isl_val_copy(ptr); + return val(ptr); } isl::val give(__isl_take isl_val *ptr) { return manage(ptr); @@ -15342,7 +17406,9 @@ val::val() : ptr(nullptr) {} val::val(const isl::val &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} val::val(std::nullptr_t) : ptr(nullptr) {} @@ -15350,12 +17416,14 @@ val::val(std::nullptr_t) val::val(__isl_take isl_val *ptr) : ptr(ptr) {} -val::val(isl::ctx ctx, long i) { - auto res = isl_val_int_from_si(ctx.release(), i); +val::val(isl::ctx ctx, const std::string &str) +{ + auto res = isl_val_read_from_str(ctx.release(), str.c_str()); ptr = res; } -val::val(isl::ctx ctx, const std::string &str) { - auto res = isl_val_read_from_str(ctx.release(), str.c_str()); +val::val(isl::ctx ctx, long i) +{ + auto res = isl_val_int_from_si(ctx.release(), i); ptr = res; } @@ -15417,257 +17485,320 @@ void val::dump() const { } -isl::val val::two_exp() const { +isl::val val::two_exp() const +{ auto res = isl_val_2exp(copy()); return manage(res); } -isl::val val::abs() const { +isl::val val::abs() const +{ auto res = isl_val_abs(copy()); return manage(res); } -isl::boolean val::abs_eq(const isl::val &v2) const { +isl::boolean val::abs_eq(const isl::val &v2) const +{ auto res = isl_val_abs_eq(get(), v2.get()); return manage(res); } -isl::val val::add(isl::val v2) const { +isl::val val::add(isl::val v2) const +{ auto res = isl_val_add(copy(), v2.release()); return manage(res); } -isl::val val::add_ui(unsigned long v2) const { +isl::val val::add_ui(unsigned long v2) const +{ auto res = isl_val_add_ui(copy(), v2); return manage(res); } -isl::val val::ceil() const { +isl::val val::ceil() const +{ auto res = isl_val_ceil(copy()); return manage(res); } -int val::cmp_si(long i) const { +int val::cmp_si(long i) const +{ auto res = isl_val_cmp_si(get(), i); return res; } -isl::val val::div(isl::val v2) const { +isl::val val::div(isl::val v2) const +{ auto res = isl_val_div(copy(), v2.release()); return manage(res); } -isl::val val::div_ui(unsigned long v2) const { +isl::val val::div_ui(unsigned long v2) const +{ auto res = isl_val_div_ui(copy(), v2); return manage(res); } -isl::boolean val::eq(const isl::val &v2) const { +isl::boolean val::eq(const isl::val &v2) const +{ auto res = isl_val_eq(get(), v2.get()); return manage(res); } -isl::val val::floor() const { +isl::val val::floor() const +{ auto res = isl_val_floor(copy()); return manage(res); } -isl::val val::gcd(isl::val v2) const { +isl::val val::gcd(isl::val v2) const +{ auto res = isl_val_gcd(copy(), v2.release()); return manage(res); } -isl::boolean val::ge(const isl::val &v2) const { +isl::boolean val::ge(const isl::val &v2) const +{ auto res = isl_val_ge(get(), v2.get()); return manage(res); } -uint32_t val::get_hash() const { +uint32_t val::get_hash() const +{ auto res = isl_val_get_hash(get()); return res; } -long val::get_num_si() const { +long val::get_num_si() const +{ auto res = isl_val_get_num_si(get()); return res; } -isl::boolean val::gt(const isl::val &v2) const { +isl::boolean val::gt(const isl::val &v2) const +{ auto res = isl_val_gt(get(), v2.get()); return manage(res); } -isl::val val::infty(isl::ctx ctx) { +isl::boolean val::gt_si(long i) const +{ + auto res = isl_val_gt_si(get(), i); + return manage(res); +} + +isl::val val::infty(isl::ctx ctx) +{ auto res = isl_val_infty(ctx.release()); return manage(res); } -isl::val val::int_from_ui(isl::ctx ctx, unsigned long u) { +isl::val val::int_from_ui(isl::ctx ctx, unsigned long u) +{ auto res = isl_val_int_from_ui(ctx.release(), u); return manage(res); } -isl::val val::inv() const { +isl::val val::inv() const +{ auto res = isl_val_inv(copy()); return manage(res); } -isl::boolean val::is_divisible_by(const isl::val &v2) const { +isl::boolean val::is_divisible_by(const isl::val &v2) const +{ auto res = isl_val_is_divisible_by(get(), v2.get()); return manage(res); } -isl::boolean val::is_infty() const { +isl::boolean val::is_infty() const +{ auto res = isl_val_is_infty(get()); return manage(res); } -isl::boolean val::is_int() const { +isl::boolean val::is_int() const +{ auto res = isl_val_is_int(get()); return manage(res); } -isl::boolean val::is_nan() const { +isl::boolean val::is_nan() const +{ auto res = isl_val_is_nan(get()); return manage(res); } -isl::boolean val::is_neg() const { +isl::boolean val::is_neg() const +{ auto res = isl_val_is_neg(get()); return manage(res); } -isl::boolean val::is_neginfty() const { +isl::boolean val::is_neginfty() const +{ auto res = isl_val_is_neginfty(get()); return manage(res); } -isl::boolean val::is_negone() const { +isl::boolean val::is_negone() const +{ auto res = isl_val_is_negone(get()); return manage(res); } -isl::boolean val::is_nonneg() const { +isl::boolean val::is_nonneg() const +{ auto res = isl_val_is_nonneg(get()); return manage(res); } -isl::boolean val::is_nonpos() const { +isl::boolean val::is_nonpos() const +{ auto res = isl_val_is_nonpos(get()); return manage(res); } -isl::boolean val::is_one() const { +isl::boolean val::is_one() const +{ auto res = isl_val_is_one(get()); return manage(res); } -isl::boolean val::is_pos() const { +isl::boolean val::is_pos() const +{ auto res = isl_val_is_pos(get()); return manage(res); } -isl::boolean val::is_rat() const { +isl::boolean val::is_rat() const +{ auto res = isl_val_is_rat(get()); return manage(res); } -isl::boolean val::is_zero() const { +isl::boolean val::is_zero() const +{ auto res = isl_val_is_zero(get()); return manage(res); } -isl::boolean val::le(const isl::val &v2) const { +isl::boolean val::le(const isl::val &v2) const +{ auto res = isl_val_le(get(), v2.get()); return manage(res); } -isl::boolean val::lt(const isl::val &v2) const { +isl::boolean val::lt(const isl::val &v2) const +{ auto res = isl_val_lt(get(), v2.get()); return manage(res); } -isl::val val::max(isl::val v2) const { +isl::val val::max(isl::val v2) const +{ auto res = isl_val_max(copy(), v2.release()); return manage(res); } -isl::val val::min(isl::val v2) const { +isl::val val::min(isl::val v2) const +{ auto res = isl_val_min(copy(), v2.release()); return manage(res); } -isl::val val::mod(isl::val v2) const { +isl::val val::mod(isl::val v2) const +{ auto res = isl_val_mod(copy(), v2.release()); return manage(res); } -isl::val val::mul(isl::val v2) const { +isl::val val::mul(isl::val v2) const +{ auto res = isl_val_mul(copy(), v2.release()); return manage(res); } -isl::val val::mul_ui(unsigned long v2) const { +isl::val val::mul_ui(unsigned long v2) const +{ auto res = isl_val_mul_ui(copy(), v2); return manage(res); } -isl::val val::nan(isl::ctx ctx) { +size_t val::n_abs_num_chunks(size_t size) const +{ + auto res = isl_val_n_abs_num_chunks(get(), size); + return res; +} + +isl::val val::nan(isl::ctx ctx) +{ auto res = isl_val_nan(ctx.release()); return manage(res); } -isl::boolean val::ne(const isl::val &v2) const { +isl::boolean val::ne(const isl::val &v2) const +{ auto res = isl_val_ne(get(), v2.get()); return manage(res); } -isl::val val::neg() const { +isl::val val::neg() const +{ auto res = isl_val_neg(copy()); return manage(res); } -isl::val val::neginfty(isl::ctx ctx) { +isl::val val::neginfty(isl::ctx ctx) +{ auto res = isl_val_neginfty(ctx.release()); return manage(res); } -isl::val val::negone(isl::ctx ctx) { +isl::val val::negone(isl::ctx ctx) +{ auto res = isl_val_negone(ctx.release()); return manage(res); } -isl::val val::one(isl::ctx ctx) { +isl::val val::one(isl::ctx ctx) +{ auto res = isl_val_one(ctx.release()); return manage(res); } -isl::val val::set_si(long i) const { +isl::val val::set_si(long i) const +{ auto res = isl_val_set_si(copy(), i); return manage(res); } -int val::sgn() const { +int val::sgn() const +{ auto res = isl_val_sgn(get()); return res; } -isl::val val::sub(isl::val v2) const { +isl::val val::sub(isl::val v2) const +{ auto res = isl_val_sub(copy(), v2.release()); return manage(res); } -isl::val val::sub_ui(unsigned long v2) const { +isl::val val::sub_ui(unsigned long v2) const +{ auto res = isl_val_sub_ui(copy(), v2); return manage(res); } -isl::val val::trunc() const { +isl::val val::trunc() const +{ auto res = isl_val_trunc(copy()); return manage(res); } -isl::val val::zero(isl::ctx ctx) { +isl::val val::zero(isl::ctx ctx) +{ auto res = isl_val_zero(ctx.release()); return manage(res); } @@ -15677,7 +17808,8 @@ isl::val_list manage(__isl_take isl_val_list *ptr) { return val_list(ptr); } isl::val_list manage_copy(__isl_keep isl_val_list *ptr) { - return val_list(isl_val_list_copy(ptr)); + ptr = isl_val_list_copy(ptr); + return val_list(ptr); } isl::val_list give(__isl_take isl_val_list *ptr) { return manage(ptr); @@ -15688,7 +17820,9 @@ val_list::val_list() : ptr(nullptr) {} val_list::val_list(const isl::val_list &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} val_list::val_list(std::nullptr_t) : ptr(nullptr) {} @@ -15752,7 +17886,8 @@ isl::vec manage(__isl_take isl_vec *ptr) { return vec(ptr); } isl::vec manage_copy(__isl_keep isl_vec *ptr) { - return vec(isl_vec_copy(ptr)); + ptr = isl_vec_copy(ptr); + return vec(ptr); } isl::vec give(__isl_take isl_vec *ptr) { return manage(ptr); @@ -15763,7 +17898,9 @@ vec::vec() : ptr(nullptr) {} vec::vec(const isl::vec &obj) - : ptr(obj.copy()) {} + : ptr(obj.copy()) +{ +} vec::vec(std::nullptr_t) : ptr(nullptr) {} @@ -15821,110 +17958,149 @@ void vec::dump() const { } -isl::vec vec::add(isl::vec vec2) const { +isl::vec vec::add(isl::vec vec2) const +{ auto res = isl_vec_add(copy(), vec2.release()); return manage(res); } -isl::vec vec::alloc(isl::ctx ctx, unsigned int size) { +isl::vec vec::add_els(unsigned int n) const +{ + auto res = isl_vec_add_els(copy(), n); + return manage(res); +} + +isl::vec vec::alloc(isl::ctx ctx, unsigned int size) +{ auto res = isl_vec_alloc(ctx.release(), size); return manage(res); } -isl::vec vec::ceil() const { +isl::vec vec::ceil() const +{ auto res = isl_vec_ceil(copy()); return manage(res); } -isl::vec vec::clr() const { +isl::vec vec::clr() const +{ auto res = isl_vec_clr(copy()); return manage(res); } -int vec::cmp_element(const isl::vec &vec2, int pos) const { +int vec::cmp_element(const isl::vec &vec2, int pos) const +{ auto res = isl_vec_cmp_element(get(), vec2.get(), pos); return res; } -isl::vec vec::concat(isl::vec vec2) const { +isl::vec vec::concat(isl::vec vec2) const +{ auto res = isl_vec_concat(copy(), vec2.release()); return manage(res); } -isl::vec vec::drop_els(unsigned int pos, unsigned int n) const { +isl::vec vec::drop_els(unsigned int pos, unsigned int n) const +{ auto res = isl_vec_drop_els(copy(), pos, n); return manage(res); } -isl::vec vec::extend(unsigned int size) const { +isl::vec vec::extend(unsigned int size) const +{ auto res = isl_vec_extend(copy(), size); return manage(res); } -isl::val vec::get_element_val(int pos) const { +isl::val vec::get_element_val(int pos) const +{ auto res = isl_vec_get_element_val(get(), pos); return manage(res); } -isl::vec vec::insert_els(unsigned int pos, unsigned int n) const { +isl::vec vec::insert_els(unsigned int pos, unsigned int n) const +{ auto res = isl_vec_insert_els(copy(), pos, n); return manage(res); } -isl::vec vec::insert_zero_els(unsigned int pos, unsigned int n) const { +isl::vec vec::insert_zero_els(unsigned int pos, unsigned int n) const +{ auto res = isl_vec_insert_zero_els(copy(), pos, n); return manage(res); } -isl::boolean vec::is_equal(const isl::vec &vec2) const { +isl::boolean vec::is_equal(const isl::vec &vec2) const +{ auto res = isl_vec_is_equal(get(), vec2.get()); return manage(res); } -isl::vec vec::mat_product(isl::mat mat) const { +isl::vec vec::mat_product(isl::mat mat) const +{ auto res = isl_vec_mat_product(copy(), mat.release()); return manage(res); } -isl::vec vec::move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const { +isl::vec vec::move_els(unsigned int dst_col, unsigned int src_col, unsigned int n) const +{ auto res = isl_vec_move_els(copy(), dst_col, src_col, n); return manage(res); } -isl::vec vec::neg() const { +isl::vec vec::neg() const +{ auto res = isl_vec_neg(copy()); return manage(res); } -isl::vec vec::set_element_si(int pos, int v) const { +isl::vec vec::set_element_si(int pos, int v) const +{ auto res = isl_vec_set_element_si(copy(), pos, v); return manage(res); } -isl::vec vec::set_element_val(int pos, isl::val v) const { +isl::vec vec::set_element_val(int pos, isl::val v) const +{ auto res = isl_vec_set_element_val(copy(), pos, v.release()); return manage(res); } -isl::vec vec::set_si(int v) const { +isl::vec vec::set_si(int v) const +{ auto res = isl_vec_set_si(copy(), v); return manage(res); } -isl::vec vec::set_val(isl::val v) const { +isl::vec vec::set_val(isl::val v) const +{ auto res = isl_vec_set_val(copy(), v.release()); return manage(res); } -int vec::size() const { +int vec::size() const +{ auto res = isl_vec_size(get()); return res; } -isl::vec vec::sort() const { +isl::vec vec::sort() const +{ auto res = isl_vec_sort(copy()); return manage(res); } + +isl::vec vec::zero(isl::ctx ctx, unsigned int size) +{ + auto res = isl_vec_zero(ctx.release(), size); + return manage(res); +} + +isl::vec vec::zero_extend(unsigned int size) const +{ + auto res = isl_vec_zero_extend(copy(), size); + return manage(res); +} } // namespace noexceptions } // namespace isl |