[mathicgb] 358/393: Clean up of Reducer header file and remove statistics functionality from there. If we need that functionality in future, it should be implemented using the logging facility, not as a part of the main-line code.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Fri Apr 3 15:59:34 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch upstream
in repository mathicgb.

commit f0241a84c09147a04adc509df8932afd562a0197
Author: Bjarke Hammersholt Roune <bjarkehr.code at gmail.com>
Date:   Tue Sep 3 16:26:54 2013 +0200

    Clean up of Reducer header file and remove statistics functionality from there. If we need that functionality in future, it should be implemented using the logging facility, not as a part of the main-line code.
---
 src/mathicgb/ClassicGBAlg.cpp   |  34 +++++------
 src/mathicgb/F4Reducer.cpp      |  12 ----
 src/mathicgb/Reducer.cpp        |  20 +------
 src/mathicgb/Reducer.hpp        | 125 ++++++++++++++--------------------------
 src/mathicgb/SignatureGB.cpp    |  73 +++++++++++------------
 src/mathicgb/SignatureGB.hpp    |   6 --
 src/mathicgb/TypicalReducer.cpp |  13 -----
 src/test/gb-test.cpp            |   4 +-
 8 files changed, 96 insertions(+), 191 deletions(-)

diff --git a/src/mathicgb/ClassicGBAlg.cpp b/src/mathicgb/ClassicGBAlg.cpp
index 633b328..f93efaa 100755
--- a/src/mathicgb/ClassicGBAlg.cpp
+++ b/src/mathicgb/ClassicGBAlg.cpp
@@ -397,7 +397,7 @@ void ClassicGBAlg::printStats(std::ostream& out) const {
   value << mic::ColumnPrinter::commafy(reductions) << '\n';
   extra << '\n';
 
-  Reducer::Stats reducerStats = mReducer.sigStats();
+  //Reducer::Stats reducerStats = mReducer.sigStats();
   SPairs::Stats sPairStats = mSPairs.stats();
 
   unsigned long long const primeElim = sPairStats.relativelyPrimeHits;
@@ -406,55 +406,55 @@ void ClassicGBAlg::printStats(std::ostream& out) const {
   extra << mic::ColumnPrinter::percentInteger(primeElim, reductions)
         << " of late eliminations\n";
 
-  const unsigned long long singularReductions =
+  /*const unsigned long long singularReductions =
     reducerStats.singularReductions;
   name << "Singular reductions:\n";
   value << mic::ColumnPrinter::commafy(singularReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(singularReductions, reductions)
-        << " of reductions\n";
+        << " of reductions\n";*/
 
-  const unsigned long long zeroReductions = reducerStats.zeroReductions;
+  /*const unsigned long long zeroReductions = reducerStats.zeroReductions;
   name << "Reductions to zero:\n";
   value << mic::ColumnPrinter::commafy(zeroReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(zeroReductions, reductions)
-        << " of reductions\n";
+        << " of reductions\n";*/
 
-  const unsigned long long newReductions =
+  /*const unsigned long long newReductions =
     reductions - singularReductions - zeroReductions;
   name << "Reductions to new ele:\n";
   value << mic::ColumnPrinter::commafy(newReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(newReductions, reductions)
-        << " of reductions\n";
+        << " of reductions\n";*/
 
-  const unsigned long long redSteps = reducerStats.steps;
+  /*const unsigned long long redSteps = reducerStats.steps;
   name << "Sig reduction steps:\n";
   value << mic::ColumnPrinter::commafy(redSteps) << '\n';
   extra << mic::ColumnPrinter::ratioInteger
     (redSteps, reductions - singularReductions)
-        << " steps per non-sing reduction\n";
+        << " steps per non-sing reduction\n";*/
 
-  const unsigned long long longestReduction = reducerStats.maxSteps;
+  /*const unsigned long long longestReduction = reducerStats.maxSteps;
   name << "Longest sig reduction:\n";
   value << mic::ColumnPrinter::commafy(longestReduction) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  Reducer::Stats classicRedStats = mReducer.classicStats();
+  /*Reducer::Stats classicRedStats = mReducer.classicStats();
   const unsigned long long clReductions = classicRedStats.reductions;
   name << "Classic reductions:\n";
   value << mic::ColumnPrinter::commafy(clReductions) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  const unsigned long long clRedSteps =  classicRedStats.steps;
+  /*const unsigned long long clRedSteps =  classicRedStats.steps;
   const double clStepsRatio = static_cast<double>(clRedSteps) / clReductions;
   name << "Classic reduction steps:\n";
   value << mic::ColumnPrinter::commafy(clRedSteps) << '\n';
   extra << mic::ColumnPrinter::ratioInteger(clRedSteps, clReductions)
-        << " steps per reduction\n";
+        << " steps per reduction\n";*/
 
-  const unsigned long long clLongestReduction = classicRedStats.maxSteps;
+  /*const unsigned long long clLongestReduction = classicRedStats.maxSteps;
   name << "Longest classic red:\n";
   value << mic::ColumnPrinter::commafy(clLongestReduction) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
   //SPairs::Stats sPairStats = mSPairs.stats();  
   unsigned long long marginal = sPairStats.sPairsConsidered;
diff --git a/src/mathicgb/F4Reducer.cpp b/src/mathicgb/F4Reducer.cpp
index 360b74d..bf26ef4 100755
--- a/src/mathicgb/F4Reducer.cpp
+++ b/src/mathicgb/F4Reducer.cpp
@@ -72,8 +72,6 @@ std::unique_ptr<Poly> F4Reducer::classicReduce
       "F4Reducer: Using fall-back reducer for single classic reduction\n";
 
   auto p = mFallback->classicReduce(poly, basis);
-  mSigStats = mFallback->sigStats();
-  mClassicStats = mFallback->classicStats();
   return std::move(p);
 }
 
@@ -84,8 +82,6 @@ std::unique_ptr<Poly> F4Reducer::classicTailReduce
       "F4Reducer: Using fall-back reducer for single classic tail reduction\n";
 
   auto p = mFallback->classicTailReduce(poly, basis);
-  mSigStats = mFallback->sigStats();
-  mClassicStats = mFallback->classicStats();
   return std::move(p);
 }
 
@@ -98,8 +94,6 @@ std::unique_ptr<Poly> F4Reducer::classicReduceSPoly(
     std::cerr << "F4Reducer: "
       "Using fall-back reducer for single classic S-pair reduction\n";
   auto p = mFallback->classicReduceSPoly(a, b, basis);
-  mSigStats = mFallback->sigStats();
-  mClassicStats = mFallback->classicStats();
   return std::move(p);
 }
 
@@ -113,8 +107,6 @@ void F4Reducer::classicReduceSPolySet(
       std::cerr << "F4Reducer: Using fall-back reducer for "
         << spairs.size() << " S-pairs.\n";
     mFallback->classicReduceSPolySet(spairs, basis, reducedOut);
-    mSigStats = mFallback->sigStats();
-    mClassicStats = mFallback->classicStats();
     return;
   }
   reducedOut.clear();
@@ -181,8 +173,6 @@ void F4Reducer::classicReducePolySet
       std::cerr << "F4Reducer: Using fall-back reducer for "
                 << polys.size() << " polynomials.\n";
     mFallback->classicReducePolySet(polys, basis, reducedOut);
-    mSigStats = mFallback->sigStats();
-    mClassicStats = mFallback->classicStats();
     return;
   }
 
@@ -246,8 +236,6 @@ std::unique_ptr<Poly> F4Reducer::regularReduce(
     std::cerr <<
       "F4Reducer: Using fall-back reducer for single regular reduction\n";
   auto p = mFallback->regularReduce(sig, multiple, basisElement, basis);
-  mSigStats = mFallback->sigStats();
-  mClassicStats = mFallback->classicStats();
   return p;
 }
 
diff --git a/src/mathicgb/Reducer.cpp b/src/mathicgb/Reducer.cpp
index 0459942..e6e30d0 100755
--- a/src/mathicgb/Reducer.cpp
+++ b/src/mathicgb/Reducer.cpp
@@ -16,14 +16,7 @@
 
 MATHICGB_NAMESPACE_BEGIN
 
-Reducer::Reducer():
-  stats_maxsize(0),
-  stats_maxsize_live(0),
-  stats_n_inserts(0),
-  stats_n_compares(0) {}
-
-Reducer::~Reducer() {
-}
+Reducer::~Reducer() {}
 
 std::unique_ptr<Reducer> Reducer::makeReducer(
   ReducerType type,
@@ -153,15 +146,4 @@ void Reducer::displayReducerTypes(std::ostream &o)
   o << "  26   F4 reducer, new" << std::endl;
 }
 
-// Todo: can't this be machine generated?
-Reducer::Stats::Stats():
-  reductions(0),
-  singularReductions(0),
-  zeroReductions(0),
-  steps(0),
-  maxSteps(0) {}
-
-void Reducer::dump() const {
-}
-
 MATHICGB_NAMESPACE_END
diff --git a/src/mathicgb/Reducer.hpp b/src/mathicgb/Reducer.hpp
index f2878be..e9e0473 100755
--- a/src/mathicgb/Reducer.hpp
+++ b/src/mathicgb/Reducer.hpp
@@ -13,10 +13,9 @@ MATHICGB_NAMESPACE_BEGIN
 class SigPolyBasis;
 class PolyBasis;
 
-/** Abstract base class for classes that allow reduction of polynomials.
-
-todo: consider changing name of findLeadTerm to leadTerm.
-*/
+/// Abstract base class for classes that allow reduction of polynomials.
+///
+/// @todo: consider changing name of findLeadTerm to leadTerm.
 class Reducer {
 public:
   virtual ~Reducer();
@@ -28,53 +27,60 @@ public:
   /// larger sets of reductions at a time.
   virtual unsigned int preferredSetSize() const = 0;
 
+  virtual std::string description() const = 0;
+  virtual size_t getMemoryUse() const = 0;
+
   // ***** Methods that do reduction
 
-  /** Clasically reduces poly by the basis elements of basis. The reduction
-    is classic in that no signatures are taken into account. */
+  /// Clasically reduces poly by the basis elements of basis. The reduction
+  ///  is classic in that no signatures are taken into account.
   virtual std::unique_ptr<Poly> classicReduce
-  (const Poly& poly, const PolyBasis& basis) = 0;
+    (const Poly& poly, const PolyBasis& basis) = 0;
 
-  /** Clasically reduces poly by the basis elements of basis, except that the
-   lead term is not reduced. The reduction is classic in that no signatures
-   are taken into account. */
+  /// Clasically reduces poly by the basis elements of basis, except that the
+  /// lead term is not reduced. The reduction is classic in that no signatures
+  /// are taken into account.
   virtual std::unique_ptr<Poly> classicTailReduce
-  (const Poly& poly, const PolyBasis& basis) = 0;
+    (const Poly& poly, const PolyBasis& basis) = 0;
 
-  /** Clasically reduces the S-polynomial between a and b. */
+  /// Clasically reduces the S-polynomial between a and b.
   virtual std::unique_ptr<Poly> classicReduceSPoly
-  (const Poly& a, const Poly& b, const PolyBasis& basis) = 0;
-
-  /** Clasically reduces the S-polynomial of these pairs. May or may
-      not also interreduce these to some extent. Polynomials that are
-      reduced to zero are not put into reducedOut. */
-  virtual void classicReduceSPolySet
-  (std::vector<std::pair<size_t, size_t> >& spairs,
-   const PolyBasis& basis,
-   std::vector<std::unique_ptr<Poly> >& reducedOut) = 0;
-
-  /** Clasically reduces the passed-in polynomials of these pairs. May
-      or may not also interreduce these to some extent. Polynomials
-      that are reduced to zero are not put into reducedOut. */
-  virtual void classicReducePolySet
-  (const std::vector<std::unique_ptr<Poly> >& polys,
-   const PolyBasis& basis,
-   std::vector<std::unique_ptr<Poly> >& reducedOut) = 0;
-
-  /** Regular reduce multiple*basisElement in signature sig by the
-    basis elements in basis. Returns null (0) if multiple*basisElement
-    is not regular top reducible -- this indicates a singular
-    reduction. */
+    (const Poly& a, const Poly& b, const PolyBasis& basis) = 0;
+
+  /// Clasically reduces the S-polynomial of these pairs. May or may
+  /// not also interreduce these to some extent. Polynomials that are
+  /// reduced to zero are not put into reducedOut.
+  virtual void classicReduceSPolySet(
+    std::vector<std::pair<size_t, size_t> >& spairs,
+    const PolyBasis& basis,
+    std::vector<std::unique_ptr<Poly> >& reducedOut
+  ) = 0;
+
+  /// Clasically reduces the passed-in polynomials of these pairs. May
+  /// or may not also interreduce these to some extent. Polynomials
+  /// that are reduced to zero are not put into reducedOut.
+  virtual void classicReducePolySet(
+    const std::vector<std::unique_ptr<Poly> >& polys,
+    const PolyBasis& basis,
+    std::vector<std::unique_ptr<Poly> >& reducedOut
+  ) = 0;
+
+  /// Regular reduce multiple*basisElement in signature sig by the
+  /// basis elements in basis. Returns null (0) if multiple*basisElement
+  /// is not regular top reducible -- this indicates a singular
+  /// reduction.
   virtual std::unique_ptr<Poly> regularReduce(
     const_monomial sig,
     const_monomial multiple,
     size_t basisElement,
-    const SigPolyBasis& basis) = 0;
+    const SigPolyBasis& basis
+  ) = 0;
 
-  /** Sets how many bytes of memory to increase the memory use by
-    at a time - if such a thing is appropriate for the reducer. */
+  /// Sets how many bytes of memory to increase the memory use by
+  /// at a time - if such a thing is appropriate for the reducer.
   virtual void setMemoryQuantum(size_t quantum) = 0;
 
+
   // ***** Kinds of reducers and creating a Reducer 
 
   enum ReducerType {
@@ -111,51 +117,6 @@ public:
 
   static ReducerType reducerType(int typ);
   static void displayReducerTypes(std::ostream& o);
-
-
-  // ***** Obtaining statistics about the reduction process
-
-  struct Stats {
-    Stats();
-
-    // Number of signature reductions performed including singular reductions.
-    unsigned long long reductions;
-
-    // Number of regular reductions where the polynomial was not top
-    // regular reducible.
-    unsigned long long singularReductions;
-
-    // Number of reductions to zero.
-    unsigned long long zeroReductions;
-
-    // Total number of steps across all reductions. Does not count detecting
-    // singular reduction as a reduction step.
-    unsigned long long steps;
-
-    // Number of reduction steps in the reduction that had the most steps.
-    unsigned long long maxSteps;
-  };
-
-  Stats sigStats() const {return mSigStats;}
-  Stats classicStats() const {return mClassicStats;}
-
-
-  // ***** Miscellaneous
-
-  virtual std::string description() const = 0;
-  virtual size_t getMemoryUse() const = 0;
-  virtual void dump() const;
-
-protected:
-  Reducer();
-
-  size_t stats_maxsize;
-  size_t stats_maxsize_live;
-  unsigned long long stats_n_inserts;
-  unsigned long long stats_n_compares;
-
-  Stats mSigStats;
-  Stats mClassicStats;
 };
 
 MATHICGB_NAMESPACE_END
diff --git a/src/mathicgb/SignatureGB.cpp b/src/mathicgb/SignatureGB.cpp
index 73e0599..283b9a5 100755
--- a/src/mathicgb/SignatureGB.cpp
+++ b/src/mathicgb/SignatureGB.cpp
@@ -302,7 +302,7 @@ void SignatureGB::displayStats(std::ostream &o) const
 
 void SignatureGB::displayPaperStats(std::ostream& out) const {
   SigSPairs::Stats stats = SP->getStats();
-  Reducer::Stats reducerStats = reducer->sigStats();
+  //Reducer::Stats reducerStats = reducer->sigStats();
   mic::ColumnPrinter pr;
   pr.addColumn(true, " ");
   pr.addColumn(false, " ");
@@ -369,20 +369,21 @@ void SignatureGB::displayPaperStats(std::ostream& out) const {
   value << mic::ColumnPrinter::commafy(stats_relativelyPrimeEliminated) << '\n';
   extra << '\n';
 
-  name << "Removed (singular reduction):\n";
+  /*name << "Removed (singular reduction):\n";
   value << mic::ColumnPrinter::commafy(reducerStats.singularReductions) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  unsigned long long nonzeroReductions = stats_pairsReduced - reducerStats.singularReductions - reducerStats.zeroReductions;
+  //unsigned long long nonzeroReductions = stats_pairsReduced - reducerStats.singularReductions - reducerStats.zeroReductions;
 
-  name << "Number of pairs reduced to signature GB elems:\n";
+  /*name << "Number of pairs reduced to signature GB elems:\n";
   value << mic::ColumnPrinter::commafy(nonzeroReductions) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  name << "Number of pairs reduced to new syzygy signatures:\n";
+  /*name << "Number of pairs reduced to new syzygy signatures:\n";
   value << mic::ColumnPrinter::commafy(reducerStats.zeroReductions) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
+  /*
   unsigned long long nleft = considered 
     - stats.nonregularSPairs 
     - stats.lowBaseDivisorHits 
@@ -405,7 +406,7 @@ void SignatureGB::displayPaperStats(std::ostream& out) const {
   
   name << "Number of spairs unaccounted for:\n";
   value << mic::ColumnPrinter::commafy(nleft) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
 #ifdef MATHIC_TRACK_DIV_MASK_HIT_RATIO
   name << "Divisor Mask Stats" << '\n';
@@ -561,76 +562,76 @@ void SignatureGB::displaySomeStats(std::ostream& out) const {
   extra << mic::ColumnPrinter::oneDecimal(perSig)
     << " spairs per signature\n";
 
-  Reducer::Stats reducerStats = reducer->sigStats();
+  //Reducer::Stats reducerStats = reducer->sigStats();
 
-  const unsigned long long reductions = reducerStats.reductions;
+  /*const unsigned long long reductions = reducerStats.reductions;
   const size_t koszulElim = stats_koszulEliminated;
   name << "Koszul sp eliminated:\n";
   value << mic::ColumnPrinter::commafy(koszulElim) << '\n';
   extra << mic::ColumnPrinter::percentInteger(koszulElim, sigsDone - reductions)
-    << " of late eliminations\n";
+    << " of late eliminations\n";*/
 
-  const size_t primeElim = stats_relativelyPrimeEliminated;
+  /*const size_t primeElim = stats_relativelyPrimeEliminated;
   name << "Rel.prime sp eliminated:\n";
   value << mic::ColumnPrinter::commafy(primeElim) << '\n';
   extra << mic::ColumnPrinter::percentInteger(primeElim, sigsDone - reductions)
-    << " of late eliminations\n";
+    << " of late eliminations\n";*/
 
-  name << "Signature reductions:\n";
+  /*name << "Signature reductions:\n";
   value << mic::ColumnPrinter::commafy(reductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(reductions, sigsDone)
-    << " of S-pairs are reduced\n";
+    << " of S-pairs are reduced\n";*/
 
-  const unsigned long long singularReductions =
+  /*const unsigned long long singularReductions =
     reducerStats.singularReductions;
   name << "Singular reductions:\n";
   value << mic::ColumnPrinter::commafy(singularReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(singularReductions, reductions)
-    << " of reductions\n";
+    << " of reductions\n";*/
 
-  const unsigned long long zeroReductions = reducerStats.zeroReductions;
+  /*const unsigned long long zeroReductions = reducerStats.zeroReductions;
   name << "Reductions to zero:\n";
   value << mic::ColumnPrinter::commafy(zeroReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(zeroReductions, reductions)
-    << " of reductions\n";
+    << " of reductions\n";*/
 
-  const unsigned long long newReductions =
+  /*const unsigned long long newReductions =
     reductions - singularReductions - zeroReductions;
   name << "Reductions to new ele:\n";
   value << mic::ColumnPrinter::commafy(newReductions) << '\n';
   extra << mic::ColumnPrinter::percentInteger(newReductions, reductions)
-    << " of reductions\n";
+    << " of reductions\n";*/
 
-  const unsigned long long redSteps = reducerStats.steps;
+  /*const unsigned long long redSteps = reducerStats.steps;
   const double stepsRatio =
     static_cast<double>(redSteps) / (reductions - singularReductions);
   name << "Sig reduction steps:\n";
   value << mic::ColumnPrinter::commafy(redSteps) << '\n';
   extra << mic::ColumnPrinter::oneDecimal(stepsRatio)
-    << " steps per non-sing reduction\n";
+    << " steps per non-sing reduction\n";*/
 
-  const unsigned long long longestReduction = reducerStats.maxSteps;
+  /*const unsigned long long longestReduction = reducerStats.maxSteps;
   name << "Longest sig reduction:\n";
   value << mic::ColumnPrinter::commafy(longestReduction) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  Reducer::Stats classicRedStats = reducer->classicStats();
+  /*Reducer::Stats classicRedStats = reducer->classicStats();
   const unsigned long long clReductions = classicRedStats.reductions;
   name << "Classic reductions:\n";
   value << mic::ColumnPrinter::commafy(clReductions) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
-  const unsigned long long clRedSteps =  classicRedStats.steps;
+  /*const unsigned long long clRedSteps =  classicRedStats.steps;
   const double clStepsRatio = static_cast<double>(clRedSteps) / clReductions;
   name << "Classic reduction steps:\n";
   value << mic::ColumnPrinter::commafy(clRedSteps) << '\n';
   extra << mic::ColumnPrinter::oneDecimal(clStepsRatio)
-    << " steps per reduction\n";
+    << " steps per reduction\n";*/
 
-  const unsigned long long clLongestReduction = classicRedStats.maxSteps;
+  /*const unsigned long long clLongestReduction = classicRedStats.maxSteps;
   name << "Longest classic red:\n";
   value << mic::ColumnPrinter::commafy(clLongestReduction) << '\n';
-  extra << '\n';
+  extra << '\n';*/
 
   out << "*** Some of the statistics ***\n" << pr << std::flush;
 }
@@ -701,12 +702,4 @@ void SignatureGB::displayMemoryUse(std::ostream& out) const
   out << "*** Summary of memory use ***\n" << pr << std::flush;
 }
 
-unsigned long long SignatureGB::getSigReductionCount() const {
-  return reducer->sigStats().reductions;
-}
-
-unsigned long long SignatureGB::getSingularReductionCount() const {
-  return reducer->sigStats().singularReductions;
-}
-
 MATHICGB_NAMESPACE_END
diff --git a/src/mathicgb/SignatureGB.hpp b/src/mathicgb/SignatureGB.hpp
index de76f0a..d7f800e 100755
--- a/src/mathicgb/SignatureGB.hpp
+++ b/src/mathicgb/SignatureGB.hpp
@@ -40,12 +40,6 @@ public:
 
   void computeGrobnerBasis();
 
-  // How many S-pairs were not eliminated before reduction.
-  unsigned long long getSigReductionCount() const;
-
-  // How many reductions were singular
-  unsigned long long getSingularReductionCount() const;
-
   SigPolyBasis* getGB() { return GB.get(); }
   ModuleMonoSet* getSyzTable() { return mProcessor->processingNeeded() ? Hsyz2.get() : Hsyz.get(); }
   SigSPairs* getSigSPairs() { return SP.get(); }
diff --git a/src/mathicgb/TypicalReducer.cpp b/src/mathicgb/TypicalReducer.cpp
index 9c7212f..c0ca77d 100755
--- a/src/mathicgb/TypicalReducer.cpp
+++ b/src/mathicgb/TypicalReducer.cpp
@@ -30,7 +30,6 @@ std::unique_ptr<Poly> TypicalReducer::regularReduce(
   const SigPolyBasis& basis)
 {
   const PolyRing& ring = basis.ring();
-  ++mSigStats.reductions;
 
   monomial tproduct = ring.allocMonomial(mArena);
   monomial u = ring.allocMonomial(mArena);
@@ -38,7 +37,6 @@ std::unique_ptr<Poly> TypicalReducer::regularReduce(
 
   size_t reducer = basis.regularReducer(sig, tproduct);
   if (reducer == static_cast<size_t>(-1)) {
-    ++mSigStats.singularReductions;
     mArena.freeAllAllocs();
     return nullptr; // singular reduction: no regular top reduction possible
   }
@@ -76,11 +74,6 @@ std::unique_ptr<Poly> TypicalReducer::regularReduce(
   }
   result->makeMonic();
 
-  mSigStats.steps += steps;
-  mSigStats.maxSteps = std::max(mSigStats.maxSteps, steps);
-  if (result->isZero())
-    ++mSigStats.zeroReductions;
-
   reset();
   return result;
 }
@@ -171,7 +164,6 @@ std::unique_ptr<Poly> TypicalReducer::classicReduce
     (std::unique_ptr<Poly> result, const PolyBasis& basis) {
   const PolyRing& ring = basis.ring();
   MATHICGB_ASSERT(&result->ring() == &ring);
-  ++mClassicStats.reductions;
 
   if (tracingLevel > 100)
     std::cerr << "Classic reduction begun." << std::endl;
@@ -215,11 +207,6 @@ std::unique_ptr<Poly> TypicalReducer::classicReduce
   }
   result->makeMonic();
 
-  mClassicStats.steps += steps;
-  mClassicStats.maxSteps = std::max(mClassicStats.maxSteps, steps);
-  if (result->isZero())
-    ++mClassicStats.zeroReductions;
-
   if (tracingLevel > 100)
     std::cerr << "Classic reduction done." << std::endl;
 
diff --git a/src/test/gb-test.cpp b/src/test/gb-test.cpp
index 0e01cd0..cef0d30 100755
--- a/src/test/gb-test.cpp
+++ b/src/test/gb-test.cpp
@@ -304,10 +304,10 @@ spairQueue	reducerType	divLookup	monTable	buchberger	postponeKoszul	useBaseDivis
         << reducerType << ' ' << divLookup << ' '
         << monTable << ' ' << ' ' << postponeKoszul << ' '
         << useBaseDivisors;
-      EXPECT_EQ(nonSingularReductions, alg.getSigReductionCount() - alg.getSingularReductionCount())
+      /*EXPECT_EQ(nonSingularReductions, alg.getSigReductionCount() - alg.getSingularReductionCount())
         << reducerType << ' ' << divLookup << ' '
         << monTable << ' ' << ' ' << postponeKoszul << ' '
-        << useBaseDivisors;
+        << useBaseDivisors;*/
     }
   }
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mathicgb.git



More information about the debian-science-commits mailing list