2 * Copyright 2014 Ecole Normale Superieure
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege,
7 * Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France
10 #include <isl_multi_macro.h>
12 /* Apply "fn" to each of the base expressions of "multi".
14 static __isl_give
MULTI(BASE
) *FN(MULTI(BASE
),un_op
)(
15 __isl_take
MULTI(BASE
) *multi
, __isl_give EL
*(*fn
)(__isl_take EL
*el
))
20 n
= FN(MULTI(BASE
),size
)(multi
);
22 return FN(MULTI(BASE
),free
)(multi
);
24 for (i
= 0; i
< n
; ++i
) {
27 el
= FN(MULTI(BASE
),take_at
)(multi
, i
);
29 multi
= FN(MULTI(BASE
),restore_at
)(multi
, i
, el
);