4 #include <isl_polynomial.h>
5 #include <isl_union_set.h>
6 #include <barvinok/evalue.h>
8 #if defined(__cplusplus)
12 __isl_give isl_pw_qpolynomial
*isl_set_card(__isl_take isl_set
*set
);
13 __isl_give isl_pw_qpolynomial
*isl_map_card(__isl_take isl_map
*map
);
14 __isl_give isl_union_pw_qpolynomial
*isl_union_set_card(
15 __isl_take isl_union_set
*uset
);
16 __isl_give isl_union_pw_qpolynomial
*isl_union_map_card(
17 __isl_take isl_union_map
*umap
);
18 __isl_give isl_pw_qpolynomial
*isl_pw_qpolynomial_sum(
19 __isl_take isl_pw_qpolynomial
*pwqp
);
21 #include <barvinok/options.h>
23 void barvinok_decompose(Polyhedron
*C
, Polyhedron
**ppos
, Polyhedron
**pneg
);
24 void barvinok_count(Polyhedron
*P
, Value
* result
, unsigned NbMaxCons
);
25 void barvinok_count_with_options(Polyhedron
*P
, Value
* result
,
26 struct barvinok_options
*options
);
27 Enumeration
* barvinok_enumerate(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
28 evalue
* barvinok_enumerate_ev(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
29 evalue
* barvinok_enumerate_with_options(Polyhedron
*P
, Polyhedron
* C
,
30 struct barvinok_options
*options
);
31 evalue
*Param_Polyhedron_Enumerate(Param_Polyhedron
*PP
, Polyhedron
*P
,
33 struct barvinok_options
*options
);
34 evalue
* barvinok_enumerate_e(Polyhedron
*P
,
35 unsigned exist
, unsigned nparam
, unsigned MaxRays
);
36 evalue
* barvinok_enumerate_e_with_options(Polyhedron
*P
,
37 unsigned exist
, unsigned nparam
, struct barvinok_options
*options
);
38 evalue
*barvinok_enumerate_isl(Polyhedron
*P
,
39 unsigned exist
, unsigned nparam
, struct barvinok_options
*options
);
40 evalue
*barvinok_enumerate_scarf(Polyhedron
*P
,
41 unsigned exist
, unsigned nparam
,
42 struct barvinok_options
*options
);
43 evalue
* barvinok_enumerate_union(Polyhedron
*D
, Polyhedron
* C
, unsigned MaxRays
);
45 evalue
*barvinok_summate(evalue
*e
, int nvar
, struct barvinok_options
*options
);
47 #if defined(__cplusplus)
51 #if defined(__cplusplus)
53 #include <barvinok/genfun.h>
55 void zz2value(const ZZ
& z
, Value
& v
);
56 gen_fun
* barvinok_series(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
57 gen_fun
* barvinok_series_with_options(Polyhedron
*P
, Polyhedron
* C
,
58 barvinok_options
*options
);
59 gen_fun
*barvinok_enumerate_series(Polyhedron
*P
, unsigned nparam
,
60 barvinok_options
*options
);
61 gen_fun
*barvinok_enumerate_scarf_series(Polyhedron
*P
,
62 unsigned exist
, unsigned nparam
,
63 barvinok_options
*options
);
64 gen_fun
*barvinok_enumerate_e_series(Polyhedron
*P
,
65 unsigned exist
, unsigned nparam
, barvinok_options
*options
);
66 gen_fun
* barvinok_enumerate_union_series(Polyhedron
*D
, Polyhedron
* C
,
68 gen_fun
* barvinok_enumerate_union_series_with_options(Polyhedron
*D
, Polyhedron
* C
,
69 barvinok_options
*options
);