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