6 #include <isl/polynomial.h>
8 #include <barvinok/polylib.h>
10 #if defined(__cplusplus)
14 struct verify_options
{
18 int continue_on_error
;
23 /* "generated" options */
26 struct barvinok_options
*barvinok
;
29 ISL_ARG_DECL(verify_options
, struct verify_options
, verify_options_args
)
31 void verify_options_set_range(struct verify_options
*options
, int dim
);
32 isl_stat
verify_options_set_range_pwqp(struct verify_options
*options
,
33 __isl_keep isl_pw_qpolynomial
*pwqp
);
35 Polyhedron
*check_poly_context_scan(Polyhedron
*P
, Polyhedron
**C
,
37 const struct verify_options
*options
);
38 void check_poly_init(Polyhedron
*C
, struct verify_options
*options
);
39 void check_poly_print(int ok
, int nparam
, Value
*z
,
40 Value want_n
, Value want_d
,
41 Value got_n
, Value got_d
,
42 const char *op
, const char *check
,
44 const struct verify_options
*options
);
46 struct check_poly_data
;
47 typedef int (*check_poly_fun
)(const struct check_poly_data
*data
,
49 const struct verify_options
*options
);
50 struct check_poly_data
{
55 int check_poly(Polyhedron
*CS
, const struct check_poly_data
*data
,
56 int nparam
, int pos
, Value
*z
,
57 const struct verify_options
*options
);
59 struct check_EP_data
{
60 struct check_poly_data cp
;
67 int check_EP(struct check_EP_data
*data
, unsigned nvar
, unsigned nparam
,
68 struct verify_options
*options
);
69 void check_EP_set_scan(struct check_EP_data
*data
, Polyhedron
*C
,
71 void check_EP_clear_scan(struct check_EP_data
*data
);
73 __isl_give isl_set
*verify_context_set_bounds(__isl_take isl_set
*set
,
74 const struct verify_options
*options
);
76 struct verify_point_data
{
77 const struct verify_options
*options
;
83 int verify_point_data_init(struct verify_point_data
*vpd
,
84 __isl_keep isl_set
*context
);
85 void verify_point_data_fini(struct verify_point_data
*vpd
);
87 #if defined(__cplusplus)