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"
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.
34 createIdealOrderer(params.getEnumerationOrder());
36 createIdealOrderer(params.getDeformationOrder());
37
39}
40
43
45 beginAction("Computing multigraded Hilbert-Poincare series.");
46
48 _params,
51
52 alg.runGeneric(_helper.getIdeal(),
54 false,
56
57 endAction();
58}
59
61 beginAction("Computing univariate Hilbert-Poincare series.");
62
64 _params,
67
68 alg.runGeneric(_helper.getIdeal(),
70 true,
72
73 endAction();
74}
auto_ptr< IdealOrderer > createIdealOrderer(const string &prefix)
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
TermTranslator & getTranslator()
CoefBigTermConsumer & getPolyConsumer()
void readIdealAndSetPolyOutput(const CommonParams &params)
Read input and support polynomial output.
bool getProduceCanonicalOutput() const
Returns whether to produce output in a canonical representation.
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...
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...
ScarfFacade(const ScarfParams &params)
CommonParamsHelper _helper
Definition ScarfFacade.h:44
auto_ptr< IdealOrderer > _deformationOrder
Definition ScarfFacade.h:46
ScarfParams _params
Definition ScarfFacade.h:43