1 #ifndef LATTICE_POINT_H
2 #define LATTICE_POINT_H
5 #include <NTL/vec_ZZ.h>
6 #include <NTL/mat_ZZ.h>
7 #include <barvinok/polylib.h>
13 struct barvinok_options
;
15 evalue
*multi_monom(vec_ZZ
& p
);
16 int normal_mod(Value
*coef
, int len
, Value
*m
);
17 evalue
*fractional_part(Value
*coef
, Value denom
, int nvar
, Polyhedron
*PD
);
18 void lattice_point_fixed(Value
*vertex
, Value
*vertex_res
,
19 Matrix
*Rays
, Matrix
*Rays_res
,
21 void lattice_points_fixed(Value
*vertex
, Value
*vertex_res
,
22 Matrix
*Rays
, Matrix
*Rays_res
, Matrix
*points
,
24 void lattice_point(Param_Vertices
*V
, const mat_ZZ
& rays
, vec_ZZ
& num
,
25 evalue
**E_vertex
, barvinok_options
*options
);
27 /* This structure encodes the power of the term in a rational generating function.
29 * Either E == NULL or constant = 0
30 * If E != NULL, then the power is E
31 * If E == NULL, then the power is constant
38 void lattice_point(Param_Vertices
* V
, const mat_ZZ
& rays
, vec_ZZ
& lambda
,
39 term_info
* term
, unsigned long det
,
40 barvinok_options
*options
);