Frobby  0.9.5
ScarfFacade.cpp
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2010 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 #include "stdinc.h"
19 #include "ScarfFacade.h"
20 
21 #include "DataType.h"
22 #include "ScarfHilbertAlgorithm.h"
25 #include "IdealOrderer.h"
26 
28  Facade(params.getPrintActions()),
29  _params(params) {
30  // Create predicate before reading the input to display errors on
31  // options before potentially spending a long time reading the
32  // input.
37 
39 }
40 
42 }
43 
45  beginAction("Computing multigraded Hilbert-Poincare series.");
46 
48  _params,
51 
54  false,
56 
57  endAction();
58 }
59 
61  beginAction("Computing univariate Hilbert-Poincare series.");
62 
64  _params,
67 
70  true,
72 
73  endAction();
74 }
auto_ptr< IdealOrderer > createIdealOrderer(const string &prefix)
TermTranslator & getTranslator()
void readIdealAndSetPolyOutput(const CommonParams &params)
Read input and support polynomial output.
CoefBigTermConsumer & getPolyConsumer()
bool getProduceCanonicalOutput() const
Returns whether to produce output in a canonical representation.
Definition: CommonParams.h:56
This is the super class of all facades.
Definition: Facade.h:32
void beginAction(const char *message)
Prints message to standard error if printing is turned on, and records the time when the action start...
Definition: Facade.cpp:38
void endAction()
Prints to standard error the time since the last call to beginAction.
Definition: Facade.cpp:51
void computeMultigradedHilbertSeries()
Computes the numerator of the multigraded Hilbert-Poincare series with no cancellation of common term...
Definition: ScarfFacade.cpp:44
auto_ptr< IdealOrderer > _enumerationOrder
Definition: ScarfFacade.h:45
void computeUnivariateHilbertSeries()
Computes the numerator of the univariate Hilbert-Poincare series with no cancellation of common terms...
Definition: ScarfFacade.cpp:60
ScarfFacade(const ScarfParams &params)
Definition: ScarfFacade.cpp:27
CommonParamsHelper _helper
Definition: ScarfFacade.h:44
auto_ptr< IdealOrderer > _deformationOrder
Definition: ScarfFacade.h:46
ScarfParams _params
Definition: ScarfFacade.h:43
void runGeneric(const Ideal &ideal, CoefBigTermConsumer &consumer, bool univariate, bool canonical)
const string & getDeformationOrder() const
Returns the name of the deformation ordering.
Definition: ScarfParams.h:41
const string & getEnumerationOrder() const
Returns the name of the enumeration ordering.
Definition: ScarfParams.h:37