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;
46 options
->print_all
= 1;
49 options
->continue_on_error
= 1;
52 options
->m
= atoi(arg
);
56 options
->M
= atoi(arg
);
60 options
->M
= atoi(arg
);
61 options
->m
= -options
->M
;
65 return ARGP_ERR_UNKNOWN
;
70 void verify_options_set_range(struct verify_options
*options
, Polyhedron
*P
)
74 if (P
->Dimension
>= VBIGDIM
)
76 else if (P
->Dimension
>= BIGDIM
)
80 if (options
->M
== INT_MIN
)
82 if (options
->m
== INT_MAX
)
85 if (options
->verify
&& options
->m
> options
->M
) {
86 fprintf(stderr
,"Nothing to do: min > max !\n");
91 struct argp verify_argp
= {
92 argp_options
, parse_opt
, 0, 0