isl_tab_basic_set_non_trivial_lexmin: extract out better_next_side
[isl.git] / isl_multi_floor.c
blobd869e65efcf99cf1151056b45c373d48d7722cae
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->p[i] = FN(EL,floor)(multi->p[i]);
24 if (!multi->p[i])
25 return FN(MULTI(BASE),free)(multi);
28 return multi;