evalue_substitute: properly handle relations
[barvinok.git] / verify.h
blob21bcb2c226350cab45dffcee4db56a8600a3a84d
1 #ifndef VERIFY_H
2 #define VERIFY_H
4 #include <barvinok/polylib.h>
5 #include "argp.h"
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
11 struct verify_options {
12 int verify;
13 int exact;
14 int print_all;
15 int continue_on_error;
16 int m;
17 int M;
19 /* "generated" options */
20 int st;
21 const char *const *params;
22 struct barvinok_options *barvinok;
25 extern struct argp verify_argp;
26 void verify_options_set_range(struct verify_options *options, int dim);
28 Polyhedron *check_poly_context_scan(Polyhedron *P, Polyhedron **C,
29 unsigned nparam,
30 const struct verify_options *options);
31 void check_poly_init(Polyhedron *C, struct verify_options *options);
32 void check_poly_print(int ok, int nparam, Value *z,
33 Value want_n, Value want_d,
34 Value got_n, Value got_d,
35 const char *op, const char *check,
36 const char *long_op,
37 const struct verify_options *options);
39 struct check_poly_data;
40 typedef int (*check_poly_fun)(const struct check_poly_data *data,
41 int nparam, Value *z,
42 const struct verify_options *options);
43 struct check_poly_data {
44 Value *z;
45 check_poly_fun check;
48 int check_poly(Polyhedron *CS, const struct check_poly_data *data,
49 int nparam, int pos, Value *z,
50 const struct verify_options *options);
52 #if defined(__cplusplus)
54 #endif
56 #endif