introduce signed_cone struct
[barvinok.git] / barvinok / barvinok.h
bloba7da181a5f45a09b19ad90b57cd6c444704dd48b
1 #ifndef BARVINOK_H
2 #define BARVINOK_H
4 #include <barvinok/evalue.h>
6 #if defined(__cplusplus)
7 extern "C" {
8 #endif
10 #include <barvinok/options.h>
12 void barvinok_decompose(Polyhedron *C, Polyhedron **ppos, Polyhedron **pneg);
13 void barvinok_count(Polyhedron *P, Value* result, unsigned NbMaxCons);
14 void barvinok_count_with_options(Polyhedron *P, Value* result,
15 struct barvinok_options *options);
16 Enumeration* barvinok_enumerate(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
17 evalue* barvinok_enumerate_ev(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
18 evalue* barvinok_enumerate_with_options(Polyhedron *P, Polyhedron* C,
19 struct barvinok_options *options);
20 evalue* barvinok_enumerate_e(Polyhedron *P,
21 unsigned exist, unsigned nparam, unsigned MaxRays);
22 evalue* barvinok_enumerate_e_with_options(Polyhedron *P,
23 unsigned exist, unsigned nparam, struct barvinok_options *options);
24 evalue *barvinok_enumerate_pip(Polyhedron *P,
25 unsigned exist, unsigned nparam, unsigned MaxRays);
26 evalue *barvinok_enumerate_scarf(Polyhedron *P,
27 unsigned exist, unsigned nparam,
28 struct barvinok_options *options);
29 evalue* barvinok_enumerate_union(Polyhedron *D, Polyhedron* C, unsigned MaxRays);
31 /* private function */
32 evalue* bv_ceil3(Value *coef, int len, Value d, Polyhedron *P);
34 #if defined(__cplusplus)
36 #endif
38 #if defined(__cplusplus)
40 #include <barvinok/genfun.h>
42 void zz2value(const ZZ& z, Value& v);
43 gen_fun * barvinok_series(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
44 gen_fun * barvinok_series_with_options(Polyhedron *P, Polyhedron* C,
45 barvinok_options *options);
46 gen_fun *barvinok_enumerate_scarf_series(Polyhedron *P,
47 unsigned exist, unsigned nparam,
48 barvinok_options *options);
49 gen_fun* barvinok_enumerate_union_series(Polyhedron *D, Polyhedron* C,
50 unsigned MaxRays);
51 gen_fun* barvinok_enumerate_union_series_with_options(Polyhedron *D, Polyhedron* C,
52 barvinok_options *options);
54 #endif
56 #endif