| 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 | */ |
| 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)(map: obj, type: isl_dim_param); |
| 18 | if (n < 0) |
| 19 | return FN(TYPE,free)(map: obj); |
| 20 | return FN(TYPE,project_out)(map: obj, type: isl_dim_param, first: 0, n); |
| 21 | } |
| 22 | |