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
= NULL
, Matrix
*eq
= NULL
,
21 gf(gf
), T(T
), eq(eq
), div(div
) {}
32 void print(std::ostream
& os
, unsigned int nparam
, char **param_name
) const;
33 operator evalue
*() const {
34 assert(T
== NULL
&& eq
== NULL
); /* other cases not supported for now */
37 void coefficient(Value
* params
, Value
* c
, barvinok_options
*options
) const;