1 #ifndef ISL_REORDERING_H
2 #define ISL_REORDERING_H
6 /* pos maps original dimensions to new dimensions.
7 * The final space is given by "space".
8 * The number of dimensions (i.e., the range of values) in the result
9 * may be larger than the number of dimensions in the input.
10 * In particular, the possible values of the entries in pos ranges from 0 to
11 * the total dimension of dim - 1, unless isl_reordering_extend
14 struct isl_reordering
{
20 typedef struct isl_reordering isl_reordering
;
22 isl_ctx
*isl_reordering_get_ctx(__isl_keep isl_reordering
*r
);
23 __isl_keep isl_space
*isl_reordering_peek_space(__isl_keep isl_reordering
*r
);
24 __isl_give isl_space
*isl_reordering_get_space(__isl_keep isl_reordering
*r
);
25 __isl_give isl_reordering
*isl_parameter_alignment_reordering(
26 __isl_keep isl_space
*alignee
, __isl_keep isl_space
*aligner
);
27 __isl_give isl_reordering
*isl_reordering_copy(__isl_keep isl_reordering
*exp
);
28 void *isl_reordering_free(__isl_take isl_reordering
*exp
);
29 __isl_give isl_reordering
*isl_reordering_extend_space(
30 __isl_take isl_reordering
*exp
, __isl_take isl_space
*space
);
31 __isl_give isl_reordering
*isl_reordering_extend(__isl_take isl_reordering
*exp
,