4 #include <barvinok/evalue.h>
6 #if defined(__cplusplus)
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
*Param_Polyhedron_Enumerate(Param_Polyhedron
*PP
, Polyhedron
*P
,
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_pip(Polyhedron
*P
,
28 unsigned exist
, unsigned nparam
, unsigned MaxRays
);
29 evalue
*barvinok_enumerate_pip_with_options(Polyhedron
*P
,
30 unsigned exist
, unsigned nparam
, struct barvinok_options
*options
);
31 evalue
*barvinok_enumerate_scarf(Polyhedron
*P
,
32 unsigned exist
, unsigned nparam
,
33 struct barvinok_options
*options
);
34 evalue
* barvinok_enumerate_union(Polyhedron
*D
, Polyhedron
* C
, unsigned MaxRays
);
36 evalue
*barvinok_summate(evalue
*e
, int nvar
, struct barvinok_options
*options
);
38 /* private function */
39 evalue
* bv_ceil3(Value
*coef
, int len
, Value d
, Polyhedron
*P
);
41 #if defined(__cplusplus)
45 #if defined(__cplusplus)
47 #include <barvinok/genfun.h>
49 void zz2value(const ZZ
& z
, Value
& v
);
50 gen_fun
* barvinok_series(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
51 gen_fun
* barvinok_series_with_options(Polyhedron
*P
, Polyhedron
* C
,
52 barvinok_options
*options
);
53 gen_fun
*barvinok_enumerate_series(Polyhedron
*P
, unsigned nparam
,
54 barvinok_options
*options
);
55 gen_fun
*barvinok_enumerate_scarf_series(Polyhedron
*P
,
56 unsigned exist
, unsigned nparam
,
57 barvinok_options
*options
);
58 gen_fun
*barvinok_enumerate_e_series(Polyhedron
*P
,
59 unsigned exist
, unsigned nparam
, barvinok_options
*options
);
60 gen_fun
* barvinok_enumerate_union_series(Polyhedron
*D
, Polyhedron
* C
,
62 gen_fun
* barvinok_enumerate_union_series_with_options(Polyhedron
*D
, Polyhedron
* C
,
63 barvinok_options
*options
);