Blame isl-0.14/isl_reordering.h
|
Packit |
fb9d21 |
#ifndef ISL_REORDERING_H
|
|
Packit |
fb9d21 |
#define ISL_REORDERING_H
|
|
Packit |
fb9d21 |
|
|
Packit |
fb9d21 |
#include <isl/space.h>
|
|
Packit |
fb9d21 |
|
|
Packit |
fb9d21 |
/* pos maps original dimensions to new dimensions.
|
|
Packit |
fb9d21 |
* The final dimension is given by dim.
|
|
Packit |
fb9d21 |
* The number of dimensions (i.e., the range of values) in the result
|
|
Packit |
fb9d21 |
* may be larger than the number of dimensions in the input.
|
|
Packit |
fb9d21 |
* In particular, the possible values of the entries in pos ranges from 0 to
|
|
Packit |
fb9d21 |
* the total dimension of dim - 1, unless isl_reordering_extend
|
|
Packit |
fb9d21 |
* has been called.
|
|
Packit |
fb9d21 |
*/
|
|
Packit |
fb9d21 |
struct isl_reordering {
|
|
Packit |
fb9d21 |
int ref;
|
|
Packit |
fb9d21 |
isl_space *dim;
|
|
Packit |
fb9d21 |
unsigned len;
|
|
Packit |
fb9d21 |
int pos[1];
|
|
Packit |
fb9d21 |
};
|
|
Packit |
fb9d21 |
typedef struct isl_reordering isl_reordering;
|
|
Packit |
fb9d21 |
|
|
Packit |
fb9d21 |
__isl_give isl_reordering *isl_parameter_alignment_reordering(
|
|
Packit |
fb9d21 |
__isl_keep isl_space *alignee, __isl_keep isl_space *aligner);
|
|
Packit |
fb9d21 |
__isl_give isl_reordering *isl_reordering_copy(__isl_keep isl_reordering *exp);
|
|
Packit |
fb9d21 |
void *isl_reordering_free(__isl_take isl_reordering *exp);
|
|
Packit |
fb9d21 |
__isl_give isl_reordering *isl_reordering_extend_space(
|
|
Packit |
fb9d21 |
__isl_take isl_reordering *exp, __isl_take isl_space *dim);
|
|
Packit |
fb9d21 |
__isl_give isl_reordering *isl_reordering_extend(__isl_take isl_reordering *exp,
|
|
Packit |
fb9d21 |
unsigned extra);
|
|
Packit |
fb9d21 |
|
|
Packit |
fb9d21 |
#endif
|