4 #include <polylib/polylibgmp.h>
6 #include <barvinok/evalue.h>
11 std::vector
<evalue
*> floors
;
13 EDomain(Polyhedron
*D
) {
14 this->D
= Polyhedron_Copy(D
);
17 EDomain(Polyhedron
*D
, std::vector
<evalue
*>floors
) {
18 this->D
= Polyhedron_Copy(D
);
22 EDomain(EDomain
*ED
) {
23 this->D
= Polyhedron_Copy(ED
->D
);
24 add_floors(ED
->floors
);
27 EDomain(Polyhedron
*D
, EDomain
*ED
, std::vector
<evalue
*>floors
) {
28 this->D
= Polyhedron_Copy(D
);
29 add_floors(ED
->floors
);
33 void add_floors(std::vector
<evalue
*>floors
) {
34 for (int i
= 0; i
< floors
.size(); ++i
) {
35 evalue
*f
= new evalue
;
37 evalue_copy(f
, floors
[i
]);
38 this->floors
.push_back(f
);
41 int find_floor(evalue
*needle
) {
42 for (int i
= 0; i
< floors
.size(); ++i
)
43 if (eequal(needle
, floors
[i
]))
47 void print(FILE *out
, char **p
);
49 for (int i
= 0; i
< floors
.size(); ++i
) {
50 free_evalue_refs(floors
[i
]);