#include <isl/space.h>
__isl_give isl_space *isl_space_alloc(isl_ctx *ctx,
unsigned nparam, unsigned n_in, unsigned n_out);
+ __isl_give isl_space *isl_space_params_alloc(isl_ctx *ctx,
+ unsigned nparam);
__isl_give isl_space *isl_space_set_alloc(isl_ctx *ctx,
unsigned nparam, unsigned dim);
__isl_give isl_space *isl_space_copy(__isl_keep isl_space *space);
unsigned isl_space_dim(__isl_keep isl_space *space,
enum isl_dim_type type);
-The space used for creating a set
+The space used for creating a parameter domain
+needs to be created using C<isl_space_params_alloc>.
+For other sets, the space
needs to be created using C<isl_space_set_alloc>, while
-that for creating a relation
+for a relation, the space
needs to be created using C<isl_space_alloc>.
C<isl_space_dim> can be used
to find out the number of dimensions of each type in
unsigned nparam, unsigned n_in, unsigned n_out);
__isl_give isl_space *isl_space_set_alloc(isl_ctx *ctx,
unsigned nparam, unsigned dim);
+__isl_give isl_space *isl_space_params_alloc(isl_ctx *ctx, unsigned nparam);
__isl_give isl_space *isl_space_copy(__isl_keep isl_space *dim);
void isl_space_free(__isl_take isl_space *dim);
return isl_space_alloc(ctx, nparam, 0, dim);
}
+/* Create a space for a parameter domain.
+ */
+__isl_give isl_space *isl_space_params_alloc(isl_ctx *ctx, unsigned nparam)
+{
+ isl_space *space;
+ space = isl_space_alloc(ctx, nparam, 0, 0);
+ return space;
+}
+
static unsigned global_pos(__isl_keep isl_space *dim,
enum isl_dim_type type, unsigned pos)
{