gen_fun::Hadamard_product: don't assume equalities are independent
[barvinok.git] / barvinok / barvinok.h
blobdcc116cf566954564586653e9cb246e850830e0e
1 #ifndef BARVINOK_H
2 #define BARVINOK_H
4 #include <gmp.h>
6 #if defined(__cplusplus)
7 extern "C" {
8 #endif
10 #include <barvinok/evalue.h>
12 void barvinok_decompose(Polyhedron *C, Polyhedron **ppos, Polyhedron **pneg);
13 void barvinok_count(Polyhedron *P, Value* result, unsigned NbMaxCons);
14 Enumeration* barvinok_enumerate(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
15 evalue* barvinok_enumerate_ev(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
16 evalue* barvinok_enumerate_e(Polyhedron *P,
17 unsigned exist, unsigned nparam, unsigned MaxRays);
18 evalue *barvinok_enumerate_pip(Polyhedron *P,
19 unsigned exist, unsigned nparam, unsigned MaxRays);
20 evalue* barvinok_enumerate_union(Polyhedron *D, Polyhedron* C, unsigned MaxRays);
22 /* private function */
23 evalue* bv_ceil3(Value *coef, int len, Value d, Polyhedron *P);
25 #if defined(__cplusplus)
27 #endif
29 #if defined(__cplusplus)
31 #include <barvinok/genfun.h>
33 void zz2value(const ZZ& z, Value& v);
34 gen_fun * barvinok_series(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
35 gen_fun* barvinok_enumerate_union_series(Polyhedron *D, Polyhedron* C,
36 unsigned MaxRays);
38 #endif
40 #endif