Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346/*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#include <vector>24#include <list>25#include <string>26#include <sstream>27using namespace std;2829#include "libQnormaliz/libQnormaliz.h"30#include "libQnormaliz/Qcone.h"31using namespace libQnormaliz;3233//#include "Input.h"34#include "Qoutput.h"3536#ifndef NMZ_OPTIONS_H37#define NMZ_OPTIONS_H3839//---------------------------------------------------------------------------4041class OptionsHandler {4243public:44OptionsHandler();4546// returns true if a help should be printed, false otherwise47bool handle_commandline(int argc, char* argv[]);4849// returns true if default mode was activated, false otherwise50bool activateDefaultMode();5152template<typename Number>53void applyOutputOptions(Output<Number>& Out);5455// returns whether any nmzIntegrate option is set56bool anyNmzIntegrateOption() const;5758string getNmzIntegrateOptions() const;5960bool isFilenameSet() const {61return project_name_set;62}6364bool isIgnoreInFileOpt() const {65return ignoreInFileOpt;66}6768int getNrThreads() const {69return nr_threads;70}7172void activateConeProperty(ConeProperty::Enum cp) {73to_compute.set(cp, true);74}7576void activateInputFileConeProperty(ConeProperty::Enum cp) {77if (!ignoreInFileOpt) to_compute.set(cp, true);78}79/* void activateInputFileBigInt() {80if (!ignoreInFileOpt) use_Big_Number = true;81}*/82void activateInputFileLongLong() {83if (!ignoreInFileOpt) use_long_long = true;84}8586const ConeProperties& getToCompute() const {87return to_compute;88}8990/* bool isUseBigNumber() const {91return use_Big_Number;92}*/93bool isUseLongLong() const {94return use_long_long;95}9697const string& getOutputName() const {98return project_name;99}100101void setProjectName(const string& s);102void setOutputDirName(const string& s);103104bool nr_threads_explicitly_set;105106//---------------------------------------------------------------------------107108private:109bool project_name_set;110bool output_dir_set;111string project_name;112string output_dir;113string output_file;114115// bool use_Big_Number; now in ConeProperty116bool use_long_long;117bool ignoreInFileOpt;118bool nmzInt_E, nmzInt_I, nmzInt_L;119120int nr_threads;121122ConeProperties to_compute;123124bool write_extra_files, write_all_files;125126vector<string> OutFiles;127128//return true if help should be printed, false otherwise129bool handle_options(vector<string>& LongOptions, string& ShortOptions);130};131132//---------------------------------------------------------------------------133134string pureName(const string& fullName); // extracts the pure filename from a path135136#endif //NMZ_OPTIONS_H137138139