1 #ifndef SKEWED_GENFUN_H
2 #define SKEWED_GENFUN_H
4 #include <barvinok/barvinok.h>
6 struct skewed_gen_fun
{
8 /* maps original space to space in which gf is defined */
10 /* equalities in the original space that need to be satisfied for
14 /* divisibilities in the original space that need to be satisfied for
19 skewed_gen_fun(gen_fun
*gf
, Matrix
*T
, Matrix
*eq
, Matrix
*div
) :
20 gf(gf
), T(T
), eq(eq
), div(div
) {}
31 void print(std::ostream
& os
, unsigned int nparam
, char **param_name
) const;
32 operator evalue
*() const {
33 assert(T
== NULL
&& eq
== NULL
); /* other cases not supported for now */
36 void coefficient(Value
* params
, Value
* c
, barvinok_options
*options
) const;