conversion from genfun to evalue
[barvinok.git] / genfun.h
blob1bd3b9d048a1eb791937bf24c7c91e98125b8295
1 #ifndef GENFUN_H
2 #define GENFUN_H
4 #include <vector>
5 #include <gmp.h>
6 #include <NTL/mat_ZZ.h>
7 extern "C" {
8 #include <polylib/polylibgmp.h>
9 #include "ev_operations.h"
12 #ifdef NTL_STD_CXX
13 using namespace NTL;
14 #endif
16 struct short_rat {
17 struct {
18 /* rows: terms in numerator */
19 mat_ZZ coeff;
20 mat_ZZ power;
21 } n;
22 struct {
23 /* rows: factors in denominator */
24 mat_ZZ power;
25 } d;
28 struct gen_fun {
29 std::vector< short_rat * > term;
31 void add(ZZ& cn, ZZ& cd, vec_ZZ& num, mat_ZZ& den);
32 void print(unsigned int nparam, char **param_name);
33 operator evalue *();
36 #endif