5 #include <isl/local_space.h>
6 #include <isl/aff_type.h>
7 #include <isl/constraint.h>
8 #include <isl/map_type.h>
9 #include <isl/set_type.h>
10 #include <isl/point.h>
11 #include <isl/union_map.h>
12 #include <isl/union_set.h>
13 #include <isl/polynomial_type.h>
15 #if defined(__cplusplus)
19 #define isl_dim isl_space
22 isl_ctx
*isl_dim_get_ctx(__isl_keep isl_space
*dim
);
24 __isl_give isl_space
*isl_dim_alloc(isl_ctx
*ctx
,
25 unsigned nparam
, unsigned n_in
, unsigned n_out
);
27 __isl_give isl_space
*isl_dim_set_alloc(isl_ctx
*ctx
,
28 unsigned nparam
, unsigned dim
);
30 __isl_give isl_space
*isl_dim_copy(__isl_keep isl_space
*dim
);
32 void isl_dim_free(__isl_take isl_space
*dim
);
35 unsigned isl_dim_size(__isl_keep isl_space
*dim
, enum isl_dim_type type
);
38 __isl_give isl_space
*isl_dim_set_dim_id(__isl_take isl_space
*dim
,
39 enum isl_dim_type type
, unsigned pos
, __isl_take isl_id
*id
);
41 int isl_dim_has_dim_id(__isl_keep isl_space
*dim
,
42 enum isl_dim_type type
, unsigned pos
);
44 __isl_give isl_id
*isl_dim_get_dim_id(__isl_keep isl_space
*dim
,
45 enum isl_dim_type type
, unsigned pos
);
48 int isl_dim_find_dim_by_id(__isl_keep isl_space
*dim
,
49 enum isl_dim_type type
, __isl_keep isl_id
*id
);
52 __isl_give isl_space
*isl_dim_set_tuple_id(__isl_take isl_space
*dim
,
53 enum isl_dim_type type
, __isl_take isl_id
*id
);
55 __isl_give isl_space
*isl_dim_reset_tuple_id(__isl_take isl_space
*dim
,
56 enum isl_dim_type type
);
58 int isl_dim_has_tuple_id(__isl_keep isl_space
*dim
, enum isl_dim_type type
);
60 __isl_give isl_id
*isl_dim_get_tuple_id(__isl_keep isl_space
*dim
,
61 enum isl_dim_type type
);
64 __isl_give isl_space
*isl_dim_set_name(__isl_take isl_space
*dim
,
65 enum isl_dim_type type
, unsigned pos
, __isl_keep
const char *name
);
67 __isl_keep
const char *isl_dim_get_name(__isl_keep isl_space
*dim
,
68 enum isl_dim_type type
, unsigned pos
);
71 __isl_give isl_space
*isl_dim_set_tuple_name(__isl_take isl_space
*dim
,
72 enum isl_dim_type type
, const char *s
);
74 const char *isl_dim_get_tuple_name(__isl_keep isl_space
*dim
,
75 enum isl_dim_type type
);
78 int isl_dim_is_wrapping(__isl_keep isl_space
*dim
);
80 __isl_give isl_space
*isl_dim_wrap(__isl_take isl_space
*dim
);
82 __isl_give isl_space
*isl_dim_unwrap(__isl_take isl_space
*dim
);
85 __isl_give isl_space
*isl_dim_domain(__isl_take isl_space
*dim
);
87 __isl_give isl_space
*isl_dim_from_domain(__isl_take isl_space
*dim
);
89 __isl_give isl_space
*isl_dim_range(__isl_take isl_space
*dim
);
91 __isl_give isl_space
*isl_dim_from_range(__isl_take isl_space
*dim
);
93 __isl_give isl_space
*isl_dim_reverse(__isl_take isl_space
*dim
);
95 __isl_give isl_space
*isl_dim_join(__isl_take isl_space
*left
,
96 __isl_take isl_space
*right
);
98 __isl_give isl_space
*isl_dim_align_params(__isl_take isl_space
*dim1
,
99 __isl_take isl_space
*dim2
);
101 __isl_give isl_space
*isl_dim_insert(__isl_take isl_space
*dim
,
102 enum isl_dim_type type
, unsigned pos
, unsigned n
);
104 __isl_give isl_space
*isl_dim_add(__isl_take isl_space
*dim
,
105 enum isl_dim_type type
, unsigned n
);
107 __isl_give isl_space
*isl_dim_drop(__isl_take isl_space
*dim
,
108 enum isl_dim_type type
, unsigned first
, unsigned n
);
110 __isl_give isl_space
*isl_dim_move(__isl_take isl_space
*dim
,
111 enum isl_dim_type dst_type
, unsigned dst_pos
,
112 enum isl_dim_type src_type
, unsigned src_pos
, unsigned n
);
114 __isl_give isl_space
*isl_dim_map_from_set(
115 __isl_take isl_space
*dim
);
117 __isl_give isl_space
*isl_dim_zip(__isl_take isl_space
*dim
);
120 __isl_give isl_local_space
*isl_local_space_from_dim(
121 __isl_take isl_space
*dim
);
123 __isl_give isl_space
*isl_local_space_get_dim(
124 __isl_keep isl_local_space
*ls
);
127 __isl_give isl_space
*isl_aff_get_dim(__isl_keep isl_aff
*aff
);
129 __isl_give isl_space
*isl_pw_aff_get_dim(__isl_keep isl_pw_aff
*pwaff
);
132 __isl_give isl_space
*isl_constraint_get_dim(
133 __isl_keep isl_constraint
*constraint
);
136 __isl_give isl_space
*isl_basic_map_get_dim(__isl_keep isl_basic_map
*bmap
);
138 __isl_give isl_space
*isl_map_get_dim(__isl_keep isl_map
*map
);
140 __isl_give isl_space
*isl_union_map_get_dim(__isl_keep isl_union_map
*umap
);
143 __isl_give isl_space
*isl_basic_set_get_dim(__isl_keep isl_basic_set
*bset
);
145 __isl_give isl_space
*isl_set_get_dim(__isl_keep isl_set
*set
);
147 __isl_give isl_space
*isl_union_set_get_dim(__isl_keep isl_union_set
*uset
);
150 __isl_give isl_space
*isl_point_get_dim(__isl_keep isl_point
*pnt
);
153 __isl_give isl_space
*isl_qpolynomial_get_dim(__isl_keep isl_qpolynomial
*qp
);
155 __isl_give isl_space
*isl_pw_qpolynomial_get_dim(
156 __isl_keep isl_pw_qpolynomial
*pwqp
);
158 __isl_give isl_space
*isl_qpolynomial_fold_get_dim(
159 __isl_keep isl_qpolynomial_fold
*fold
);
161 __isl_give isl_space
*isl_pw_qpolynomial_fold_get_dim(
162 __isl_keep isl_pw_qpolynomial_fold
*pwf
);
164 __isl_give isl_space
*isl_union_pw_qpolynomial_get_dim(
165 __isl_keep isl_union_pw_qpolynomial
*upwqp
);
167 __isl_give isl_space
*isl_union_pw_qpolynomial_fold_get_dim(
168 __isl_keep isl_union_pw_qpolynomial_fold
*upwf
);
170 #if defined(__cplusplus)