Frobby  0.9.5
SliceParams.h
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2009 University of Aarhus
3  Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see http://www.gnu.org/licenses/.
17 */
18 #ifndef SLICE_PARAMS_GUARD
19 #define SLICE_PARAMS_GUARD
20 
21 #include "SliceLikeParams.h"
22 #include <string>
23 class CliParams;
24 
25 class SliceParams : public SliceLikeParams {
26  public:
27  SliceParams();
28  SliceParams(const CliParams& params);
29 
30  const string& getSplit() const {return _split;}
31  void setSplit(const string& name) {_split = name;}
32 
34  void useIndependenceSplits(bool value) {_useIndependence = value;}
35 
39  void useBoundElimination(bool value) {_useBoundElimination = value;}
40 
45  void useBoundSimplification(bool value) {_useBoundSimplification = value;}
46 
47  private:
48  string _split;
52 };
53 
54 void addIdealParams(CliParams& params);
55 void extractCliValues(SliceParams& slice, const CliParams& cli);
56 
57 void validateSplit(const SliceParams& params,
58  bool allowLabel,
59  bool allowDegree);
60 
61 #endif
void validateSplit(const SliceParams &params, bool allowLabel, bool allowDegree)
Definition: SliceParams.cpp:61
void addIdealParams(CliParams &params)
void extractCliValues(SliceParams &slice, const CliParams &cli)
Definition: SliceParams.cpp:50
void useIndependenceSplits(bool value)
Definition: SliceParams.h:34
void setSplit(const string &name)
Definition: SliceParams.h:31
bool _useIndependence
Definition: SliceParams.h:49
bool getUseIndependenceSplits() const
Definition: SliceParams.h:33
void useBoundElimination(bool value)
Definition: SliceParams.h:39
string _split
Definition: SliceParams.h:48
void useBoundSimplification(bool value)
Definition: SliceParams.h:45
bool getUseBoundSimplification() const
Returns whether to simplify slices by seeking to generate non-improving slices that are then eliminat...
Definition: SliceParams.h:44
bool getUseBoundElimination() const
Returns whether to use branch-and-bound to speed up Slice optimization computations by eliminating no...
Definition: SliceParams.h:38
bool _useBoundElimination
Definition: SliceParams.h:50
bool _useBoundSimplification
Definition: SliceParams.h:51
const string & getSplit() const
Definition: SliceParams.h:30