1 /*
2 * Use of this software is governed by the MIT license
3 *
4 * Written by Sven Verdoolaege
5 */
6
7 #define xFN(TYPE,NAME) TYPE ## _ ## NAME
8 #define FN(TYPE,NAME) xFN(TYPE,NAME)
9
10 /* Project out all parameters from "obj" by existentially quantifying
11 * over them.
12 */
FN(TYPE,project_out_all_params)13 __isl_give TYPE *FN(TYPE,project_out_all_params)(__isl_take TYPE *obj)
14 {
15 isl_size n;
16
17 n = FN(TYPE,dim)(obj, isl_dim_param);
18 if (n < 0)
19 return FN(TYPE,free)(obj);
20 return FN(TYPE,project_out)(obj, isl_dim_param, 0, n);
21 }
22