4 /* RANGE : normal range for evalutations (-RANGE -> RANGE) */
7 /* SRANGE : small range for evalutations */
10 /* if dimension >= BIDDIM, use SRANGE */
13 /* VSRANGE : very small range for evalutations */
16 /* if dimension >= VBIDDIM, use VSRANGE */
19 static struct argp_option argp_options
[] = {
20 { "verify", 'T', 0, 0 },
21 { "print-all", 'A', 0, 0 },
22 { "continue-on-error", 'C', 0, 0 },
23 { "min", 'm', "int", 0 },
24 { "max", 'M', "int", 0 },
25 { "range", 'r', "int", 0 },
29 static error_t
parse_opt(int key
, char *arg
, struct argp_state
*state
)
31 struct verify_options
*options
= state
->input
;
36 options
->print_all
= 0;
37 options
->continue_on_error
= 0;
47 options
->print_all
= 1;
50 options
->continue_on_error
= 1;
53 options
->m
= atoi(arg
);
57 options
->M
= atoi(arg
);
61 options
->M
= atoi(arg
);
62 options
->m
= -options
->M
;
66 return ARGP_ERR_UNKNOWN
;
71 void verify_options_set_range(struct verify_options
*options
, Polyhedron
*P
)
75 if (P
->Dimension
>= VBIGDIM
)
77 else if (P
->Dimension
>= BIGDIM
)
81 if (options
->M
== INT_MIN
)
83 if (options
->m
== INT_MAX
)
86 if (options
->verify
&& options
->m
> options
->M
) {
87 fprintf(stderr
,"Nothing to do: min > max !\n");
92 struct argp verify_argp
= {
93 argp_options
, parse_opt
, 0, 0