1 #include <barvinok/polylib.h>
3 #if defined(__cplusplus)
7 struct barvinok_options
;
9 Polyhedron
*true_context(Polyhedron
*P
, Polyhedron
*C
, unsigned MaxRays
);
10 Vector
*inner_point(Polyhedron
*P
);
11 int is_internal(Vector
*point
, Value
*constraint
);
13 Polyhedron
*reduce_domain(Polyhedron
*D
, int nd
,
14 Vector
*inner
, struct barvinok_options
*options
);
16 #define ALLOCN(type,n) (type*)malloc((n) * sizeof(type))
18 #define FORALL_REDUCED_DOMAIN(PP,C,nd,options,i,PD,rVD) \
23 Param_Domain *_frd_next; \
24 Vector *_frd_inner = inner_point(C); \
26 for (nd = 0, PD = PP->D; PD; ++nd, PD = PD->next); \
27 for (i = 0, PD = PP->D; PD; PD = _frd_next) { \
28 rVD = reduce_domain(PD->Domain, nd, _frd_inner, options); \
29 _frd_next = PD->next; \
33 #define FORALL_REDUCED_DOMAIN_RESET \
35 Vector_Free(_frd_inner); \
37 #define END_FORALL_REDUCED_DOMAIN \
41 FORALL_REDUCED_DOMAIN_RESET \
46 #if defined(__cplusplus)