Tobias Grosser | 52a2523 | 2015-02-04 20:55:43 +0000 | [diff] [blame^] | 1 | #include <isl/set.h> |
| 2 | #include <isl_morph.h> |
| 3 | |
| 4 | #if defined(__cplusplus) |
| 5 | extern "C" { |
| 6 | #endif |
| 7 | |
| 8 | /* Data for factorizing a particular basic set. |
| 9 | * After applying "morph" to the basic set, there are "n_group" |
| 10 | * groups of consecutive set variables, each of length "len[i]", |
| 11 | * with 0 <= i < n_group. |
| 12 | * If no factorization is possible, then "n_group" is set to 0. |
| 13 | */ |
| 14 | struct isl_factorizer { |
| 15 | isl_morph *morph; |
| 16 | int n_group; |
| 17 | int *len; |
| 18 | }; |
| 19 | typedef struct isl_factorizer isl_factorizer; |
| 20 | |
| 21 | __isl_give isl_factorizer *isl_basic_set_factorizer( |
| 22 | __isl_keep isl_basic_set *bset); |
| 23 | |
| 24 | void isl_factorizer_free(__isl_take isl_factorizer *f); |
| 25 | void isl_factorizer_dump(__isl_take isl_factorizer *f); |
| 26 | |
| 27 | #if defined(__cplusplus) |
| 28 | } |
| 29 | #endif |