GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
/*1* Normaliz2* Copyright (C) 2007-2014 Winfried Bruns, Bogdan Ichim, Christof Soeger3* This program is free software: you can redistribute it and/or modify4* it under the terms of the GNU General Public License as published by5* the Free Software Foundation, either version 3 of the License, or6* (at your option) any later version.7*8* This program is distributed in the hope that it will be useful,9* but WITHOUT ANY WARRANTY; without even the implied warranty of10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11* GNU General Public License for more details.12*13* You should have received a copy of the GNU General Public License14* along with this program. If not, see <http://www.gnu.org/licenses/>.15*16* As an exception, when this program is distributed through (i) the App Store17* by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or (iii) Google Play18* by Google Inc., then that store may impose any digital rights management,19* device limits and/or redistribution restrictions that are required by its20* terms of service.21*/2223//---------------------------------------------------------------------------24#ifndef OUTPUT_H25#define OUTPUT_H26//---------------------------------------------------------------------------2728#include "libnormaliz/cone.h"2930using namespace std;31using namespace libnormaliz;3233//---------------------------------------------------------------------------3435template<typename Integer>36class Output {37string name;38bool out;39bool inv;40bool ext;41bool esp;42bool typ;43bool egn;44bool gen;45bool cst;46bool tri;47bool tgn;48bool ht1;49bool dec;50bool lat;51bool mod;52bool msp;53Cone<Integer>* Result;54size_t dim;55bool homogeneous;56string of_cone;57string of_monoid;58string of_polyhedron;5960bool lattice_ideal_input;61bool no_ext_rays_output;626364//---------------------------------------------------------------------------65public:66//---------------------------------------------------------------------------67// Construction and destruction68//---------------------------------------------------------------------------6970Output(); //main constructor71// default copy constructor and destructors are ok72// the Cone Object is handled at another place7374//---------------------------------------------------------------------------75// Data acces76//---------------------------------------------------------------------------7778void read() const; // to be modified, just for tests7980void set_name(const string& n);81void setCone(Cone<Integer> & C);8283void set_write_out(const bool& flag); //sets the write .out flag84void set_write_inv(const bool& flag); //sets the write .inv flag85void set_write_ext(const bool& flag); //sets the write .ext flag86void set_write_esp(const bool& flag); //sets the write .esp flag87void set_write_typ(const bool& flag); //sets the write .typ flag88void set_write_egn(const bool& flag); //sets the write .egn flag89void set_write_gen(const bool& flag); //sets the write .gen flag90void set_write_cst(const bool& flag); //sets the write .cst flag91void set_write_tri(const bool& flag); //sets the write .tri flag92void set_write_tgn(const bool& flag); //sets the write .tgn flag93void set_write_ht1(const bool& flag); //sets the write .ht1 flag94void set_write_dec(const bool& flag); //sets the write .dec flag95void set_write_lat(const bool& flag); //sets the write .lat flag96void set_write_mod(const bool& flag); //sets the write .mod flag97void set_write_msp(const bool& flag); //sets the write .msp flag98void set_write_extra_files(); //sets some flags to true99void set_write_all_files(); //sets most flags to true100101void write_matrix_ext(const Matrix<Integer>& M) const; //writes M to file name.ext102void write_matrix_lat(const Matrix<Integer>& M) const; //writes M to file name.lat103void write_matrix_esp(const Matrix<Integer>& M) const; //writes M to file name.esp104void write_matrix_typ(const Matrix<Integer>& M) const; //writes M to file name.typ105void write_matrix_egn(const Matrix<Integer>& M) const; //writes M to file name.egn106void write_matrix_gen(const Matrix<Integer>& M) const; //writes M to file name.gen107void write_matrix_mod(const Matrix<Integer>& M) const; //writes M to file name.mod108void write_matrix_msp(const Matrix<Integer>& M) const; //writes M to file name.msp109void write_tri() const; //writes the .tri file110void write_Stanley_dec() const;111void write_matrix_ht1(const Matrix<Integer>& M) const; //writes M to file name.ht1112113void write_float(ofstream& out, const Matrix<nmz_float>& mat, size_t nr, size_t nc) const;114115void write_inv_file() const;116117void set_lattice_ideal_input(bool lattice_odeal_input);118119void set_no_ext_rays_output();120121122//---------------------------------------------------------------------------123// Output Algorithms124//---------------------------------------------------------------------------125126void write_files() const;127void writeWeightedEhrhartSeries(ofstream& out) const;128129};130//class end *****************************************************************131132//---------------------------------------------------------------------------133#endif134//---------------------------------------------------------------------------135136137138