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