#ifndef ISL_FACTORIZATION_H
#define ISL_FACTORIZATION_H

#include <isl/set.h>
#include <isl_morph.h>

#if defined(__cplusplus)
extern "C" {
#endif

/* Data for factorizing a particular basic set.
 * After applying "morph" to the basic set, there are "n_group"
 * groups of consecutive set variables, each of length "len[i]",
 * with 0 <= i < n_group.
 * If no factorization is possible, then "n_group" is set to 0.
 */
struct isl_factorizer {
	isl_morph	*morph;
	int		n_group;
	int		*len;
};
typedef struct isl_factorizer isl_factorizer;

__isl_give isl_factorizer *isl_basic_set_factorizer(
	__isl_keep isl_basic_set *bset);

void isl_factorizer_free(__isl_take isl_factorizer *f);
void isl_factorizer_dump(__isl_take isl_factorizer *f);

#if defined(__cplusplus)
}
#endif

#endif
