barvinok 0.41.7
[barvinok.git] / barvinok / barvinok.h
blobb0fe3780599c2aa7ae0d9cd9eade721ab393cd73
1 #ifndef BARVINOK_H
2 #define BARVINOK_H
4 #include <barvinok/isl.h>
5 #include <barvinok/evalue.h>
6 #include <barvinok/options.h>
8 #if defined(__cplusplus)
9 extern "C" {
10 #endif
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 *Param_Polyhedron_Enumerate(Param_Polyhedron *PP, Polyhedron *P,
21 Polyhedron *C,
22 struct barvinok_options *options);
23 evalue* barvinok_enumerate_e(Polyhedron *P,
24 unsigned exist, unsigned nparam, unsigned MaxRays);
25 evalue* barvinok_enumerate_e_with_options(Polyhedron *P,
26 unsigned exist, unsigned nparam, struct barvinok_options *options);
27 evalue *barvinok_enumerate_isl(Polyhedron *P,
28 unsigned exist, unsigned nparam, struct barvinok_options *options);
29 evalue *barvinok_enumerate_scarf(Polyhedron *P,
30 unsigned exist, unsigned nparam,
31 struct barvinok_options *options);
32 evalue* barvinok_enumerate_union(Polyhedron *D, Polyhedron* C, unsigned MaxRays);
34 evalue *barvinok_summate(evalue *e, int nvar, struct barvinok_options *options);
36 #if defined(__cplusplus)
38 #endif
40 #if defined(__cplusplus)
42 #include <barvinok/genfun.h>
44 void zz2value(const ZZ& z, Value& v);
45 gen_fun * barvinok_series(Polyhedron *P, Polyhedron* C, unsigned MaxRays);
46 gen_fun * barvinok_series_with_options(Polyhedron *P, Polyhedron* C,
47 barvinok_options *options);
48 gen_fun *barvinok_enumerate_series(Polyhedron *P, unsigned nparam,
49 barvinok_options *options);
50 gen_fun *barvinok_enumerate_scarf_series(Polyhedron *P,
51 unsigned exist, unsigned nparam,
52 barvinok_options *options);
53 gen_fun *barvinok_enumerate_e_series(Polyhedron *P,
54 unsigned exist, unsigned nparam, barvinok_options *options);
55 gen_fun* barvinok_enumerate_union_series(Polyhedron *D, Polyhedron* C,
56 unsigned MaxRays);
57 gen_fun* barvinok_enumerate_union_series_with_options(Polyhedron *D, Polyhedron* C,
58 barvinok_options *options);
60 #endif
62 #endif