23
24
__isl_take isl_space *space); \
24
25
__isl_give isl_multi_##BASE *isl_multi_##BASE##_copy( \
25
26
__isl_keep isl_multi_##BASE *multi); \
26
void *isl_multi_##BASE##_free(__isl_take isl_multi_##BASE *multi); \
27
__isl_null isl_multi_##BASE *isl_multi_##BASE##_free( \
28
__isl_take isl_multi_##BASE *multi); \
29
int isl_multi_##BASE##_plain_is_equal( \
30
__isl_keep isl_multi_##BASE *multi1, \
31
__isl_keep isl_multi_##BASE *multi2); \
32
int isl_multi_##BASE##_find_dim_by_id( \
33
__isl_keep isl_multi_##BASE *multi, enum isl_dim_type type, \
34
__isl_keep isl_id *id); \
35
__isl_give isl_id *isl_multi_##BASE##_get_dim_id( \
36
__isl_take isl_multi_##BASE *multi, \
37
enum isl_dim_type type, unsigned pos); \
27
38
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_dim_name( \
28
39
__isl_take isl_multi_##BASE *multi, \
29
40
enum isl_dim_type type, unsigned pos, const char *s); \
41
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_dim_id( \
42
__isl_take isl_multi_##BASE *multi, \
43
enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); \
30
44
const char *isl_multi_##BASE##_get_tuple_name( \
31
45
__isl_keep isl_multi_##BASE *multi, enum isl_dim_type type); \
46
int isl_multi_##BASE##_has_tuple_id(__isl_keep isl_multi_##BASE *multi, \
47
enum isl_dim_type type); \
48
__isl_give isl_id *isl_multi_##BASE##_get_tuple_id( \
49
__isl_keep isl_multi_##BASE *multi, enum isl_dim_type type); \
32
50
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_tuple_name( \
33
51
__isl_take isl_multi_##BASE *multi, \
34
52
enum isl_dim_type type, const char *s); \
35
53
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_tuple_id( \
36
54
__isl_take isl_multi_##BASE *multi, \
37
55
enum isl_dim_type type, __isl_take isl_id *id); \
56
__isl_give isl_multi_##BASE *isl_multi_##BASE##_reset_tuple_id( \
57
__isl_take isl_multi_##BASE *multi, enum isl_dim_type type); \
58
__isl_give isl_multi_##BASE *isl_multi_##BASE##_reset_user( \
59
__isl_take isl_multi_##BASE *multi); \
60
int isl_multi_##BASE##_involves_dims( \
61
__isl_keep isl_multi_##BASE *multi, enum isl_dim_type type, \
62
unsigned first, unsigned n); \
38
63
__isl_give isl_multi_##BASE *isl_multi_##BASE##_insert_dims( \
39
64
__isl_take isl_multi_##BASE *multi, enum isl_dim_type type, \
40
65
unsigned first, unsigned n); \
61
86
__isl_give isl_multi_##BASE *isl_multi_##BASE##_range_product( \
62
87
__isl_take isl_multi_##BASE *multi1, \
63
88
__isl_take isl_multi_##BASE *multi2); \
89
__isl_give isl_multi_##BASE *isl_multi_##BASE##_product( \
90
__isl_take isl_multi_##BASE *multi1, \
91
__isl_take isl_multi_##BASE *multi2); \
92
int isl_multi_##BASE##_range_is_wrapping( \
93
__isl_keep isl_multi_##BASE *multi); \
94
__isl_give isl_multi_##BASE *isl_multi_##BASE##_range_factor_domain( \
95
__isl_take isl_multi_##BASE *multi); \
96
__isl_give isl_multi_##BASE *isl_multi_##BASE##_range_factor_range( \
97
__isl_take isl_multi_##BASE *multi); \
64
98
__isl_give isl_multi_##BASE *isl_multi_##BASE##_scale_val( \
65
99
__isl_take isl_multi_##BASE *multi, __isl_take isl_val *v); \
66
100
__isl_give isl_multi_##BASE *isl_multi_##BASE##_scale_multi_val( \
67
101
__isl_take isl_multi_##BASE *multi, \
68
102
__isl_take isl_multi_val *mv); \
103
__isl_give isl_multi_##BASE *isl_multi_##BASE##_scale_down_multi_val( \
104
__isl_take isl_multi_##BASE *multi, \
105
__isl_take isl_multi_val *mv); \
69
106
__isl_give isl_multi_##BASE *isl_multi_##BASE##_align_params( \
70
107
__isl_take isl_multi_##BASE *multi, \
71
__isl_take isl_space *model);
108
__isl_take isl_space *model); \
109
__isl_give isl_multi_##BASE *isl_multi_##BASE##_from_range( \
110
__isl_take isl_multi_##BASE *multi);
73
112
#if defined(__cplusplus)