#ifndef ISL_CPP_CHECKED
#define ISL_CPP_CHECKED
+#include <isl/id.h>
+#include <isl/space.h>
#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/schedule.h>
#include <isl/schedule_node.h>
#include <isl/ast_build.h>
+#include <isl/fixed_box.h>
#include <isl/constraint.h>
#include <isl/polynomial.h>
#include <isl/mat.h>
#include <isl/fixed_box.h>
-
#include <stdio.h>
#include <stdlib.h>
class map_list;
class mat;
class multi_aff;
+class multi_id;
class multi_pw_aff;
class multi_union_pw_aff;
class multi_val;
class pw_qpolynomial_fold_list;
class pw_qpolynomial_list;
class qpolynomial;
+class qpolynomial_list;
class schedule;
class schedule_constraints;
class schedule_node;
inline /* implicit */ aff();
inline /* implicit */ aff(const aff &obj);
inline /* implicit */ aff(std::nullptr_t);
- inline explicit aff(local_space ls);
- inline explicit aff(local_space ls, val val);
inline explicit aff(ctx ctx, const std::string &str);
+ inline explicit aff(local_space ls, val val);
+ inline explicit aff(local_space ls);
inline aff &operator=(aff obj);
inline ~aff();
inline __isl_give isl_aff *copy() const &;
inline aff add(aff aff2) const;
inline aff add_coefficient_si(isl::dim type, int pos, int v) const;
inline aff add_coefficient_val(isl::dim type, int pos, val v) const;
+ inline aff add_constant(val v) const;
inline aff add_constant_num_si(int v) const;
inline aff add_constant_si(int v) const;
- inline aff add_constant_val(val v) const;
inline aff add_dims(isl::dim type, unsigned int n) const;
inline aff align_params(space model) const;
+ inline basic_set bind(id id) const;
inline aff ceil() const;
inline int coefficient_sgn(isl::dim type, int pos) const;
- inline int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline aff div(aff aff2) const;
inline aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline basic_set eq_basic_set(aff aff2) const;
inline set gt_set(aff aff2) const;
inline aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline boolean involves_locals() const;
inline boolean is_cst() const;
inline boolean is_nan() const;
inline basic_set le_basic_set(aff aff2) const;
inline aff move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
inline aff mul(aff aff2) const;
static inline aff nan_on_domain(local_space ls);
+ static inline aff nan_on_domain_space(space space);
inline set ne_set(aff aff2) const;
inline aff neg() const;
inline basic_set neg_basic_set() const;
inline aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline aff set_tuple_id(isl::dim type, id id) const;
inline aff sub(aff aff2) const;
+ inline aff unbind_params_insert_domain(multi_id domain) const;
+ static inline aff val_on_domain_space(space space, val val);
static inline aff var_on_domain(local_space ls, isl::dim type, unsigned int pos);
inline basic_set zero_basic_set() const;
+ static inline aff zero_on_domain(space space);
};
// declarations for isl::aff_list
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline aff_list add(aff el) const;
static inline aff_list alloc(ctx ctx, int n);
+ inline aff_list clear() const;
inline aff_list concat(aff_list list2) const;
inline aff_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(aff)> &fn) const;
inline aff get_aff(int index) const;
inline aff get_at(int index) const;
inline aff_list insert(unsigned int pos, aff el) const;
- inline int n_aff() const;
+ inline isl_size n_aff() const;
inline aff_list reverse() const;
inline aff_list set_aff(int index, aff el) const;
- inline int size() const;
+ inline isl_size size() const;
inline aff_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline explicit operator bool() const;
inline ctx get_ctx() const;
- inline ast_expr access_from(pw_multi_aff pma) const;
inline ast_expr access_from(multi_pw_aff mpa) const;
+ inline ast_expr access_from(pw_multi_aff pma) const;
inline ast_node ast_from_schedule(union_map schedule) const;
- inline ast_expr call_from(pw_multi_aff pma) const;
inline ast_expr call_from(multi_pw_aff mpa) const;
- inline ast_expr expr_from(set set) const;
+ inline ast_expr call_from(pw_multi_aff pma) const;
inline ast_expr expr_from(pw_aff pa) const;
+ inline ast_expr expr_from(set set) const;
static inline ast_build from_context(set set);
inline union_map get_schedule() const;
inline space get_schedule_space() const;
- inline ast_node node_from_schedule(schedule schedule) const;
+ inline ast_node node_from(schedule schedule) const;
inline ast_node node_from_schedule_map(union_map schedule) const;
inline ast_build restrict(set set) const;
};
inline ast_expr ge(ast_expr expr2) const;
inline id get_id() const;
inline ast_expr get_op_arg(int pos) const;
- inline int get_op_n_arg() const;
+ inline isl_size get_op_n_arg() const;
inline val get_val() const;
inline ast_expr gt(ast_expr expr2) const;
+ inline id id_get_id() const;
+ inline val int_get_val() const;
inline boolean is_equal(const ast_expr &expr2) const;
inline ast_expr le(ast_expr expr2) const;
inline ast_expr lt(ast_expr expr2) const;
inline ast_expr mul(ast_expr expr2) const;
inline ast_expr neg() const;
+ inline ast_expr op_get_arg(int pos) const;
+ inline isl_size op_get_n_arg() const;
inline ast_expr pdiv_q(ast_expr expr2) const;
inline ast_expr pdiv_r(ast_expr expr2) const;
inline ast_expr set_op_arg(int pos, ast_expr arg) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline ast_expr_list add(ast_expr el) const;
static inline ast_expr_list alloc(ctx ctx, int n);
+ inline ast_expr_list clear() const;
inline ast_expr_list concat(ast_expr_list list2) const;
inline ast_expr_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(ast_expr)> &fn) const;
inline ast_expr get_ast_expr(int index) const;
inline ast_expr get_at(int index) const;
inline ast_expr_list insert(unsigned int pos, ast_expr el) const;
- inline int n_ast_expr() const;
+ inline isl_size n_ast_expr() const;
inline ast_expr_list reverse() const;
inline ast_expr_list set_ast_expr(int index, ast_expr el) const;
- inline int size() const;
+ inline isl_size size() const;
inline ast_expr_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline id get_annotation() const;
inline ast_expr if_get_cond() const;
inline ast_node if_get_else() const;
+ inline ast_node if_get_else_node() const;
inline ast_node if_get_then() const;
+ inline ast_node if_get_then_node() const;
inline boolean if_has_else() const;
+ inline boolean if_has_else_node() const;
inline id mark_get_id() const;
inline ast_node mark_get_node() const;
inline ast_node set_annotation(id annotation) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline ast_node_list add(ast_node el) const;
static inline ast_node_list alloc(ctx ctx, int n);
+ inline ast_node_list clear() const;
inline ast_node_list concat(ast_node_list list2) const;
inline ast_node_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(ast_node)> &fn) const;
inline ast_node get_ast_node(int index) const;
inline ast_node get_at(int index) const;
inline ast_node_list insert(unsigned int pos, ast_node el) const;
- inline int n_ast_node() const;
+ inline isl_size n_ast_node() const;
inline ast_node_list reverse() const;
inline ast_node_list set_ast_node(int index, ast_node el) const;
- inline int size() const;
+ inline isl_size size() const;
inline ast_node_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline basic_set deltas() const;
inline basic_map deltas_map() const;
inline basic_map detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline basic_set domain() const;
inline basic_map domain_map() const;
inline basic_map domain_product(basic_map bmap2) const;
inline basic_map drop_unused_params() const;
inline basic_map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
static inline basic_map empty(space space);
- static inline basic_map equal(space dim, unsigned int n_equal);
+ static inline basic_map equal(space space, unsigned int n_equal);
inline mat equalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
inline 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 basic_map gist(basic_map context) const;
inline basic_map gist_domain(basic_set context) const;
inline boolean has_dim_id(isl::dim type, unsigned int pos) const;
- static inline basic_map identity(space dim);
+ static inline basic_map identity(space space);
inline boolean image_is_bounded() const;
inline mat inequalities_matrix(isl::dim c1, isl::dim c2, isl::dim c3, isl::dim c4, isl::dim c5) const;
inline basic_map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
inline boolean is_strict_subset(const basic_map &bmap2) const;
inline boolean is_subset(const basic_map &bmap2) const;
inline boolean is_universe() const;
- static inline basic_map less_at(space dim, unsigned int pos);
+ static inline basic_map less_at(space space, unsigned int pos);
inline map lexmax() const;
inline map lexmin() const;
inline pw_multi_aff lexmin_pw_multi_aff() const;
inline basic_map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
- static inline basic_map more_at(space dim, unsigned int pos);
+ static inline basic_map more_at(space space, unsigned int pos);
inline 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 basic_map nat_universe(space dim);
+ inline isl_size n_constraint() const;
+ static inline basic_map nat_universe(space space);
inline basic_map neg() const;
inline basic_map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
inline basic_map order_gt(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline basic_map_list add(basic_map el) const;
static inline basic_map_list alloc(ctx ctx, int n);
+ inline basic_map_list clear() const;
inline basic_map_list concat(basic_map_list list2) const;
inline basic_map_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(basic_map)> &fn) const;
inline basic_map get_at(int index) const;
inline basic_map get_basic_map(int index) const;
inline basic_map_list insert(unsigned int pos, basic_map el) const;
- inline int n_basic_map() const;
+ inline isl_size n_basic_map() const;
inline basic_map_list reverse() const;
inline basic_map_list set_basic_map(int index, basic_map el) const;
- inline int size() const;
+ inline isl_size size() const;
inline basic_map_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline /* implicit */ basic_set();
inline /* implicit */ basic_set(const basic_set &obj);
inline /* implicit */ basic_set(std::nullptr_t);
- inline explicit basic_set(ctx ctx, const std::string &str);
inline /* implicit */ basic_set(point pnt);
+ inline explicit basic_set(ctx ctx, const std::string &str);
inline basic_set &operator=(basic_set obj);
inline ~basic_set();
inline __isl_give isl_basic_set *copy() const &;
static inline basic_set box_from_points(point pnt1, point pnt2);
inline basic_set coefficients() const;
inline basic_set detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline val dim_max_val(int pos) const;
inline basic_set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline basic_set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline basic_set lower_bound_val(isl::dim type, unsigned int pos, val value) const;
inline val max_val(const aff &obj) const;
inline 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 basic_set nat_universe(space dim);
+ inline isl_size n_constraint() const;
+ inline isl_size n_dim() const;
+ static inline basic_set nat_universe(space space);
inline basic_set neg() const;
inline basic_set params() const;
inline boolean plain_is_empty() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline basic_set_list add(basic_set el) const;
static inline basic_set_list alloc(ctx ctx, int n);
+ inline basic_set_list clear() const;
inline basic_set_list coefficients() const;
inline basic_set_list concat(basic_set_list list2) const;
inline basic_set_list drop(unsigned int first, unsigned int n) const;
inline basic_set get_at(int index) const;
inline basic_set get_basic_set(int index) const;
inline basic_set_list insert(unsigned int pos, basic_set el) const;
- inline int n_basic_set() const;
+ inline isl_size n_basic_set() const;
inline basic_set_list reverse() const;
inline basic_set_list set_basic_set(int index, basic_set el) const;
- inline int size() const;
+ inline isl_size size() const;
inline basic_set_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline local_space get_local_space() const;
inline space get_space() const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
- inline int is_div_constraint() const;
+ inline boolean is_div_constraint() const;
inline boolean is_lower_bound(isl::dim type, unsigned int pos) const;
inline boolean is_upper_bound(isl::dim type, unsigned int pos) const;
inline int plain_cmp(const constraint &c2) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline constraint_list add(constraint el) const;
static inline constraint_list alloc(ctx ctx, int n);
+ inline constraint_list clear() const;
inline constraint_list concat(constraint_list list2) const;
inline constraint_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(constraint)> &fn) const;
inline constraint get_at(int index) const;
inline constraint get_constraint(int index) const;
inline constraint_list insert(unsigned int pos, constraint el) const;
- inline int n_constraint() const;
+ inline isl_size n_constraint() const;
inline constraint_list reverse() const;
inline constraint_list set_constraint(int index, constraint el) const;
- inline int size() const;
+ inline isl_size size() const;
inline constraint_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
+ inline void dump() const;
inline multi_aff get_offset() const;
inline multi_val get_size() const;
inline /* implicit */ id();
inline /* implicit */ id(const id &obj);
inline /* implicit */ id(std::nullptr_t);
+ inline explicit id(ctx ctx, const std::string &str);
inline id &operator=(id obj);
inline ~id();
inline __isl_give isl_id *copy() const &;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline id_list add(id el) const;
static inline id_list alloc(ctx ctx, int n);
+ inline id_list clear() const;
inline id_list concat(id_list list2) const;
inline id_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(id)> &fn) const;
inline id get_at(int index) const;
inline id get_id(int index) const;
inline id_list insert(unsigned int pos, id el) const;
- inline int n_id() const;
+ inline isl_size n_id() const;
inline id_list reverse() const;
inline id_list set_id(int index, id el) const;
- inline int size() const;
+ inline isl_size size() const;
inline id_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline /* implicit */ local_space();
inline /* implicit */ local_space(const local_space &obj);
inline /* implicit */ local_space(std::nullptr_t);
- inline explicit local_space(space dim);
+ inline explicit local_space(space space);
inline local_space &operator=(local_space obj);
inline ~local_space();
inline __isl_give isl_local_space *copy() const &;
inline void dump() const;
inline local_space add_dims(isl::dim type, unsigned int n) const;
- inline int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline local_space domain() const;
inline local_space drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline /* implicit */ map();
inline /* implicit */ map(const map &obj);
inline /* implicit */ map(std::nullptr_t);
- inline explicit map(ctx ctx, const std::string &str);
inline /* implicit */ map(basic_map bmap);
+ inline explicit map(ctx ctx, const std::string &str);
inline map &operator=(map obj);
inline ~map();
inline __isl_give isl_map *copy() const &;
inline map align_params(space model) const;
inline map apply_domain(map map2) const;
inline map apply_range(map map2) const;
+ inline set bind_domain(multi_id tuple) const;
+ inline set bind_range(multi_id tuple) const;
inline boolean can_curry() const;
inline boolean can_range_curry() const;
inline boolean can_uncurry() const;
inline set deltas() const;
inline map deltas_map() const;
inline map detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline pw_aff dim_max(int pos) const;
inline pw_aff dim_min(int pos) const;
inline set domain() const;
inline map drop_unused_params() const;
inline map eliminate(isl::dim type, unsigned int first, unsigned int n) const;
static inline map empty(space space);
+ inline map eq_at(multi_pw_aff mpa) const;
inline map equate(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
inline map factor_domain() const;
inline map factor_range() const;
inline boolean has_equal_space(const map &map2) const;
inline boolean has_tuple_id(isl::dim type) const;
inline boolean has_tuple_name(isl::dim type) const;
- static inline map identity(space dim);
+ static inline map identity(space space);
inline map insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
inline map intersect(map map2) const;
inline map intersect_domain(set set) const;
+ inline map intersect_domain_factor_domain(map factor) const;
inline map intersect_domain_factor_range(map factor) const;
inline map intersect_params(set params) const;
inline map intersect_range(set set) const;
+ inline map intersect_range_factor_domain(map factor) const;
inline map intersect_range_factor_range(map factor) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean is_bijective() const;
inline boolean is_strict_subset(const map &map2) const;
inline boolean is_subset(const map &map2) const;
inline int is_translation() const;
- static inline map lex_ge(space set_dim);
- static inline map lex_ge_first(space dim, unsigned int n);
+ static inline map lex_ge(space set_space);
+ inline map lex_ge_at(multi_pw_aff mpa) const;
+ static inline map lex_ge_first(space space, unsigned int n);
inline map lex_ge_map(map map2) const;
- static inline map lex_gt(space set_dim);
- static inline map lex_gt_first(space dim, unsigned int n);
+ static inline map lex_gt(space set_space);
+ inline map lex_gt_at(multi_pw_aff mpa) const;
+ static inline map lex_gt_first(space space, unsigned int n);
inline map lex_gt_map(map map2) const;
- static inline map lex_le(space set_dim);
- static inline map lex_le_first(space dim, unsigned int n);
+ static inline map lex_le(space set_space);
+ inline map lex_le_at(multi_pw_aff mpa) const;
+ static inline map lex_le_first(space space, unsigned int n);
inline map lex_le_map(map map2) const;
- static inline map lex_lt(space set_dim);
- static inline map lex_lt_first(space dim, unsigned int n);
+ static inline map lex_lt(space set_space);
+ inline map lex_lt_at(multi_pw_aff mpa) const;
+ static inline map lex_lt_first(space space, unsigned int n);
inline map lex_lt_map(map map2) const;
inline map lexmax() const;
inline pw_multi_aff lexmax_pw_multi_aff() const;
inline map lexmin() const;
inline pw_multi_aff lexmin_pw_multi_aff() const;
+ inline map lower_bound(multi_pw_aff lower) const;
inline map lower_bound_si(isl::dim type, unsigned int pos, int value) const;
+ inline map lower_bound_val(isl::dim type, unsigned int pos, val value) const;
+ inline multi_pw_aff max_multi_pw_aff() const;
+ inline multi_pw_aff min_multi_pw_aff() const;
inline 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 map nat_universe(space dim);
+ inline isl_size n_basic_map() const;
+ static inline map nat_universe(space space);
inline map neg() const;
inline map oppose(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
inline map order_ge(isl::dim type1, int pos1, isl::dim type2, int pos2) const;
inline boolean plain_is_universe() const;
inline basic_map plain_unshifted_simple_hull() const;
inline basic_map polyhedral_hull() const;
- inline map preimage_domain_multi_aff(multi_aff ma) const;
- inline map preimage_domain_multi_pw_aff(multi_pw_aff mpa) const;
- inline map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
- inline map preimage_range_multi_aff(multi_aff ma) const;
- inline map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
+ inline map preimage_domain(multi_aff ma) const;
+ inline map preimage_domain(multi_pw_aff mpa) const;
+ inline map preimage_domain(pw_multi_aff pma) const;
+ inline map preimage_range(multi_aff ma) const;
+ inline map preimage_range(pw_multi_aff pma) const;
inline map product(map map2) const;
inline map project_out(isl::dim type, unsigned int first, unsigned int n) const;
+ inline map project_out_all_params() const;
inline set range() const;
inline map range_curry() const;
inline map range_factor_domain() const;
inline boolean range_is_wrapping() const;
inline map range_map() const;
inline map range_product(map map2) const;
+ inline map range_reverse() const;
inline map remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline map remove_divs() const;
inline map remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
static inline map universe(space space);
inline basic_map unshifted_simple_hull() const;
inline basic_map unshifted_simple_hull_from_map_list(map_list list) const;
+ inline map upper_bound(multi_pw_aff upper) const;
inline map upper_bound_si(isl::dim type, unsigned int pos, int value) const;
+ inline map upper_bound_val(isl::dim type, unsigned int pos, val value) const;
inline set wrap() const;
inline map zip() const;
};
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline map_list add(map el) const;
static inline map_list alloc(ctx ctx, int n);
+ inline map_list clear() const;
inline map_list concat(map_list list2) const;
inline map_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(map)> &fn) const;
inline map get_at(int index) const;
inline map get_map(int index) const;
inline map_list insert(unsigned int pos, map el) const;
- inline int n_map() const;
+ inline isl_size n_map() const;
inline map_list reverse() const;
inline map_list set_map(int index, map el) const;
- inline int size() const;
+ inline isl_size size() const;
inline map_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline mat add_zero_rows(unsigned int n) const;
inline mat aff_direct_sum(mat right) const;
static inline mat alloc(ctx ctx, unsigned int n_row, unsigned int n_col);
- inline int cols() const;
+ inline isl_size cols() const;
inline mat concat(mat bot) const;
inline mat diagonal(mat mat2) const;
inline mat drop_cols(unsigned int col, unsigned int n) const;
inline mat normalize() const;
inline mat normalize_row(int row) const;
inline mat product(mat right) const;
- inline int rank() const;
+ inline isl_size rank() const;
inline mat right_inverse() const;
inline mat right_kernel() const;
inline mat row_basis() const;
inline mat row_basis_extension(mat mat2) const;
- inline int rows() const;
+ inline isl_size rows() const;
inline mat set_element_si(int row, int col, int v) const;
inline mat set_element_val(int row, int col, val v) const;
inline mat swap_cols(unsigned int i, unsigned int j) const;
inline /* implicit */ multi_aff(const multi_aff &obj);
inline /* implicit */ multi_aff(std::nullptr_t);
inline /* implicit */ multi_aff(aff aff);
+ inline explicit multi_aff(space space, aff_list list);
inline explicit multi_aff(ctx ctx, const std::string &str);
inline multi_aff &operator=(multi_aff obj);
inline ~multi_aff();
inline void dump() const;
inline multi_aff add(multi_aff multi2) const;
+ inline multi_aff add_constant(multi_val mv) const;
+ inline multi_aff add_constant(val v) const;
inline multi_aff add_dims(isl::dim type, unsigned int n) const;
inline multi_aff align_params(space model) const;
- inline unsigned int dim(isl::dim type) const;
+ inline basic_set bind(multi_id tuple) const;
+ inline multi_aff bind_domain(multi_id tuple) const;
+ inline multi_aff bind_domain_wrapped_domain(multi_id tuple) const;
+ inline isl_size dim(isl::dim type) const;
static inline multi_aff domain_map(space space);
inline multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline multi_aff factor_range() const;
inline multi_aff flatten_domain() const;
inline multi_aff flatten_range() const;
inline multi_aff floor() const;
- static inline multi_aff from_aff_list(space space, aff_list list);
inline multi_aff from_range() const;
inline aff get_aff(int pos) const;
+ inline aff get_at(int pos) const;
+ inline multi_val get_constant_multi_val() const;
inline id get_dim_id(isl::dim type, unsigned int pos) const;
inline space get_domain_space() const;
+ inline aff_list get_list() const;
inline space get_space() const;
inline id get_tuple_id(isl::dim type) const;
inline std::string get_tuple_name(isl::dim type) const;
inline multi_aff gist_params(set context) const;
inline boolean has_tuple_id(isl::dim type) const;
static inline multi_aff identity(space space);
+ inline multi_aff identity() const;
+ static inline multi_aff identity_on_domain(space space);
inline multi_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline multi_aff insert_domain(space domain) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline boolean involves_locals() const;
inline boolean involves_nan() const;
inline set lex_ge_set(multi_aff ma2) const;
inline set lex_gt_set(multi_aff ma2) const;
inline multi_aff range_splice(unsigned int pos, multi_aff multi2) const;
inline multi_aff reset_tuple_id(isl::dim type) const;
inline multi_aff reset_user() const;
- inline multi_aff scale_down_multi_val(multi_val mv) const;
- inline multi_aff scale_down_val(val v) const;
- inline multi_aff scale_multi_val(multi_val mv) const;
- inline multi_aff scale_val(val v) const;
+ inline multi_aff scale(multi_val mv) const;
+ inline multi_aff scale(val v) const;
+ inline multi_aff scale_down(multi_val mv) const;
+ inline multi_aff scale_down(val v) const;
inline multi_aff set_aff(int pos, aff el) const;
+ inline multi_aff set_at(int pos, aff el) const;
inline multi_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline multi_aff set_tuple_id(isl::dim type, id id) const;
inline multi_aff set_tuple_name(isl::dim type, const std::string &s) const;
+ inline isl_size size() const;
inline multi_aff splice(unsigned int in_pos, unsigned int out_pos, multi_aff multi2) const;
inline multi_aff sub(multi_aff multi2) const;
+ inline multi_aff unbind_params_insert_domain(multi_id domain) const;
static inline multi_aff zero(space space);
};
+// declarations for isl::multi_id
+inline multi_id manage(__isl_take isl_multi_id *ptr);
+inline multi_id manage_copy(__isl_keep isl_multi_id *ptr);
+
+class multi_id {
+ friend inline multi_id manage(__isl_take isl_multi_id *ptr);
+ friend inline multi_id manage_copy(__isl_keep isl_multi_id *ptr);
+
+ isl_multi_id *ptr = nullptr;
+
+ inline explicit multi_id(__isl_take isl_multi_id *ptr);
+
+public:
+ inline /* implicit */ multi_id();
+ inline /* implicit */ multi_id(const multi_id &obj);
+ inline /* implicit */ multi_id(std::nullptr_t);
+ inline explicit multi_id(space space, id_list list);
+ inline explicit multi_id(ctx ctx, const std::string &str);
+ inline multi_id &operator=(multi_id obj);
+ inline ~multi_id();
+ inline __isl_give isl_multi_id *copy() const &;
+ inline __isl_give isl_multi_id *copy() && = delete;
+ inline __isl_keep isl_multi_id *get() const;
+ inline __isl_give isl_multi_id *release();
+ inline bool is_null() const;
+ inline explicit operator bool() const;
+ inline ctx get_ctx() const;
+ inline std::string to_str() const;
+ inline void dump() const;
+
+ inline multi_id align_params(space model) const;
+ inline multi_id factor_range() const;
+ inline multi_id flat_range_product(multi_id multi2) const;
+ inline multi_id flatten_range() const;
+ inline multi_id from_range() const;
+ inline id get_at(int pos) const;
+ inline space get_domain_space() const;
+ inline id get_id(int pos) const;
+ inline id_list get_list() const;
+ inline space get_space() const;
+ inline boolean plain_is_equal(const multi_id &multi2) const;
+ inline multi_id range_factor_domain() const;
+ inline multi_id range_factor_range() const;
+ inline boolean range_is_wrapping() const;
+ inline multi_id range_product(multi_id multi2) const;
+ inline multi_id range_splice(unsigned int pos, multi_id multi2) const;
+ inline multi_id reset_user() const;
+ inline multi_id set_at(int pos, id el) const;
+ inline multi_id set_id(int pos, id el) const;
+ inline isl_size size() const;
+};
+
// declarations for isl::multi_pw_aff
inline multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr);
inline multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr);
inline /* implicit */ multi_pw_aff();
inline /* implicit */ multi_pw_aff(const multi_pw_aff &obj);
inline /* implicit */ multi_pw_aff(std::nullptr_t);
+ inline /* implicit */ multi_pw_aff(aff aff);
inline /* implicit */ multi_pw_aff(multi_aff ma);
inline /* implicit */ multi_pw_aff(pw_aff pa);
+ inline explicit multi_pw_aff(space space, pw_aff_list list);
inline /* implicit */ multi_pw_aff(pw_multi_aff pma);
inline explicit multi_pw_aff(ctx ctx, const std::string &str);
inline multi_pw_aff &operator=(multi_pw_aff obj);
inline void dump() const;
inline multi_pw_aff add(multi_pw_aff multi2) const;
+ inline multi_pw_aff add_constant(multi_val mv) const;
+ inline multi_pw_aff add_constant(val v) const;
inline multi_pw_aff add_dims(isl::dim type, unsigned int n) const;
inline multi_pw_aff align_params(space model) const;
+ inline set bind(multi_id tuple) const;
+ inline multi_pw_aff bind_domain(multi_id tuple) const;
+ inline multi_pw_aff bind_domain_wrapped_domain(multi_id tuple) const;
inline multi_pw_aff coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline set domain() const;
inline multi_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline map eq_map(multi_pw_aff mpa2) const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline multi_pw_aff flat_range_product(multi_pw_aff multi2) const;
inline multi_pw_aff flatten_range() const;
- static inline multi_pw_aff from_pw_aff_list(space space, pw_aff_list list);
inline multi_pw_aff from_range() const;
+ inline pw_aff get_at(int pos) const;
inline id get_dim_id(isl::dim type, unsigned int pos) const;
inline space get_domain_space() const;
inline uint32_t get_hash() const;
+ inline pw_aff_list get_list() const;
inline pw_aff get_pw_aff(int pos) const;
inline space get_space() const;
inline id get_tuple_id(isl::dim type) const;
inline multi_pw_aff gist_params(set set) const;
inline boolean has_tuple_id(isl::dim type) const;
static inline multi_pw_aff identity(space space);
+ inline multi_pw_aff identity() const;
+ static inline multi_pw_aff identity_on_domain(space space);
inline multi_pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline multi_pw_aff insert_domain(space domain) const;
inline multi_pw_aff intersect_domain(set domain) const;
inline multi_pw_aff intersect_params(set set) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_nan() const;
+ inline boolean involves_param(const id &id) const;
+ inline boolean involves_param(const id_list &list) const;
inline boolean is_cst() const;
inline boolean is_equal(const multi_pw_aff &mpa2) const;
+ inline map lex_ge_map(multi_pw_aff mpa2) const;
inline map lex_gt_map(multi_pw_aff mpa2) const;
+ inline map lex_le_map(multi_pw_aff mpa2) const;
inline map lex_lt_map(multi_pw_aff mpa2) const;
+ inline multi_pw_aff max(multi_pw_aff multi2) const;
+ inline multi_val max_multi_val() const;
+ inline multi_pw_aff min(multi_pw_aff multi2) const;
+ inline multi_val min_multi_val() const;
inline multi_pw_aff mod_multi_val(multi_val mv) const;
inline 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;
inline multi_pw_aff neg() const;
inline multi_pw_aff product(multi_pw_aff multi2) const;
inline multi_pw_aff project_domain_on_params() const;
inline multi_pw_aff pullback(multi_aff ma) const;
- inline multi_pw_aff pullback(pw_multi_aff pma) const;
inline multi_pw_aff pullback(multi_pw_aff mpa2) const;
+ inline multi_pw_aff pullback(pw_multi_aff pma) const;
inline multi_pw_aff range_factor_domain() const;
inline multi_pw_aff range_factor_range() const;
inline boolean range_is_wrapping() const;
inline multi_pw_aff range_splice(unsigned int pos, multi_pw_aff multi2) const;
inline multi_pw_aff reset_tuple_id(isl::dim type) const;
inline multi_pw_aff reset_user() const;
- inline multi_pw_aff scale_down_multi_val(multi_val mv) const;
- inline multi_pw_aff scale_down_val(val v) const;
- inline multi_pw_aff scale_multi_val(multi_val mv) const;
- inline multi_pw_aff scale_val(val v) const;
+ inline multi_pw_aff scale(multi_val mv) const;
+ inline multi_pw_aff scale(val v) const;
+ inline multi_pw_aff scale_down(multi_val mv) const;
+ inline multi_pw_aff scale_down(val v) const;
+ inline multi_pw_aff set_at(int pos, pw_aff el) const;
inline multi_pw_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline multi_pw_aff set_pw_aff(int pos, pw_aff el) const;
inline multi_pw_aff set_tuple_id(isl::dim type, id id) const;
inline multi_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
+ inline isl_size size() const;
inline multi_pw_aff splice(unsigned int in_pos, unsigned int out_pos, multi_pw_aff multi2) const;
inline multi_pw_aff sub(multi_pw_aff multi2) const;
+ inline multi_pw_aff unbind_params_insert_domain(multi_id domain) const;
+ inline multi_pw_aff union_add(multi_pw_aff mpa2) const;
static inline multi_pw_aff zero(space space);
};
inline /* implicit */ multi_union_pw_aff();
inline /* implicit */ multi_union_pw_aff(const multi_union_pw_aff &obj);
inline /* implicit */ multi_union_pw_aff(std::nullptr_t);
- inline /* implicit */ multi_union_pw_aff(union_pw_aff upa);
inline /* implicit */ multi_union_pw_aff(multi_pw_aff mpa);
+ inline /* implicit */ multi_union_pw_aff(union_pw_aff upa);
+ inline explicit multi_union_pw_aff(space space, union_pw_aff_list list);
inline explicit multi_union_pw_aff(union_pw_multi_aff upma);
inline explicit multi_union_pw_aff(ctx ctx, const std::string &str);
inline multi_union_pw_aff &operator=(multi_union_pw_aff obj);
inline union_pw_aff apply_aff(aff aff) const;
inline union_pw_aff apply_pw_aff(pw_aff pa) const;
inline multi_union_pw_aff apply_pw_multi_aff(pw_multi_aff pma) const;
+ inline union_set bind(multi_id tuple) const;
inline multi_union_pw_aff coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline union_set domain() const;
inline multi_union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline multi_pw_aff extract_multi_pw_aff(space space) const;
static inline multi_union_pw_aff from_multi_aff(multi_aff ma);
inline multi_union_pw_aff from_range() const;
static inline multi_union_pw_aff from_union_map(union_map umap);
- static inline multi_union_pw_aff from_union_pw_aff_list(space space, union_pw_aff_list list);
+ inline union_pw_aff get_at(int pos) const;
inline id get_dim_id(isl::dim type, unsigned int pos) const;
inline space get_domain_space() const;
+ inline union_pw_aff_list get_list() const;
inline space get_space() const;
inline id get_tuple_id(isl::dim type) const;
inline std::string get_tuple_name(isl::dim type) const;
inline multi_union_pw_aff range_splice(unsigned int pos, multi_union_pw_aff multi2) const;
inline multi_union_pw_aff reset_tuple_id(isl::dim type) const;
inline multi_union_pw_aff reset_user() const;
- inline multi_union_pw_aff scale_down_multi_val(multi_val mv) const;
- inline multi_union_pw_aff scale_down_val(val v) const;
- inline multi_union_pw_aff scale_multi_val(multi_val mv) const;
- inline multi_union_pw_aff scale_val(val v) const;
+ inline multi_union_pw_aff scale(multi_val mv) const;
+ inline multi_union_pw_aff scale(val v) const;
+ inline multi_union_pw_aff scale_down(multi_val mv) const;
+ inline multi_union_pw_aff scale_down(val v) const;
+ inline multi_union_pw_aff set_at(int pos, union_pw_aff el) const;
inline multi_union_pw_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline multi_union_pw_aff set_tuple_id(isl::dim type, id id) const;
inline multi_union_pw_aff set_tuple_name(isl::dim type, const std::string &s) const;
inline multi_union_pw_aff set_union_pw_aff(int pos, union_pw_aff el) const;
+ inline isl_size size() const;
inline multi_union_pw_aff sub(multi_union_pw_aff multi2) const;
inline multi_union_pw_aff union_add(multi_union_pw_aff mupa2) const;
static inline multi_union_pw_aff zero(space space);
inline /* implicit */ multi_val();
inline /* implicit */ multi_val(const multi_val &obj);
inline /* implicit */ multi_val(std::nullptr_t);
+ inline explicit multi_val(space space, val_list list);
+ inline explicit multi_val(ctx ctx, const std::string &str);
inline multi_val &operator=(multi_val obj);
inline ~multi_val();
inline __isl_give isl_multi_val *copy() const &;
inline void dump() const;
inline multi_val add(multi_val multi2) const;
+ inline multi_val add(val v) const;
inline multi_val add_dims(isl::dim type, unsigned int n) const;
- inline multi_val add_val(val v) const;
inline multi_val align_params(space model) const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline multi_val drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline multi_val factor_range() const;
inline int find_dim_by_id(isl::dim type, const id &id) const;
inline multi_val flat_range_product(multi_val multi2) const;
inline multi_val flatten_range() const;
inline multi_val from_range() const;
- static inline multi_val from_val_list(space space, val_list list);
+ inline val get_at(int pos) const;
inline id get_dim_id(isl::dim type, unsigned int pos) const;
inline space get_domain_space() const;
+ inline val_list get_list() const;
inline space get_space() const;
inline id get_tuple_id(isl::dim type) const;
inline std::string get_tuple_name(isl::dim type) const;
inline multi_val insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_nan() const;
+ inline boolean is_zero() const;
+ inline multi_val max(multi_val multi2) const;
+ inline multi_val min(multi_val multi2) const;
inline multi_val mod_multi_val(multi_val mv) const;
inline multi_val mod_val(val v) const;
inline multi_val neg() const;
inline boolean range_is_wrapping() const;
inline multi_val range_product(multi_val multi2) const;
inline multi_val range_splice(unsigned int pos, multi_val multi2) const;
- static inline multi_val read_from_str(ctx ctx, const std::string &str);
inline multi_val reset_tuple_id(isl::dim type) const;
inline multi_val reset_user() const;
- inline multi_val scale_down_multi_val(multi_val mv) const;
- inline multi_val scale_down_val(val v) const;
- inline multi_val scale_multi_val(multi_val mv) const;
- inline multi_val scale_val(val v) const;
+ inline multi_val scale(multi_val mv) const;
+ inline multi_val scale(val v) const;
+ inline multi_val scale_down(multi_val mv) const;
+ inline multi_val scale_down(val v) const;
+ inline multi_val set_at(int pos, val el) const;
inline multi_val set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline multi_val set_tuple_id(isl::dim type, id id) const;
inline multi_val set_tuple_name(isl::dim type, const std::string &s) const;
inline multi_val set_val(int pos, val el) const;
+ inline isl_size size() const;
inline multi_val splice(unsigned int in_pos, unsigned int out_pos, multi_val multi2) const;
inline multi_val sub(multi_val multi2) const;
static inline multi_val zero(space space);
inline point add_ui(isl::dim type, int pos, unsigned int val) const;
inline val get_coordinate_val(isl::dim type, int pos) const;
+ inline multi_val get_multi_val() const;
inline space get_space() const;
inline point set_coordinate_val(isl::dim type, int pos, val v) const;
inline point sub_ui(isl::dim type, int pos, unsigned int val) const;
inline /* implicit */ pw_aff(const pw_aff &obj);
inline /* implicit */ pw_aff(std::nullptr_t);
inline /* implicit */ pw_aff(aff aff);
- inline explicit pw_aff(local_space ls);
- inline explicit pw_aff(set domain, val v);
inline explicit pw_aff(ctx ctx, const std::string &str);
+ inline explicit pw_aff(set domain, val v);
+ inline explicit pw_aff(local_space ls);
inline pw_aff &operator=(pw_aff obj);
inline ~pw_aff();
inline __isl_give isl_pw_aff *copy() const &;
inline void dump() const;
inline pw_aff add(pw_aff pwaff2) const;
+ inline pw_aff add_constant(val v) const;
inline pw_aff add_dims(isl::dim type, unsigned int n) const;
inline pw_aff align_params(space model) const;
static inline pw_aff alloc(set set, aff aff);
+ inline aff as_aff() const;
+ inline set bind(id id) const;
+ inline pw_aff bind_domain(multi_id tuple) const;
+ inline pw_aff bind_domain_wrapped_domain(multi_id tuple) const;
inline pw_aff ceil() const;
inline pw_aff coalesce() const;
inline pw_aff cond(pw_aff pwaff_true, pw_aff pwaff_false) const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline pw_aff div(pw_aff pa2) const;
inline set domain() const;
inline pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline pw_aff drop_unused_params() const;
- static inline pw_aff empty(space dim);
+ static inline pw_aff empty(space space);
inline map eq_map(pw_aff pa2) const;
inline set eq_set(pw_aff pwaff2) const;
inline val eval(point pnt) const;
inline pw_aff floor() const;
inline stat foreach_piece(const std::function<stat(set, aff)> &fn) const;
inline pw_aff from_range() const;
+ inline map ge_map(pw_aff pa2) const;
inline set ge_set(pw_aff pwaff2) const;
inline 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 boolean has_dim_id(isl::dim type, unsigned int pos) const;
inline boolean has_tuple_id(isl::dim type) const;
inline pw_aff insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline pw_aff insert_domain(space domain) const;
inline pw_aff intersect_domain(set set) const;
+ inline pw_aff intersect_domain_wrapped_domain(set set) const;
+ inline pw_aff intersect_domain_wrapped_range(set set) const;
inline pw_aff intersect_params(set set) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_nan() const;
+ inline boolean involves_param_id(const id &id) const;
inline boolean is_cst() const;
inline boolean is_empty() const;
inline boolean is_equal(const pw_aff &pa2) const;
+ inline boolean isa_aff() const;
+ inline map le_map(pw_aff pa2) const;
inline set le_set(pw_aff pwaff2) const;
inline map lt_map(pw_aff pa2) const;
inline set lt_set(pw_aff pwaff2) const;
inline pw_aff mod(val mod) const;
inline 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 pw_aff mul(pw_aff pwaff2) const;
- inline int n_piece() const;
+ inline isl_size n_piece() const;
static inline pw_aff nan_on_domain(local_space ls);
+ static inline pw_aff nan_on_domain_space(space space);
inline set ne_set(pw_aff pwaff2) const;
inline pw_aff neg() const;
inline set non_zero_set() const;
inline set nonneg_set() const;
+ static inline pw_aff param_on_domain(set domain, id id);
inline set params() const;
inline int plain_cmp(const pw_aff &pa2) const;
inline boolean plain_is_equal(const pw_aff &pwaff2) const;
inline set pos_set() const;
inline pw_aff project_domain_on_params() const;
inline pw_aff pullback(multi_aff ma) const;
- inline pw_aff pullback(pw_multi_aff pma) const;
inline pw_aff pullback(multi_pw_aff mpa) const;
+ inline pw_aff pullback(pw_multi_aff pma) const;
inline pw_aff reset_tuple_id(isl::dim type) const;
inline pw_aff reset_user() const;
inline pw_aff scale(val v) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline pw_aff_list add(pw_aff el) const;
static inline pw_aff_list alloc(ctx ctx, int n);
+ inline pw_aff_list clear() const;
inline pw_aff_list concat(pw_aff_list list2) const;
inline pw_aff_list drop(unsigned int first, unsigned int n) const;
inline set eq_set(pw_aff_list list2) const;
inline set lt_set(pw_aff_list list2) const;
inline pw_aff max() const;
inline pw_aff min() const;
- inline int n_pw_aff() const;
+ inline isl_size n_pw_aff() const;
inline set ne_set(pw_aff_list list2) const;
inline pw_aff_list reverse() const;
inline pw_aff_list set_pw_aff(int index, pw_aff el) const;
- inline int size() const;
+ inline isl_size size() const;
inline pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline void dump() const;
inline pw_multi_aff add(pw_multi_aff pma2) const;
+ inline pw_multi_aff add_constant(multi_val mv) const;
+ inline pw_multi_aff add_constant(val v) const;
inline pw_multi_aff align_params(space model) const;
static inline pw_multi_aff alloc(set set, multi_aff maff);
+ inline multi_aff as_multi_aff() const;
+ inline pw_multi_aff bind_domain(multi_id tuple) const;
+ inline pw_multi_aff bind_domain_wrapped_domain(multi_id tuple) const;
inline pw_multi_aff coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline set domain() const;
+ static inline pw_multi_aff domain_map(space space);
inline pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline pw_multi_aff drop_unused_params() const;
static inline pw_multi_aff empty(space space);
inline boolean has_tuple_id(isl::dim type) const;
inline boolean has_tuple_name(isl::dim type) const;
static inline pw_multi_aff identity(space space);
+ static inline pw_multi_aff identity_on_domain(space space);
+ inline pw_multi_aff insert_domain(space domain) const;
inline pw_multi_aff intersect_domain(set set) const;
+ inline pw_multi_aff intersect_domain_wrapped_domain(set set) const;
+ inline pw_multi_aff intersect_domain_wrapped_range(set set) const;
inline pw_multi_aff intersect_params(set set) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline boolean involves_locals() const;
inline boolean involves_nan() const;
+ inline boolean involves_param_id(const id &id) const;
inline boolean is_equal(const pw_multi_aff &pma2) const;
+ inline boolean isa_multi_aff() const;
+ inline multi_val max_multi_val() const;
+ inline multi_val min_multi_val() const;
static inline pw_multi_aff multi_val_on_domain(set domain, multi_val mv);
- inline int n_piece() const;
+ inline isl_size n_piece() const;
inline pw_multi_aff neg() const;
inline boolean plain_is_equal(const pw_multi_aff &pma2) const;
+ inline pw_multi_aff preimage_domain_wrapped_domain(pw_multi_aff pma2) const;
inline pw_multi_aff product(pw_multi_aff pma2) const;
inline pw_multi_aff project_domain_on_params() const;
static inline pw_multi_aff project_out_map(space space, isl::dim type, unsigned int first, unsigned int n);
inline pw_multi_aff pullback(multi_aff ma) const;
inline pw_multi_aff pullback(pw_multi_aff pma2) const;
+ inline pw_multi_aff range_factor_domain() const;
+ inline pw_multi_aff range_factor_range() const;
static inline pw_multi_aff range_map(space space);
inline pw_multi_aff range_product(pw_multi_aff pma2) const;
inline pw_multi_aff reset_tuple_id(isl::dim type) const;
inline pw_multi_aff reset_user() const;
- inline pw_multi_aff scale_down_val(val v) const;
+ inline pw_multi_aff scale(val v) const;
+ inline pw_multi_aff scale_down(val v) const;
inline pw_multi_aff scale_multi_val(multi_val mv) const;
- inline pw_multi_aff scale_val(val v) const;
inline pw_multi_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
inline pw_multi_aff set_pw_aff(unsigned int pos, pw_aff pa) const;
inline pw_multi_aff set_tuple_id(isl::dim type, id id) const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline pw_multi_aff_list add(pw_multi_aff el) const;
static inline pw_multi_aff_list alloc(ctx ctx, int n);
+ inline pw_multi_aff_list clear() const;
inline pw_multi_aff_list concat(pw_multi_aff_list list2) const;
inline pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(pw_multi_aff)> &fn) const;
inline pw_multi_aff get_at(int index) const;
inline pw_multi_aff get_pw_multi_aff(int index) const;
inline pw_multi_aff_list insert(unsigned int pos, pw_multi_aff el) const;
- inline int n_pw_multi_aff() const;
+ inline isl_size n_pw_multi_aff() const;
inline pw_multi_aff_list reverse() const;
inline pw_multi_aff_list set_pw_multi_aff(int index, pw_multi_aff el) const;
- inline int size() const;
+ inline isl_size size() const;
inline pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline pw_qpolynomial add(pw_qpolynomial pwqp2) const;
inline pw_qpolynomial add_dims(isl::dim type, unsigned int n) const;
static inline pw_qpolynomial alloc(set set, qpolynomial qp);
+ inline qpolynomial as_qpolynomial() const;
inline pw_qpolynomial coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline set domain() const;
inline pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline pw_qpolynomial drop_unused_params() const;
inline boolean has_equal_space(const pw_qpolynomial &pwqp2) const;
inline pw_qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline pw_qpolynomial intersect_domain(set set) const;
+ inline pw_qpolynomial intersect_domain_wrapped_domain(set set) const;
+ inline pw_qpolynomial intersect_domain_wrapped_range(set set) const;
inline pw_qpolynomial intersect_params(set set) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_nan() const;
+ inline boolean involves_param_id(const id &id) const;
inline boolean is_zero() const;
+ inline boolean isa_qpolynomial() const;
inline val max() const;
inline val min() const;
inline 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 pw_qpolynomial mul(pw_qpolynomial pwqp2) const;
- inline int n_piece() const;
+ inline isl_size n_piece() const;
inline pw_qpolynomial neg() const;
inline boolean plain_is_equal(const pw_qpolynomial &pwqp2) const;
inline pw_qpolynomial pow(unsigned int exponent) const;
inline pw_qpolynomial project_domain_on_params() const;
- inline pw_qpolynomial reset_domain_space(space dim) const;
+ inline pw_qpolynomial reset_domain_space(space space) const;
inline pw_qpolynomial reset_user() const;
inline pw_qpolynomial scale_down_val(val v) const;
inline pw_qpolynomial scale_val(val v) const;
inline pw_qpolynomial sub(pw_qpolynomial pwqp2) const;
inline pw_qpolynomial subtract_domain(set set) const;
inline pw_qpolynomial to_polynomial(int sign) const;
- static inline pw_qpolynomial zero(space dim);
+ static inline pw_qpolynomial zero(space space);
};
// declarations for isl::pw_qpolynomial_fold_list
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
};
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline pw_qpolynomial_list add(pw_qpolynomial el) const;
static inline pw_qpolynomial_list alloc(ctx ctx, int n);
+ inline pw_qpolynomial_list clear() const;
inline pw_qpolynomial_list concat(pw_qpolynomial_list list2) const;
inline pw_qpolynomial_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(pw_qpolynomial)> &fn) const;
inline pw_qpolynomial get_at(int index) const;
inline pw_qpolynomial get_pw_qpolynomial(int index) const;
inline pw_qpolynomial_list insert(unsigned int pos, pw_qpolynomial el) const;
- inline int n_pw_qpolynomial() const;
+ inline isl_size n_pw_qpolynomial() const;
inline pw_qpolynomial_list reverse() const;
inline pw_qpolynomial_list set_pw_qpolynomial(int index, pw_qpolynomial el) const;
- inline int size() const;
+ inline isl_size size() const;
inline pw_qpolynomial_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline qpolynomial add_dims(isl::dim type, unsigned int n) const;
inline qpolynomial align_params(space model) const;
inline stat as_polynomial_on_domain(const basic_set &bset, const std::function<stat(basic_set, qpolynomial)> &fn) const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline val eval(point pnt) const;
inline stat foreach_term(const std::function<stat(term)> &fn) const;
inline qpolynomial gist(set context) const;
inline qpolynomial gist_params(set context) const;
inline qpolynomial homogenize() const;
- static inline qpolynomial infty_on_domain(space dim);
+ static inline qpolynomial infty_on_domain(space domain);
inline qpolynomial insert_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean is_infty() const;
inline boolean is_zero() const;
inline qpolynomial move_dims(isl::dim dst_type, unsigned int dst_pos, isl::dim src_type, unsigned int src_pos, unsigned int n) const;
inline qpolynomial mul(qpolynomial qp2) const;
- static inline qpolynomial nan_on_domain(space dim);
+ static inline qpolynomial nan_on_domain(space domain);
inline qpolynomial neg() const;
- static inline qpolynomial neginfty_on_domain(space dim);
- static inline qpolynomial one_on_domain(space dim);
+ static inline qpolynomial neginfty_on_domain(space domain);
+ static inline qpolynomial one_on_domain(space domain);
inline boolean plain_is_equal(const qpolynomial &qp2) const;
inline qpolynomial pow(unsigned int power) const;
inline qpolynomial project_domain_on_params() const;
inline int sgn() const;
inline qpolynomial sub(qpolynomial qp2) const;
static inline qpolynomial val_on_domain(space space, val val);
- static inline qpolynomial var_on_domain(space dim, isl::dim type, unsigned int pos);
- static inline qpolynomial zero_on_domain(space dim);
+ static inline qpolynomial var_on_domain(space domain, isl::dim type, unsigned int pos);
+ static inline qpolynomial zero_on_domain(space domain);
+};
+
+// declarations for isl::qpolynomial_list
+inline qpolynomial_list manage(__isl_take isl_qpolynomial_list *ptr);
+inline qpolynomial_list manage_copy(__isl_keep isl_qpolynomial_list *ptr);
+
+class qpolynomial_list {
+ friend inline qpolynomial_list manage(__isl_take isl_qpolynomial_list *ptr);
+ friend inline qpolynomial_list manage_copy(__isl_keep isl_qpolynomial_list *ptr);
+
+ isl_qpolynomial_list *ptr = nullptr;
+
+ inline explicit qpolynomial_list(__isl_take isl_qpolynomial_list *ptr);
+
+public:
+ inline /* implicit */ qpolynomial_list();
+ inline /* implicit */ qpolynomial_list(const qpolynomial_list &obj);
+ inline /* implicit */ qpolynomial_list(std::nullptr_t);
+ inline qpolynomial_list &operator=(qpolynomial_list obj);
+ inline ~qpolynomial_list();
+ inline __isl_give isl_qpolynomial_list *copy() const &;
+ inline __isl_give isl_qpolynomial_list *copy() && = delete;
+ inline __isl_keep isl_qpolynomial_list *get() const;
+ inline __isl_give isl_qpolynomial_list *release();
+ inline bool is_null() const;
+ inline explicit operator bool() const;
+ inline ctx get_ctx() const;
+ inline std::string to_str() const;
+ inline void dump() const;
+
+ inline qpolynomial_list add(qpolynomial el) const;
+ static inline qpolynomial_list alloc(ctx ctx, int n);
+ inline qpolynomial_list clear() const;
+ inline qpolynomial_list concat(qpolynomial_list list2) const;
+ inline qpolynomial_list drop(unsigned int first, unsigned int n) const;
+ inline stat foreach(const std::function<stat(qpolynomial)> &fn) const;
+ static inline qpolynomial_list from_qpolynomial(qpolynomial el);
+ inline qpolynomial get_at(int index) const;
+ inline qpolynomial get_qpolynomial(int index) const;
+ inline qpolynomial_list insert(unsigned int pos, qpolynomial el) const;
+ inline isl_size n_qpolynomial() const;
+ inline qpolynomial_list reverse() const;
+ inline qpolynomial_list set_qpolynomial(int index, qpolynomial el) const;
+ inline isl_size size() const;
+ inline qpolynomial_list swap(unsigned int pos1, unsigned int pos2) const;
};
// declarations for isl::schedule
inline stat foreach_ancestor_top_down(const std::function<stat(schedule_node)> &fn) const;
static inline schedule_node from_domain(union_set domain);
static inline schedule_node from_extension(union_map extension);
- inline int get_ancestor_child_position(const schedule_node &ancestor) const;
+ inline isl_size get_ancestor_child_position(const schedule_node &ancestor) const;
inline schedule_node get_child(int pos) const;
- inline int get_child_position() const;
+ inline isl_size get_child_position() const;
inline union_set get_domain() const;
inline multi_union_pw_aff get_prefix_schedule_multi_union_pw_aff() const;
inline union_map get_prefix_schedule_relation() const;
inline union_map get_prefix_schedule_union_map() const;
inline union_pw_multi_aff get_prefix_schedule_union_pw_multi_aff() const;
inline schedule get_schedule() const;
- inline int get_schedule_depth() const;
+ inline isl_size get_schedule_depth() const;
inline schedule_node get_shared_ancestor(const schedule_node &node2) const;
inline union_pw_multi_aff get_subtree_contraction() const;
inline union_map get_subtree_expansion() const;
inline union_map get_subtree_schedule_union_map() const;
- inline int get_tree_depth() const;
+ inline isl_size get_tree_depth() const;
inline union_set get_universe_domain() const;
inline schedule_node graft_after(schedule_node graft) const;
inline schedule_node graft_before(schedule_node graft) const;
inline boolean is_equal(const schedule_node &node2) const;
inline boolean is_subtree_anchored() const;
inline id mark_get_id() const;
- inline int n_children() const;
+ inline isl_size n_children() const;
inline schedule_node next_sibling() const;
inline schedule_node order_after(union_set filter) const;
inline schedule_node order_before(union_set filter) const;
inline /* implicit */ set();
inline /* implicit */ set(const set &obj);
inline /* implicit */ set(std::nullptr_t);
- inline explicit set(ctx ctx, const std::string &str);
inline /* implicit */ set(basic_set bset);
inline /* implicit */ set(point pnt);
inline explicit set(union_set uset);
+ inline explicit set(ctx ctx, const std::string &str);
inline set &operator=(set obj);
inline ~set();
inline __isl_give isl_set *copy() const &;
inline basic_set affine_hull() const;
inline set align_params(space model) const;
inline set apply(map map) const;
+ inline set bind(multi_id tuple) const;
inline basic_set bounded_simple_hull() const;
static inline set box_from_points(point pnt1, point pnt2);
inline set coalesce() const;
inline basic_set convex_hull() const;
inline val count_val() const;
inline set detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline boolean dim_has_any_lower_bound(isl::dim type, unsigned int pos) const;
inline boolean dim_has_any_upper_bound(isl::dim type, unsigned int pos) const;
inline boolean dim_has_lower_bound(isl::dim type, unsigned int pos) const;
inline boolean dim_has_upper_bound(isl::dim type, unsigned int pos) const;
inline boolean dim_is_bounded(isl::dim type, unsigned int pos) const;
inline pw_aff dim_max(int pos) const;
+ inline val dim_max_val(int pos) const;
inline pw_aff dim_min(int pos) const;
+ inline val dim_min_val(int pos) const;
inline set drop_constraints_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline set drop_constraints_not_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline set drop_unused_params() const;
inline basic_set_list get_basic_set_list() const;
inline 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 multi_val get_plain_multi_val_if_fixed() const;
+ inline fixed_box get_simple_fixed_box_hull() const;
inline space get_space() const;
inline val get_stride(int pos) const;
inline id get_tuple_id() const;
inline map identity() const;
inline pw_aff indicator_function() const;
inline set insert_dims(isl::dim type, unsigned int pos, unsigned int n) const;
+ inline map insert_domain(space domain) const;
inline set intersect(set set2) const;
+ inline set intersect_factor_domain(set domain) const;
+ inline set intersect_factor_range(set range) const;
inline set intersect_params(set params) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
+ inline boolean involves_locals() const;
inline boolean is_bounded() const;
inline boolean is_box() const;
inline boolean is_disjoint(const set &set2) const;
inline pw_multi_aff lexmax_pw_multi_aff() const;
inline set lexmin() const;
inline pw_multi_aff lexmin_pw_multi_aff() const;
+ inline set lower_bound(multi_pw_aff lower) const;
+ inline set lower_bound(multi_val lower) const;
inline set lower_bound_si(isl::dim type, unsigned int pos, int value) const;
inline set lower_bound_val(isl::dim type, unsigned int pos, val value) const;
+ inline multi_pw_aff max_multi_pw_aff() const;
inline val max_val(const aff &obj) const;
+ inline multi_pw_aff min_multi_pw_aff() const;
inline val min_val(const aff &obj) const;
inline 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 set nat_universe(space dim);
+ inline isl_size n_basic_set() const;
+ inline isl_size n_dim() const;
+ static inline set nat_universe(space space);
inline set neg() const;
inline set params() const;
inline int plain_cmp(const set &set2) const;
inline boolean plain_is_universe() const;
inline basic_set plain_unshifted_simple_hull() const;
inline basic_set polyhedral_hull() const;
- inline set preimage_multi_aff(multi_aff ma) const;
- inline set preimage_multi_pw_aff(multi_pw_aff mpa) const;
- inline set preimage_pw_multi_aff(pw_multi_aff pma) const;
+ inline set preimage(multi_aff ma) const;
+ inline set preimage(multi_pw_aff mpa) const;
+ inline set preimage(pw_multi_aff pma) const;
inline set product(set set2) const;
inline map project_onto_map(isl::dim type, unsigned int first, unsigned int n) const;
inline set project_out(isl::dim type, unsigned int first, unsigned int n) const;
+ inline set project_out_all_params() const;
+ inline set project_out_param(id id) const;
+ inline set project_out_param(id_list list) const;
inline set remove_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline set remove_divs() const;
inline set remove_divs_involving_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline set remove_redundancies() const;
inline set remove_unknown_divs() const;
- inline set reset_space(space dim) const;
+ inline set reset_space(space space) const;
inline set reset_tuple_id() const;
inline set reset_user() const;
inline basic_set sample() const;
inline set split_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline set subtract(set set2) const;
inline set sum(set set2) const;
+ inline map translation() const;
+ inline set unbind_params(multi_id tuple) const;
+ inline map unbind_params_insert_domain(multi_id domain) const;
inline set unite(set set2) const;
static inline set universe(space space);
inline basic_set unshifted_simple_hull() const;
inline basic_set unshifted_simple_hull_from_set_list(set_list list) const;
inline map unwrap() const;
+ inline set upper_bound(multi_pw_aff upper) const;
+ inline set upper_bound(multi_val upper) const;
inline set upper_bound_si(isl::dim type, unsigned int pos, int value) const;
inline set upper_bound_val(isl::dim type, unsigned int pos, val value) const;
inline map wrapped_domain_map() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline set_list add(set el) const;
static inline set_list alloc(ctx ctx, int n);
+ inline set_list clear() const;
inline set_list concat(set_list list2) const;
inline set_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(set)> &fn) const;
inline set get_at(int index) const;
inline set get_set(int index) const;
inline set_list insert(unsigned int pos, set el) const;
- inline int n_set() const;
+ inline isl_size n_set() const;
inline set_list reverse() const;
inline set_list set_set(int index, set el) const;
- inline int size() const;
+ inline isl_size size() const;
inline set_list swap(unsigned int pos1, unsigned int pos2) const;
inline set unite() const;
};
inline void dump() const;
inline space add_dims(isl::dim type, unsigned int n) const;
+ inline space add_named_tuple(id tuple_id, unsigned int dim) const;
inline space add_param_id(id id) const;
- inline space align_params(space dim2) const;
+ inline space add_unnamed_tuple(unsigned int dim) const;
+ inline space align_params(space space2) const;
inline boolean can_curry() const;
inline boolean can_range_curry() const;
inline boolean can_uncurry() const;
inline boolean can_zip() const;
inline space curry() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline space domain() const;
inline space domain_factor_domain() const;
inline space domain_factor_range() const;
inline boolean domain_is_wrapping() const;
inline space domain_map() const;
inline space domain_product(space right) const;
+ inline space drop_all_params() const;
inline space drop_dims(isl::dim type, unsigned int first, unsigned int num) const;
inline space factor_domain() const;
inline space factor_range() const;
inline boolean range_is_wrapping() const;
inline space range_map() const;
inline space range_product(space right) const;
+ inline space range_reverse() const;
inline space reset_tuple_id(isl::dim type) const;
inline space reset_user() const;
inline space reverse() const;
inline space set_tuple_name(isl::dim type, const std::string &s) const;
inline boolean tuple_is_equal(isl::dim type1, const space &space2, isl::dim type2) const;
inline space uncurry() const;
+ static inline space unit(ctx ctx);
inline space unwrap() const;
inline space wrap() const;
inline space zip() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline val get_coefficient_val() const;
inline aff get_div(unsigned int pos) const;
- inline int get_exp(isl::dim type, unsigned int pos) const;
+ inline isl_size get_exp(isl::dim type, unsigned int pos) const;
};
// declarations for isl::union_access_info
inline /* implicit */ union_map();
inline /* implicit */ union_map(const union_map &obj);
inline /* implicit */ union_map(std::nullptr_t);
- inline explicit union_map(union_pw_multi_aff upma);
inline /* implicit */ union_map(basic_map bmap);
inline /* implicit */ union_map(map map);
+ inline explicit union_map(union_pw_multi_aff upma);
inline explicit union_map(ctx ctx, const std::string &str);
inline union_map &operator=(union_map obj);
inline ~union_map();
inline union_map align_params(space model) const;
inline union_map apply_domain(union_map umap2) const;
inline union_map apply_range(union_map umap2) const;
+ inline union_set bind_range(multi_id tuple) const;
inline union_map coalesce() const;
inline boolean contains(const space &space) const;
inline union_map curry() const;
inline union_set deltas() const;
inline union_map deltas_map() const;
inline union_map detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline union_set domain() const;
inline union_map domain_factor_domain() const;
inline union_map domain_factor_range() const;
inline union_pw_multi_aff domain_map_union_pw_multi_aff() const;
inline union_map domain_product(union_map umap2) const;
static inline union_map empty(space space);
+ static inline union_map empty(ctx ctx);
+ static inline union_map empty_space(space space);
inline union_map eq_at(multi_union_pw_aff mupa) const;
- inline map extract_map(space dim) const;
+ inline map extract_map(space space) const;
inline union_map factor_domain() const;
inline union_map factor_range() const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline union_map gist_params(set set) const;
inline union_map gist_range(union_set uset) const;
inline union_map intersect(union_map umap2) const;
+ inline union_map intersect_domain(space space) const;
inline union_map intersect_domain(union_set uset) const;
+ inline union_map intersect_domain_factor_domain(union_map factor) const;
+ inline union_map intersect_domain_factor_range(union_map factor) const;
inline union_map intersect_params(set set) const;
+ inline union_map intersect_range(space space) const;
inline union_map intersect_range(union_set uset) const;
+ inline union_map intersect_range_factor_domain(union_map factor) const;
inline union_map intersect_range_factor_range(union_map factor) const;
inline boolean involves_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline boolean is_bijective() const;
inline boolean is_single_valued() const;
inline boolean is_strict_subset(const union_map &umap2) const;
inline boolean is_subset(const union_map &umap2) const;
+ inline boolean isa_map() const;
+ inline union_map lex_ge_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
inline union_map lex_ge_union_map(union_map umap2) const;
inline union_map lex_gt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
inline union_map lex_gt_union_map(union_map umap2) const;
+ inline union_map lex_le_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
inline union_map lex_le_union_map(union_map umap2) const;
inline union_map lex_lt_at_multi_union_pw_aff(multi_union_pw_aff mupa) const;
inline union_map lex_lt_union_map(union_map umap2) const;
inline union_map lexmax() const;
inline union_map lexmin() const;
- inline int n_map() const;
+ inline isl_size n_map() const;
inline set params() const;
inline boolean plain_is_empty() const;
inline boolean plain_is_injective() const;
inline union_map polyhedral_hull() const;
- inline union_map preimage_domain_multi_aff(multi_aff ma) const;
- inline union_map preimage_domain_multi_pw_aff(multi_pw_aff mpa) const;
- inline union_map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
- inline union_map preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const;
- inline union_map preimage_range_multi_aff(multi_aff ma) const;
- inline union_map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
- inline union_map preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const;
+ inline union_map preimage_domain(multi_aff ma) const;
+ inline union_map preimage_domain(multi_pw_aff mpa) const;
+ inline union_map preimage_domain(pw_multi_aff pma) const;
+ inline union_map preimage_domain(union_pw_multi_aff upma) const;
+ inline union_map preimage_range(multi_aff ma) const;
+ inline union_map preimage_range(pw_multi_aff pma) const;
+ inline union_map preimage_range(union_pw_multi_aff upma) const;
inline union_map product(union_map umap2) const;
inline union_map project_out(isl::dim type, unsigned int first, unsigned int n) const;
inline union_map project_out_all_params() const;
inline union_map range_factor_range() const;
inline union_map range_map() const;
inline union_map range_product(union_map umap2) const;
+ inline union_map range_reverse() const;
inline union_map remove_divs() const;
inline union_map remove_redundancies() const;
inline union_map reset_user() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline union_map_list add(union_map el) const;
static inline union_map_list alloc(ctx ctx, int n);
+ inline union_map_list clear() const;
inline union_map_list concat(union_map_list list2) const;
inline union_map_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(union_map)> &fn) const;
inline union_map get_at(int index) const;
inline union_map get_union_map(int index) const;
inline union_map_list insert(unsigned int pos, union_map el) const;
- inline int n_union_map() const;
+ inline isl_size n_union_map() const;
inline union_map_list reverse() const;
inline union_map_list set_union_map(int index, union_map el) const;
- inline int size() const;
+ inline isl_size size() const;
inline union_map_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline /* implicit */ union_pw_aff();
inline /* implicit */ union_pw_aff(const union_pw_aff &obj);
inline /* implicit */ union_pw_aff(std::nullptr_t);
+ inline /* implicit */ union_pw_aff(aff aff);
inline /* implicit */ union_pw_aff(pw_aff pa);
- inline explicit union_pw_aff(union_set domain, val v);
inline explicit union_pw_aff(ctx ctx, const std::string &str);
+ inline explicit union_pw_aff(union_set domain, val v);
inline union_pw_aff &operator=(union_pw_aff obj);
inline ~union_pw_aff();
inline __isl_give isl_union_pw_aff *copy() const &;
inline union_pw_aff add_pw_aff(pw_aff pa) const;
static inline union_pw_aff aff_on_domain(union_set domain, aff aff);
inline union_pw_aff align_params(space model) const;
+ inline union_set bind(id id) const;
inline union_pw_aff coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline union_set domain() const;
inline union_pw_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
static inline union_pw_aff empty(space space);
+ static inline union_pw_aff empty_ctx(ctx ctx);
+ static inline union_pw_aff empty_space(space space);
inline pw_aff extract_pw_aff(space space) const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline union_pw_aff floor() const;
inline space get_space() const;
inline union_pw_aff gist(union_set context) const;
inline union_pw_aff gist_params(set context) const;
+ inline union_pw_aff intersect_domain(space space) const;
inline union_pw_aff intersect_domain(union_set uset) const;
+ inline union_pw_aff intersect_domain_wrapped_domain(union_set uset) const;
+ inline union_pw_aff intersect_domain_wrapped_range(union_set uset) const;
inline union_pw_aff intersect_params(set set) const;
inline boolean involves_nan() const;
inline val max_val() const;
inline val min_val() const;
inline union_pw_aff mod_val(val f) const;
- inline int n_pw_aff() const;
+ inline isl_size n_pw_aff() const;
inline union_pw_aff neg() const;
static inline union_pw_aff param_on_domain_id(union_set domain, id id);
inline boolean plain_is_equal(const union_pw_aff &upa2) const;
inline union_pw_aff scale_down_val(val v) const;
inline union_pw_aff scale_val(val v) const;
inline union_pw_aff sub(union_pw_aff upa2) const;
+ inline union_pw_aff subtract_domain(space space) const;
inline union_pw_aff subtract_domain(union_set uset) const;
inline union_pw_aff union_add(union_pw_aff upa2) const;
inline union_set zero_union_set() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline union_pw_aff_list add(union_pw_aff el) const;
static inline union_pw_aff_list alloc(ctx ctx, int n);
+ inline union_pw_aff_list clear() const;
inline union_pw_aff_list concat(union_pw_aff_list list2) const;
inline union_pw_aff_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(union_pw_aff)> &fn) const;
inline union_pw_aff get_at(int index) const;
inline union_pw_aff get_union_pw_aff(int index) const;
inline union_pw_aff_list insert(unsigned int pos, union_pw_aff el) const;
- inline int n_union_pw_aff() const;
+ inline isl_size n_union_pw_aff() const;
inline union_pw_aff_list reverse() const;
inline union_pw_aff_list set_union_pw_aff(int index, union_pw_aff el) const;
- inline int size() const;
+ inline isl_size size() const;
inline union_pw_aff_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline /* implicit */ union_pw_multi_aff(const union_pw_multi_aff &obj);
inline /* implicit */ union_pw_multi_aff(std::nullptr_t);
inline /* implicit */ union_pw_multi_aff(aff aff);
- inline /* implicit */ union_pw_multi_aff(pw_multi_aff pma);
inline explicit union_pw_multi_aff(union_set uset);
+ inline /* implicit */ union_pw_multi_aff(multi_aff ma);
+ inline explicit union_pw_multi_aff(multi_union_pw_aff mupa);
+ inline /* implicit */ union_pw_multi_aff(pw_multi_aff pma);
inline explicit union_pw_multi_aff(union_map umap);
- inline explicit union_pw_multi_aff(ctx ctx, const std::string &str);
inline /* implicit */ union_pw_multi_aff(union_pw_aff upa);
- inline explicit union_pw_multi_aff(multi_union_pw_aff mupa);
+ inline explicit union_pw_multi_aff(ctx ctx, const std::string &str);
inline union_pw_multi_aff &operator=(union_pw_multi_aff obj);
inline ~union_pw_multi_aff();
inline __isl_give isl_union_pw_multi_aff *copy() const &;
inline union_pw_multi_aff add(union_pw_multi_aff upma2) const;
inline union_pw_multi_aff add_pw_multi_aff(pw_multi_aff pma) const;
inline union_pw_multi_aff align_params(space model) const;
+ inline union_pw_multi_aff apply(union_pw_multi_aff upma2) const;
+ inline pw_multi_aff as_pw_multi_aff() const;
inline union_pw_multi_aff coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline union_set domain() const;
inline union_pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
static inline union_pw_multi_aff empty(space space);
+ static inline union_pw_multi_aff empty(ctx ctx);
+ static inline union_pw_multi_aff empty_space(space space);
inline pw_multi_aff extract_pw_multi_aff(space space) const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline union_pw_multi_aff flat_range_product(union_pw_multi_aff upma2) const;
inline union_pw_aff get_union_pw_aff(int pos) const;
inline union_pw_multi_aff gist(union_set context) const;
inline union_pw_multi_aff gist_params(set context) const;
+ inline union_pw_multi_aff intersect_domain(space space) const;
inline union_pw_multi_aff intersect_domain(union_set uset) const;
+ inline union_pw_multi_aff intersect_domain_wrapped_domain(union_set uset) const;
+ inline union_pw_multi_aff intersect_domain_wrapped_range(union_set uset) const;
inline union_pw_multi_aff intersect_params(set set) const;
+ inline boolean involves_locals() const;
inline boolean involves_nan() const;
+ inline boolean isa_pw_multi_aff() const;
static inline union_pw_multi_aff multi_val_on_domain(union_set domain, multi_val mv);
- inline int n_pw_multi_aff() const;
+ inline isl_size n_pw_multi_aff() const;
inline union_pw_multi_aff neg() const;
+ inline boolean plain_is_empty() const;
inline boolean plain_is_equal(const union_pw_multi_aff &upma2) const;
+ inline union_pw_multi_aff preimage_domain_wrapped_domain(union_pw_multi_aff upma2) const;
inline union_pw_multi_aff pullback(union_pw_multi_aff upma2) const;
+ inline union_pw_multi_aff range_factor_domain() const;
+ inline union_pw_multi_aff range_factor_range() const;
+ inline union_pw_multi_aff range_product(union_pw_multi_aff upma2) const;
inline union_pw_multi_aff reset_user() const;
inline union_pw_multi_aff scale_down_val(val val) const;
inline union_pw_multi_aff scale_multi_val(multi_val mv) const;
inline union_pw_multi_aff scale_val(val val) const;
inline union_pw_multi_aff sub(union_pw_multi_aff upma2) const;
+ inline union_pw_multi_aff subtract_domain(space space) const;
inline union_pw_multi_aff subtract_domain(union_set uset) const;
inline union_pw_multi_aff union_add(union_pw_multi_aff upma2) const;
};
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline union_pw_multi_aff_list add(union_pw_multi_aff el) const;
static inline union_pw_multi_aff_list alloc(ctx ctx, int n);
+ inline union_pw_multi_aff_list clear() const;
inline union_pw_multi_aff_list concat(union_pw_multi_aff_list list2) const;
inline union_pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(union_pw_multi_aff)> &fn) const;
inline union_pw_multi_aff get_at(int index) const;
inline union_pw_multi_aff get_union_pw_multi_aff(int index) const;
inline union_pw_multi_aff_list insert(unsigned int pos, union_pw_multi_aff el) const;
- inline int n_union_pw_multi_aff() const;
+ inline isl_size n_union_pw_multi_aff() const;
inline union_pw_multi_aff_list reverse() const;
inline union_pw_multi_aff_list set_union_pw_multi_aff(int index, union_pw_multi_aff el) const;
- inline int size() const;
+ inline isl_size size() const;
inline union_pw_multi_aff_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline union_pw_qpolynomial add_pw_qpolynomial(pw_qpolynomial pwqp) const;
inline union_pw_qpolynomial align_params(space model) const;
inline union_pw_qpolynomial coalesce() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
inline union_set domain() const;
inline union_pw_qpolynomial drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
inline val eval(point pnt) const;
- inline pw_qpolynomial extract_pw_qpolynomial(space dim) const;
+ inline pw_qpolynomial extract_pw_qpolynomial(space space) const;
inline int find_dim_by_name(isl::dim type, const std::string &name) const;
inline stat foreach_pw_qpolynomial(const std::function<stat(pw_qpolynomial)> &fn) const;
static inline union_pw_qpolynomial from_pw_qpolynomial(pw_qpolynomial pwqp);
inline union_pw_qpolynomial gist(union_set context) const;
inline union_pw_qpolynomial gist_params(set context) const;
inline union_pw_qpolynomial intersect_domain(union_set uset) const;
+ inline union_pw_qpolynomial intersect_domain_space(space space) const;
+ inline union_pw_qpolynomial intersect_domain_union_set(union_set uset) const;
+ inline union_pw_qpolynomial intersect_domain_wrapped_domain(union_set uset) const;
+ inline union_pw_qpolynomial intersect_domain_wrapped_range(union_set uset) const;
inline union_pw_qpolynomial intersect_params(set set) const;
inline boolean involves_nan() const;
inline union_pw_qpolynomial mul(union_pw_qpolynomial upwqp2) const;
- inline int n_pw_qpolynomial() const;
+ inline isl_size n_pw_qpolynomial() const;
inline union_pw_qpolynomial neg() const;
inline boolean plain_is_equal(const union_pw_qpolynomial &upwqp2) const;
inline union_pw_qpolynomial reset_user() const;
inline union_pw_qpolynomial scale_val(val v) const;
inline union_pw_qpolynomial sub(union_pw_qpolynomial upwqp2) const;
inline union_pw_qpolynomial subtract_domain(union_set uset) const;
+ inline union_pw_qpolynomial subtract_domain_space(space space) const;
+ inline union_pw_qpolynomial subtract_domain_union_set(union_set uset) const;
inline union_pw_qpolynomial to_polynomial(int sign) const;
- static inline union_pw_qpolynomial zero(space dim);
+ static inline union_pw_qpolynomial zero(space space);
+ static inline union_pw_qpolynomial zero_ctx(ctx ctx);
+ static inline union_pw_qpolynomial zero_space(space space);
};
// declarations for isl::union_set
inline /* implicit */ union_set(const union_set &obj);
inline /* implicit */ union_set(std::nullptr_t);
inline /* implicit */ union_set(basic_set bset);
- inline /* implicit */ union_set(set set);
inline /* implicit */ union_set(point pnt);
+ inline /* implicit */ union_set(set set);
inline explicit union_set(ctx ctx, const std::string &str);
inline union_set &operator=(union_set obj);
inline ~union_set();
inline schedule compute_schedule(union_map validity, union_map proximity) const;
inline boolean contains(const space &space) const;
inline union_set detect_equalities() const;
- inline unsigned int dim(isl::dim type) const;
+ inline isl_size dim(isl::dim type) const;
static inline union_set empty(space space);
- inline set extract_set(space dim) const;
+ static inline union_set empty(ctx ctx);
+ static inline union_set empty_space(space space);
+ inline set extract_set(space space) const;
inline stat foreach_point(const std::function<stat(point)> &fn) const;
inline stat foreach_set(const std::function<stat(set)> &fn) const;
inline basic_set_list get_basic_set_list() const;
inline boolean is_params() const;
inline boolean is_strict_subset(const union_set &uset2) const;
inline boolean is_subset(const union_set &uset2) const;
+ inline boolean isa_set() const;
inline union_map lex_ge_union_set(union_set uset2) const;
inline union_map lex_gt_union_set(union_set uset2) const;
inline union_map lex_le_union_set(union_set uset2) const;
inline union_set lexmax() const;
inline union_set lexmin() const;
inline multi_val min_multi_union_pw_aff(const multi_union_pw_aff &obj) const;
- inline int n_set() const;
+ inline isl_size n_set() const;
inline set params() const;
inline union_set polyhedral_hull() const;
inline union_set preimage(multi_aff ma) const;
inline union_set preimage(union_pw_multi_aff upma) const;
inline union_set product(union_set uset2) const;
inline union_set project_out(isl::dim type, unsigned int first, unsigned int n) const;
+ inline union_set project_out_all_params() const;
inline union_set remove_divs() const;
inline union_set remove_redundancies() const;
inline union_set reset_user() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline union_set_list add(union_set el) const;
static inline union_set_list alloc(ctx ctx, int n);
+ inline union_set_list clear() const;
inline union_set_list concat(union_set_list list2) const;
inline union_set_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(union_set)> &fn) const;
inline union_set get_at(int index) const;
inline union_set get_union_set(int index) const;
inline union_set_list insert(unsigned int pos, union_set el) const;
- inline int n_union_set() const;
+ inline isl_size n_union_set() const;
inline union_set_list reverse() const;
inline union_set_list set_union_set(int index, union_set el) const;
- inline int size() const;
+ inline isl_size size() const;
inline union_set_list swap(unsigned int pos1, unsigned int pos2) const;
inline union_set unite() const;
};
inline /* implicit */ val();
inline /* implicit */ val(const val &obj);
inline /* implicit */ val(std::nullptr_t);
- inline explicit val(ctx ctx, const std::string &str);
inline explicit val(ctx ctx, long i);
+ inline explicit val(ctx ctx, const std::string &str);
inline val &operator=(val obj);
inline ~val();
inline __isl_give isl_val *copy() const &;
inline val div(val v2) const;
inline val div_ui(unsigned long v2) const;
inline boolean eq(const val &v2) const;
+ inline boolean eq_si(long i) const;
inline val floor() const;
inline val gcd(val v2) const;
inline boolean ge(const val &v2) const;
inline val mod(val v2) const;
inline val mul(val v2) const;
inline val mul_ui(unsigned long v2) const;
- inline size_t n_abs_num_chunks(size_t size) const;
+ inline isl_size n_abs_num_chunks(size_t size) const;
static inline val nan(ctx ctx);
inline boolean ne(const val &v2) const;
inline val neg() const;
inline bool is_null() const;
inline explicit operator bool() const;
inline ctx get_ctx() const;
+ inline std::string to_str() const;
inline void dump() const;
inline val_list add(val el) const;
static inline val_list alloc(ctx ctx, int n);
+ inline val_list clear() const;
inline val_list concat(val_list list2) const;
inline val_list drop(unsigned int first, unsigned int n) const;
inline stat foreach(const std::function<stat(val)> &fn) const;
inline val get_at(int index) const;
inline val get_val(int index) const;
inline val_list insert(unsigned int pos, val el) const;
- inline int n_val() const;
+ inline isl_size n_val() const;
inline val_list reverse() const;
inline val_list set_val(int index, val el) const;
- inline int size() const;
+ inline isl_size size() const;
inline val_list swap(unsigned int pos1, unsigned int pos2) const;
};
inline vec set_element_val(int pos, val v) const;
inline vec set_si(int v) const;
inline vec set_val(val v) const;
- inline int size() const;
+ inline isl_size size() const;
inline vec sort() const;
static inline vec zero(ctx ctx, unsigned int size);
inline vec zero_extend(unsigned int size) const;
aff::aff(__isl_take isl_aff *ptr)
: ptr(ptr) {}
-aff::aff(local_space ls)
+aff::aff(ctx ctx, const std::string &str)
{
- auto res = isl_aff_zero_on_domain(ls.release());
+ auto res = isl_aff_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
aff::aff(local_space ls, val val)
auto res = isl_aff_val_on_domain(ls.release(), val.release());
ptr = res;
}
-aff::aff(ctx ctx, const std::string &str)
+aff::aff(local_space ls)
{
- auto res = isl_aff_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_aff_zero_on_domain(ls.release());
ptr = res;
}
return manage(res);
}
-aff aff::add_constant_num_si(int v) const
+aff aff::add_constant(val v) const
{
- auto res = isl_aff_add_constant_num_si(copy(), v);
+ auto res = isl_aff_add_constant_val(copy(), v.release());
return manage(res);
}
-aff aff::add_constant_si(int v) const
+aff aff::add_constant_num_si(int v) const
{
- auto res = isl_aff_add_constant_si(copy(), v);
+ auto res = isl_aff_add_constant_num_si(copy(), v);
return manage(res);
}
-aff aff::add_constant_val(val v) const
+aff aff::add_constant_si(int v) const
{
- auto res = isl_aff_add_constant_val(copy(), v.release());
+ auto res = isl_aff_add_constant_si(copy(), v);
return manage(res);
}
return manage(res);
}
+basic_set aff::bind(id id) const
+{
+ auto res = isl_aff_bind_id(copy(), id.release());
+ return manage(res);
+}
+
aff aff::ceil() const
{
auto res = isl_aff_ceil(copy());
return res;
}
-int aff::dim(isl::dim type) const
+isl_size aff::dim(isl::dim type) const
{
auto res = isl_aff_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+boolean aff::involves_locals() const
+{
+ auto res = isl_aff_involves_locals(get());
+ return manage(res);
+}
+
boolean aff::is_cst() const
{
auto res = isl_aff_is_cst(get());
return manage(res);
}
+aff aff::nan_on_domain_space(space space)
+{
+ auto res = isl_aff_nan_on_domain_space(space.release());
+ return manage(res);
+}
+
set aff::ne_set(aff aff2) const
{
auto res = isl_aff_ne_set(copy(), aff2.release());
return manage(res);
}
+aff aff::unbind_params_insert_domain(multi_id domain) const
+{
+ auto res = isl_aff_unbind_params_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
+aff aff::val_on_domain_space(space space, val val)
+{
+ auto res = isl_aff_val_on_domain_space(space.release(), val.release());
+ return manage(res);
+}
+
aff aff::var_on_domain(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);
}
+aff aff::zero_on_domain(space space)
+{
+ auto res = isl_aff_zero_on_domain_space(space.release());
+ return manage(res);
+}
+
// implementations for isl::aff_list
aff_list manage(__isl_take isl_aff_list *ptr) {
return aff_list(ptr);
ctx aff_list::get_ctx() const {
return ctx(isl_aff_list_get_ctx(ptr));
}
+std::string aff_list::to_str() const {
+ char *Tmp = isl_aff_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void aff_list::dump() const {
isl_aff_list_dump(get());
return manage(res);
}
+aff_list aff_list::clear() const
+{
+ auto res = isl_aff_list_clear(copy());
+ return manage(res);
+}
+
aff_list aff_list::concat(aff_list list2) const
{
auto res = isl_aff_list_concat(copy(), list2.release());
return manage(res);
}
-int aff_list::n_aff() const
+isl_size aff_list::n_aff() const
{
auto res = isl_aff_list_n_aff(get());
return res;
return manage(res);
}
-int aff_list::size() const
+isl_size aff_list::size() const
{
auto res = isl_aff_list_size(get());
return res;
}
-ast_expr ast_build::access_from(pw_multi_aff pma) const
-{
- auto res = isl_ast_build_access_from_pw_multi_aff(get(), pma.release());
- return manage(res);
-}
-
ast_expr ast_build::access_from(multi_pw_aff mpa) const
{
auto res = isl_ast_build_access_from_multi_pw_aff(get(), mpa.release());
return manage(res);
}
-ast_node ast_build::ast_from_schedule(union_map schedule) const
+ast_expr ast_build::access_from(pw_multi_aff pma) const
{
- auto res = isl_ast_build_ast_from_schedule(get(), schedule.release());
+ auto res = isl_ast_build_access_from_pw_multi_aff(get(), pma.release());
return manage(res);
}
-ast_expr ast_build::call_from(pw_multi_aff pma) const
+ast_node ast_build::ast_from_schedule(union_map schedule) const
{
- auto res = isl_ast_build_call_from_pw_multi_aff(get(), pma.release());
+ auto res = isl_ast_build_ast_from_schedule(get(), schedule.release());
return manage(res);
}
return manage(res);
}
-ast_expr ast_build::expr_from(set set) const
+ast_expr ast_build::call_from(pw_multi_aff pma) const
{
- auto res = isl_ast_build_expr_from_set(get(), set.release());
+ auto res = isl_ast_build_call_from_pw_multi_aff(get(), pma.release());
return manage(res);
}
return manage(res);
}
+ast_expr ast_build::expr_from(set set) const
+{
+ auto res = isl_ast_build_expr_from_set(get(), set.release());
+ return manage(res);
+}
+
ast_build ast_build::from_context(set set)
{
auto res = isl_ast_build_from_context(set.release());
return manage(res);
}
-ast_node ast_build::node_from_schedule(schedule schedule) const
+ast_node ast_build::node_from(schedule schedule) const
{
auto res = isl_ast_build_node_from_schedule(get(), schedule.release());
return manage(res);
return manage(res);
}
-int ast_expr::get_op_n_arg() const
+isl_size ast_expr::get_op_n_arg() const
{
auto res = isl_ast_expr_get_op_n_arg(get());
return res;
return manage(res);
}
+id ast_expr::id_get_id() const
+{
+ auto res = isl_ast_expr_id_get_id(get());
+ return manage(res);
+}
+
+val ast_expr::int_get_val() const
+{
+ auto res = isl_ast_expr_int_get_val(get());
+ return manage(res);
+}
+
boolean ast_expr::is_equal(const ast_expr &expr2) const
{
auto res = isl_ast_expr_is_equal(get(), expr2.get());
return manage(res);
}
+ast_expr ast_expr::op_get_arg(int pos) const
+{
+ auto res = isl_ast_expr_op_get_arg(get(), pos);
+ return manage(res);
+}
+
+isl_size ast_expr::op_get_n_arg() const
+{
+ auto res = isl_ast_expr_op_get_n_arg(get());
+ return res;
+}
+
ast_expr ast_expr::pdiv_q(ast_expr expr2) const
{
auto res = isl_ast_expr_pdiv_q(copy(), expr2.release());
ctx ast_expr_list::get_ctx() const {
return ctx(isl_ast_expr_list_get_ctx(ptr));
}
+std::string ast_expr_list::to_str() const {
+ char *Tmp = isl_ast_expr_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void ast_expr_list::dump() const {
isl_ast_expr_list_dump(get());
return manage(res);
}
+ast_expr_list ast_expr_list::clear() const
+{
+ auto res = isl_ast_expr_list_clear(copy());
+ return manage(res);
+}
+
ast_expr_list ast_expr_list::concat(ast_expr_list list2) const
{
auto res = isl_ast_expr_list_concat(copy(), list2.release());
return manage(res);
}
-int ast_expr_list::n_ast_expr() const
+isl_size ast_expr_list::n_ast_expr() const
{
auto res = isl_ast_expr_list_n_ast_expr(get());
return res;
return manage(res);
}
-int ast_expr_list::size() const
+isl_size ast_expr_list::size() const
{
auto res = isl_ast_expr_list_size(get());
return res;
return manage(res);
}
+ast_node ast_node::if_get_else_node() const
+{
+ auto res = isl_ast_node_if_get_else_node(get());
+ return manage(res);
+}
+
ast_node ast_node::if_get_then() const
{
auto res = isl_ast_node_if_get_then(get());
return manage(res);
}
+ast_node ast_node::if_get_then_node() const
+{
+ auto res = isl_ast_node_if_get_then_node(get());
+ return manage(res);
+}
+
boolean ast_node::if_has_else() const
{
auto res = isl_ast_node_if_has_else(get());
return manage(res);
}
+boolean ast_node::if_has_else_node() const
+{
+ auto res = isl_ast_node_if_has_else_node(get());
+ return manage(res);
+}
+
id ast_node::mark_get_id() const
{
auto res = isl_ast_node_mark_get_id(get());
ctx ast_node_list::get_ctx() const {
return ctx(isl_ast_node_list_get_ctx(ptr));
}
+std::string ast_node_list::to_str() const {
+ char *Tmp = isl_ast_node_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void ast_node_list::dump() const {
isl_ast_node_list_dump(get());
return manage(res);
}
+ast_node_list ast_node_list::clear() const
+{
+ auto res = isl_ast_node_list_clear(copy());
+ return manage(res);
+}
+
ast_node_list ast_node_list::concat(ast_node_list list2) const
{
auto res = isl_ast_node_list_concat(copy(), list2.release());
return manage(res);
}
-int ast_node_list::n_ast_node() const
+isl_size ast_node_list::n_ast_node() const
{
auto res = isl_ast_node_list_n_ast_node(get());
return res;
return manage(res);
}
-int ast_node_list::size() const
+isl_size ast_node_list::size() const
{
auto res = isl_ast_node_list_size(get());
return res;
return manage(res);
}
-unsigned int basic_map::dim(isl::dim type) const
+isl_size basic_map::dim(isl::dim type) const
{
auto res = isl_basic_map_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-basic_map basic_map::equal(space dim, unsigned int n_equal)
+basic_map basic_map::equal(space space, unsigned int n_equal)
{
- auto res = isl_basic_map_equal(dim.release(), n_equal);
+ auto res = isl_basic_map_equal(space.release(), n_equal);
return manage(res);
}
return manage(res);
}
-basic_map basic_map::identity(space dim)
+basic_map basic_map::identity(space space)
{
- auto res = isl_basic_map_identity(dim.release());
+ auto res = isl_basic_map_identity(space.release());
return manage(res);
}
return manage(res);
}
-basic_map basic_map::less_at(space dim, unsigned int pos)
+basic_map basic_map::less_at(space space, unsigned int pos)
{
- auto res = isl_basic_map_less_at(dim.release(), pos);
+ auto res = isl_basic_map_less_at(space.release(), pos);
return manage(res);
}
return manage(res);
}
-basic_map basic_map::more_at(space dim, unsigned int pos)
+basic_map basic_map::more_at(space space, unsigned int pos)
{
- auto res = isl_basic_map_more_at(dim.release(), pos);
+ auto res = isl_basic_map_more_at(space.release(), pos);
return manage(res);
}
return manage(res);
}
-int basic_map::n_constraint() const
+isl_size basic_map::n_constraint() const
{
auto res = isl_basic_map_n_constraint(get());
return res;
}
-basic_map basic_map::nat_universe(space dim)
+basic_map basic_map::nat_universe(space space)
{
- auto res = isl_basic_map_nat_universe(dim.release());
+ auto res = isl_basic_map_nat_universe(space.release());
return manage(res);
}
ctx basic_map_list::get_ctx() const {
return ctx(isl_basic_map_list_get_ctx(ptr));
}
+std::string basic_map_list::to_str() const {
+ char *Tmp = isl_basic_map_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void basic_map_list::dump() const {
isl_basic_map_list_dump(get());
return manage(res);
}
-basic_map_list basic_map_list::concat(basic_map_list list2) const
+basic_map_list basic_map_list::clear() const
{
- auto res = isl_basic_map_list_concat(copy(), list2.release());
+ auto res = isl_basic_map_list_clear(copy());
return manage(res);
}
-basic_map_list basic_map_list::drop(unsigned int first, unsigned int n) const
+basic_map_list basic_map_list::concat(basic_map_list list2) const
+{
+ auto res = isl_basic_map_list_concat(copy(), list2.release());
+ return manage(res);
+}
+
+basic_map_list basic_map_list::drop(unsigned int first, unsigned int n) const
{
auto res = isl_basic_map_list_drop(copy(), first, n);
return manage(res);
return manage(res);
}
-int basic_map_list::n_basic_map() const
+isl_size basic_map_list::n_basic_map() const
{
auto res = isl_basic_map_list_n_basic_map(get());
return res;
return manage(res);
}
-int basic_map_list::size() const
+isl_size basic_map_list::size() const
{
auto res = isl_basic_map_list_size(get());
return res;
basic_set::basic_set(__isl_take isl_basic_set *ptr)
: ptr(ptr) {}
-basic_set::basic_set(ctx ctx, const std::string &str)
+basic_set::basic_set(point pnt)
{
- auto res = isl_basic_set_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_basic_set_from_point(pnt.release());
ptr = res;
}
-basic_set::basic_set(point pnt)
+basic_set::basic_set(ctx ctx, const std::string &str)
{
- auto res = isl_basic_set_from_point(pnt.release());
+ auto res = isl_basic_set_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
return manage(res);
}
-unsigned int basic_set::dim(isl::dim type) const
+isl_size basic_set::dim(isl::dim type) const
{
auto res = isl_basic_set_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-int basic_set::n_constraint() const
+isl_size basic_set::n_constraint() const
{
auto res = isl_basic_set_n_constraint(get());
return res;
}
-unsigned int basic_set::n_dim() const
+isl_size basic_set::n_dim() const
{
auto res = isl_basic_set_n_dim(get());
return res;
}
-basic_set basic_set::nat_universe(space dim)
+basic_set basic_set::nat_universe(space space)
{
- auto res = isl_basic_set_nat_universe(dim.release());
+ auto res = isl_basic_set_nat_universe(space.release());
return manage(res);
}
ctx basic_set_list::get_ctx() const {
return ctx(isl_basic_set_list_get_ctx(ptr));
}
+std::string basic_set_list::to_str() const {
+ char *Tmp = isl_basic_set_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void basic_set_list::dump() const {
isl_basic_set_list_dump(get());
return manage(res);
}
+basic_set_list basic_set_list::clear() const
+{
+ auto res = isl_basic_set_list_clear(copy());
+ return manage(res);
+}
+
basic_set_list basic_set_list::coefficients() const
{
auto res = isl_basic_set_list_coefficients(copy());
return manage(res);
}
-int basic_set_list::n_basic_set() const
+isl_size basic_set_list::n_basic_set() const
{
auto res = isl_basic_set_list_n_basic_set(get());
return res;
return manage(res);
}
-int basic_set_list::size() const
+isl_size basic_set_list::size() const
{
auto res = isl_basic_set_list_size(get());
return res;
return manage(res);
}
-int constraint::is_div_constraint() const
+boolean constraint::is_div_constraint() const
{
auto res = isl_constraint_is_div_constraint(get());
- return res;
+ return manage(res);
}
boolean constraint::is_lower_bound(isl::dim type, unsigned int pos) const
ctx constraint_list::get_ctx() const {
return ctx(isl_constraint_list_get_ctx(ptr));
}
+std::string constraint_list::to_str() const {
+ char *Tmp = isl_constraint_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void constraint_list::dump() const {
isl_constraint_list_dump(get());
return manage(res);
}
+constraint_list constraint_list::clear() const
+{
+ auto res = isl_constraint_list_clear(copy());
+ return manage(res);
+}
+
constraint_list constraint_list::concat(constraint_list list2) const
{
auto res = isl_constraint_list_concat(copy(), list2.release());
return manage(res);
}
-int constraint_list::n_constraint() const
+isl_size constraint_list::n_constraint() const
{
auto res = isl_constraint_list_n_constraint(get());
return res;
return manage(res);
}
-int constraint_list::size() const
+isl_size constraint_list::size() const
{
auto res = isl_constraint_list_size(get());
return res;
ctx fixed_box::get_ctx() const {
return ctx(isl_fixed_box_get_ctx(ptr));
}
+std::string fixed_box::to_str() const {
+ char *Tmp = isl_fixed_box_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
+
+void fixed_box::dump() const {
+ isl_fixed_box_dump(get());
+}
multi_aff fixed_box::get_offset() const
id::id(__isl_take isl_id *ptr)
: ptr(ptr) {}
+id::id(ctx ctx, const std::string &str)
+{
+ auto res = isl_id_read_from_str(ctx.release(), str.c_str());
+ ptr = res;
+}
id &id::operator=(id obj) {
std::swap(this->ptr, obj.ptr);
ctx id_list::get_ctx() const {
return ctx(isl_id_list_get_ctx(ptr));
}
+std::string id_list::to_str() const {
+ char *Tmp = isl_id_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void id_list::dump() const {
isl_id_list_dump(get());
return manage(res);
}
+id_list id_list::clear() const
+{
+ auto res = isl_id_list_clear(copy());
+ return manage(res);
+}
+
id_list id_list::concat(id_list list2) const
{
auto res = isl_id_list_concat(copy(), list2.release());
return manage(res);
}
-int id_list::n_id() const
+isl_size id_list::n_id() const
{
auto res = isl_id_list_n_id(get());
return res;
return manage(res);
}
-int id_list::size() const
+isl_size id_list::size() const
{
auto res = isl_id_list_size(get());
return res;
local_space::local_space(__isl_take isl_local_space *ptr)
: ptr(ptr) {}
-local_space::local_space(space dim)
+local_space::local_space(space space)
{
- auto res = isl_local_space_from_space(dim.release());
+ auto res = isl_local_space_from_space(space.release());
ptr = res;
}
return manage(res);
}
-int local_space::dim(isl::dim type) const
+isl_size local_space::dim(isl::dim type) const
{
auto res = isl_local_space_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
map::map(__isl_take isl_map *ptr)
: ptr(ptr) {}
-map::map(ctx ctx, const std::string &str)
+map::map(basic_map bmap)
{
- auto res = isl_map_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_map_from_basic_map(bmap.release());
ptr = res;
}
-map::map(basic_map bmap)
+map::map(ctx ctx, const std::string &str)
{
- auto res = isl_map_from_basic_map(bmap.release());
+ auto res = isl_map_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
return manage(res);
}
+set map::bind_domain(multi_id tuple) const
+{
+ auto res = isl_map_bind_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+set map::bind_range(multi_id tuple) const
+{
+ auto res = isl_map_bind_range(copy(), tuple.release());
+ return manage(res);
+}
+
boolean map::can_curry() const
{
auto res = isl_map_can_curry(get());
return manage(res);
}
-unsigned int map::dim(isl::dim type) const
+isl_size map::dim(isl::dim type) const
{
auto res = isl_map_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+map map::eq_at(multi_pw_aff mpa) const
+{
+ auto res = isl_map_eq_at_multi_pw_aff(copy(), mpa.release());
+ return manage(res);
+}
+
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);
}
-map map::identity(space dim)
+map map::identity(space space)
{
- auto res = isl_map_identity(dim.release());
+ auto res = isl_map_identity(space.release());
return manage(res);
}
return manage(res);
}
+map map::intersect_domain_factor_domain(map factor) const
+{
+ auto res = isl_map_intersect_domain_factor_domain(copy(), factor.release());
+ return manage(res);
+}
+
map map::intersect_domain_factor_range(map factor) const
{
auto res = isl_map_intersect_domain_factor_range(copy(), factor.release());
return manage(res);
}
+map map::intersect_range_factor_domain(map factor) const
+{
+ auto res = isl_map_intersect_range_factor_domain(copy(), factor.release());
+ return manage(res);
+}
+
map map::intersect_range_factor_range(map factor) const
{
auto res = isl_map_intersect_range_factor_range(copy(), factor.release());
return res;
}
-map map::lex_ge(space set_dim)
+map map::lex_ge(space set_space)
+{
+ auto res = isl_map_lex_ge(set_space.release());
+ return manage(res);
+}
+
+map map::lex_ge_at(multi_pw_aff mpa) const
{
- auto res = isl_map_lex_ge(set_dim.release());
+ auto res = isl_map_lex_ge_at_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-map map::lex_ge_first(space dim, unsigned int n)
+map map::lex_ge_first(space space, unsigned int n)
{
- auto res = isl_map_lex_ge_first(dim.release(), n);
+ auto res = isl_map_lex_ge_first(space.release(), n);
return manage(res);
}
return manage(res);
}
-map map::lex_gt(space set_dim)
+map map::lex_gt(space set_space)
+{
+ auto res = isl_map_lex_gt(set_space.release());
+ return manage(res);
+}
+
+map map::lex_gt_at(multi_pw_aff mpa) const
{
- auto res = isl_map_lex_gt(set_dim.release());
+ auto res = isl_map_lex_gt_at_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-map map::lex_gt_first(space dim, unsigned int n)
+map map::lex_gt_first(space space, unsigned int n)
{
- auto res = isl_map_lex_gt_first(dim.release(), n);
+ auto res = isl_map_lex_gt_first(space.release(), n);
return manage(res);
}
return manage(res);
}
-map map::lex_le(space set_dim)
+map map::lex_le(space set_space)
+{
+ auto res = isl_map_lex_le(set_space.release());
+ return manage(res);
+}
+
+map map::lex_le_at(multi_pw_aff mpa) const
{
- auto res = isl_map_lex_le(set_dim.release());
+ auto res = isl_map_lex_le_at_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-map map::lex_le_first(space dim, unsigned int n)
+map map::lex_le_first(space space, unsigned int n)
{
- auto res = isl_map_lex_le_first(dim.release(), n);
+ auto res = isl_map_lex_le_first(space.release(), n);
return manage(res);
}
return manage(res);
}
-map map::lex_lt(space set_dim)
+map map::lex_lt(space set_space)
+{
+ auto res = isl_map_lex_lt(set_space.release());
+ return manage(res);
+}
+
+map map::lex_lt_at(multi_pw_aff mpa) const
{
- auto res = isl_map_lex_lt(set_dim.release());
+ auto res = isl_map_lex_lt_at_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-map map::lex_lt_first(space dim, unsigned int n)
+map map::lex_lt_first(space space, unsigned int n)
{
- auto res = isl_map_lex_lt_first(dim.release(), n);
+ auto res = isl_map_lex_lt_first(space.release(), n);
return manage(res);
}
return manage(res);
}
+map map::lower_bound(multi_pw_aff lower) const
+{
+ auto res = isl_map_lower_bound_multi_pw_aff(copy(), lower.release());
+ return manage(res);
+}
+
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);
}
+map map::lower_bound_val(isl::dim type, unsigned int pos, val value) const
+{
+ auto res = isl_map_lower_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
+ return manage(res);
+}
+
+multi_pw_aff map::max_multi_pw_aff() const
+{
+ auto res = isl_map_max_multi_pw_aff(copy());
+ return manage(res);
+}
+
+multi_pw_aff map::min_multi_pw_aff() const
+{
+ auto res = isl_map_min_multi_pw_aff(copy());
+ return manage(res);
+}
+
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);
}
-int map::n_basic_map() const
+isl_size map::n_basic_map() const
{
auto res = isl_map_n_basic_map(get());
return res;
}
-map map::nat_universe(space dim)
+map map::nat_universe(space space)
{
- auto res = isl_map_nat_universe(dim.release());
+ auto res = isl_map_nat_universe(space.release());
return manage(res);
}
return manage(res);
}
-map map::preimage_domain_multi_aff(multi_aff ma) const
+map map::preimage_domain(multi_aff ma) const
{
auto res = isl_map_preimage_domain_multi_aff(copy(), ma.release());
return manage(res);
}
-map map::preimage_domain_multi_pw_aff(multi_pw_aff mpa) const
+map map::preimage_domain(multi_pw_aff mpa) const
{
auto res = isl_map_preimage_domain_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-map map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
+map map::preimage_domain(pw_multi_aff pma) const
{
auto res = isl_map_preimage_domain_pw_multi_aff(copy(), pma.release());
return manage(res);
}
-map map::preimage_range_multi_aff(multi_aff ma) const
+map map::preimage_range(multi_aff ma) const
{
auto res = isl_map_preimage_range_multi_aff(copy(), ma.release());
return manage(res);
}
-map map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
+map map::preimage_range(pw_multi_aff pma) const
{
auto res = isl_map_preimage_range_pw_multi_aff(copy(), pma.release());
return manage(res);
return manage(res);
}
+map map::project_out_all_params() const
+{
+ auto res = isl_map_project_out_all_params(copy());
+ return manage(res);
+}
+
set map::range() const
{
auto res = isl_map_range(copy());
return manage(res);
}
+map map::range_reverse() const
+{
+ auto res = isl_map_range_reverse(copy());
+ return manage(res);
+}
+
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);
}
+map map::upper_bound(multi_pw_aff upper) const
+{
+ auto res = isl_map_upper_bound_multi_pw_aff(copy(), upper.release());
+ return manage(res);
+}
+
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);
}
+map map::upper_bound_val(isl::dim type, unsigned int pos, val value) const
+{
+ auto res = isl_map_upper_bound_val(copy(), static_cast<enum isl_dim_type>(type), pos, value.release());
+ return manage(res);
+}
+
set map::wrap() const
{
auto res = isl_map_wrap(copy());
ctx map_list::get_ctx() const {
return ctx(isl_map_list_get_ctx(ptr));
}
+std::string map_list::to_str() const {
+ char *Tmp = isl_map_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void map_list::dump() const {
isl_map_list_dump(get());
return manage(res);
}
+map_list map_list::clear() const
+{
+ auto res = isl_map_list_clear(copy());
+ return manage(res);
+}
+
map_list map_list::concat(map_list list2) const
{
auto res = isl_map_list_concat(copy(), list2.release());
return manage(res);
}
-int map_list::n_map() const
+isl_size map_list::n_map() const
{
auto res = isl_map_list_n_map(get());
return res;
return manage(res);
}
-int map_list::size() const
+isl_size map_list::size() const
{
auto res = isl_map_list_size(get());
return res;
return manage(res);
}
-int mat::cols() const
+isl_size mat::cols() const
{
auto res = isl_mat_cols(get());
return res;
return manage(res);
}
-int mat::rank() const
+isl_size mat::rank() const
{
auto res = isl_mat_rank(get());
return res;
return manage(res);
}
-int mat::rows() const
+isl_size mat::rows() const
{
auto res = isl_mat_rows(get());
return res;
auto res = isl_multi_aff_from_aff(aff.release());
ptr = res;
}
+multi_aff::multi_aff(space space, aff_list list)
+{
+ auto res = isl_multi_aff_from_aff_list(space.release(), list.release());
+ ptr = res;
+}
multi_aff::multi_aff(ctx ctx, const std::string &str)
{
auto res = isl_multi_aff_read_from_str(ctx.release(), str.c_str());
return manage(res);
}
+multi_aff multi_aff::add_constant(multi_val mv) const
+{
+ auto res = isl_multi_aff_add_constant_multi_val(copy(), mv.release());
+ return manage(res);
+}
+
+multi_aff multi_aff::add_constant(val v) const
+{
+ auto res = isl_multi_aff_add_constant_val(copy(), v.release());
+ return manage(res);
+}
+
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);
}
-unsigned int multi_aff::dim(isl::dim type) const
+basic_set multi_aff::bind(multi_id tuple) const
+{
+ auto res = isl_multi_aff_bind(copy(), tuple.release());
+ return manage(res);
+}
+
+multi_aff multi_aff::bind_domain(multi_id tuple) const
+{
+ auto res = isl_multi_aff_bind_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+multi_aff multi_aff::bind_domain_wrapped_domain(multi_id tuple) const
+{
+ auto res = isl_multi_aff_bind_domain_wrapped_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+isl_size multi_aff::dim(isl::dim type) const
{
auto res = isl_multi_aff_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-multi_aff multi_aff::from_aff_list(space space, aff_list list)
-{
- auto res = isl_multi_aff_from_aff_list(space.release(), list.release());
- return manage(res);
-}
-
multi_aff multi_aff::from_range() const
{
auto res = isl_multi_aff_from_range(copy());
return manage(res);
}
+aff multi_aff::get_at(int pos) const
+{
+ auto res = isl_multi_aff_get_at(get(), pos);
+ return manage(res);
+}
+
+multi_val multi_aff::get_constant_multi_val() const
+{
+ auto res = isl_multi_aff_get_constant_multi_val(get());
+ return manage(res);
+}
+
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);
}
+aff_list multi_aff::get_list() const
+{
+ auto res = isl_multi_aff_get_list(get());
+ return manage(res);
+}
+
space multi_aff::get_space() const
{
auto res = isl_multi_aff_get_space(get());
return manage(res);
}
+multi_aff multi_aff::identity() const
+{
+ auto res = isl_multi_aff_identity_multi_aff(copy());
+ return manage(res);
+}
+
+multi_aff multi_aff::identity_on_domain(space space)
+{
+ auto res = isl_multi_aff_identity_on_domain_space(space.release());
+ return manage(res);
+}
+
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);
}
+multi_aff multi_aff::insert_domain(space domain) const
+{
+ auto res = isl_multi_aff_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
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);
}
+boolean multi_aff::involves_locals() const
+{
+ auto res = isl_multi_aff_involves_locals(get());
+ return manage(res);
+}
+
boolean multi_aff::involves_nan() const
{
auto res = isl_multi_aff_involves_nan(get());
return manage(res);
}
-multi_aff multi_aff::scale_down_multi_val(multi_val mv) const
+multi_aff multi_aff::scale(multi_val mv) const
{
- auto res = isl_multi_aff_scale_down_multi_val(copy(), mv.release());
+ auto res = isl_multi_aff_scale_multi_val(copy(), mv.release());
return manage(res);
}
-multi_aff multi_aff::scale_down_val(val v) const
+multi_aff multi_aff::scale(val v) const
{
- auto res = isl_multi_aff_scale_down_val(copy(), v.release());
+ auto res = isl_multi_aff_scale_val(copy(), v.release());
return manage(res);
}
-multi_aff multi_aff::scale_multi_val(multi_val mv) const
+multi_aff multi_aff::scale_down(multi_val mv) const
{
- auto res = isl_multi_aff_scale_multi_val(copy(), mv.release());
+ auto res = isl_multi_aff_scale_down_multi_val(copy(), mv.release());
return manage(res);
}
-multi_aff multi_aff::scale_val(val v) const
+multi_aff multi_aff::scale_down(val v) const
{
- auto res = isl_multi_aff_scale_val(copy(), v.release());
+ auto res = isl_multi_aff_scale_down_val(copy(), v.release());
return manage(res);
}
return manage(res);
}
+multi_aff multi_aff::set_at(int pos, aff el) const
+{
+ auto res = isl_multi_aff_set_at(copy(), pos, el.release());
+ return manage(res);
+}
+
multi_aff multi_aff::set_dim_id(isl::dim type, unsigned int pos, 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_size multi_aff::size() const
+{
+ auto res = isl_multi_aff_size(get());
+ return res;
+}
+
multi_aff multi_aff::splice(unsigned int in_pos, unsigned int out_pos, multi_aff multi2) const
{
auto res = isl_multi_aff_splice(copy(), in_pos, out_pos, multi2.release());
return manage(res);
}
+multi_aff multi_aff::unbind_params_insert_domain(multi_id domain) const
+{
+ auto res = isl_multi_aff_unbind_params_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
multi_aff multi_aff::zero(space space)
{
auto res = isl_multi_aff_zero(space.release());
return manage(res);
}
-// implementations for isl::multi_pw_aff
-multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr) {
- return multi_pw_aff(ptr);
+// implementations for isl::multi_id
+multi_id manage(__isl_take isl_multi_id *ptr) {
+ return multi_id(ptr);
}
-multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr) {
- ptr = isl_multi_pw_aff_copy(ptr);
- return multi_pw_aff(ptr);
+multi_id manage_copy(__isl_keep isl_multi_id *ptr) {
+ ptr = isl_multi_id_copy(ptr);
+ return multi_id(ptr);
}
-multi_pw_aff::multi_pw_aff()
+multi_id::multi_id()
: ptr(nullptr) {}
-multi_pw_aff::multi_pw_aff(const multi_pw_aff &obj)
+multi_id::multi_id(const multi_id &obj)
: ptr(nullptr)
{
ptr = obj.copy();
}
-multi_pw_aff::multi_pw_aff(std::nullptr_t)
+multi_id::multi_id(std::nullptr_t)
: ptr(nullptr) {}
-multi_pw_aff::multi_pw_aff(__isl_take isl_multi_pw_aff *ptr)
+multi_id::multi_id(__isl_take isl_multi_id *ptr)
: ptr(ptr) {}
-multi_pw_aff::multi_pw_aff(multi_aff ma)
-{
- auto res = isl_multi_pw_aff_from_multi_aff(ma.release());
- ptr = res;
-}
-multi_pw_aff::multi_pw_aff(pw_aff pa)
-{
- auto res = isl_multi_pw_aff_from_pw_aff(pa.release());
- ptr = res;
-}
-multi_pw_aff::multi_pw_aff(pw_multi_aff pma)
+multi_id::multi_id(space space, id_list list)
{
- auto res = isl_multi_pw_aff_from_pw_multi_aff(pma.release());
+ auto res = isl_multi_id_from_id_list(space.release(), list.release());
ptr = res;
}
-multi_pw_aff::multi_pw_aff(ctx ctx, const std::string &str)
+multi_id::multi_id(ctx ctx, const std::string &str)
{
- auto res = isl_multi_pw_aff_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_multi_id_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
-multi_pw_aff &multi_pw_aff::operator=(multi_pw_aff obj) {
+multi_id &multi_id::operator=(multi_id obj) {
std::swap(this->ptr, obj.ptr);
return *this;
}
-multi_pw_aff::~multi_pw_aff() {
+multi_id::~multi_id() {
if (ptr)
- isl_multi_pw_aff_free(ptr);
+ isl_multi_id_free(ptr);
}
-__isl_give isl_multi_pw_aff *multi_pw_aff::copy() const & {
- return isl_multi_pw_aff_copy(ptr);
+__isl_give isl_multi_id *multi_id::copy() const & {
+ return isl_multi_id_copy(ptr);
}
-__isl_keep isl_multi_pw_aff *multi_pw_aff::get() const {
+__isl_keep isl_multi_id *multi_id::get() const {
+ return ptr;
+}
+
+__isl_give isl_multi_id *multi_id::release() {
+ isl_multi_id *tmp = ptr;
+ ptr = nullptr;
+ return tmp;
+}
+
+bool multi_id::is_null() const {
+ return ptr == nullptr;
+}
+multi_id::operator bool() const {
+ return !is_null();
+}
+
+
+ctx multi_id::get_ctx() const {
+ return ctx(isl_multi_id_get_ctx(ptr));
+}
+std::string multi_id::to_str() const {
+ char *Tmp = isl_multi_id_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
+
+void multi_id::dump() const {
+ isl_multi_id_dump(get());
+}
+
+
+multi_id multi_id::align_params(space model) const
+{
+ auto res = isl_multi_id_align_params(copy(), model.release());
+ return manage(res);
+}
+
+multi_id multi_id::factor_range() const
+{
+ auto res = isl_multi_id_factor_range(copy());
+ return manage(res);
+}
+
+multi_id multi_id::flat_range_product(multi_id multi2) const
+{
+ auto res = isl_multi_id_flat_range_product(copy(), multi2.release());
+ return manage(res);
+}
+
+multi_id multi_id::flatten_range() const
+{
+ auto res = isl_multi_id_flatten_range(copy());
+ return manage(res);
+}
+
+multi_id multi_id::from_range() const
+{
+ auto res = isl_multi_id_from_range(copy());
+ return manage(res);
+}
+
+id multi_id::get_at(int pos) const
+{
+ auto res = isl_multi_id_get_at(get(), pos);
+ return manage(res);
+}
+
+space multi_id::get_domain_space() const
+{
+ auto res = isl_multi_id_get_domain_space(get());
+ return manage(res);
+}
+
+id multi_id::get_id(int pos) const
+{
+ auto res = isl_multi_id_get_id(get(), pos);
+ return manage(res);
+}
+
+id_list multi_id::get_list() const
+{
+ auto res = isl_multi_id_get_list(get());
+ return manage(res);
+}
+
+space multi_id::get_space() const
+{
+ auto res = isl_multi_id_get_space(get());
+ return manage(res);
+}
+
+boolean multi_id::plain_is_equal(const multi_id &multi2) const
+{
+ auto res = isl_multi_id_plain_is_equal(get(), multi2.get());
+ return manage(res);
+}
+
+multi_id multi_id::range_factor_domain() const
+{
+ auto res = isl_multi_id_range_factor_domain(copy());
+ return manage(res);
+}
+
+multi_id multi_id::range_factor_range() const
+{
+ auto res = isl_multi_id_range_factor_range(copy());
+ return manage(res);
+}
+
+boolean multi_id::range_is_wrapping() const
+{
+ auto res = isl_multi_id_range_is_wrapping(get());
+ return manage(res);
+}
+
+multi_id multi_id::range_product(multi_id multi2) const
+{
+ auto res = isl_multi_id_range_product(copy(), multi2.release());
+ return manage(res);
+}
+
+multi_id multi_id::range_splice(unsigned int pos, multi_id multi2) const
+{
+ auto res = isl_multi_id_range_splice(copy(), pos, multi2.release());
+ return manage(res);
+}
+
+multi_id multi_id::reset_user() const
+{
+ auto res = isl_multi_id_reset_user(copy());
+ return manage(res);
+}
+
+multi_id multi_id::set_at(int pos, id el) const
+{
+ auto res = isl_multi_id_set_at(copy(), pos, el.release());
+ return manage(res);
+}
+
+multi_id multi_id::set_id(int pos, id el) const
+{
+ auto res = isl_multi_id_set_id(copy(), pos, el.release());
+ return manage(res);
+}
+
+isl_size multi_id::size() const
+{
+ auto res = isl_multi_id_size(get());
+ return res;
+}
+
+// implementations for isl::multi_pw_aff
+multi_pw_aff manage(__isl_take isl_multi_pw_aff *ptr) {
+ return multi_pw_aff(ptr);
+}
+multi_pw_aff manage_copy(__isl_keep isl_multi_pw_aff *ptr) {
+ ptr = isl_multi_pw_aff_copy(ptr);
+ return multi_pw_aff(ptr);
+}
+
+multi_pw_aff::multi_pw_aff()
+ : ptr(nullptr) {}
+
+multi_pw_aff::multi_pw_aff(const multi_pw_aff &obj)
+ : ptr(nullptr)
+{
+ ptr = obj.copy();
+}
+multi_pw_aff::multi_pw_aff(std::nullptr_t)
+ : ptr(nullptr) {}
+
+
+multi_pw_aff::multi_pw_aff(__isl_take isl_multi_pw_aff *ptr)
+ : ptr(ptr) {}
+
+multi_pw_aff::multi_pw_aff(aff aff)
+{
+ auto res = isl_multi_pw_aff_from_aff(aff.release());
+ ptr = res;
+}
+multi_pw_aff::multi_pw_aff(multi_aff ma)
+{
+ auto res = isl_multi_pw_aff_from_multi_aff(ma.release());
+ ptr = res;
+}
+multi_pw_aff::multi_pw_aff(pw_aff pa)
+{
+ auto res = isl_multi_pw_aff_from_pw_aff(pa.release());
+ ptr = res;
+}
+multi_pw_aff::multi_pw_aff(space space, pw_aff_list list)
+{
+ auto res = isl_multi_pw_aff_from_pw_aff_list(space.release(), list.release());
+ ptr = res;
+}
+multi_pw_aff::multi_pw_aff(pw_multi_aff pma)
+{
+ auto res = isl_multi_pw_aff_from_pw_multi_aff(pma.release());
+ ptr = res;
+}
+multi_pw_aff::multi_pw_aff(ctx ctx, const std::string &str)
+{
+ auto res = isl_multi_pw_aff_read_from_str(ctx.release(), str.c_str());
+ ptr = res;
+}
+
+multi_pw_aff &multi_pw_aff::operator=(multi_pw_aff obj) {
+ std::swap(this->ptr, obj.ptr);
+ return *this;
+}
+
+multi_pw_aff::~multi_pw_aff() {
+ if (ptr)
+ isl_multi_pw_aff_free(ptr);
+}
+
+__isl_give isl_multi_pw_aff *multi_pw_aff::copy() const & {
+ return isl_multi_pw_aff_copy(ptr);
+}
+
+__isl_keep isl_multi_pw_aff *multi_pw_aff::get() const {
return ptr;
}
return manage(res);
}
+multi_pw_aff multi_pw_aff::add_constant(multi_val mv) const
+{
+ auto res = isl_multi_pw_aff_add_constant_multi_val(copy(), mv.release());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::add_constant(val v) const
+{
+ auto res = isl_multi_pw_aff_add_constant_val(copy(), v.release());
+ return manage(res);
+}
+
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);
}
+set multi_pw_aff::bind(multi_id tuple) const
+{
+ auto res = isl_multi_pw_aff_bind(copy(), tuple.release());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::bind_domain(multi_id tuple) const
+{
+ auto res = isl_multi_pw_aff_bind_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::bind_domain_wrapped_domain(multi_id tuple) const
+{
+ auto res = isl_multi_pw_aff_bind_domain_wrapped_domain(copy(), tuple.release());
+ return manage(res);
+}
+
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
+isl_size 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;
return manage(res);
}
-multi_pw_aff multi_pw_aff::from_pw_aff_list(space space, pw_aff_list list)
+multi_pw_aff multi_pw_aff::from_range() const
{
- auto res = isl_multi_pw_aff_from_pw_aff_list(space.release(), list.release());
+ auto res = isl_multi_pw_aff_from_range(copy());
return manage(res);
}
-multi_pw_aff multi_pw_aff::from_range() const
+pw_aff multi_pw_aff::get_at(int pos) const
{
- auto res = isl_multi_pw_aff_from_range(copy());
+ auto res = isl_multi_pw_aff_get_at(get(), pos);
return manage(res);
}
return res;
}
+pw_aff_list multi_pw_aff::get_list() const
+{
+ auto res = isl_multi_pw_aff_get_list(get());
+ return manage(res);
+}
+
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);
}
+multi_pw_aff multi_pw_aff::identity() const
+{
+ auto res = isl_multi_pw_aff_identity_multi_pw_aff(copy());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::identity_on_domain(space space)
+{
+ auto res = isl_multi_pw_aff_identity_on_domain_space(space.release());
+ return manage(res);
+}
+
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);
}
+multi_pw_aff multi_pw_aff::insert_domain(space domain) const
+{
+ auto res = isl_multi_pw_aff_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
multi_pw_aff multi_pw_aff::intersect_domain(set domain) const
{
auto res = isl_multi_pw_aff_intersect_domain(copy(), domain.release());
return manage(res);
}
+boolean multi_pw_aff::involves_param(const id &id) const
+{
+ auto res = isl_multi_pw_aff_involves_param_id(get(), id.get());
+ return manage(res);
+}
+
+boolean multi_pw_aff::involves_param(const id_list &list) const
+{
+ auto res = isl_multi_pw_aff_involves_param_id_list(get(), list.get());
+ return manage(res);
+}
+
boolean multi_pw_aff::is_cst() const
{
auto res = isl_multi_pw_aff_is_cst(get());
return manage(res);
}
+map multi_pw_aff::lex_ge_map(multi_pw_aff mpa2) const
+{
+ auto res = isl_multi_pw_aff_lex_ge_map(copy(), mpa2.release());
+ return manage(res);
+}
+
map multi_pw_aff::lex_gt_map(multi_pw_aff mpa2) const
{
auto res = isl_multi_pw_aff_lex_gt_map(copy(), mpa2.release());
return manage(res);
}
+map multi_pw_aff::lex_le_map(multi_pw_aff mpa2) const
+{
+ auto res = isl_multi_pw_aff_lex_le_map(copy(), mpa2.release());
+ return manage(res);
+}
+
map multi_pw_aff::lex_lt_map(multi_pw_aff mpa2) const
{
auto res = isl_multi_pw_aff_lex_lt_map(copy(), mpa2.release());
return manage(res);
}
+multi_pw_aff multi_pw_aff::max(multi_pw_aff multi2) const
+{
+ auto res = isl_multi_pw_aff_max(copy(), multi2.release());
+ return manage(res);
+}
+
+multi_val multi_pw_aff::max_multi_val() const
+{
+ auto res = isl_multi_pw_aff_max_multi_val(copy());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::min(multi_pw_aff multi2) const
+{
+ auto res = isl_multi_pw_aff_min(copy(), multi2.release());
+ return manage(res);
+}
+
+multi_val multi_pw_aff::min_multi_val() const
+{
+ auto res = isl_multi_pw_aff_min_multi_val(copy());
+ return manage(res);
+}
+
multi_pw_aff multi_pw_aff::mod_multi_val(multi_val mv) const
{
auto res = isl_multi_pw_aff_mod_multi_val(copy(), mv.release());
return manage(res);
}
-multi_pw_aff multi_pw_aff::pullback(pw_multi_aff pma) const
+multi_pw_aff multi_pw_aff::pullback(multi_pw_aff mpa2) const
{
- auto res = isl_multi_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
+ auto res = isl_multi_pw_aff_pullback_multi_pw_aff(copy(), mpa2.release());
return manage(res);
}
-multi_pw_aff multi_pw_aff::pullback(multi_pw_aff mpa2) const
+multi_pw_aff multi_pw_aff::pullback(pw_multi_aff pma) const
{
- auto res = isl_multi_pw_aff_pullback_multi_pw_aff(copy(), mpa2.release());
+ auto res = isl_multi_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
return manage(res);
}
return manage(res);
}
-multi_pw_aff multi_pw_aff::scale_down_multi_val(multi_val mv) const
+multi_pw_aff multi_pw_aff::scale(multi_val mv) const
{
- auto res = isl_multi_pw_aff_scale_down_multi_val(copy(), mv.release());
+ auto res = isl_multi_pw_aff_scale_multi_val(copy(), mv.release());
return manage(res);
}
-multi_pw_aff multi_pw_aff::scale_down_val(val v) const
+multi_pw_aff multi_pw_aff::scale(val v) const
{
- auto res = isl_multi_pw_aff_scale_down_val(copy(), v.release());
+ auto res = isl_multi_pw_aff_scale_val(copy(), v.release());
return manage(res);
}
-multi_pw_aff multi_pw_aff::scale_multi_val(multi_val mv) const
+multi_pw_aff multi_pw_aff::scale_down(multi_val mv) const
{
- auto res = isl_multi_pw_aff_scale_multi_val(copy(), mv.release());
+ auto res = isl_multi_pw_aff_scale_down_multi_val(copy(), mv.release());
return manage(res);
}
-multi_pw_aff multi_pw_aff::scale_val(val v) const
+multi_pw_aff multi_pw_aff::scale_down(val v) const
{
- auto res = isl_multi_pw_aff_scale_val(copy(), v.release());
+ auto res = isl_multi_pw_aff_scale_down_val(copy(), v.release());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::set_at(int pos, pw_aff el) const
+{
+ auto res = isl_multi_pw_aff_set_at(copy(), pos, el.release());
return manage(res);
}
return manage(res);
}
+isl_size multi_pw_aff::size() const
+{
+ auto res = isl_multi_pw_aff_size(get());
+ return res;
+}
+
multi_pw_aff multi_pw_aff::splice(unsigned int in_pos, unsigned int out_pos, multi_pw_aff multi2) const
{
auto res = isl_multi_pw_aff_splice(copy(), in_pos, out_pos, multi2.release());
return manage(res);
}
+multi_pw_aff multi_pw_aff::unbind_params_insert_domain(multi_id domain) const
+{
+ auto res = isl_multi_pw_aff_unbind_params_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
+multi_pw_aff multi_pw_aff::union_add(multi_pw_aff mpa2) const
+{
+ auto res = isl_multi_pw_aff_union_add(copy(), mpa2.release());
+ return manage(res);
+}
+
multi_pw_aff multi_pw_aff::zero(space space)
{
auto res = isl_multi_pw_aff_zero(space.release());
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(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(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(multi_pw_aff mpa)
+multi_union_pw_aff::multi_union_pw_aff(space space, union_pw_aff_list list)
{
- auto res = isl_multi_union_pw_aff_from_multi_pw_aff(mpa.release());
+ auto res = isl_multi_union_pw_aff_from_union_pw_aff_list(space.release(), list.release());
ptr = res;
}
multi_union_pw_aff::multi_union_pw_aff(union_pw_multi_aff upma)
return manage(res);
}
+union_set multi_union_pw_aff::bind(multi_id tuple) const
+{
+ auto res = isl_multi_union_pw_aff_bind(copy(), tuple.release());
+ return manage(res);
+}
+
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
+isl_size 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;
return manage(res);
}
-multi_union_pw_aff multi_union_pw_aff::from_union_pw_aff_list(space space, union_pw_aff_list list)
+union_pw_aff multi_union_pw_aff::get_at(int pos) const
{
- auto res = isl_multi_union_pw_aff_from_union_pw_aff_list(space.release(), list.release());
+ auto res = isl_multi_union_pw_aff_get_at(get(), pos);
return manage(res);
}
return manage(res);
}
+union_pw_aff_list multi_union_pw_aff::get_list() const
+{
+ auto res = isl_multi_union_pw_aff_get_list(get());
+ return manage(res);
+}
+
space multi_union_pw_aff::get_space() const
{
auto res = isl_multi_union_pw_aff_get_space(get());
return manage(res);
}
-multi_union_pw_aff multi_union_pw_aff::scale_down_multi_val(multi_val mv) const
+multi_union_pw_aff multi_union_pw_aff::scale(multi_val mv) const
{
- auto res = isl_multi_union_pw_aff_scale_down_multi_val(copy(), mv.release());
+ auto res = isl_multi_union_pw_aff_scale_multi_val(copy(), mv.release());
return manage(res);
}
-multi_union_pw_aff multi_union_pw_aff::scale_down_val(val v) const
+multi_union_pw_aff multi_union_pw_aff::scale(val v) const
{
- auto res = isl_multi_union_pw_aff_scale_down_val(copy(), v.release());
+ auto res = isl_multi_union_pw_aff_scale_val(copy(), v.release());
return manage(res);
}
-multi_union_pw_aff multi_union_pw_aff::scale_multi_val(multi_val mv) const
+multi_union_pw_aff multi_union_pw_aff::scale_down(multi_val mv) const
{
- auto res = isl_multi_union_pw_aff_scale_multi_val(copy(), mv.release());
+ auto res = isl_multi_union_pw_aff_scale_down_multi_val(copy(), mv.release());
return manage(res);
}
-multi_union_pw_aff multi_union_pw_aff::scale_val(val v) const
+multi_union_pw_aff multi_union_pw_aff::scale_down(val v) const
{
- auto res = isl_multi_union_pw_aff_scale_val(copy(), v.release());
+ auto res = isl_multi_union_pw_aff_scale_down_val(copy(), v.release());
+ return manage(res);
+}
+
+multi_union_pw_aff multi_union_pw_aff::set_at(int pos, union_pw_aff el) const
+{
+ auto res = isl_multi_union_pw_aff_set_at(copy(), pos, el.release());
return manage(res);
}
return manage(res);
}
+isl_size multi_union_pw_aff::size() const
+{
+ auto res = isl_multi_union_pw_aff_size(get());
+ return res;
+}
+
multi_union_pw_aff multi_union_pw_aff::sub(multi_union_pw_aff multi2) const
{
auto res = isl_multi_union_pw_aff_sub(copy(), multi2.release());
multi_val::multi_val(__isl_take isl_multi_val *ptr)
: ptr(ptr) {}
+multi_val::multi_val(space space, val_list list)
+{
+ auto res = isl_multi_val_from_val_list(space.release(), list.release());
+ ptr = res;
+}
+multi_val::multi_val(ctx ctx, const std::string &str)
+{
+ auto res = isl_multi_val_read_from_str(ctx.release(), str.c_str());
+ ptr = res;
+}
multi_val &multi_val::operator=(multi_val obj) {
std::swap(this->ptr, obj.ptr);
return manage(res);
}
-multi_val multi_val::add_dims(isl::dim type, unsigned int n) const
+multi_val multi_val::add(val v) const
{
- auto res = isl_multi_val_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
+ auto res = isl_multi_val_add_val(copy(), v.release());
return manage(res);
}
-multi_val multi_val::add_val(val v) const
+multi_val multi_val::add_dims(isl::dim type, unsigned int n) const
{
- auto res = isl_multi_val_add_val(copy(), v.release());
+ auto res = isl_multi_val_add_dims(copy(), static_cast<enum isl_dim_type>(type), n);
return manage(res);
}
return manage(res);
}
-unsigned int multi_val::dim(isl::dim type) const
+isl_size multi_val::dim(isl::dim type) const
{
auto res = isl_multi_val_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-multi_val multi_val::from_val_list(space space, val_list list)
+val multi_val::get_at(int pos) const
{
- auto res = isl_multi_val_from_val_list(space.release(), list.release());
+ auto res = isl_multi_val_get_at(get(), pos);
return manage(res);
}
return manage(res);
}
+val_list multi_val::get_list() const
+{
+ auto res = isl_multi_val_get_list(get());
+ return manage(res);
+}
+
space multi_val::get_space() const
{
auto res = isl_multi_val_get_space(get());
return manage(res);
}
+boolean multi_val::is_zero() const
+{
+ auto res = isl_multi_val_is_zero(get());
+ return manage(res);
+}
+
+multi_val multi_val::max(multi_val multi2) const
+{
+ auto res = isl_multi_val_max(copy(), multi2.release());
+ return manage(res);
+}
+
+multi_val multi_val::min(multi_val multi2) const
+{
+ auto res = isl_multi_val_min(copy(), multi2.release());
+ return manage(res);
+}
+
multi_val multi_val::mod_multi_val(multi_val mv) const
{
auto res = isl_multi_val_mod_multi_val(copy(), mv.release());
return manage(res);
}
-multi_val multi_val::read_from_str(ctx ctx, const std::string &str)
-{
- auto res = isl_multi_val_read_from_str(ctx.release(), str.c_str());
- return manage(res);
-}
-
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);
}
-multi_val multi_val::scale_down_multi_val(multi_val mv) const
+multi_val multi_val::scale(multi_val mv) const
{
- auto res = isl_multi_val_scale_down_multi_val(copy(), mv.release());
+ auto res = isl_multi_val_scale_multi_val(copy(), mv.release());
return manage(res);
}
-multi_val multi_val::scale_down_val(val v) const
+multi_val multi_val::scale(val v) const
{
- auto res = isl_multi_val_scale_down_val(copy(), v.release());
+ auto res = isl_multi_val_scale_val(copy(), v.release());
return manage(res);
}
-multi_val multi_val::scale_multi_val(multi_val mv) const
+multi_val multi_val::scale_down(multi_val mv) const
{
- auto res = isl_multi_val_scale_multi_val(copy(), mv.release());
+ auto res = isl_multi_val_scale_down_multi_val(copy(), mv.release());
return manage(res);
}
-multi_val multi_val::scale_val(val v) const
+multi_val multi_val::scale_down(val v) const
{
- auto res = isl_multi_val_scale_val(copy(), v.release());
+ auto res = isl_multi_val_scale_down_val(copy(), v.release());
+ return manage(res);
+}
+
+multi_val multi_val::set_at(int pos, val el) const
+{
+ auto res = isl_multi_val_set_at(copy(), pos, el.release());
return manage(res);
}
return manage(res);
}
+isl_size multi_val::size() const
+{
+ auto res = isl_multi_val_size(get());
+ return res;
+}
+
multi_val multi_val::splice(unsigned int in_pos, unsigned int out_pos, multi_val multi2) const
{
auto res = isl_multi_val_splice(copy(), in_pos, out_pos, multi2.release());
return manage(res);
}
+multi_val point::get_multi_val() const
+{
+ auto res = isl_point_get_multi_val(get());
+ return manage(res);
+}
+
space point::get_space() const
{
auto res = isl_point_get_space(get());
auto res = isl_pw_aff_from_aff(aff.release());
ptr = res;
}
-pw_aff::pw_aff(local_space ls)
+pw_aff::pw_aff(ctx ctx, const std::string &str)
{
- auto res = isl_pw_aff_zero_on_domain(ls.release());
+ auto res = isl_pw_aff_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
pw_aff::pw_aff(set domain, val v)
auto res = isl_pw_aff_val_on_domain(domain.release(), v.release());
ptr = res;
}
-pw_aff::pw_aff(ctx ctx, const std::string &str)
+pw_aff::pw_aff(local_space ls)
{
- auto res = isl_pw_aff_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_pw_aff_zero_on_domain(ls.release());
ptr = res;
}
return manage(res);
}
+pw_aff pw_aff::add_constant(val v) const
+{
+ auto res = isl_pw_aff_add_constant_val(copy(), v.release());
+ return manage(res);
+}
+
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);
}
+aff pw_aff::as_aff() const
+{
+ auto res = isl_pw_aff_as_aff(copy());
+ return manage(res);
+}
+
+set pw_aff::bind(id id) const
+{
+ auto res = isl_pw_aff_bind_id(copy(), id.release());
+ return manage(res);
+}
+
+pw_aff pw_aff::bind_domain(multi_id tuple) const
+{
+ auto res = isl_pw_aff_bind_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+pw_aff pw_aff::bind_domain_wrapped_domain(multi_id tuple) const
+{
+ auto res = isl_pw_aff_bind_domain_wrapped_domain(copy(), tuple.release());
+ return manage(res);
+}
+
pw_aff pw_aff::ceil() const
{
auto res = isl_pw_aff_ceil(copy());
return manage(res);
}
-unsigned int pw_aff::dim(isl::dim type) const
+isl_size pw_aff::dim(isl::dim type) const
{
auto res = isl_pw_aff_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-pw_aff pw_aff::empty(space dim)
+pw_aff pw_aff::empty(space space)
{
- auto res = isl_pw_aff_empty(dim.release());
+ auto res = isl_pw_aff_empty(space.release());
return manage(res);
}
return manage(res);
}
+map pw_aff::ge_map(pw_aff pa2) const
+{
+ auto res = isl_pw_aff_ge_map(copy(), pa2.release());
+ return manage(res);
+}
+
set pw_aff::ge_set(pw_aff pwaff2) const
{
auto res = isl_pw_aff_ge_set(copy(), pwaff2.release());
return manage(res);
}
+pw_aff pw_aff::insert_domain(space domain) const
+{
+ auto res = isl_pw_aff_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
pw_aff pw_aff::intersect_domain(set set) const
{
auto res = isl_pw_aff_intersect_domain(copy(), set.release());
return manage(res);
}
+pw_aff pw_aff::intersect_domain_wrapped_domain(set set) const
+{
+ auto res = isl_pw_aff_intersect_domain_wrapped_domain(copy(), set.release());
+ return manage(res);
+}
+
+pw_aff pw_aff::intersect_domain_wrapped_range(set set) const
+{
+ auto res = isl_pw_aff_intersect_domain_wrapped_range(copy(), set.release());
+ return manage(res);
+}
+
pw_aff pw_aff::intersect_params(set set) const
{
auto res = isl_pw_aff_intersect_params(copy(), set.release());
return manage(res);
}
+boolean pw_aff::involves_param_id(const id &id) const
+{
+ auto res = isl_pw_aff_involves_param_id(get(), id.get());
+ return manage(res);
+}
+
boolean pw_aff::is_cst() const
{
auto res = isl_pw_aff_is_cst(get());
return manage(res);
}
+boolean pw_aff::isa_aff() const
+{
+ auto res = isl_pw_aff_isa_aff(get());
+ return manage(res);
+}
+
+map pw_aff::le_map(pw_aff pa2) const
+{
+ auto res = isl_pw_aff_le_map(copy(), pa2.release());
+ return manage(res);
+}
+
set pw_aff::le_set(pw_aff pwaff2) const
{
auto res = isl_pw_aff_le_set(copy(), pwaff2.release());
return manage(res);
}
-int pw_aff::n_piece() const
+isl_size pw_aff::n_piece() const
{
auto res = isl_pw_aff_n_piece(get());
return res;
return manage(res);
}
+pw_aff pw_aff::nan_on_domain_space(space space)
+{
+ auto res = isl_pw_aff_nan_on_domain_space(space.release());
+ return manage(res);
+}
+
set pw_aff::ne_set(pw_aff pwaff2) const
{
auto res = isl_pw_aff_ne_set(copy(), pwaff2.release());
return manage(res);
}
+pw_aff pw_aff::param_on_domain(set domain, id id)
+{
+ auto res = isl_pw_aff_param_on_domain_id(domain.release(), id.release());
+ return manage(res);
+}
+
set pw_aff::params() const
{
auto res = isl_pw_aff_params(copy());
return manage(res);
}
-pw_aff pw_aff::pullback(pw_multi_aff pma) const
+pw_aff pw_aff::pullback(multi_pw_aff mpa) const
{
- auto res = isl_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
+ auto res = isl_pw_aff_pullback_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-pw_aff pw_aff::pullback(multi_pw_aff mpa) const
+pw_aff pw_aff::pullback(pw_multi_aff pma) const
{
- auto res = isl_pw_aff_pullback_multi_pw_aff(copy(), mpa.release());
+ auto res = isl_pw_aff_pullback_pw_multi_aff(copy(), pma.release());
return manage(res);
}
ctx pw_aff_list::get_ctx() const {
return ctx(isl_pw_aff_list_get_ctx(ptr));
}
+std::string pw_aff_list::to_str() const {
+ char *Tmp = isl_pw_aff_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void pw_aff_list::dump() const {
isl_pw_aff_list_dump(get());
return manage(res);
}
+pw_aff_list pw_aff_list::clear() const
+{
+ auto res = isl_pw_aff_list_clear(copy());
+ return manage(res);
+}
+
pw_aff_list pw_aff_list::concat(pw_aff_list list2) const
{
auto res = isl_pw_aff_list_concat(copy(), list2.release());
return manage(res);
}
-int pw_aff_list::n_pw_aff() const
+isl_size pw_aff_list::n_pw_aff() const
{
auto res = isl_pw_aff_list_n_pw_aff(get());
return res;
return manage(res);
}
-int pw_aff_list::size() const
+isl_size pw_aff_list::size() const
{
auto res = isl_pw_aff_list_size(get());
return res;
return manage(res);
}
+pw_multi_aff pw_multi_aff::add_constant(multi_val mv) const
+{
+ auto res = isl_pw_multi_aff_add_constant_multi_val(copy(), mv.release());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::add_constant(val v) const
+{
+ auto res = isl_pw_multi_aff_add_constant_val(copy(), v.release());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::align_params(space model) const
{
auto res = isl_pw_multi_aff_align_params(copy(), model.release());
return manage(res);
}
+multi_aff pw_multi_aff::as_multi_aff() const
+{
+ auto res = isl_pw_multi_aff_as_multi_aff(copy());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::bind_domain(multi_id tuple) const
+{
+ auto res = isl_pw_multi_aff_bind_domain(copy(), tuple.release());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::bind_domain_wrapped_domain(multi_id tuple) const
+{
+ auto res = isl_pw_multi_aff_bind_domain_wrapped_domain(copy(), tuple.release());
+ return manage(res);
+}
+
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
+isl_size 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;
return manage(res);
}
+pw_multi_aff pw_multi_aff::domain_map(space space)
+{
+ auto res = isl_pw_multi_aff_domain_map(space.release());
+ return manage(res);
+}
+
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);
}
+pw_multi_aff pw_multi_aff::identity_on_domain(space space)
+{
+ auto res = isl_pw_multi_aff_identity_on_domain_space(space.release());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::insert_domain(space domain) const
+{
+ auto res = isl_pw_multi_aff_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::intersect_domain(set set) const
{
auto res = isl_pw_multi_aff_intersect_domain(copy(), set.release());
return manage(res);
}
+pw_multi_aff pw_multi_aff::intersect_domain_wrapped_domain(set set) const
+{
+ auto res = isl_pw_multi_aff_intersect_domain_wrapped_domain(copy(), set.release());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::intersect_domain_wrapped_range(set set) const
+{
+ auto res = isl_pw_multi_aff_intersect_domain_wrapped_range(copy(), set.release());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::intersect_params(set set) const
{
auto res = isl_pw_multi_aff_intersect_params(copy(), set.release());
return manage(res);
}
+boolean pw_multi_aff::involves_locals() const
+{
+ auto res = isl_pw_multi_aff_involves_locals(get());
+ return manage(res);
+}
+
boolean pw_multi_aff::involves_nan() const
{
auto res = isl_pw_multi_aff_involves_nan(get());
return manage(res);
}
+boolean pw_multi_aff::involves_param_id(const id &id) const
+{
+ auto res = isl_pw_multi_aff_involves_param_id(get(), id.get());
+ return manage(res);
+}
+
boolean pw_multi_aff::is_equal(const pw_multi_aff &pma2) const
{
auto res = isl_pw_multi_aff_is_equal(get(), pma2.get());
return manage(res);
}
+boolean pw_multi_aff::isa_multi_aff() const
+{
+ auto res = isl_pw_multi_aff_isa_multi_aff(get());
+ return manage(res);
+}
+
+multi_val pw_multi_aff::max_multi_val() const
+{
+ auto res = isl_pw_multi_aff_max_multi_val(copy());
+ return manage(res);
+}
+
+multi_val pw_multi_aff::min_multi_val() const
+{
+ auto res = isl_pw_multi_aff_min_multi_val(copy());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::multi_val_on_domain(set domain, multi_val mv)
{
auto res = isl_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release());
return manage(res);
}
-int pw_multi_aff::n_piece() const
+isl_size pw_multi_aff::n_piece() const
{
auto res = isl_pw_multi_aff_n_piece(get());
return res;
return manage(res);
}
+pw_multi_aff pw_multi_aff::preimage_domain_wrapped_domain(pw_multi_aff pma2) const
+{
+ auto res = isl_pw_multi_aff_preimage_domain_wrapped_domain_pw_multi_aff(copy(), pma2.release());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::product(pw_multi_aff pma2) const
{
auto res = isl_pw_multi_aff_product(copy(), pma2.release());
return manage(res);
}
+pw_multi_aff pw_multi_aff::range_factor_domain() const
+{
+ auto res = isl_pw_multi_aff_range_factor_domain(copy());
+ return manage(res);
+}
+
+pw_multi_aff pw_multi_aff::range_factor_range() const
+{
+ auto res = isl_pw_multi_aff_range_factor_range(copy());
+ return manage(res);
+}
+
pw_multi_aff pw_multi_aff::range_map(space space)
{
auto res = isl_pw_multi_aff_range_map(space.release());
return manage(res);
}
-pw_multi_aff pw_multi_aff::scale_down_val(val v) const
+pw_multi_aff pw_multi_aff::scale(val v) const
{
- auto res = isl_pw_multi_aff_scale_down_val(copy(), v.release());
+ auto res = isl_pw_multi_aff_scale_val(copy(), v.release());
return manage(res);
}
-pw_multi_aff pw_multi_aff::scale_multi_val(multi_val mv) const
+pw_multi_aff pw_multi_aff::scale_down(val v) const
{
- auto res = isl_pw_multi_aff_scale_multi_val(copy(), mv.release());
+ auto res = isl_pw_multi_aff_scale_down_val(copy(), v.release());
return manage(res);
}
-pw_multi_aff pw_multi_aff::scale_val(val v) const
+pw_multi_aff pw_multi_aff::scale_multi_val(multi_val mv) const
{
- auto res = isl_pw_multi_aff_scale_val(copy(), v.release());
+ auto res = isl_pw_multi_aff_scale_multi_val(copy(), mv.release());
return manage(res);
}
ctx pw_multi_aff_list::get_ctx() const {
return ctx(isl_pw_multi_aff_list_get_ctx(ptr));
}
+std::string pw_multi_aff_list::to_str() const {
+ char *Tmp = isl_pw_multi_aff_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void pw_multi_aff_list::dump() const {
isl_pw_multi_aff_list_dump(get());
return manage(res);
}
+pw_multi_aff_list pw_multi_aff_list::clear() const
+{
+ auto res = isl_pw_multi_aff_list_clear(copy());
+ return manage(res);
+}
+
pw_multi_aff_list pw_multi_aff_list::concat(pw_multi_aff_list list2) const
{
auto res = isl_pw_multi_aff_list_concat(copy(), list2.release());
return manage(res);
}
-int pw_multi_aff_list::n_pw_multi_aff() const
+isl_size pw_multi_aff_list::n_pw_multi_aff() const
{
auto res = isl_pw_multi_aff_list_n_pw_multi_aff(get());
return res;
return manage(res);
}
-int pw_multi_aff_list::size() const
+isl_size pw_multi_aff_list::size() const
{
auto res = isl_pw_multi_aff_list_size(get());
return res;
return manage(res);
}
+qpolynomial pw_qpolynomial::as_qpolynomial() const
+{
+ auto res = isl_pw_qpolynomial_as_qpolynomial(copy());
+ return manage(res);
+}
+
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
+isl_size pw_qpolynomial::dim(isl::dim type) const
{
auto res = isl_pw_qpolynomial_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+pw_qpolynomial pw_qpolynomial::intersect_domain_wrapped_domain(set set) const
+{
+ auto res = isl_pw_qpolynomial_intersect_domain_wrapped_domain(copy(), set.release());
+ return manage(res);
+}
+
+pw_qpolynomial pw_qpolynomial::intersect_domain_wrapped_range(set set) const
+{
+ auto res = isl_pw_qpolynomial_intersect_domain_wrapped_range(copy(), set.release());
+ return manage(res);
+}
+
pw_qpolynomial pw_qpolynomial::intersect_params(set set) const
{
auto res = isl_pw_qpolynomial_intersect_params(copy(), set.release());
return manage(res);
}
+boolean pw_qpolynomial::involves_param_id(const id &id) const
+{
+ auto res = isl_pw_qpolynomial_involves_param_id(get(), id.get());
+ return manage(res);
+}
+
boolean pw_qpolynomial::is_zero() const
{
auto res = isl_pw_qpolynomial_is_zero(get());
return manage(res);
}
+boolean pw_qpolynomial::isa_qpolynomial() const
+{
+ auto res = isl_pw_qpolynomial_isa_qpolynomial(get());
+ return manage(res);
+}
+
val pw_qpolynomial::max() const
{
auto res = isl_pw_qpolynomial_max(copy());
return manage(res);
}
-int pw_qpolynomial::n_piece() const
+isl_size pw_qpolynomial::n_piece() const
{
auto res = isl_pw_qpolynomial_n_piece(get());
return res;
return manage(res);
}
-pw_qpolynomial pw_qpolynomial::reset_domain_space(space dim) const
+pw_qpolynomial pw_qpolynomial::reset_domain_space(space space) const
{
- auto res = isl_pw_qpolynomial_reset_domain_space(copy(), dim.release());
+ auto res = isl_pw_qpolynomial_reset_domain_space(copy(), space.release());
return manage(res);
}
return manage(res);
}
-pw_qpolynomial pw_qpolynomial::zero(space dim)
+pw_qpolynomial pw_qpolynomial::zero(space space)
{
- auto res = isl_pw_qpolynomial_zero(dim.release());
+ auto res = isl_pw_qpolynomial_zero(space.release());
return manage(res);
}
ctx pw_qpolynomial_fold_list::get_ctx() const {
return ctx(isl_pw_qpolynomial_fold_list_get_ctx(ptr));
}
+std::string pw_qpolynomial_fold_list::to_str() const {
+ char *Tmp = isl_pw_qpolynomial_fold_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void pw_qpolynomial_fold_list::dump() const {
isl_pw_qpolynomial_fold_list_dump(get());
ctx pw_qpolynomial_list::get_ctx() const {
return ctx(isl_pw_qpolynomial_list_get_ctx(ptr));
}
+std::string pw_qpolynomial_list::to_str() const {
+ char *Tmp = isl_pw_qpolynomial_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void pw_qpolynomial_list::dump() const {
isl_pw_qpolynomial_list_dump(get());
return manage(res);
}
+pw_qpolynomial_list pw_qpolynomial_list::clear() const
+{
+ auto res = isl_pw_qpolynomial_list_clear(copy());
+ return manage(res);
+}
+
pw_qpolynomial_list pw_qpolynomial_list::concat(pw_qpolynomial_list list2) const
{
auto res = isl_pw_qpolynomial_list_concat(copy(), list2.release());
return manage(res);
}
-int pw_qpolynomial_list::n_pw_qpolynomial() const
+isl_size pw_qpolynomial_list::n_pw_qpolynomial() const
{
auto res = isl_pw_qpolynomial_list_n_pw_qpolynomial(get());
return res;
return manage(res);
}
-int pw_qpolynomial_list::size() const
+isl_size pw_qpolynomial_list::size() const
{
auto res = isl_pw_qpolynomial_list_size(get());
return res;
return manage(res);
}
-unsigned int qpolynomial::dim(isl::dim type) const
+isl_size qpolynomial::dim(isl::dim type) const
{
auto res = isl_qpolynomial_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-qpolynomial qpolynomial::homogenize() const
-{
- auto res = isl_qpolynomial_homogenize(copy());
- return manage(res);
+qpolynomial qpolynomial::homogenize() const
+{
+ auto res = isl_qpolynomial_homogenize(copy());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::infty_on_domain(space domain)
+{
+ auto res = isl_qpolynomial_infty_on_domain(domain.release());
+ return manage(res);
+}
+
+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);
+}
+
+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);
+}
+
+boolean qpolynomial::is_infty() const
+{
+ auto res = isl_qpolynomial_is_infty(get());
+ return manage(res);
+}
+
+boolean qpolynomial::is_nan() const
+{
+ auto res = isl_qpolynomial_is_nan(get());
+ return manage(res);
+}
+
+boolean qpolynomial::is_neginfty() const
+{
+ auto res = isl_qpolynomial_is_neginfty(get());
+ return manage(res);
+}
+
+boolean qpolynomial::is_zero() const
+{
+ auto res = isl_qpolynomial_is_zero(get());
+ return manage(res);
+}
+
+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);
+}
+
+qpolynomial qpolynomial::mul(qpolynomial qp2) const
+{
+ auto res = isl_qpolynomial_mul(copy(), qp2.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::nan_on_domain(space domain)
+{
+ auto res = isl_qpolynomial_nan_on_domain(domain.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::neg() const
+{
+ auto res = isl_qpolynomial_neg(copy());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::neginfty_on_domain(space domain)
+{
+ auto res = isl_qpolynomial_neginfty_on_domain(domain.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::one_on_domain(space domain)
+{
+ auto res = isl_qpolynomial_one_on_domain(domain.release());
+ return manage(res);
+}
+
+boolean qpolynomial::plain_is_equal(const qpolynomial &qp2) const
+{
+ auto res = isl_qpolynomial_plain_is_equal(get(), qp2.get());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::pow(unsigned int power) const
+{
+ auto res = isl_qpolynomial_pow(copy(), power);
+ return manage(res);
+}
+
+qpolynomial qpolynomial::project_domain_on_params() const
+{
+ auto res = isl_qpolynomial_project_domain_on_params(copy());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::scale_down_val(val v) const
+{
+ auto res = isl_qpolynomial_scale_down_val(copy(), v.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::scale_val(val v) const
+{
+ auto res = isl_qpolynomial_scale_val(copy(), v.release());
+ return manage(res);
+}
+
+int qpolynomial::sgn() const
+{
+ auto res = isl_qpolynomial_sgn(get());
+ return res;
+}
+
+qpolynomial qpolynomial::sub(qpolynomial qp2) const
+{
+ auto res = isl_qpolynomial_sub(copy(), qp2.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::val_on_domain(space space, val val)
+{
+ auto res = isl_qpolynomial_val_on_domain(space.release(), val.release());
+ return manage(res);
+}
+
+qpolynomial qpolynomial::var_on_domain(space domain, isl::dim type, unsigned int pos)
+{
+ auto res = isl_qpolynomial_var_on_domain(domain.release(), static_cast<enum isl_dim_type>(type), pos);
+ return manage(res);
+}
+
+qpolynomial qpolynomial::zero_on_domain(space domain)
+{
+ auto res = isl_qpolynomial_zero_on_domain(domain.release());
+ return manage(res);
+}
+
+// implementations for isl::qpolynomial_list
+qpolynomial_list manage(__isl_take isl_qpolynomial_list *ptr) {
+ return qpolynomial_list(ptr);
+}
+qpolynomial_list manage_copy(__isl_keep isl_qpolynomial_list *ptr) {
+ ptr = isl_qpolynomial_list_copy(ptr);
+ return qpolynomial_list(ptr);
+}
+
+qpolynomial_list::qpolynomial_list()
+ : ptr(nullptr) {}
+
+qpolynomial_list::qpolynomial_list(const qpolynomial_list &obj)
+ : ptr(nullptr)
+{
+ ptr = obj.copy();
+}
+qpolynomial_list::qpolynomial_list(std::nullptr_t)
+ : ptr(nullptr) {}
+
+
+qpolynomial_list::qpolynomial_list(__isl_take isl_qpolynomial_list *ptr)
+ : ptr(ptr) {}
+
+
+qpolynomial_list &qpolynomial_list::operator=(qpolynomial_list obj) {
+ std::swap(this->ptr, obj.ptr);
+ return *this;
+}
+
+qpolynomial_list::~qpolynomial_list() {
+ if (ptr)
+ isl_qpolynomial_list_free(ptr);
}
-qpolynomial qpolynomial::infty_on_domain(space dim)
-{
- auto res = isl_qpolynomial_infty_on_domain(dim.release());
- return manage(res);
+__isl_give isl_qpolynomial_list *qpolynomial_list::copy() const & {
+ return isl_qpolynomial_list_copy(ptr);
}
-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_keep isl_qpolynomial_list *qpolynomial_list::get() const {
+ return ptr;
}
-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_give isl_qpolynomial_list *qpolynomial_list::release() {
+ isl_qpolynomial_list *tmp = ptr;
+ ptr = nullptr;
+ return tmp;
}
-boolean qpolynomial::is_infty() const
-{
- auto res = isl_qpolynomial_is_infty(get());
- return manage(res);
+bool qpolynomial_list::is_null() const {
+ return ptr == nullptr;
}
-
-boolean qpolynomial::is_nan() const
-{
- auto res = isl_qpolynomial_is_nan(get());
- return manage(res);
+qpolynomial_list::operator bool() const {
+ return !is_null();
}
-boolean qpolynomial::is_neginfty() const
-{
- auto res = isl_qpolynomial_is_neginfty(get());
- return manage(res);
-}
-boolean qpolynomial::is_zero() const
-{
- auto res = isl_qpolynomial_is_zero(get());
- return manage(res);
+ctx qpolynomial_list::get_ctx() const {
+ return ctx(isl_qpolynomial_list_get_ctx(ptr));
+}
+std::string qpolynomial_list::to_str() const {
+ char *Tmp = isl_qpolynomial_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
}
-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);
+
+void qpolynomial_list::dump() const {
+ isl_qpolynomial_list_dump(get());
}
-qpolynomial qpolynomial::mul(qpolynomial qp2) const
+
+qpolynomial_list qpolynomial_list::add(qpolynomial el) const
{
- auto res = isl_qpolynomial_mul(copy(), qp2.release());
+ auto res = isl_qpolynomial_list_add(copy(), el.release());
return manage(res);
}
-qpolynomial qpolynomial::nan_on_domain(space dim)
+qpolynomial_list qpolynomial_list::alloc(ctx ctx, int n)
{
- auto res = isl_qpolynomial_nan_on_domain(dim.release());
+ auto res = isl_qpolynomial_list_alloc(ctx.release(), n);
return manage(res);
}
-qpolynomial qpolynomial::neg() const
+qpolynomial_list qpolynomial_list::clear() const
{
- auto res = isl_qpolynomial_neg(copy());
+ auto res = isl_qpolynomial_list_clear(copy());
return manage(res);
}
-qpolynomial qpolynomial::neginfty_on_domain(space dim)
+qpolynomial_list qpolynomial_list::concat(qpolynomial_list list2) const
{
- auto res = isl_qpolynomial_neginfty_on_domain(dim.release());
+ auto res = isl_qpolynomial_list_concat(copy(), list2.release());
return manage(res);
}
-qpolynomial qpolynomial::one_on_domain(space dim)
+qpolynomial_list qpolynomial_list::drop(unsigned int first, unsigned int n) const
{
- auto res = isl_qpolynomial_one_on_domain(dim.release());
+ auto res = isl_qpolynomial_list_drop(copy(), first, n);
return manage(res);
}
-boolean qpolynomial::plain_is_equal(const qpolynomial &qp2) const
+stat qpolynomial_list::foreach(const std::function<stat(qpolynomial)> &fn) const
{
- auto res = isl_qpolynomial_plain_is_equal(get(), qp2.get());
+ struct fn_data {
+ const std::function<stat(qpolynomial)> *func;
+ } fn_data = { &fn };
+ auto fn_lambda = [](isl_qpolynomial *arg_0, void *arg_1) -> isl_stat {
+ auto *data = static_cast<struct fn_data *>(arg_1);
+ stat ret = (*data->func)(manage(arg_0));
+ return ret.release();
+ };
+ auto res = isl_qpolynomial_list_foreach(get(), fn_lambda, &fn_data);
return manage(res);
}
-qpolynomial qpolynomial::pow(unsigned int power) const
+qpolynomial_list qpolynomial_list::from_qpolynomial(qpolynomial el)
{
- auto res = isl_qpolynomial_pow(copy(), power);
+ auto res = isl_qpolynomial_list_from_qpolynomial(el.release());
return manage(res);
}
-qpolynomial qpolynomial::project_domain_on_params() const
+qpolynomial qpolynomial_list::get_at(int index) const
{
- auto res = isl_qpolynomial_project_domain_on_params(copy());
+ auto res = isl_qpolynomial_list_get_at(get(), index);
return manage(res);
}
-qpolynomial qpolynomial::scale_down_val(val v) const
+qpolynomial qpolynomial_list::get_qpolynomial(int index) const
{
- auto res = isl_qpolynomial_scale_down_val(copy(), v.release());
+ auto res = isl_qpolynomial_list_get_qpolynomial(get(), index);
return manage(res);
}
-qpolynomial qpolynomial::scale_val(val v) const
+qpolynomial_list qpolynomial_list::insert(unsigned int pos, qpolynomial el) const
{
- auto res = isl_qpolynomial_scale_val(copy(), v.release());
+ auto res = isl_qpolynomial_list_insert(copy(), pos, el.release());
return manage(res);
}
-int qpolynomial::sgn() const
+isl_size qpolynomial_list::n_qpolynomial() const
{
- auto res = isl_qpolynomial_sgn(get());
+ auto res = isl_qpolynomial_list_n_qpolynomial(get());
return res;
}
-qpolynomial qpolynomial::sub(qpolynomial qp2) const
+qpolynomial_list qpolynomial_list::reverse() const
{
- auto res = isl_qpolynomial_sub(copy(), qp2.release());
+ auto res = isl_qpolynomial_list_reverse(copy());
return manage(res);
}
-qpolynomial qpolynomial::val_on_domain(space space, val val)
+qpolynomial_list qpolynomial_list::set_qpolynomial(int index, qpolynomial el) const
{
- auto res = isl_qpolynomial_val_on_domain(space.release(), val.release());
+ auto res = isl_qpolynomial_list_set_qpolynomial(copy(), index, el.release());
return manage(res);
}
-qpolynomial qpolynomial::var_on_domain(space dim, isl::dim type, unsigned int pos)
+isl_size qpolynomial_list::size() const
{
- auto res = isl_qpolynomial_var_on_domain(dim.release(), static_cast<enum isl_dim_type>(type), pos);
- return manage(res);
+ auto res = isl_qpolynomial_list_size(get());
+ return res;
}
-qpolynomial qpolynomial::zero_on_domain(space dim)
+qpolynomial_list qpolynomial_list::swap(unsigned int pos1, unsigned int pos2) const
{
- auto res = isl_qpolynomial_zero_on_domain(dim.release());
+ auto res = isl_qpolynomial_list_swap(copy(), pos1, pos2);
return manage(res);
}
return manage(res);
}
-int schedule_node::get_ancestor_child_position(const schedule_node &ancestor) const
+isl_size schedule_node::get_ancestor_child_position(const schedule_node &ancestor) const
{
auto res = isl_schedule_node_get_ancestor_child_position(get(), ancestor.get());
return res;
return manage(res);
}
-int schedule_node::get_child_position() const
+isl_size schedule_node::get_child_position() const
{
auto res = isl_schedule_node_get_child_position(get());
return res;
return manage(res);
}
-int schedule_node::get_schedule_depth() const
+isl_size schedule_node::get_schedule_depth() const
{
auto res = isl_schedule_node_get_schedule_depth(get());
return res;
return manage(res);
}
-int schedule_node::get_tree_depth() const
+isl_size schedule_node::get_tree_depth() const
{
auto res = isl_schedule_node_get_tree_depth(get());
return res;
return manage(res);
}
-int schedule_node::n_children() const
+isl_size schedule_node::n_children() const
{
auto res = isl_schedule_node_n_children(get());
return res;
set::set(__isl_take isl_set *ptr)
: ptr(ptr) {}
-set::set(ctx ctx, const std::string &str)
-{
- auto res = isl_set_read_from_str(ctx.release(), str.c_str());
- ptr = res;
-}
set::set(basic_set bset)
{
auto res = isl_set_from_basic_set(bset.release());
auto res = isl_set_from_union_set(uset.release());
ptr = res;
}
+set::set(ctx ctx, const std::string &str)
+{
+ auto res = isl_set_read_from_str(ctx.release(), str.c_str());
+ ptr = res;
+}
set &set::operator=(set obj) {
std::swap(this->ptr, obj.ptr);
return manage(res);
}
+set set::bind(multi_id tuple) const
+{
+ auto res = isl_set_bind(copy(), tuple.release());
+ return manage(res);
+}
+
basic_set set::bounded_simple_hull() const
{
auto res = isl_set_bounded_simple_hull(copy());
return manage(res);
}
-unsigned int set::dim(isl::dim type) const
+isl_size set::dim(isl::dim type) const
{
auto res = isl_set_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+val set::dim_max_val(int pos) const
+{
+ auto res = isl_set_dim_max_val(copy(), pos);
+ return manage(res);
+}
+
pw_aff set::dim_min(int pos) const
{
auto res = isl_set_dim_min(copy(), pos);
return manage(res);
}
+val set::dim_min_val(int pos) const
+{
+ auto res = isl_set_dim_min_val(copy(), pos);
+ return manage(res);
+}
+
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 tmp;
}
+multi_val set::get_plain_multi_val_if_fixed() const
+{
+ auto res = isl_set_get_plain_multi_val_if_fixed(get());
+ return manage(res);
+}
+
+fixed_box set::get_simple_fixed_box_hull() const
+{
+ auto res = isl_set_get_simple_fixed_box_hull(get());
+ return manage(res);
+}
+
space set::get_space() const
{
auto res = isl_set_get_space(get());
return manage(res);
}
+map set::insert_domain(space domain) const
+{
+ auto res = isl_set_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
set set::intersect(set set2) const
{
auto res = isl_set_intersect(copy(), set2.release());
return manage(res);
}
+set set::intersect_factor_domain(set domain) const
+{
+ auto res = isl_set_intersect_factor_domain(copy(), domain.release());
+ return manage(res);
+}
+
+set set::intersect_factor_range(set range) const
+{
+ auto res = isl_set_intersect_factor_range(copy(), range.release());
+ return manage(res);
+}
+
set set::intersect_params(set params) const
{
auto res = isl_set_intersect_params(copy(), params.release());
return manage(res);
}
+boolean set::involves_locals() const
+{
+ auto res = isl_set_involves_locals(get());
+ return manage(res);
+}
+
boolean set::is_bounded() const
{
auto res = isl_set_is_bounded(get());
return manage(res);
}
+set set::lower_bound(multi_pw_aff lower) const
+{
+ auto res = isl_set_lower_bound_multi_pw_aff(copy(), lower.release());
+ return manage(res);
+}
+
+set set::lower_bound(multi_val lower) const
+{
+ auto res = isl_set_lower_bound_multi_val(copy(), lower.release());
+ return manage(res);
+}
+
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);
}
+multi_pw_aff set::max_multi_pw_aff() const
+{
+ auto res = isl_set_max_multi_pw_aff(copy());
+ return manage(res);
+}
+
val set::max_val(const aff &obj) const
{
auto res = isl_set_max_val(get(), obj.get());
return manage(res);
}
+multi_pw_aff set::min_multi_pw_aff() const
+{
+ auto res = isl_set_min_multi_pw_aff(copy());
+ return manage(res);
+}
+
val set::min_val(const aff &obj) const
{
auto res = isl_set_min_val(get(), obj.get());
return manage(res);
}
-int set::n_basic_set() const
+isl_size set::n_basic_set() const
{
auto res = isl_set_n_basic_set(get());
return res;
}
-unsigned int set::n_dim() const
+isl_size set::n_dim() const
{
auto res = isl_set_n_dim(get());
return res;
}
-set set::nat_universe(space dim)
+set set::nat_universe(space space)
{
- auto res = isl_set_nat_universe(dim.release());
+ auto res = isl_set_nat_universe(space.release());
return manage(res);
}
return manage(res);
}
-set set::preimage_multi_aff(multi_aff ma) const
+set set::preimage(multi_aff ma) const
{
auto res = isl_set_preimage_multi_aff(copy(), ma.release());
return manage(res);
}
-set set::preimage_multi_pw_aff(multi_pw_aff mpa) const
+set set::preimage(multi_pw_aff mpa) const
{
auto res = isl_set_preimage_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-set set::preimage_pw_multi_aff(pw_multi_aff pma) const
+set set::preimage(pw_multi_aff pma) const
{
auto res = isl_set_preimage_pw_multi_aff(copy(), pma.release());
return manage(res);
return manage(res);
}
+set set::project_out_all_params() const
+{
+ auto res = isl_set_project_out_all_params(copy());
+ return manage(res);
+}
+
+set set::project_out_param(id id) const
+{
+ auto res = isl_set_project_out_param_id(copy(), id.release());
+ return manage(res);
+}
+
+set set::project_out_param(id_list list) const
+{
+ auto res = isl_set_project_out_param_id_list(copy(), list.release());
+ return manage(res);
+}
+
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);
}
-set set::reset_space(space dim) const
+set set::reset_space(space space) const
{
- auto res = isl_set_reset_space(copy(), dim.release());
+ auto res = isl_set_reset_space(copy(), space.release());
return manage(res);
}
return manage(res);
}
+map set::translation() const
+{
+ auto res = isl_set_translation(copy());
+ return manage(res);
+}
+
+set set::unbind_params(multi_id tuple) const
+{
+ auto res = isl_set_unbind_params(copy(), tuple.release());
+ return manage(res);
+}
+
+map set::unbind_params_insert_domain(multi_id domain) const
+{
+ auto res = isl_set_unbind_params_insert_domain(copy(), domain.release());
+ return manage(res);
+}
+
set set::unite(set set2) const
{
auto res = isl_set_union(copy(), set2.release());
return manage(res);
}
+set set::upper_bound(multi_pw_aff upper) const
+{
+ auto res = isl_set_upper_bound_multi_pw_aff(copy(), upper.release());
+ return manage(res);
+}
+
+set set::upper_bound(multi_val upper) const
+{
+ auto res = isl_set_upper_bound_multi_val(copy(), upper.release());
+ return manage(res);
+}
+
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);
ctx set_list::get_ctx() const {
return ctx(isl_set_list_get_ctx(ptr));
}
+std::string set_list::to_str() const {
+ char *Tmp = isl_set_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void set_list::dump() const {
isl_set_list_dump(get());
return manage(res);
}
+set_list set_list::clear() const
+{
+ auto res = isl_set_list_clear(copy());
+ return manage(res);
+}
+
set_list set_list::concat(set_list list2) const
{
auto res = isl_set_list_concat(copy(), list2.release());
return manage(res);
}
-int set_list::n_set() const
+isl_size set_list::n_set() const
{
auto res = isl_set_list_n_set(get());
return res;
return manage(res);
}
-int set_list::size() const
+isl_size set_list::size() const
{
auto res = isl_set_list_size(get());
return res;
return manage(res);
}
+space space::add_named_tuple(id tuple_id, unsigned int dim) const
+{
+ auto res = isl_space_add_named_tuple_id_ui(copy(), tuple_id.release(), dim);
+ return manage(res);
+}
+
space space::add_param_id(id id) const
{
auto res = isl_space_add_param_id(copy(), id.release());
return manage(res);
}
-space space::align_params(space dim2) const
+space space::add_unnamed_tuple(unsigned int dim) const
+{
+ auto res = isl_space_add_unnamed_tuple_ui(copy(), dim);
+ return manage(res);
+}
+
+space space::align_params(space space2) const
{
- auto res = isl_space_align_params(copy(), dim2.release());
+ auto res = isl_space_align_params(copy(), space2.release());
return manage(res);
}
return manage(res);
}
-unsigned int space::dim(isl::dim type) const
+isl_size space::dim(isl::dim type) const
{
auto res = isl_space_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+space space::drop_all_params() const
+{
+ auto res = isl_space_drop_all_params(copy());
+ return manage(res);
+}
+
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);
}
+space space::range_reverse() const
+{
+ auto res = isl_space_range_reverse(copy());
+ return manage(res);
+}
+
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);
}
+space space::unit(ctx ctx)
+{
+ auto res = isl_space_unit(ctx.release());
+ return manage(res);
+}
+
space space::unwrap() const
{
auto res = isl_space_unwrap(copy());
}
-unsigned int term::dim(isl::dim type) const
+isl_size term::dim(isl::dim type) const
{
auto res = isl_term_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-int term::get_exp(isl::dim type, unsigned int pos) const
+isl_size 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;
union_map::union_map(__isl_take isl_union_map *ptr)
: ptr(ptr) {}
-union_map::union_map(union_pw_multi_aff upma)
-{
- auto res = isl_union_map_from_union_pw_multi_aff(upma.release());
- ptr = res;
-}
union_map::union_map(basic_map bmap)
{
auto res = isl_union_map_from_basic_map(bmap.release());
auto res = isl_union_map_from_map(map.release());
ptr = res;
}
+union_map::union_map(union_pw_multi_aff upma)
+{
+ auto res = isl_union_map_from_union_pw_multi_aff(upma.release());
+ ptr = res;
+}
union_map::union_map(ctx ctx, const std::string &str)
{
auto res = isl_union_map_read_from_str(ctx.release(), str.c_str());
return manage(res);
}
+union_set union_map::bind_range(multi_id tuple) const
+{
+ auto res = isl_union_map_bind_range(copy(), tuple.release());
+ return manage(res);
+}
+
union_map union_map::coalesce() const
{
auto res = isl_union_map_coalesce(copy());
return manage(res);
}
-unsigned int union_map::dim(isl::dim type) const
+isl_size union_map::dim(isl::dim type) const
{
auto res = isl_union_map_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
+union_map union_map::empty(ctx ctx)
+{
+ auto res = isl_union_map_empty_ctx(ctx.release());
+ return manage(res);
+}
+
+union_map union_map::empty_space(space space)
+{
+ auto res = isl_union_map_empty_space(space.release());
+ return manage(res);
+}
+
union_map union_map::eq_at(multi_union_pw_aff mupa) const
{
auto res = isl_union_map_eq_at_multi_union_pw_aff(copy(), mupa.release());
return manage(res);
}
-map union_map::extract_map(space dim) const
+map union_map::extract_map(space space) const
{
- auto res = isl_union_map_extract_map(get(), dim.release());
+ auto res = isl_union_map_extract_map(get(), space.release());
return manage(res);
}
return manage(res);
}
+union_map union_map::intersect_domain(space space) const
+{
+ auto res = isl_union_map_intersect_domain_space(copy(), space.release());
+ return manage(res);
+}
+
union_map union_map::intersect_domain(union_set uset) const
{
- auto res = isl_union_map_intersect_domain(copy(), uset.release());
+ auto res = isl_union_map_intersect_domain_union_set(copy(), uset.release());
+ return manage(res);
+}
+
+union_map union_map::intersect_domain_factor_domain(union_map factor) const
+{
+ auto res = isl_union_map_intersect_domain_factor_domain(copy(), factor.release());
+ return manage(res);
+}
+
+union_map union_map::intersect_domain_factor_range(union_map factor) const
+{
+ auto res = isl_union_map_intersect_domain_factor_range(copy(), factor.release());
return manage(res);
}
return manage(res);
}
+union_map union_map::intersect_range(space space) const
+{
+ auto res = isl_union_map_intersect_range_space(copy(), space.release());
+ return manage(res);
+}
+
union_map union_map::intersect_range(union_set uset) const
{
- auto res = isl_union_map_intersect_range(copy(), uset.release());
+ auto res = isl_union_map_intersect_range_union_set(copy(), uset.release());
+ return manage(res);
+}
+
+union_map union_map::intersect_range_factor_domain(union_map factor) const
+{
+ auto res = isl_union_map_intersect_range_factor_domain(copy(), factor.release());
return manage(res);
}
boolean union_map::is_strict_subset(const union_map &umap2) const
{
- auto res = isl_union_map_is_strict_subset(get(), umap2.get());
+ auto res = isl_union_map_is_strict_subset(get(), umap2.get());
+ return manage(res);
+}
+
+boolean union_map::is_subset(const union_map &umap2) const
+{
+ auto res = isl_union_map_is_subset(get(), umap2.get());
+ return manage(res);
+}
+
+boolean union_map::isa_map() const
+{
+ auto res = isl_union_map_isa_map(get());
return manage(res);
}
-boolean union_map::is_subset(const union_map &umap2) const
+union_map union_map::lex_ge_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
{
- auto res = isl_union_map_is_subset(get(), umap2.get());
+ auto res = isl_union_map_lex_ge_at_multi_union_pw_aff(copy(), mupa.release());
return manage(res);
}
return manage(res);
}
+union_map union_map::lex_le_at_multi_union_pw_aff(multi_union_pw_aff mupa) const
+{
+ auto res = isl_union_map_lex_le_at_multi_union_pw_aff(copy(), mupa.release());
+ return manage(res);
+}
+
union_map union_map::lex_le_union_map(union_map umap2) const
{
auto res = isl_union_map_lex_le_union_map(copy(), umap2.release());
return manage(res);
}
-int union_map::n_map() const
+isl_size union_map::n_map() const
{
auto res = isl_union_map_n_map(get());
return res;
return manage(res);
}
-union_map union_map::preimage_domain_multi_aff(multi_aff ma) const
+union_map union_map::preimage_domain(multi_aff ma) const
{
auto res = isl_union_map_preimage_domain_multi_aff(copy(), ma.release());
return manage(res);
}
-union_map union_map::preimage_domain_multi_pw_aff(multi_pw_aff mpa) const
+union_map union_map::preimage_domain(multi_pw_aff mpa) const
{
auto res = isl_union_map_preimage_domain_multi_pw_aff(copy(), mpa.release());
return manage(res);
}
-union_map union_map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
+union_map union_map::preimage_domain(pw_multi_aff pma) const
{
auto res = isl_union_map_preimage_domain_pw_multi_aff(copy(), pma.release());
return manage(res);
}
-union_map union_map::preimage_domain_union_pw_multi_aff(union_pw_multi_aff upma) const
+union_map union_map::preimage_domain(union_pw_multi_aff upma) const
{
auto res = isl_union_map_preimage_domain_union_pw_multi_aff(copy(), upma.release());
return manage(res);
}
-union_map union_map::preimage_range_multi_aff(multi_aff ma) const
+union_map union_map::preimage_range(multi_aff ma) const
{
auto res = isl_union_map_preimage_range_multi_aff(copy(), ma.release());
return manage(res);
}
-union_map union_map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
+union_map union_map::preimage_range(pw_multi_aff pma) const
{
auto res = isl_union_map_preimage_range_pw_multi_aff(copy(), pma.release());
return manage(res);
}
-union_map union_map::preimage_range_union_pw_multi_aff(union_pw_multi_aff upma) const
+union_map union_map::preimage_range(union_pw_multi_aff upma) const
{
auto res = isl_union_map_preimage_range_union_pw_multi_aff(copy(), upma.release());
return manage(res);
return manage(res);
}
+union_map union_map::range_reverse() const
+{
+ auto res = isl_union_map_range_reverse(copy());
+ return manage(res);
+}
+
union_map union_map::remove_divs() const
{
auto res = isl_union_map_remove_divs(copy());
ctx union_map_list::get_ctx() const {
return ctx(isl_union_map_list_get_ctx(ptr));
}
+std::string union_map_list::to_str() const {
+ char *Tmp = isl_union_map_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void union_map_list::dump() const {
isl_union_map_list_dump(get());
return manage(res);
}
+union_map_list union_map_list::clear() const
+{
+ auto res = isl_union_map_list_clear(copy());
+ return manage(res);
+}
+
union_map_list union_map_list::concat(union_map_list list2) const
{
auto res = isl_union_map_list_concat(copy(), list2.release());
return manage(res);
}
-int union_map_list::n_union_map() const
+isl_size union_map_list::n_union_map() const
{
auto res = isl_union_map_list_n_union_map(get());
return res;
return manage(res);
}
-int union_map_list::size() const
+isl_size union_map_list::size() const
{
auto res = isl_union_map_list_size(get());
return res;
union_pw_aff::union_pw_aff(__isl_take isl_union_pw_aff *ptr)
: ptr(ptr) {}
-union_pw_aff::union_pw_aff(pw_aff pa)
+union_pw_aff::union_pw_aff(aff aff)
{
- auto res = isl_union_pw_aff_from_pw_aff(pa.release());
+ auto res = isl_union_pw_aff_from_aff(aff.release());
ptr = res;
}
-union_pw_aff::union_pw_aff(union_set domain, val v)
+union_pw_aff::union_pw_aff(pw_aff pa)
{
- auto res = isl_union_pw_aff_val_on_domain(domain.release(), v.release());
+ auto res = isl_union_pw_aff_from_pw_aff(pa.release());
ptr = res;
}
union_pw_aff::union_pw_aff(ctx ctx, const std::string &str)
auto res = isl_union_pw_aff_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
+union_pw_aff::union_pw_aff(union_set domain, val v)
+{
+ auto res = isl_union_pw_aff_val_on_domain(domain.release(), v.release());
+ ptr = res;
+}
union_pw_aff &union_pw_aff::operator=(union_pw_aff obj) {
std::swap(this->ptr, obj.ptr);
return manage(res);
}
+union_set union_pw_aff::bind(id id) const
+{
+ auto res = isl_union_pw_aff_bind_id(copy(), id.release());
+ return manage(res);
+}
+
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
+isl_size 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;
return manage(res);
}
+union_pw_aff union_pw_aff::empty_ctx(ctx ctx)
+{
+ auto res = isl_union_pw_aff_empty_ctx(ctx.release());
+ return manage(res);
+}
+
+union_pw_aff union_pw_aff::empty_space(space space)
+{
+ auto res = isl_union_pw_aff_empty_space(space.release());
+ return manage(res);
+}
+
pw_aff union_pw_aff::extract_pw_aff(space space) const
{
auto res = isl_union_pw_aff_extract_pw_aff(get(), space.release());
return manage(res);
}
+union_pw_aff union_pw_aff::intersect_domain(space space) const
+{
+ auto res = isl_union_pw_aff_intersect_domain_space(copy(), space.release());
+ return manage(res);
+}
+
union_pw_aff union_pw_aff::intersect_domain(union_set uset) const
{
- auto res = isl_union_pw_aff_intersect_domain(copy(), uset.release());
+ auto res = isl_union_pw_aff_intersect_domain_union_set(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_aff union_pw_aff::intersect_domain_wrapped_domain(union_set uset) const
+{
+ auto res = isl_union_pw_aff_intersect_domain_wrapped_domain(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_aff union_pw_aff::intersect_domain_wrapped_range(union_set uset) const
+{
+ auto res = isl_union_pw_aff_intersect_domain_wrapped_range(copy(), uset.release());
return manage(res);
}
return manage(res);
}
-int union_pw_aff::n_pw_aff() const
+isl_size union_pw_aff::n_pw_aff() const
{
auto res = isl_union_pw_aff_n_pw_aff(get());
return res;
return manage(res);
}
+union_pw_aff union_pw_aff::subtract_domain(space space) const
+{
+ auto res = isl_union_pw_aff_subtract_domain_space(copy(), space.release());
+ return manage(res);
+}
+
union_pw_aff union_pw_aff::subtract_domain(union_set uset) const
{
- auto res = isl_union_pw_aff_subtract_domain(copy(), uset.release());
+ auto res = isl_union_pw_aff_subtract_domain_union_set(copy(), uset.release());
return manage(res);
}
ctx union_pw_aff_list::get_ctx() const {
return ctx(isl_union_pw_aff_list_get_ctx(ptr));
}
+std::string union_pw_aff_list::to_str() const {
+ char *Tmp = isl_union_pw_aff_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void union_pw_aff_list::dump() const {
isl_union_pw_aff_list_dump(get());
return manage(res);
}
+union_pw_aff_list union_pw_aff_list::clear() const
+{
+ auto res = isl_union_pw_aff_list_clear(copy());
+ return manage(res);
+}
+
union_pw_aff_list union_pw_aff_list::concat(union_pw_aff_list list2) const
{
auto res = isl_union_pw_aff_list_concat(copy(), list2.release());
return manage(res);
}
-int union_pw_aff_list::n_union_pw_aff() const
+isl_size union_pw_aff_list::n_union_pw_aff() const
{
auto res = isl_union_pw_aff_list_n_union_pw_aff(get());
return res;
return manage(res);
}
-int union_pw_aff_list::size() const
+isl_size union_pw_aff_list::size() const
{
auto res = isl_union_pw_aff_list_size(get());
return res;
auto res = isl_union_pw_multi_aff_from_aff(aff.release());
ptr = res;
}
-union_pw_multi_aff::union_pw_multi_aff(pw_multi_aff pma)
+union_pw_multi_aff::union_pw_multi_aff(union_set uset)
{
- auto res = isl_union_pw_multi_aff_from_pw_multi_aff(pma.release());
+ auto res = isl_union_pw_multi_aff_from_domain(uset.release());
ptr = res;
}
-union_pw_multi_aff::union_pw_multi_aff(union_set uset)
+union_pw_multi_aff::union_pw_multi_aff(multi_aff ma)
{
- auto res = isl_union_pw_multi_aff_from_domain(uset.release());
+ auto res = isl_union_pw_multi_aff_from_multi_aff(ma.release());
ptr = res;
}
-union_pw_multi_aff::union_pw_multi_aff(union_map umap)
+union_pw_multi_aff::union_pw_multi_aff(multi_union_pw_aff mupa)
{
- auto res = isl_union_pw_multi_aff_from_union_map(umap.release());
+ auto res = isl_union_pw_multi_aff_from_multi_union_pw_aff(mupa.release());
ptr = res;
}
-union_pw_multi_aff::union_pw_multi_aff(ctx ctx, const std::string &str)
+union_pw_multi_aff::union_pw_multi_aff(pw_multi_aff pma)
{
- auto res = isl_union_pw_multi_aff_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_union_pw_multi_aff_from_pw_multi_aff(pma.release());
+ ptr = res;
+}
+union_pw_multi_aff::union_pw_multi_aff(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(union_pw_aff upa)
auto res = isl_union_pw_multi_aff_from_union_pw_aff(upa.release());
ptr = res;
}
-union_pw_multi_aff::union_pw_multi_aff(multi_union_pw_aff mupa)
+union_pw_multi_aff::union_pw_multi_aff(ctx ctx, const std::string &str)
{
- auto res = isl_union_pw_multi_aff_from_multi_union_pw_aff(mupa.release());
+ auto res = isl_union_pw_multi_aff_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::apply(union_pw_multi_aff upma2) const
+{
+ auto res = isl_union_pw_multi_aff_apply_union_pw_multi_aff(copy(), upma2.release());
+ return manage(res);
+}
+
+pw_multi_aff union_pw_multi_aff::as_pw_multi_aff() const
+{
+ auto res = isl_union_pw_multi_aff_as_pw_multi_aff(copy());
+ return manage(res);
+}
+
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
+isl_size 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;
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::empty(ctx ctx)
+{
+ auto res = isl_union_pw_multi_aff_empty_ctx(ctx.release());
+ return manage(res);
+}
+
+union_pw_multi_aff union_pw_multi_aff::empty_space(space space)
+{
+ auto res = isl_union_pw_multi_aff_empty_space(space.release());
+ return manage(res);
+}
+
pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(space space) const
{
auto res = isl_union_pw_multi_aff_extract_pw_multi_aff(get(), space.release());
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::intersect_domain(space space) const
+{
+ auto res = isl_union_pw_multi_aff_intersect_domain_space(copy(), space.release());
+ return manage(res);
+}
+
union_pw_multi_aff union_pw_multi_aff::intersect_domain(union_set uset) const
{
- auto res = isl_union_pw_multi_aff_intersect_domain(copy(), uset.release());
+ auto res = isl_union_pw_multi_aff_intersect_domain_union_set(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_multi_aff union_pw_multi_aff::intersect_domain_wrapped_domain(union_set uset) const
+{
+ auto res = isl_union_pw_multi_aff_intersect_domain_wrapped_domain(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_multi_aff union_pw_multi_aff::intersect_domain_wrapped_range(union_set uset) const
+{
+ auto res = isl_union_pw_multi_aff_intersect_domain_wrapped_range(copy(), uset.release());
return manage(res);
}
return manage(res);
}
+boolean union_pw_multi_aff::involves_locals() const
+{
+ auto res = isl_union_pw_multi_aff_involves_locals(get());
+ return manage(res);
+}
+
boolean union_pw_multi_aff::involves_nan() const
{
auto res = isl_union_pw_multi_aff_involves_nan(get());
return manage(res);
}
+boolean union_pw_multi_aff::isa_pw_multi_aff() const
+{
+ auto res = isl_union_pw_multi_aff_isa_pw_multi_aff(get());
+ return manage(res);
+}
+
union_pw_multi_aff union_pw_multi_aff::multi_val_on_domain(union_set domain, multi_val mv)
{
auto res = isl_union_pw_multi_aff_multi_val_on_domain(domain.release(), mv.release());
return manage(res);
}
-int union_pw_multi_aff::n_pw_multi_aff() const
+isl_size union_pw_multi_aff::n_pw_multi_aff() const
{
auto res = isl_union_pw_multi_aff_n_pw_multi_aff(get());
return res;
return manage(res);
}
+boolean union_pw_multi_aff::plain_is_empty() const
+{
+ auto res = isl_union_pw_multi_aff_plain_is_empty(get());
+ return manage(res);
+}
+
boolean union_pw_multi_aff::plain_is_equal(const union_pw_multi_aff &upma2) const
{
auto res = isl_union_pw_multi_aff_plain_is_equal(get(), upma2.get());
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::preimage_domain_wrapped_domain(union_pw_multi_aff upma2) const
+{
+ auto res = isl_union_pw_multi_aff_preimage_domain_wrapped_domain_union_pw_multi_aff(copy(), upma2.release());
+ return manage(res);
+}
+
union_pw_multi_aff union_pw_multi_aff::pullback(union_pw_multi_aff upma2) const
{
auto res = isl_union_pw_multi_aff_pullback_union_pw_multi_aff(copy(), upma2.release());
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::range_factor_domain() const
+{
+ auto res = isl_union_pw_multi_aff_range_factor_domain(copy());
+ return manage(res);
+}
+
+union_pw_multi_aff union_pw_multi_aff::range_factor_range() const
+{
+ auto res = isl_union_pw_multi_aff_range_factor_range(copy());
+ return manage(res);
+}
+
+union_pw_multi_aff union_pw_multi_aff::range_product(union_pw_multi_aff upma2) const
+{
+ auto res = isl_union_pw_multi_aff_range_product(copy(), upma2.release());
+ return manage(res);
+}
+
union_pw_multi_aff union_pw_multi_aff::reset_user() const
{
auto res = isl_union_pw_multi_aff_reset_user(copy());
return manage(res);
}
+union_pw_multi_aff union_pw_multi_aff::subtract_domain(space space) const
+{
+ auto res = isl_union_pw_multi_aff_subtract_domain_space(copy(), space.release());
+ return manage(res);
+}
+
union_pw_multi_aff union_pw_multi_aff::subtract_domain(union_set uset) const
{
- auto res = isl_union_pw_multi_aff_subtract_domain(copy(), uset.release());
+ auto res = isl_union_pw_multi_aff_subtract_domain_union_set(copy(), uset.release());
return manage(res);
}
ctx union_pw_multi_aff_list::get_ctx() const {
return ctx(isl_union_pw_multi_aff_list_get_ctx(ptr));
}
+std::string union_pw_multi_aff_list::to_str() const {
+ char *Tmp = isl_union_pw_multi_aff_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void union_pw_multi_aff_list::dump() const {
isl_union_pw_multi_aff_list_dump(get());
return manage(res);
}
+union_pw_multi_aff_list union_pw_multi_aff_list::clear() const
+{
+ auto res = isl_union_pw_multi_aff_list_clear(copy());
+ return manage(res);
+}
+
union_pw_multi_aff_list union_pw_multi_aff_list::concat(union_pw_multi_aff_list list2) const
{
auto res = isl_union_pw_multi_aff_list_concat(copy(), list2.release());
return manage(res);
}
-int union_pw_multi_aff_list::n_union_pw_multi_aff() const
+isl_size union_pw_multi_aff_list::n_union_pw_multi_aff() const
{
auto res = isl_union_pw_multi_aff_list_n_union_pw_multi_aff(get());
return res;
return manage(res);
}
-int union_pw_multi_aff_list::size() const
+isl_size union_pw_multi_aff_list::size() const
{
auto res = isl_union_pw_multi_aff_list_size(get());
return res;
return manage(res);
}
-unsigned int union_pw_qpolynomial::dim(isl::dim type) const
+isl_size 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;
return manage(res);
}
-pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(space dim) const
+pw_qpolynomial union_pw_qpolynomial::extract_pw_qpolynomial(space space) const
{
- auto res = isl_union_pw_qpolynomial_extract_pw_qpolynomial(get(), dim.release());
+ auto res = isl_union_pw_qpolynomial_extract_pw_qpolynomial(get(), space.release());
return manage(res);
}
return manage(res);
}
+union_pw_qpolynomial union_pw_qpolynomial::intersect_domain_space(space space) const
+{
+ auto res = isl_union_pw_qpolynomial_intersect_domain_space(copy(), space.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::intersect_domain_union_set(union_set uset) const
+{
+ auto res = isl_union_pw_qpolynomial_intersect_domain_union_set(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::intersect_domain_wrapped_domain(union_set uset) const
+{
+ auto res = isl_union_pw_qpolynomial_intersect_domain_wrapped_domain(copy(), uset.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::intersect_domain_wrapped_range(union_set uset) const
+{
+ auto res = isl_union_pw_qpolynomial_intersect_domain_wrapped_range(copy(), uset.release());
+ return manage(res);
+}
+
union_pw_qpolynomial union_pw_qpolynomial::intersect_params(set set) const
{
auto res = isl_union_pw_qpolynomial_intersect_params(copy(), set.release());
return manage(res);
}
-int union_pw_qpolynomial::n_pw_qpolynomial() const
+isl_size union_pw_qpolynomial::n_pw_qpolynomial() const
{
auto res = isl_union_pw_qpolynomial_n_pw_qpolynomial(get());
return res;
return manage(res);
}
+union_pw_qpolynomial union_pw_qpolynomial::subtract_domain_space(space space) const
+{
+ auto res = isl_union_pw_qpolynomial_subtract_domain_space(copy(), space.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::subtract_domain_union_set(union_set uset) const
+{
+ auto res = isl_union_pw_qpolynomial_subtract_domain_union_set(copy(), uset.release());
+ return manage(res);
+}
+
union_pw_qpolynomial union_pw_qpolynomial::to_polynomial(int sign) const
{
auto res = isl_union_pw_qpolynomial_to_polynomial(copy(), sign);
return manage(res);
}
-union_pw_qpolynomial union_pw_qpolynomial::zero(space dim)
+union_pw_qpolynomial union_pw_qpolynomial::zero(space space)
+{
+ auto res = isl_union_pw_qpolynomial_zero(space.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::zero_ctx(ctx ctx)
+{
+ auto res = isl_union_pw_qpolynomial_zero_ctx(ctx.release());
+ return manage(res);
+}
+
+union_pw_qpolynomial union_pw_qpolynomial::zero_space(space space)
{
- auto res = isl_union_pw_qpolynomial_zero(dim.release());
+ auto res = isl_union_pw_qpolynomial_zero_space(space.release());
return manage(res);
}
auto res = isl_union_set_from_basic_set(bset.release());
ptr = res;
}
-union_set::union_set(set set)
+union_set::union_set(point pnt)
{
- auto res = isl_union_set_from_set(set.release());
+ auto res = isl_union_set_from_point(pnt.release());
ptr = res;
}
-union_set::union_set(point pnt)
+union_set::union_set(set set)
{
- auto res = isl_union_set_from_point(pnt.release());
+ auto res = isl_union_set_from_set(set.release());
ptr = res;
}
union_set::union_set(ctx ctx, const std::string &str)
return manage(res);
}
-unsigned int union_set::dim(isl::dim type) const
+isl_size union_set::dim(isl::dim type) const
{
auto res = isl_union_set_dim(get(), static_cast<enum isl_dim_type>(type));
return res;
return manage(res);
}
-set union_set::extract_set(space dim) const
+union_set union_set::empty(ctx ctx)
+{
+ auto res = isl_union_set_empty_ctx(ctx.release());
+ return manage(res);
+}
+
+union_set union_set::empty_space(space space)
+{
+ auto res = isl_union_set_empty_space(space.release());
+ return manage(res);
+}
+
+set union_set::extract_set(space space) const
{
- auto res = isl_union_set_extract_set(get(), dim.release());
+ auto res = isl_union_set_extract_set(get(), space.release());
return manage(res);
}
return manage(res);
}
+boolean union_set::isa_set() const
+{
+ auto res = isl_union_set_isa_set(get());
+ return manage(res);
+}
+
union_map union_set::lex_ge_union_set(union_set uset2) const
{
auto res = isl_union_set_lex_ge_union_set(copy(), uset2.release());
return manage(res);
}
-int union_set::n_set() const
+isl_size union_set::n_set() const
{
auto res = isl_union_set_n_set(get());
return res;
return manage(res);
}
+union_set union_set::project_out_all_params() const
+{
+ auto res = isl_union_set_project_out_all_params(copy());
+ return manage(res);
+}
+
union_set union_set::remove_divs() const
{
auto res = isl_union_set_remove_divs(copy());
ctx union_set_list::get_ctx() const {
return ctx(isl_union_set_list_get_ctx(ptr));
}
+std::string union_set_list::to_str() const {
+ char *Tmp = isl_union_set_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void union_set_list::dump() const {
isl_union_set_list_dump(get());
return manage(res);
}
+union_set_list union_set_list::clear() const
+{
+ auto res = isl_union_set_list_clear(copy());
+ return manage(res);
+}
+
union_set_list union_set_list::concat(union_set_list list2) const
{
auto res = isl_union_set_list_concat(copy(), list2.release());
return manage(res);
}
-int union_set_list::n_union_set() const
+isl_size union_set_list::n_union_set() const
{
auto res = isl_union_set_list_n_union_set(get());
return res;
return manage(res);
}
-int union_set_list::size() const
+isl_size union_set_list::size() const
{
auto res = isl_union_set_list_size(get());
return res;
val::val(__isl_take isl_val *ptr)
: ptr(ptr) {}
-val::val(ctx ctx, const std::string &str)
+val::val(ctx ctx, long i)
{
- auto res = isl_val_read_from_str(ctx.release(), str.c_str());
+ auto res = isl_val_int_from_si(ctx.release(), i);
ptr = res;
}
-val::val(ctx ctx, long i)
+val::val(ctx ctx, const std::string &str)
{
- auto res = isl_val_int_from_si(ctx.release(), i);
+ auto res = isl_val_read_from_str(ctx.release(), str.c_str());
ptr = res;
}
return manage(res);
}
+boolean val::eq_si(long i) const
+{
+ auto res = isl_val_eq_si(get(), i);
+ return manage(res);
+}
+
val val::floor() const
{
auto res = isl_val_floor(copy());
return manage(res);
}
-size_t val::n_abs_num_chunks(size_t size) const
+isl_size val::n_abs_num_chunks(size_t size) const
{
auto res = isl_val_n_abs_num_chunks(get(), size);
return res;
ctx val_list::get_ctx() const {
return ctx(isl_val_list_get_ctx(ptr));
}
+std::string val_list::to_str() const {
+ char *Tmp = isl_val_list_to_str(get());
+ if (!Tmp)
+ return "";
+ std::string S(Tmp);
+ free(Tmp);
+ return S;
+}
+
void val_list::dump() const {
isl_val_list_dump(get());
return manage(res);
}
+val_list val_list::clear() const
+{
+ auto res = isl_val_list_clear(copy());
+ return manage(res);
+}
+
val_list val_list::concat(val_list list2) const
{
auto res = isl_val_list_concat(copy(), list2.release());
return manage(res);
}
-int val_list::n_val() const
+isl_size val_list::n_val() const
{
auto res = isl_val_list_n_val(get());
return res;
return manage(res);
}
-int val_list::size() const
+isl_size val_list::size() const
{
auto res = isl_val_list_size(get());
return res;
return manage(res);
}
-int vec::size() const
+isl_size vec::size() const
{
auto res = isl_vec_size(get());
return res;