2 * Use of this software is governed by the MIT license
4 * Written by Sven Verdoolaege
7 #include <isl_multi_macro.h>
9 /* Does the multiple expression "multi" depend in any way
10 * on the parameter with identifier "id"?
12 isl_bool
FN(MULTI(BASE
),involves_param_id
)(__isl_keep
MULTI(BASE
) *multi
,
13 __isl_keep isl_id
*id
)
19 return isl_bool_error
;
21 return isl_bool_false
;
22 pos
= FN(MULTI(BASE
),find_dim_by_id
)(multi
, isl_dim_param
, id
);
24 return isl_bool_false
;
26 for (i
= 0; i
< multi
->n
; ++i
) {
27 isl_bool involved
= FN(EL
,involves_param_id
)(multi
->u
.p
[i
], id
);
28 if (involved
< 0 || involved
)
32 return isl_bool_false
;
35 /* Does the multiple expression "multi" depend in any way
36 * on any of the parameters with identifiers in "list"?
38 isl_bool
FN(MULTI(BASE
),involves_param_id_list
)(__isl_keep
MULTI(BASE
) *multi
,
39 __isl_keep isl_id_list
*list
)
44 n
= isl_id_list_size(list
);
46 return isl_bool_error
;
47 for (i
= 0; i
< n
; ++i
) {
51 id
= isl_id_list_get_at(list
, i
);
52 involves
= FN(MULTI(BASE
),involves_param_id
)(multi
, id
);
55 if (involves
< 0 || involves
)
59 return isl_bool_false
;