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