2 * Copyright 2011 Sven Verdoolaege
3 * Copyright 2012-2013 Ecole Normale Superieure
5 * Use of this software is governed by the MIT license
7 * Written by Sven Verdoolaege,
8 * Ecole Normale Superieure, 45 rue d’Ulm, 75230 Paris, France
11 #include <isl_multi_macro.h>
13 /* Intersect the domain of "multi" with "domain".
15 __isl_give
MULTI(BASE
) *FN(MULTI(BASE
),intersect_domain
)(
16 __isl_take
MULTI(BASE
) *multi
, __isl_take DOM
*domain
)
18 return FN(FN(MULTI(BASE
),apply
),DOMBASE
)(multi
, domain
,
19 &FN(EL
,intersect_domain
));
22 /* Intersect the parameter domain of "multi" with "domain".
24 __isl_give
MULTI(BASE
) *FN(MULTI(BASE
),intersect_params
)(
25 __isl_take
MULTI(BASE
) *multi
, __isl_take isl_set
*domain
)
27 return FN(MULTI(BASE
),apply_set
)(multi
, domain
,
28 &FN(EL
,intersect_params
));