1 #ifndef LATTICE_POINT_H
2 #define LATTICE_POINT_H
5 #include <NTL/vec_ZZ.h>
6 #include <barvinok/polylib.h>
12 struct barvinok_options
;
14 evalue
*multi_monom(vec_ZZ
& p
);
15 int normal_mod(Value
*coef
, int len
, Value
*m
);
16 void lattice_point(Value
* values
, const mat_ZZ
& rays
, vec_ZZ
& vertex
, int *closed
);
17 void lattice_point(Value
* values
, const mat_ZZ
& rays
, mat_ZZ
& vertex
,
18 unsigned long det
, int *closed
);
19 evalue
* lattice_point(const mat_ZZ
& rays
, vec_ZZ
& lambda
, Matrix
*W
,
20 Value lcm
, Polyhedron
*PD
, barvinok_options
*options
);
21 void lattice_point(Param_Vertices
*V
, const mat_ZZ
& rays
, vec_ZZ
& num
,
22 evalue
**E_vertex
, barvinok_options
*options
);
24 /* This structure encodes the power of the term in a rational generating function.
26 * Either E == NULL or constant = 0
27 * If E != NULL, then the power is E
28 * If E == NULL, then the power is constant
35 void lattice_point(Param_Vertices
* V
, const mat_ZZ
& rays
, vec_ZZ
& lambda
,
36 term_info
* term
, Polyhedron
*PD
, barvinok_options
*options
);