isl_local_space_divs_known: extract out isl_local_divs_known
[isl.git] / isl_multi_floor.c
blobb9a88988312830312f75a1aa8b1cece1fdfb7185
1 /*
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
8 */
10 #include <isl_multi_macro.h>
12 /* Given f, return floor(f).
14 __isl_give MULTI(BASE) *FN(MULTI(BASE),floor)(__isl_take MULTI(BASE) *multi)
16 int i;
18 multi = FN(MULTI(BASE),cow)(multi);
19 if (!multi)
20 return NULL;
22 for (i = 0; i < multi->n; ++i) {
23 multi->u.p[i] = FN(EL,floor)(multi->u.p[i]);
24 if (!multi->u.p[i])
25 return FN(MULTI(BASE),free)(multi);
28 return multi;