1 #ifndef LATTICE_POINT_H
2 #define LATTICE_POINT_H
5 #include <barvinok/polylib.h>
7 #if defined(__cplusplus)
11 evalue
*fractional_part(Value
*coef
, Value denom
, int nvar
, Polyhedron
*PD
);
13 #if defined(__cplusplus)
17 #if defined(__cplusplus)
19 #include <NTL/vec_ZZ.h>
20 #include <NTL/mat_ZZ.h>
26 struct barvinok_options
;
28 evalue
*multi_monom(vec_ZZ
& p
);
29 int normal_mod(Value
*coef
, int len
, Value
*m
);
30 void lattice_point_fixed(Value
*vertex
, Value
*vertex_res
,
31 Matrix
*Rays
, Matrix
*Rays_res
,
33 void lattice_points_fixed(Value
*vertex
, Value
*vertex_res
,
34 Matrix
*Rays
, Matrix
*Rays_res
, Matrix
*points
,
36 void lattice_point(Param_Vertices
*V
, const mat_ZZ
& rays
, vec_ZZ
& num
,
37 evalue
**E_vertex
, barvinok_options
*options
);
39 /* This structure encodes the power of the term in a rational generating function.
41 * Either E == NULL or constant = 0
42 * If E != NULL, then the power is E
43 * If E == NULL, then the power is constant
50 void lattice_point(Param_Vertices
* V
, const mat_ZZ
& rays
, vec_ZZ
& lambda
,
51 term_info
* term
, unsigned long det
,
52 barvinok_options
*options
);