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
);
20 __isl_give isl_union_pw_qpolynomial
*isl_union_pw_qpolynomial_sum(
21 __isl_take isl_union_pw_qpolynomial
*upwqp
);
22 __isl_give isl_pw_qpolynomial
*isl_map_apply_pw_qpolynomial(
23 __isl_take isl_map
*map
, __isl_take isl_pw_qpolynomial
*pwqp
);
24 __isl_give isl_union_pw_qpolynomial
*isl_union_map_apply_union_pw_qpolynomial(
25 __isl_take isl_union_map
*umap
,
26 __isl_take isl_union_pw_qpolynomial
*upwqp
);
28 #include <barvinok/options.h>
30 void barvinok_decompose(Polyhedron
*C
, Polyhedron
**ppos
, Polyhedron
**pneg
);
31 void barvinok_count(Polyhedron
*P
, Value
* result
, unsigned NbMaxCons
);
32 void barvinok_count_with_options(Polyhedron
*P
, Value
* result
,
33 struct barvinok_options
*options
);
34 Enumeration
* barvinok_enumerate(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
35 evalue
* barvinok_enumerate_ev(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
36 evalue
* barvinok_enumerate_with_options(Polyhedron
*P
, Polyhedron
* C
,
37 struct barvinok_options
*options
);
38 evalue
*Param_Polyhedron_Enumerate(Param_Polyhedron
*PP
, Polyhedron
*P
,
40 struct barvinok_options
*options
);
41 evalue
* barvinok_enumerate_e(Polyhedron
*P
,
42 unsigned exist
, unsigned nparam
, unsigned MaxRays
);
43 evalue
* barvinok_enumerate_e_with_options(Polyhedron
*P
,
44 unsigned exist
, unsigned nparam
, struct barvinok_options
*options
);
45 evalue
*barvinok_enumerate_isl(Polyhedron
*P
,
46 unsigned exist
, unsigned nparam
, struct barvinok_options
*options
);
47 evalue
*barvinok_enumerate_scarf(Polyhedron
*P
,
48 unsigned exist
, unsigned nparam
,
49 struct barvinok_options
*options
);
50 evalue
* barvinok_enumerate_union(Polyhedron
*D
, Polyhedron
* C
, unsigned MaxRays
);
52 evalue
*barvinok_summate(evalue
*e
, int nvar
, struct barvinok_options
*options
);
54 #if defined(__cplusplus)
58 #if defined(__cplusplus)
60 #include <barvinok/genfun.h>
62 void zz2value(const ZZ
& z
, Value
& v
);
63 gen_fun
* barvinok_series(Polyhedron
*P
, Polyhedron
* C
, unsigned MaxRays
);
64 gen_fun
* barvinok_series_with_options(Polyhedron
*P
, Polyhedron
* C
,
65 barvinok_options
*options
);
66 gen_fun
*barvinok_enumerate_series(Polyhedron
*P
, unsigned nparam
,
67 barvinok_options
*options
);
68 gen_fun
*barvinok_enumerate_scarf_series(Polyhedron
*P
,
69 unsigned exist
, unsigned nparam
,
70 barvinok_options
*options
);
71 gen_fun
*barvinok_enumerate_e_series(Polyhedron
*P
,
72 unsigned exist
, unsigned nparam
, barvinok_options
*options
);
73 gen_fun
* barvinok_enumerate_union_series(Polyhedron
*D
, Polyhedron
* C
,
75 gen_fun
* barvinok_enumerate_union_series_with_options(Polyhedron
*D
, Polyhedron
* C
,
76 barvinok_options
*options
);