Blame isl-0.16.1/isl_factorization.h

Packit fb9d21
#include <isl/set.h>
Packit fb9d21
#include <isl_morph.h>
Packit fb9d21
Packit fb9d21
#if defined(__cplusplus)
Packit fb9d21
extern "C" {
Packit fb9d21
#endif
Packit fb9d21
Packit fb9d21
/* Data for factorizing a particular basic set.
Packit fb9d21
 * After applying "morph" to the basic set, there are "n_group"
Packit fb9d21
 * groups of consecutive set variables, each of length "len[i]",
Packit fb9d21
 * with 0 <= i < n_group.
Packit fb9d21
 * If no factorization is possible, then "n_group" is set to 0.
Packit fb9d21
 */
Packit fb9d21
struct isl_factorizer {
Packit fb9d21
	isl_morph	*morph;
Packit fb9d21
	int		n_group;
Packit fb9d21
	int		*len;
Packit fb9d21
};
Packit fb9d21
typedef struct isl_factorizer isl_factorizer;
Packit fb9d21
Packit fb9d21
__isl_give isl_factorizer *isl_basic_set_factorizer(
Packit fb9d21
	__isl_keep isl_basic_set *bset);
Packit fb9d21
Packit fb9d21
void isl_factorizer_free(__isl_take isl_factorizer *f);
Packit fb9d21
void isl_factorizer_dump(__isl_take isl_factorizer *f);
Packit fb9d21
Packit fb9d21
#if defined(__cplusplus)
Packit fb9d21
}
Packit fb9d21
#endif