1 #include <barvinok/polylib.h>
3 #if defined(__cplusplus)
7 struct barvinok_options
;
9 struct width_direction
{
10 Vector
*width
; /* The lattice width, a vector of length n+2.
11 * width[n] is the constant term
12 * width[n+1] is the denominator
14 Vector
*dir
; /* The direction in which width is obtained */
15 Polyhedron
*domain
; /* Chamber where this width is minimal */
18 struct width_direction_array
{
19 int n
; /* Number of elements (used) in wd array */
20 int alloc
; /* Number of elements allocated in wd array */
21 struct width_direction
*wd
;
24 evalue
*Polyhedron_Lattice_Width(Polyhedron
*P
, Polyhedron
*C
,
25 struct barvinok_options
*options
);
27 struct width_direction_array
*
28 Polyhedron_Lattice_Width_Directions(Polyhedron
*P
, Polyhedron
*C
,
29 struct barvinok_options
*options
);
30 void free_width_direction_array(struct width_direction_array
*dirs
);
32 #if defined(__cplusplus)