14 template <
typename C,
typename O,
typename P>
27 template<
typename C,
typename O,
typename P>
33 template<
typename C,
typename O,
typename P>
39 std::vector<GbBenchmark<C, O, P>> res;
41 for(
unsigned index = 2; index <=
MAX_KATSURA; index++)
43 std::stringstream name;
44 name <<
" Katsura " << index;
45 std::cout <<
"Load benchmark: " << name.str() << std::endl;
48 std::cout << res.back() << std::endl;
54 for(
unsigned index = 2; index <=
MAX_CYCLIC; index++)
56 std::stringstream name;
57 name <<
" Cyclic " << index;
58 std::cout <<
"Load benchmark: " << name.str() << std::endl;
61 std::cout << res.back() << std::endl;
70 std::vector<AbstractGBProcedure<Polynomial>*> res;
76 template<
typename C,
typename O,
typename P>
82 for(
const auto& b : benchmarksets)
84 os <<
"Running benchmark: " << b.name << std::endl;
86 for(
auto & p : procedures)
89 os <<
"\tProcedure: " << pCount <<
"/" << procedures.size() << std::endl;
90 os <<
"\t\t Adding .. \n";
93 for(
const auto& pol : b.polynomials)
95 std::cout << pol << std::endl;
96 p->addPolynomial(pol);
98 os << timer << std::endl;
99 os <<
"\t\t Reducing .. \n";
103 os << timer << std::endl;
104 os <<
"\t\t Calculating .. \n";
108 os << timer << std::endl;
109 os <<
"\t\t Done .. \n";
113 for(
auto & p : procedures)
123 #ifdef USE_CLN_NUMBERS
124 execute<cln::cl_RA, GrLexOrdering, StdMultivariatePolynomialPolicies<NoReasons, NoAllocator>>();
126 execute<mpq_class, GrLexOrdering, StdMultivariatePolynomialPolicies<NoReasons, NoAllocator>>();
static const int MAX_KATSURA
static const int MAX_CYCLIC
int execute(std::ostream &os=std::cout)
carl is the main namespace for the library.
std::ostream & operator<<(std::ostream &os, const BasicConstraint< Poly > &c)
Prints the given constraint on the given stream.
A general class for Groebner Basis calculation.
The general-purpose multivariate polynomial class.
This classes provides an easy way to obtain the current number of milliseconds that the program has b...
void reset() noexcept
Reset the start point to now.
std::vector< MultivariatePolynomial< C, O, P > > polynomials
GbBenchmark(const std::string &n, const std::vector< MultivariatePolynomial< C, O, P >> &pols)
static std::vector< AbstractGBProcedure< Polynomial > * > loadGbProcedures()
static std::vector< GbBenchmark< C, O, P > > loadBenchmarks()
MultivariatePolynomial< C, O, P > Polynomial