CoxIter  1.2
CoxIter - Computing invariants of hyperbolic Coxeter groups
app.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2013, 2014, 2015, 2016
3 Rafael Guglielmetti, rafael.guglielmetti@unifr.ch
4 */
5 
6 /*
7 This file is part of CoxIter.
8 
9 CoxIter is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as
11 published by the Free Software Foundation, either version 3 of the
12 License, or (at your option) any later version.
13 
14 CoxIter is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with CoxIter. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
31 #ifndef APP_H
32 #define APP_H
33 
34 #include <string>
35 #include <vector>
36 #include <chrono>
37 #include <algorithm>
38 
39 #ifdef WIN32
40 #include <io.h>
41 #else
42 #include <unistd.h>
43 #endif
44 
45 #ifdef _COMPILE_WITH_PARI_
46 #include "growthrate.h"
47 #include "signature.h"
48 #endif
49 
50 using namespace std;
51 
52 #include "coxiter.h"
53 #include "gbd.h"
54 #include "arithmeticity.h"
55 
56 class App
57 {
58  private:
68  bool bDebug;
69  bool bGBD;
70  bool bOpenMP;
74  bool bPrintHelp;
76  vector< string > strVerticesRemove;
77  vector< string > strVertices;
78  string strGBDvertex;
79 
80  public:
81  bool bCoutFile;
83  bool bOutputGraph;
84  string strInFilename;
86 
87  public:
88  App( );
89 
90  bool bReadMainParameters( int argc, char **argv );
91  void run( );
92  void printHelp( ) const;
93 };
94 
95 #endif // APP_H
string strOuputMathematicalFormat
Format of output: generic, mathematica, pari.
Definition: app.h:75
string strInFilename
Path to the graph.
Definition: app.h:84
bool bDebug
Display additional information.
Definition: app.h:68
bool bCoutFile
If the output is redirected to a file.
Definition: app.h:81
bool bPrintGramMatrix
Print the Gram matrix?
Definition: app.h:73
bool bGBD
Doing GBD?
Definition: app.h:69
bool bDoComputations
If we use the big integers GMPlib) library or not.
Definition: app.h:67
bool bComputeEuler
If we want to compute the Euler characteristic.
Definition: app.h:65
bool bCheckCanBeFiniteCovolume
If we want to check whether the group can be of finite volume or not.
Definition: app.h:60
bool bOutputGraph
If we write the graph in a file, to use with CoxIter.
Definition: app.h:83
bool bComputeSignature
If we want to compute the signature.
Definition: app.h:66
bool bPrintCoxeterGraph
Print the Coxeter graph?
Definition: app.h:71
bool bComputeGrowthRate
If we want to compute the growth rate.
Definition: app.h:64
bool bOutputGraphToDraw
If we write the graph in a file, to use graphviz.
Definition: app.h:82
vector< string > strVerticesRemove
The vertices we want to remove.
Definition: app.h:76
bool bCheckArithmeticity
If we want to whether the group is arithmetic or not.
Definition: app.h:59
Main class for the application.
Definition: app.h:56
bool bCheckCocompacity
If we want to check whether the group is cocompact or not.
Definition: app.h:61
bool bOpenMP
Use OpenMP.
Definition: app.h:70
string strOutFilenameBasis
Path to the file for the output (+ .output, .graphviz, .coxiter)
Definition: app.h:85
bool bComputeGrowthSeries
If we want compute the growth series.
Definition: app.h:63
bool bPrintCoxeterMatrix
Print the Coxeter matrix?
Definition: app.h:72
string strGBDvertex
Definition: app.h:78
bool bPrintHelp
If we want to print help (option or by default depending on the error)
Definition: app.h:74
vector< string > strVertices
If we specify the vertices.
Definition: app.h:77
bool bCheckFiniteCovolume
If we want to check whether the group has finite covolume or not.
Definition: app.h:62