File: CommandlineOptions.hh

package info (click to toggle)
topcom 1.1.2%2Bds-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 31,788 kB
  • sloc: cpp: 37,616; sh: 4,262; makefile: 497; ansic: 49
file content (172 lines) | stat: -rw-r--r-- 8,878 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
////////////////////////////////////////////////////////////////////////////////
// 
// CommandlineOptions.hh 
//
//    produced: 04 Oct 1999 jr
// last change: 04 Oct 1999 jr
//
////////////////////////////////////////////////////////////////////////////////
#ifndef COMMANDLINEOPTIONS_HH
#define COMMANDLINEOPTIONS_HH

#include <stdlib.h>
#include <cstring>
#include <fstream>

#include "Global.hh"

namespace topcom {

  class CommandlineOptions {
  private:
    static bool      _verbose;
    static bool      _debug;
    static bool      _parallel_enumeration;
    static bool      _workbuffercontrol;
    static bool      _parallel_symmetries;
    static bool      _use_random_order;
    static bool      _use_volume_order;
    static bool      _use_volumes;
    static bool      _use_gkz;
    static bool      _use_switch_tables;
    static bool      _use_classified_symmetries;
    static bool      _use_naive_symmetries;
    static bool      _preprocess_points;
    static bool      _simpidx_symmetries;
    static bool      _full_extension_check;
    static bool      _no_extension_check;
    static bool      _extension_check_first;
    static bool      _memopt;
    static bool      _check;
    static bool      _neighborcount;
    static bool      _input_chiro;
    static bool      _fine_only;
    static bool      _reduce_points;
    static bool      _dont_add_points;
    static bool      _dont_change_card;
    static bool      _output_triangs;
    static bool      _output_flips;
    static bool      _output_asy;
    static bool      _output_stats;
    static bool      _compute_all;
    static bool      _preprocess_chiro;
    static bool      _check_regular;
    static bool      _check_unimodular;
    static bool      _check_nonregular;
    static bool      _check_sometimes;
    static bool      _ignore_symmetries;
    static bool      _skip_orbitcount;
    static bool      _symmetries_are_affine;
    static bool      _symmetries_are_isometric;
    static bool      _output_heights;
    static bool      _use_qsopt_ex;
    static bool      _use_soplex;
    static bool      _dump_status;
    static bool      _read_status;
    static size_type _report_frequency;
    static size_type _sometimes_frequency;
    static size_type _chirocache;
    static size_type _localcache;
    static size_type _no_of_simplices;
    static size_type _max_no_of_simplices;
    static size_type _dump_frequency;
    static size_type _min_nodebudget;
    static size_type _max_nodebudget;
    static int       _scale_nodebudget;
    static int       _no_of_threads;
    static int       _min_workbuffersize;
    static int       _max_workbuffersize;
    static int       _dump_rotations;
    static int       _no_of_symtables;
    static const char*  _input_file;
    static const char*  _dump_file;
    static const char*  _read_file;
    static const char*  _asy_file;
    static const char*  _stats_file;
    // auxiliary variables:
    static bool      _lp_solver_needed;
    static int       _user_no_of_threads;
  public:
    CommandlineOptions() {}
    CommandlineOptions(const CommandlineOptions&) {}
  public:
    // initialization:
    static void init(const int argc, const char** argv);
    // accessors:
    inline static bool      verbose()                   { return _verbose; }
    inline static bool      debug()                     { return _debug; }
    inline static bool      parallel_enumeration()      { return _parallel_enumeration; }
    inline static bool      workbuffercontrol()         { return _workbuffercontrol; }
    inline static bool      parallel_symmetries()       { return _parallel_symmetries; }
    inline static bool      use_random_order()          { return _use_random_order; }
    inline static bool      use_volume_order()          { return _use_volume_order; }
    inline static bool      use_volumes()               { return _use_volumes; }
    inline static bool      use_gkz()                   { return _use_gkz; }
    inline static bool      use_switch_tables()         { return _use_switch_tables; }
    inline static bool      use_classified_symmetries() { return _use_classified_symmetries; }
    inline static bool      use_naive_symmetries()      { return _use_naive_symmetries; }
    inline static bool      preprocess_points()         { return _preprocess_points; }
    inline static bool      simpidx_symmetries()        { return _simpidx_symmetries; }
    inline static bool      full_extension_check()      { return _full_extension_check; }
    inline static bool      no_extension_check()        { return _no_extension_check; }
    inline static bool      extension_check_first()     { return _extension_check_first; }
    inline static bool      memopt()                    { return _memopt; }
    inline static bool      check()                     { return _check; }
    inline static bool      neighborcount()             { return _neighborcount; }
    inline static bool      input_chiro()               { return _input_chiro; }
    inline static bool      fine_only()                 { return _fine_only; }
    inline static bool      reduce_points()             { return _reduce_points; }
    inline static bool      dont_add_points()           { return _dont_add_points; }
    inline static bool      dont_change_card()          { return _dont_change_card; }
    inline static bool      compute_all()               { return _compute_all; }
    inline static bool      preprocess_chiro()          { return _preprocess_chiro; }
    inline static bool      output_triangs()            { return _output_triangs; }
    inline static bool      output_flips()              { return _output_flips; }
    inline static bool      output_asy()                { return _output_asy; }
    inline static bool      output_stats()              { return _output_stats; }
    inline static bool      check_regular()             { return _check_regular; }
    inline static bool      check_unimodular()          { return _check_unimodular; }
    inline static bool      check_nonregular()          { return _check_nonregular; }
    inline static bool      check_sometimes()           { return _check_sometimes; }
    inline static bool      skip_orbitcount()           { return _skip_orbitcount; }
    inline static bool      ignore_symmetries()         { return _ignore_symmetries; }
    inline static bool      symmetries_are_affine()     { return _symmetries_are_affine; }
    inline static bool      symmetries_are_isometric()  { return _symmetries_are_isometric; }
    inline static bool      output_heights()            { return _output_heights; }
    inline static bool      use_qsopt_ex()              { return _use_qsopt_ex; }
    inline static bool      use_soplex()                { return _use_soplex; }
    inline static bool      dump_status()               { return _dump_status; }
    inline static bool      read_status()               { return _read_status; }
    inline static size_type report_frequency()          { return _report_frequency; }
    inline static size_type sometimes_frequency()       { return _sometimes_frequency; }
    inline static size_type chirocache()                { return _chirocache; }
    inline static size_type localcache()                { return _localcache; }
    inline static size_type no_of_simplices()           { return _no_of_simplices; }
    inline static size_type max_no_of_simplices()       { return _max_no_of_simplices; }
    inline static size_type dump_frequency()            { return _dump_frequency; }
    inline static size_type min_nodebudget()            { return _min_nodebudget; }
    inline static size_type max_nodebudget()            { return _max_nodebudget; }
    inline static int       scale_nodebudget()          { return _scale_nodebudget; }
    inline static int       no_of_threads()             { return _no_of_threads; }
    inline static int       min_workbuffersize()        { return _min_workbuffersize; }
    inline static int       max_workbuffersize()        { return _max_workbuffersize; }
    inline static int       dump_rotations()            { return _dump_rotations; }
    inline static int       no_of_symtables()           { return _no_of_symtables; }

    inline static const char*   input_file()            { return _input_file; }
    inline static const char*   dump_file()             { return _dump_file; }
    inline static const char*   read_file()             { return _read_file; }
    inline static const char*   asy_file()              { return _asy_file; }
    inline static const char*   stats_file()            { return _stats_file; }

    // auxiliary queries:
    inline static int       lp_solver_needed()          { return _lp_solver_needed; }
    inline static int       user_no_of_threads()        { return _user_no_of_threads; }

  };

}; // namespace topcom

#endif

// eof CommandlineOptions.hh