use test scripts for performing tests
[barvinok.git] / verify.h
bloba3ffcd51213d54bbd3816b20605f92ea47504b19
1 #ifndef VERIFY_H
2 #define VERIFY_H
4 #include <isl/arg.h>
5 #include <isl/ctx.h>
6 #include <isl/polynomial.h>
7 #include <isl/set.h>
8 #include <barvinok/polylib.h>
10 #if defined(__cplusplus)
11 extern "C" {
12 #endif
14 struct verify_options {
15 int verify;
16 int exact;
17 int print_all;
18 int continue_on_error;
19 long m;
20 long M;
21 long r;
23 /* "generated" options */
24 int st;
25 const char **params;
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,
36 unsigned nparam,
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,
43 const char *long_op,
44 const struct verify_options *options);
46 struct check_poly_data;
47 typedef int (*check_poly_fun)(const struct check_poly_data *data,
48 int nparam, Value *z,
49 const struct verify_options *options);
50 struct check_poly_data {
51 Value *z;
52 check_poly_fun check;
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;
61 int n_S;
62 Polyhedron **S;
64 const evalue *EP;
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,
70 unsigned MaxRays);
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;
78 int n;
79 int s;
80 int error;
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)
89 #endif
91 #endif