4 int isl_basic_map_alloc_equality(struct isl_ctx
*ctx
,
5 struct isl_basic_map
*bmap
);
6 int isl_basic_set_alloc_equality(struct isl_ctx
*ctx
,
7 struct isl_basic_set
*bset
);
8 int isl_basic_set_free_inequality(struct isl_ctx
*ctx
,
9 struct isl_basic_set
*bset
, unsigned n
);
10 int isl_basic_map_free_equality(struct isl_ctx
*ctx
,
11 struct isl_basic_map
*bmap
, unsigned n
);
12 int isl_basic_set_alloc_inequality(struct isl_ctx
*ctx
,
13 struct isl_basic_set
*bset
);
14 int isl_basic_map_alloc_inequality(struct isl_ctx
*ctx
,
15 struct isl_basic_map
*bmap
);
16 int isl_basic_map_free_inequality(struct isl_ctx
*ctx
,
17 struct isl_basic_map
*bmap
, unsigned n
);
18 int isl_basic_map_alloc_div(struct isl_ctx
*ctx
,
19 struct isl_basic_map
*bmap
);
20 int isl_basic_map_free_div(struct isl_ctx
*ctx
,
21 struct isl_basic_map
*bmap
, unsigned n
);
22 void isl_basic_map_inequality_to_equality(struct isl_ctx
*ctx
,
23 struct isl_basic_map
*bmap
, unsigned pos
);
24 int isl_basic_set_drop_equality(struct isl_ctx
*ctx
,
25 struct isl_basic_set
*bset
, unsigned pos
);
26 int isl_basic_set_drop_inequality(struct isl_ctx
*ctx
,
27 struct isl_basic_set
*bset
, unsigned pos
);
29 int isl_inequality_negate(struct isl_ctx
*ctx
,
30 struct isl_basic_map
*bmap
, unsigned pos
);
32 struct isl_basic_set
*isl_basic_set_cow(struct isl_ctx
*ctx
,
33 struct isl_basic_set
*bset
);
34 struct isl_basic_map
*isl_basic_map_cow(struct isl_ctx
*ctx
,
35 struct isl_basic_map
*bmap
);
36 struct isl_set
*isl_set_cow(struct isl_ctx
*ctx
, struct isl_set
*set
);
37 struct isl_map
*isl_map_cow(struct isl_ctx
*ctx
, struct isl_map
*map
);
39 struct isl_basic_map
*isl_basic_map_set_to_empty(
40 struct isl_ctx
*ctx
, struct isl_basic_map
*bmap
);
41 struct isl_basic_set
*isl_basic_set_set_to_empty(
42 struct isl_ctx
*ctx
, struct isl_basic_set
*bset
);
43 struct isl_map
*isl_basic_map_compute_divs(struct isl_ctx
*ctx
,
44 struct isl_basic_map
*bmap
);
45 struct isl_map
*isl_map_compute_divs(struct isl_ctx
*ctx
, struct isl_map
*map
);
46 struct isl_basic_map
*isl_basic_map_align_divs(struct isl_ctx
*ctx
,
47 struct isl_basic_map
*dst
, struct isl_basic_map
*src
);
48 struct isl_map
*isl_map_align_divs(struct isl_ctx
*ctx
, struct isl_map
*map
);
49 struct isl_basic_map
*isl_basic_map_gauss(struct isl_ctx
*ctx
,
50 struct isl_basic_map
*bmap
, int *progress
);
51 struct isl_basic_set
*isl_basic_set_gauss(struct isl_ctx
*ctx
,
52 struct isl_basic_set
*bset
, int *progress
);
53 struct isl_basic_map
*isl_basic_map_implicit_equalities(struct isl_ctx
*ctx
,
54 struct isl_basic_map
*bmap
);
55 struct isl_basic_set
*isl_basic_map_underlying_set(
56 struct isl_ctx
*ctx
, struct isl_basic_map
*bmap
);
57 struct isl_set
*isl_map_underlying_set(struct isl_ctx
*ctx
, struct isl_map
*map
);
58 struct isl_basic_map
*isl_basic_map_overlying_set(
59 struct isl_ctx
*ctx
, struct isl_basic_set
*bset
,
60 struct isl_basic_map
*like
);
62 struct isl_map
*isl_map_remove_empty_parts(struct isl_ctx
*ctx
,
64 struct isl_set
*isl_set_remove_empty_parts(struct isl_ctx
*ctx
,
67 struct isl_set
*isl_set_drop_vars(struct isl_ctx
*ctx
,
68 struct isl_set
*set
, unsigned first
, unsigned n
);
70 struct isl_basic_set
*isl_basic_set_eliminate_vars(struct isl_ctx
*ctx
,
71 struct isl_basic_set
*bset
, unsigned pos
, unsigned n
);