barvinok_count_with_options: compute (exact) Bernoulli sum at request
[barvinok/uuh.git] / verify.h
blob390b8b85c7c4d5496389f72b0336c2af8bd8ac64
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;
18 int r;
20 /* "generated" options */
21 int st;
22 const char *const *params;
23 struct barvinok_options *barvinok;
26 extern struct argp verify_argp;
27 void verify_options_set_range(struct verify_options *options, int dim);
29 Polyhedron *check_poly_context_scan(Polyhedron *P, Polyhedron **C,
30 unsigned nparam,
31 const struct verify_options *options);
32 void check_poly_init(Polyhedron *C, struct verify_options *options);
33 void check_poly_print(int ok, int nparam, Value *z,
34 Value want_n, Value want_d,
35 Value got_n, Value got_d,
36 const char *op, const char *check,
37 const char *long_op,
38 const struct verify_options *options);
40 struct check_poly_data;
41 typedef int (*check_poly_fun)(const struct check_poly_data *data,
42 int nparam, Value *z,
43 const struct verify_options *options);
44 struct check_poly_data {
45 Value *z;
46 check_poly_fun check;
49 int check_poly(Polyhedron *CS, const struct check_poly_data *data,
50 int nparam, int pos, Value *z,
51 const struct verify_options *options);
53 #if defined(__cplusplus)
55 #endif
57 #endif