dpoly: add some documentation
[barvinok.git] / barvinok / options.h
blobef2be0d6c45007dfaafcd9c705ecfa39c2343bc1
1 #ifndef BARVINOK_OPTIONS_H
2 #define BARVINOK_OPTIONS_H
4 #include <stdio.h>
6 #if defined(__cplusplus)
7 extern "C" {
8 #endif
10 struct barvinok_stats {
11 long unimodular_cones;
14 void barvinok_stats_clear(struct barvinok_stats *stats);
15 void barvinok_stats_print(struct barvinok_stats *stats, FILE *out);
17 struct barvinok_options {
18 /* PolyLib options */
19 unsigned MaxRays;
21 /* NTL options */
22 /* LLL reduction parameter delta=LLL_a/LLL_b */
23 long LLL_a;
24 long LLL_b;
26 /* barvinok options */
28 * 0: no
29 * 1: depth first
30 * 2: breadth first
32 #define BV_SPECIALIZATION_BF 2
33 #define BV_SPECIALIZATION_DF 1
34 #define BV_SPECIALIZATION_RANDOM 0
35 int incremental_specialization;
37 int primal;
38 int lookup_table;
39 int count_sample_infinite;
41 /* basis reduction options */
42 #define BV_GBR_NONE 0
43 #define BV_GBR_GLPK 1
44 #define BV_GBR_CDD 2
45 int gbr_lp_solver;
47 struct barvinok_stats stats;
50 struct barvinok_options *barvinok_options_new_with_defaults();
52 #define BV_OPT_SPECIALIZATION 256
53 #define BV_OPT_PRIMAL 257
54 #define BV_OPT_TABLE 258
55 #define BV_OPT_GBR 259
56 #define BV_OPT_LAST 259
58 struct argp;
59 extern struct argp barvinok_argp;
61 #if defined(__cplusplus)
63 #endif
65 #endif