[mathicgb] 343/393: Renamed DivLookup to StaticMonoLookup and DivisorLookup to MonoLookup.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Fri Apr 3 15:59:32 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 1e0183222bc3521a4da3c7b5394c4ead53070f9d
Author: Bjarke Hammersholt Roune <bjarkehr.code at gmail.com>
Date:   Wed Aug 28 16:40:14 2013 +0200

    Renamed DivLookup to StaticMonoLookup and DivisorLookup to MonoLookup.
---
 Makefile.am                                        |  4 +--
 build/vs12/mathicgb-lib/mathicgb-lib.vcxproj       |  6 ++--
 .../vs12/mathicgb-lib/mathicgb-lib.vcxproj.filters | 18 +++++-----
 src/cli/GBAction.cpp                               |  2 +-
 src/cli/GBCommonParams.cpp                         | 14 ++++----
 src/cli/GBCommonParams.hpp                         |  2 +-
 src/cli/SigGBAction.cpp                            |  2 +-
 src/mathicgb/ClassicGBAlg.cpp                      |  8 ++---
 src/mathicgb/ClassicGBAlg.hpp                      |  2 +-
 src/mathicgb/{DivisorLookup.cpp => MonoLookup.cpp} | 41 +++++++++++-----------
 src/mathicgb/{DivisorLookup.hpp => MonoLookup.hpp} | 12 +++----
 src/mathicgb/PolyBasis.cpp                         | 23 ++++++------
 src/mathicgb/PolyBasis.hpp                         | 14 ++++----
 src/mathicgb/SPairs.cpp                            | 13 +++----
 src/mathicgb/SigPolyBasis.cpp                      | 34 +++++++++---------
 src/mathicgb/SigPolyBasis.hpp                      | 14 ++++----
 src/mathicgb/SignatureGB.cpp                       |  4 +--
 src/mathicgb/SignatureGB.hpp                       |  1 -
 .../{DivLookup.hpp => StaticMonoLookup.hpp}        | 18 +++++-----
 src/test/F4MatrixBuilder.cpp                       |  2 +-
 20 files changed, 116 insertions(+), 118 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 17590cf..6964917 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,8 +17,8 @@ libmathicgb_la_SOURCES = src/mathicgb/BjarkeGeobucket2.cpp		\
   src/mathicgb/BjarkeGeobucket2.hpp src/mathicgb/BjarkeGeobucket.cpp	\
   src/mathicgb/BjarkeGeobucket.hpp src/mathicgb/ClassicGBAlg.cpp	\
   src/mathicgb/ClassicGBAlg.hpp src/mathicgb/ChainedHashTable.cpp	\
-  src/mathicgb/ChainedHashTable.hpp src/mathicgb/DivisorLookup.hpp	\
-  src/mathicgb/DivisorLookup.cpp src/mathicgb/DivLookup.hpp		\
+  src/mathicgb/ChainedHashTable.hpp src/mathicgb/MonoLookup.hpp		\
+  src/mathicgb/MonoLookup.cpp src/mathicgb/StaticMonoLookup.hpp		\
   src/mathicgb/SigPolyBasis.cpp src/mathicgb/SigPolyBasis.hpp		\
   src/mathicgb/HashTourReducer.cpp src/mathicgb/HashTourReducer.hpp	\
   src/mathicgb/Basis.cpp src/mathicgb/Basis.hpp				\
diff --git a/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj b/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj
index 46b17f6..e2a0ca3 100755
--- a/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj
+++ b/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj
@@ -446,7 +446,6 @@
     <ClCompile Include="..\..\..\src\mathicgb\CFile.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\ChainedHashTable.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\ClassicGBAlg.cpp" />
-    <ClCompile Include="..\..\..\src\mathicgb\DivisorLookup.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\F4MatrixBuilder.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\F4MatrixBuilder2.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\F4MatrixProjection.cpp" />
@@ -457,6 +456,7 @@
     <ClCompile Include="..\..\..\src\mathicgb\io-util.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\LogDomain.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\LogDomainSet.cpp" />
+    <ClCompile Include="..\..\..\src\mathicgb\MonoLookup.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\MTArray.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\PairTriangle.cpp" />
     <ClCompile Include="..\..\..\src\mathicgb\Poly.cpp" />
@@ -489,8 +489,6 @@
     <ClInclude Include="..\..\..\src\mathicgb\CFile.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\ChainedHashTable.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\ClassicGBAlg.hpp" />
-    <ClInclude Include="..\..\..\src\mathicgb\DivisorLookup.hpp" />
-    <ClInclude Include="..\..\..\src\mathicgb\DivLookup.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\F4MatrixBuilder.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\F4MatrixBuilder2.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\F4MatrixProjection.hpp" />
@@ -504,6 +502,7 @@
     <ClInclude Include="..\..\..\src\mathicgb\LogDomain.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\LogDomainSet.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\MathicIO.hpp" />
+    <ClInclude Include="..\..\..\src\mathicgb\MonoLookup.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\MonomialHashTable.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\MonomialMap.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\MonoMonoid.hpp" />
@@ -543,6 +542,7 @@
     <ClInclude Include="..\..\..\src\mathicgb\SigSPairs.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\SPairs.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\SparseMatrix.hpp" />
+    <ClInclude Include="..\..\..\src\mathicgb\StaticMonoLookup.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\stdinc.h" />
     <ClInclude Include="..\..\..\src\mathicgb\TournamentReducer.hpp" />
     <ClInclude Include="..\..\..\src\mathicgb\TypicalReducer.hpp" />
diff --git a/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj.filters b/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj.filters
index 7c97ddc..201079b 100755
--- a/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj.filters
+++ b/build/vs12/mathicgb-lib/mathicgb-lib.vcxproj.filters
@@ -20,9 +20,6 @@
     <ClCompile Include="..\..\..\src\mathicgb\ChainedHashTable.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\src\mathicgb\DivisorLookup.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\src\mathicgb\F4MatrixBuilder.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -131,6 +128,9 @@
     <ClCompile Include="..\..\..\src\mathicgb\SigPolyBasis.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\..\src\mathicgb\MonoLookup.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\src\mathicgb\BjarkeGeobucket.hpp">
@@ -142,12 +142,6 @@
     <ClInclude Include="..\..\..\src\mathicgb\ChainedHashTable.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\src\mathicgb\DivisorLookup.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\src\mathicgb\DivLookup.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\src\mathicgb\F4MatrixBuilder.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -331,5 +325,11 @@
     <ClInclude Include="..\..\..\src\mathicgb\Unchar.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\..\src\mathicgb\StaticMonoLookup.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\mathicgb\MonoLookup.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/cli/GBAction.cpp b/src/cli/GBAction.cpp
index 5eebe0e..8715d88 100755
--- a/src/cli/GBAction.cpp
+++ b/src/cli/GBAction.cpp
@@ -85,7 +85,7 @@ void GBAction::performAction() {
   ClassicGBAlg alg(
     basis,
     *reducer,
-    mGBParams.mDivisorLookup.value(),
+    mGBParams.mMonoLookup.value(),
     mGBParams.mPreferSparseReducers.value(),
     mGBParams.mSPairQueue.value());
   alg.setBreakAfter(mGBParams.mBreakAfter.value());
diff --git a/src/cli/GBCommonParams.cpp b/src/cli/GBCommonParams.cpp
index f541742..b77012d 100755
--- a/src/cli/GBCommonParams.cpp
+++ b/src/cli/GBCommonParams.cpp
@@ -5,7 +5,7 @@
 
 #include "mathicgb/MTArray.hpp"
 #include "mathicgb/PolyReducer.hpp"
-#include "mathicgb/DivisorLookup.hpp"
+#include "mathicgb/MonoLookup.hpp"
 
 MATHICGB_NAMESPACE_BEGIN
 
@@ -46,8 +46,8 @@ GBCommonParams::GBCommonParams():
     "The kind of monomial table data structure to use.\n",
     2),
 
-  mDivisorLookup("divisorLookup",
-    "The divisor lookup data structure to use.\n",
+  mMonoLookup("divisorLookup",
+    "The monomial lookup data structure to use.\n",
     2),
 
   mReducer("reducer",
@@ -64,9 +64,9 @@ GBCommonParams::GBCommonParams():
     mReducer.appendToDescription(reducerOut.str());
   }
   {
-    std::ostringstream divisorLookupOut;
-    DivisorLookup::displayDivisorLookupTypes(divisorLookupOut);
-    mDivisorLookup.appendToDescription(divisorLookupOut.str());
+    std::ostringstream monoLookupOut;
+    MonoLookup::displayMonoLookupTypes(monoLookupOut);
+    mMonoLookup.appendToDescription(monoLookupOut.str());
   }
   {
     std::ostringstream monomialTableOut;
@@ -84,7 +84,7 @@ void GBCommonParams::pushBackParameters(
   parameters.push_back(&mBreakAfter);
   parameters.push_back(&mPrintInterval);
   parameters.push_back(&mMonomialTable);
-  parameters.push_back(&mDivisorLookup);
+  parameters.push_back(&mMonoLookup);
   parameters.push_back(&mReducer);
   parameters.push_back(&mMemoryQuantum);
 }
diff --git a/src/cli/GBCommonParams.hpp b/src/cli/GBCommonParams.hpp
index 65441a5..5bbb4f2 100755
--- a/src/cli/GBCommonParams.hpp
+++ b/src/cli/GBCommonParams.hpp
@@ -20,7 +20,7 @@ public:
   mathic::IntegerParameter mBreakAfter;
   mathic::IntegerParameter mPrintInterval;
   mathic::IntegerParameter mMonomialTable;
-  mathic::IntegerParameter mDivisorLookup;
+  mathic::IntegerParameter mMonoLookup;
   mathic::IntegerParameter mReducer;
   mathic::IntegerParameter mMemoryQuantum;
 };
diff --git a/src/cli/SigGBAction.cpp b/src/cli/SigGBAction.cpp
index 01f6cc6..dbe5291 100755
--- a/src/cli/SigGBAction.cpp
+++ b/src/cli/SigGBAction.cpp
@@ -63,7 +63,7 @@ void SigGBAction::performAction() {
     std::move(basis),
     std::move(processor),
     Reducer::reducerType(mGBParams.mReducer.value()),
-    mGBParams.mDivisorLookup.value(),
+    mGBParams.mMonoLookup.value(),
     mGBParams.mMonomialTable.value(),
     mPostponeKoszul.value(),
     mUseBaseDivisors.value(),
diff --git a/src/mathicgb/ClassicGBAlg.cpp b/src/mathicgb/ClassicGBAlg.cpp
index f4447f3..11014f1 100755
--- a/src/mathicgb/ClassicGBAlg.cpp
+++ b/src/mathicgb/ClassicGBAlg.cpp
@@ -18,7 +18,7 @@ MATHICGB_NAMESPACE_BEGIN
 ClassicGBAlg::ClassicGBAlg(
   const Basis& basis,
   Reducer& reducer,
-  int divisorLookupType,
+  int monoLookupType,
   bool preferSparseReducers,
   size_t queueType
 ):
@@ -30,9 +30,9 @@ ClassicGBAlg::ClassicGBAlg(
   mUseAutoTailReduction(false),
   mRing(*basis.getPolyRing()),
   mReducer(reducer),
-  mBasis(mRing, DivisorLookup::makeFactory(
+  mBasis(mRing, MonoLookup::makeFactory(
     *basis.getPolyRing(),
-    divisorLookupType)->create(preferSparseReducers, true)
+    monoLookupType)->create(preferSparseReducers, true)
   ),
   mSPairs(mBasis, preferSparseReducers),
   mSPolyReductionCount(0)
@@ -331,7 +331,7 @@ size_t ClassicGBAlg::getMemoryUse() const {
 
 void ClassicGBAlg::printStats(std::ostream& out) const {
   out << " reduction type:     " << mReducer.description() << '\n';
-  out << " divisor tab type:   " << mBasis.divisorLookup().getName() << '\n';
+  out << " divisor tab type:   " << mBasis.monoLookup().getName() << '\n';
   out << " S-pair queue type:  " << mSPairs.name() << '\n';
   out << " total compute time: " << mTimer.getMilliseconds()/1000.0 << " seconds " << '\n';
   out << " S-pair group size:  " << mSPairGroupSize << '\n';
diff --git a/src/mathicgb/ClassicGBAlg.hpp b/src/mathicgb/ClassicGBAlg.hpp
index f98af63..b74674f 100755
--- a/src/mathicgb/ClassicGBAlg.hpp
+++ b/src/mathicgb/ClassicGBAlg.hpp
@@ -21,7 +21,7 @@ public:
   ClassicGBAlg(
     const Basis& basis,
     Reducer& reducer,
-    int divisorLookupType,
+    int monoLookupType,
     bool preferSparseReducers,
     size_t queueType
   );
diff --git a/src/mathicgb/DivisorLookup.cpp b/src/mathicgb/MonoLookup.cpp
similarity index 84%
rename from src/mathicgb/DivisorLookup.cpp
rename to src/mathicgb/MonoLookup.cpp
index 8e010ea..58f861d 100755
--- a/src/mathicgb/DivisorLookup.cpp
+++ b/src/mathicgb/MonoLookup.cpp
@@ -1,10 +1,10 @@
 // MathicGB copyright 2012 all rights reserved. MathicGB comes with ABSOLUTELY
 // NO WARRANTY and is licensed as GPL v2.0 or later - see LICENSE.txt.
 #include "stdinc.h"
-#include "DivisorLookup.hpp"
+#include "MonoLookup.hpp"
 
 #include "SigPolyBasis.hpp"
-#include "DivLookup.hpp"
+#include "StaticMonoLookup.hpp"
 #include <mathic.h>
 
 MATHICGB_NAMESPACE_BEGIN
@@ -15,9 +15,9 @@ namespace {
     bool AllowRemovals,
     bool UseDivMask
   >
-  class ConcreteDivisorLookup : public DivisorLookup {
+  class ConcreteMonoLookup : public MonoLookup {
   public:
-    ConcreteDivisorLookup(
+    ConcreteMonoLookup(
       const Monoid& monoid,
       int type,
       bool preferSparseReducers
@@ -120,7 +120,7 @@ namespace {
     virtual size_t size() const {return mLookup.size();}
 
   private:
-    DivLookup<BaseLookupTemplate, AllowRemovals, UseDivMask> mLookup;
+    StaticMonoLookup<BaseLookupTemplate, AllowRemovals, UseDivMask> mLookup;
     const int mType;
     const bool mPreferSparseReducers;
     PolyBasis const* mBasis;
@@ -132,18 +132,18 @@ namespace {
     bool AllowRemovals,
     bool UseDivMask
   >
-  std::unique_ptr<DivisorLookup> create(
-    const DivisorLookup::Monoid& monoid,
+  std::unique_ptr<MonoLookup> create(
+    const MonoLookup::Monoid& monoid,
     int type,
     bool preferSparseReducers
   ) {
-    auto p = new ConcreteDivisorLookup<BaseLookup, AllowRemovals, UseDivMask>
+    auto p = new ConcreteMonoLookup<BaseLookup, AllowRemovals, UseDivMask>
       (monoid, type, preferSparseReducers);
-    return std::unique_ptr<DivisorLookup>(p);
+    return std::unique_ptr<MonoLookup>(p);
   }
 
-  std::unique_ptr<DivisorLookup> createGeneral(
-    const DivisorLookup::Monoid& monoid,
+  std::unique_ptr<MonoLookup> createGeneral(
+    const MonoLookup::Monoid& monoid,
     int type,
     bool preferSparseReducers,
     bool allowRemovals
@@ -180,14 +180,14 @@ namespace {
     }
   }
 
-  class ConcreteFactory : public DivisorLookup::Factory {
+  class ConcreteFactory : public MonoLookup::Factory {
   public:
     ConcreteFactory(const Monoid& monoid, int type): 
       mMonoid(monoid),
       mType(type)
     {}
 
-    virtual std::unique_ptr<DivisorLookup> create(
+    virtual std::unique_ptr<MonoLookup> create(
       bool preferSparseReducers,
       bool allowRemovals
     ) const {
@@ -201,20 +201,19 @@ namespace {
   };
 }
 
-std::unique_ptr<DivisorLookup::Factory> DivisorLookup::makeFactory(
+std::unique_ptr<MonoLookup::Factory> MonoLookup::makeFactory(
   const PolyRing& ring,
   int type
 ) {
   return std::unique_ptr<Factory>(new ConcreteFactory(ring.monoid(), type));
 }
 
-void DivisorLookup::displayDivisorLookupTypes(std::ostream &o)
-{
-  o << "Divisor Lookup Types:" << std::endl;
-  o << "  1   divlist+divmask" << std::endl;
-  o << "  2   kdtree+divmask" << std::endl;
-  o << "  3   divlist" << std::endl;
-  o << "  4   kdtree" << std::endl;
+void MonoLookup::displayMonoLookupTypes(std::ostream& out) {
+  out << "Mono Lookup Types:" << std::endl;
+  out << "  1   divlist+divmask" << std::endl;
+  out << "  2   kdtree+divmask" << std::endl;
+  out << "  3   divlist" << std::endl;
+  out << "  4   kdtree" << std::endl;
 }
 
 MATHICGB_NAMESPACE_END
diff --git a/src/mathicgb/DivisorLookup.hpp b/src/mathicgb/MonoLookup.hpp
similarity index 93%
rename from src/mathicgb/DivisorLookup.hpp
rename to src/mathicgb/MonoLookup.hpp
index fd6c7a2..594e96d 100755
--- a/src/mathicgb/DivisorLookup.hpp
+++ b/src/mathicgb/MonoLookup.hpp
@@ -1,7 +1,7 @@
 // MathicGB copyright 2012 all rights reserved. MathicGB comes with ABSOLUTELY
 // NO WARRANTY and is licensed as GPL v2.0 or later - see LICENSE.txt.
-#ifndef MATHICGB_DIVISOR_LOOKUP_GUARD
-#define MATHICGB_DIVISOR_LOOKUP_GUARD
+#ifndef MATHICGB_MONO_LOOKUP_GUARD
+#define MATHICGB_MONO_LOOKUP_GUARD
 
 #include "PolyRing.hpp"
 #include <vector>
@@ -13,7 +13,7 @@ class SigPolyBasis;
 
 // Supports queries on the lead terms of the monomials in a PolyBasis.
 // todo: rename to MonomialLookup.
-class DivisorLookup
+class MonoLookup
 {
 public:
   typedef PolyRing::Monoid Monoid;
@@ -28,7 +28,7 @@ public:
   // parameter object is the same each time.
   virtual void setSigBasis(const SigPolyBasis& sigBasis) = 0;
 
-  virtual ~DivisorLookup() {}
+  virtual ~MonoLookup() {}
 
   virtual void insert(ConstMonoRef mono, size_t index) = 0;
 
@@ -57,11 +57,11 @@ public:
 
   virtual int type() const = 0;
 
-  static void displayDivisorLookupTypes(std::ostream& o);
+  static void displayMonoLookupTypes(std::ostream& out);
 
   class Factory {
   public:
-    virtual std::unique_ptr<DivisorLookup> create
+    virtual std::unique_ptr<MonoLookup> create
       (bool preferSparseReducers, bool allowRemovals) const = 0;
   };
   static std::unique_ptr<Factory> makeFactory
diff --git a/src/mathicgb/PolyBasis.cpp b/src/mathicgb/PolyBasis.cpp
index e2cf091..4781ece 100755
--- a/src/mathicgb/PolyBasis.cpp
+++ b/src/mathicgb/PolyBasis.cpp
@@ -4,19 +4,18 @@
 #include "PolyBasis.hpp"
 
 #include "Basis.hpp"
-#include "DivisorLookup.hpp"
 
 MATHICGB_NAMESPACE_BEGIN
 
 PolyBasis::PolyBasis(
   const PolyRing& ring,
-  std::unique_ptr<DivisorLookup> divisorLookup
+  std::unique_ptr<MonoLookup> monoLookup
 ):
   mRing(ring),
-  mDivisorLookup(std::move(divisorLookup))
+  mMonoLookup(std::move(monoLookup))
 {
-  MATHICGB_ASSERT(mDivisorLookup.get() != 0);
-  mDivisorLookup->setBasis(*this);
+  MATHICGB_ASSERT(mMonoLookup.get() != 0);
+  mMonoLookup->setBasis(*this);
 }
 
 PolyBasis::~PolyBasis() {
@@ -62,7 +61,7 @@ void PolyBasis::insert(std::unique_ptr<Poly> poly) {
   // Update information about minimal lead terms.
   const bool leadMinimal = (divisor(lead) == static_cast<size_t>(-1));
   if (leadMinimal) {
-    class MultipleOutput : public DivisorLookup::EntryOutput {
+    class MultipleOutput : public MonoLookup::EntryOutput {
     public:
       MultipleOutput(EntryCont& entries): mEntries(entries) {}
       virtual bool proceed(size_t index) {
@@ -74,10 +73,10 @@ void PolyBasis::insert(std::unique_ptr<Poly> poly) {
       EntryCont& mEntries;
     };
     MultipleOutput out(mEntries);
-    divisorLookup().multiples(lead, out);
+    monoLookup().multiples(lead, out);
   }
 
-  mDivisorLookup->insert(lead, index);
+  mMonoLookup->insert(lead, index);
 
   mEntries.push_back(Entry());
   Entry& entry = mEntries.back();
@@ -90,7 +89,7 @@ void PolyBasis::insert(std::unique_ptr<Poly> poly) {
 std::unique_ptr<Poly> PolyBasis::retire(size_t index) {
   MATHICGB_ASSERT(index < size());
   MATHICGB_ASSERT(!retired(index));
-  mDivisorLookup->remove(leadMonomial(index));
+  mMonoLookup->remove(leadMonomial(index));
   std::unique_ptr<Poly> poly(mEntries[index].poly);
   mEntries[index].poly = 0;
   mEntries[index].retired = true;
@@ -106,7 +105,7 @@ std::unique_ptr<Basis> PolyBasis::toBasisAndRetireAll() {
 }
 
 size_t PolyBasis::divisor(const_monomial mon) const {
-  size_t index = divisorLookup().divisor(mon);
+  size_t index = monoLookup().divisor(mon);
   MATHICGB_ASSERT((index == static_cast<size_t>(-1)) ==
     (divisorSlow(mon) == static_cast<size_t>(-1)));
   MATHICGB_ASSERT(index == static_cast<size_t>(-1) ||
@@ -115,8 +114,8 @@ size_t PolyBasis::divisor(const_monomial mon) const {
 }
 
 size_t PolyBasis::classicReducer(const_monomial mon) const {
-  return divisorLookup().classicReducer(mon);
-  size_t index = divisorLookup().classicReducer(mon);
+  return monoLookup().classicReducer(mon);
+  size_t index = monoLookup().classicReducer(mon);
   MATHICGB_ASSERT((index == static_cast<size_t>(-1)) ==
     (divisorSlow(mon) == static_cast<size_t>(-1)));
   MATHICGB_ASSERT(index == static_cast<size_t>(-1) ||
diff --git a/src/mathicgb/PolyBasis.hpp b/src/mathicgb/PolyBasis.hpp
index 719dfc1..bb734be 100755
--- a/src/mathicgb/PolyBasis.hpp
+++ b/src/mathicgb/PolyBasis.hpp
@@ -4,7 +4,7 @@
 #define MATHICGB_POLY_BASIS_GUARD
 
 #include "Poly.hpp"
-#include "DivisorLookup.hpp"
+#include "MonoLookup.hpp"
 #include <vector>
 #include <memory>
 
@@ -20,7 +20,7 @@ public:
   // Ring must live for as long as this object.
   PolyBasis(
     const PolyRing& ring,
-    std::unique_ptr<DivisorLookup> divisorLookup
+    std::unique_ptr<MonoLookup> monoLookup
   );
 
   // Deletes the Poly's stored in the basis.
@@ -55,10 +55,10 @@ public:
     MATHICGB_ASSERT(!newValue->isZero());
     MATHICGB_ASSERT(mRing.monomialEQ
                     (leadMonomial(index), newValue->getLeadMonomial()));
-    mDivisorLookup->remove(leadMonomial(index));
+    mMonoLookup->remove(leadMonomial(index));
     delete mEntries[index].poly;
     mEntries[index].poly = newValue.release();
-    mDivisorLookup->insert(leadMonomial(index), index);    
+    mMonoLookup->insert(leadMonomial(index), index);    
     MATHICGB_ASSERT(mEntries[index].poly != 0);
   }
 
@@ -72,7 +72,7 @@ public:
 
   // Returns a data structure containing the lead monomial of each lead
   // monomial.
-  const DivisorLookup& divisorLookup() const {return *mDivisorLookup;}
+  const MonoLookup& monoLookup() const {return *mMonoLookup;}
 
   // Retires the basis element at index, which frees the memory associated
   // to it, including the basis element polynomial, and marks it as retired. 
@@ -130,7 +130,7 @@ public:
   // basis element. Equality counts as divisibility.
   bool leadMinimal(const Poly& poly) const {
     MATHICGB_ASSERT(&poly != 0);
-    return mDivisorLookup->divisor(poly.getLeadMonomial()) !=
+    return mMonoLookup->divisor(poly.getLeadMonomial()) !=
       static_cast<size_t>(-1);
   }
 
@@ -219,7 +219,7 @@ private:
   typedef EntryCont::const_iterator EntryCIter;
 
   const PolyRing& mRing;
-  std::unique_ptr<DivisorLookup> mDivisorLookup;
+  std::unique_ptr<MonoLookup> mMonoLookup;
   std::vector<Entry> mEntries;
 };
 
diff --git a/src/mathicgb/SPairs.cpp b/src/mathicgb/SPairs.cpp
index ad57efe..3dd4d04 100755
--- a/src/mathicgb/SPairs.cpp
+++ b/src/mathicgb/SPairs.cpp
@@ -107,7 +107,7 @@ std::pair<size_t, size_t> SPairs::pop(exponent& w) {
 namespace {
   // Records multiples of a basis element.
   // Used in addPairs().
-  class RecordIndexes : public DivisorLookup::EntryOutput {
+  class RecordIndexes : public MonoLookup::EntryOutput {
   public:
     RecordIndexes(
       size_t newGen,
@@ -160,7 +160,7 @@ void SPairs::addPairsAssumeAutoReduce(
     }
 
     RecordIndexes indexes(newGen, mEliminated, toRetireAndReduce);
-    mBasis.divisorLookup().multiples(mBasis.leadMonomial(newGen), indexes);
+    mBasis.monoLookup().multiples(mBasis.leadMonomial(newGen), indexes);
   }
   addPairs(newGen);
 }
@@ -279,7 +279,7 @@ bool SPairs::simpleBuchbergerLcmCriterion(
   );
   MATHICGB_ASSERT(mEliminated.columnCount() == mBasis.size());
 
-  class Criterion : public DivisorLookup::EntryOutput {
+  class Criterion : public MonoLookup::EntryOutput {
   public:
     Criterion(
       const size_t a,
@@ -396,7 +396,7 @@ bool SPairs::simpleBuchbergerLcmCriterion(
     } else {
       MATHICGB_ASSERT(!criterion.applies());
       // This will be a tough nut to crack in terms of getting the types to match.
-      mBasis.divisorLookup().divisors
+      mBasis.monoLookup().divisors
         (Monoid::toRef(BareMonoid::toOld(criterion.lcmAB())), criterion);
       applies = criterion.applies();
 
@@ -496,7 +496,7 @@ bool SPairs::advancedBuchbergerLcmCriterion(
   // node in question is so far known to be connected to, if any.
 
   typedef std::vector<std::pair<size_t, Connection> > Graph;
-  class GraphBuilder : public DivisorLookup::EntryOutput {
+  class GraphBuilder : public MonoLookup::EntryOutput {
   public:
     GraphBuilder(Graph& graph): mGraph(graph) {graph.clear();}
     virtual bool proceed(size_t index) {
@@ -510,7 +510,8 @@ bool SPairs::advancedBuchbergerLcmCriterion(
   graph.clear();
   GraphBuilder builder(graph);
   // This will be a tough nut to crack in terms of getting the types to match.
-  mBasis.divisorLookup().divisors(Monoid::toRef(BareMonoid::toOld(lcmAB)), builder);
+  mBasis.monoLookup().divisors
+    (Monoid::toRef(BareMonoid::toOld(lcmAB)), builder);
 
   if (graph.size() <= 3) {
     // For the graph approach to be better than the simpler approach of
diff --git a/src/mathicgb/SigPolyBasis.cpp b/src/mathicgb/SigPolyBasis.cpp
index f44551e..09486d5 100755
--- a/src/mathicgb/SigPolyBasis.cpp
+++ b/src/mathicgb/SigPolyBasis.cpp
@@ -12,19 +12,19 @@ MATHICGB_NAMESPACE_BEGIN
 
 SigPolyBasis::SigPolyBasis(
   const PolyRing* R0,
-  int divisorLookupType,
+  int monoLookupType,
   int monTableType,
   bool preferSparseReducers):
-  mDivisorLookupFactory
-    (DivisorLookup::makeFactory(*R0, divisorLookupType)),
+  mMonoLookupFactory
+    (MonoLookup::makeFactory(*R0, monoLookupType)),
   mRatioSorted(RatioOrder(sigLeadRatio, R0->monoid())),
-  mMinimalDivisorLookup(mDivisorLookupFactory->create(preferSparseReducers, true)),
-  mBasis(*R0, mDivisorLookupFactory->create(preferSparseReducers, true)),
+  mMinimalMonoLookup(mMonoLookupFactory->create(preferSparseReducers, true)),
+  mBasis(*R0, mMonoLookupFactory->create(preferSparseReducers, true)),
   mPreferSparseReducers(preferSparseReducers)
 {
   mTmp = mBasis.ring().allocMonomial();
-  const_cast<DivisorLookup&>(mBasis.divisorLookup()).setSigBasis(*this);
-  mMinimalDivisorLookup->setSigBasis(*this);
+  const_cast<MonoLookup&>(mBasis.monoLookup()).setSigBasis(*this);
+  mMinimalMonoLookup->setSigBasis(*this);
 }
 
 SigPolyBasis::~SigPolyBasis()
@@ -44,8 +44,8 @@ SigPolyBasis::~SigPolyBasis()
 }
 
 void SigPolyBasis::addComponent() {
-  std::unique_ptr<DivisorLookup> lookup =
-    mDivisorLookupFactory->create(mPreferSparseReducers, true);
+  std::unique_ptr<MonoLookup> lookup =
+    mMonoLookupFactory->create(mPreferSparseReducers, true);
   lookup->setSigBasis(*this);
   mSignatureLookup.push_back(0);
   mSignatureLookup.back() = lookup.release(); // only release after alloc
@@ -75,12 +75,12 @@ void SigPolyBasis::insert(monomial sig, std::unique_ptr<Poly> f)
   const_monomial const lead = f->getLeadMonomial();
   mBasis.insert(std::move(f));
   if (mBasis.leadMinimal(mBasis.size() - 1)) {
-    mMinimalDivisorLookup->removeMultiples(lead);
-    mMinimalDivisorLookup->insert(lead, index);
+    mMinimalMonoLookup->removeMultiples(lead);
+    mMinimalMonoLookup->insert(lead, index);
   }
 
-  MATHICGB_ASSERT(mMinimalDivisorLookup->type() == 0 ||
-    mBasis.minimalLeadCount() == mMinimalDivisorLookup->size());
+  MATHICGB_ASSERT(mMinimalMonoLookup->type() == 0 ||
+    mBasis.minimalLeadCount() == mMinimalMonoLookup->size());
   MATHICGB_ASSERT(mSignatures.size() == index + 1);
   MATHICGB_ASSERT(mBasis.size() == index + 1);
   if (!mUseRatioRank || sig.isNull())
@@ -167,7 +167,7 @@ size_t SigPolyBasis::regularReducer(
   const_monomial sig,
   const_monomial term
 ) const {
-  size_t reducer = divisorLookup().regularReducer(sig, term);
+  size_t reducer = monoLookup().regularReducer(sig, term);
 #ifdef MATHICGB_SLOW_DEBUG
   const size_t debugValue = regularReducerSlow(sig, term);
   if (reducer == static_cast<size_t>(-1)) {
@@ -265,7 +265,7 @@ void SigPolyBasis::lowBaseDivisorsSlow(
 
 size_t SigPolyBasis::highBaseDivisor(size_t newGenerator) const {
   MATHICGB_ASSERT(newGenerator < size());
-  size_t highDivisor = divisorLookup().highBaseDivisor(newGenerator);
+  size_t highDivisor = monoLookup().highBaseDivisor(newGenerator);
 #ifdef MATHICGB_DEBUG
   size_t debugValue = highBaseDivisorSlow(newGenerator);
   MATHICGB_ASSERT((highDivisor == static_cast<size_t>(-1)) ==
@@ -423,8 +423,8 @@ size_t SigPolyBasis::getMemoryUse() const
   total += mSignatures.capacity() * sizeof(mSignatures.front());
   total += sigLeadRatio.capacity() * sizeof(sigLeadRatio.front());
   total += mRatioRanks.capacity() * sizeof(mRatioRanks.front());
-  total += divisorLookup().getMemoryUse();
-  total += mMinimalDivisorLookup->getMemoryUse();
+  total += monoLookup().getMemoryUse();
+  total += mMinimalMonoLookup->getMemoryUse();
 
   // This is an estimate of how much memory mRatioSorted uses per item.
   // It is based on assuming a tree representation with a left pointer,
diff --git a/src/mathicgb/SigPolyBasis.hpp b/src/mathicgb/SigPolyBasis.hpp
index ed3977a..6feab69 100755
--- a/src/mathicgb/SigPolyBasis.hpp
+++ b/src/mathicgb/SigPolyBasis.hpp
@@ -5,7 +5,7 @@
 
 #include "PolyRing.hpp"
 #include "Poly.hpp"
-#include "DivisorLookup.hpp"
+#include "MonoLookup.hpp"
 #include "PolyBasis.hpp"
 #include "MonoProcessor.hpp"
 #include <vector>
@@ -23,7 +23,7 @@ public:
 
   SigPolyBasis(
     const PolyRing* R,
-    int divisorLookupType,
+    int monoLookupType,
     int monTableType,
     bool preferSparseReducers
   );
@@ -144,11 +144,9 @@ private:
 
   friend class StoredRatioCmp;
 
-  const DivisorLookup& divisorLookup() const {
-    return mBasis.divisorLookup();
-  }
+  const MonoLookup& monoLookup() const {return mBasis.monoLookup();}
 
-  std::unique_ptr<DivisorLookup::Factory const> const mDivisorLookupFactory;
+  std::unique_ptr<MonoLookup::Factory const> const mMonoLookupFactory;
 
   // may change at next insert!
   size_t ratioRank(size_t index) const {
@@ -186,10 +184,10 @@ private:
   RatioSortedType mRatioSorted;
   std::vector<Rank> mRatioRanks;
 
-  std::vector<DivisorLookup*> mSignatureLookup;
+  std::vector<MonoLookup*> mSignatureLookup;
 
   // Contains those lead terms that are minimal.
-  std::unique_ptr<DivisorLookup> const mMinimalDivisorLookup;
+  std::unique_ptr<MonoLookup> const mMinimalMonoLookup;
 
   PolyBasis mBasis;
   bool const mPreferSparseReducers;
diff --git a/src/mathicgb/SignatureGB.cpp b/src/mathicgb/SignatureGB.cpp
index a5ac65c..cb7be16 100755
--- a/src/mathicgb/SignatureGB.cpp
+++ b/src/mathicgb/SignatureGB.cpp
@@ -4,7 +4,7 @@
 #include "SignatureGB.hpp"
 
 #include "Basis.hpp"
-#include "DivisorLookup.hpp"
+#include "MonoLookup.hpp"
 #include "SigSPairs.hpp"
 #include "PolyHeap.hpp"
 #include "MTArray.hpp"
@@ -309,7 +309,7 @@ void SignatureGB::displayStats(std::ostream &o) const
     << (mPostponeKoszul ? "-postpone" : "")
     << (mUseBaseDivisors ? "-basediv" : "") << '\n';
   o << " reduction type: " << reducer->description() << '\n';
-  o << " divisor tab type: " << GB->basis().divisorLookup().getName() << '\n';
+  o << " divisor tab type: " << GB->basis().monoLookup().getName() << '\n';
   o << " syzygy tab type: " << Hsyz->description() << '\n';
   o << " S-pair queue type: " << SP->name() << '\n';
   o << " total compute time:  " << stats_nsecs << " -- seconds" << '\n';
diff --git a/src/mathicgb/SignatureGB.hpp b/src/mathicgb/SignatureGB.hpp
index b667210..ffb860e 100755
--- a/src/mathicgb/SignatureGB.hpp
+++ b/src/mathicgb/SignatureGB.hpp
@@ -16,7 +16,6 @@
 MATHICGB_NAMESPACE_BEGIN
 
 class SigSPairs;
-class DivisorLookup;
 
 class SignatureGB {
 public:
diff --git a/src/mathicgb/DivLookup.hpp b/src/mathicgb/StaticMonoLookup.hpp
similarity index 96%
rename from src/mathicgb/DivLookup.hpp
rename to src/mathicgb/StaticMonoLookup.hpp
index dd6c635..9f6ee6f 100755
--- a/src/mathicgb/DivLookup.hpp
+++ b/src/mathicgb/StaticMonoLookup.hpp
@@ -1,19 +1,21 @@
 // MathicGB copyright 2012 all rights reserved. MathicGB comes with ABSOLUTELY
 // NO WARRANTY and is licensed as GPL v2.0 or later - see LICENSE.txt.
-#ifndef MATHICGB_DIV_LOOKUP_GUARD
-#define MATHICGB_DIV_LOOKUP_GUARD
+#ifndef MATHICGB_STATIC_MONO_LOOKUP_GUARD
+#define MATHICGB_STATIC_MONO_LOOKUP_GUARD
 
 #include "SigPolyBasis.hpp"
-#include "DivisorLookup.hpp"
+#include "PolyBasis.hpp"
+#include "MonoLookup.hpp"
 #include "PolyRing.hpp"
 #include <mathic.h>
 #include <type_traits>
 #include <string>
 #include <vector>
-#include <iostream>
 
 MATHICGB_NAMESPACE_BEGIN
 
+/// Data structure for performing queries on a set of monomials.
+/// This is static in the sense that the interface is not virtual.
 template<
   /// Should be mathic::DivList or mathic::KDTree
   template<class> class BaseLookupTemplate,
@@ -27,15 +29,15 @@ template<
   /// checks. This is usually a big speed up.
   bool UseDivMask
 >
-class DivLookup;
+class StaticMonoLookup;
 
 template<template<class> class BaseLookupTemplate, bool AR, bool DM>
-class DivLookup {
+class StaticMonoLookup {
 private:
   typedef PolyRing::Monoid Monoid;
   typedef Monoid::ConstMonoRef ConstMonoRef;
   typedef Monoid::ConstMonoPtr ConstMonoPtr;
-  typedef DivisorLookup::EntryOutput EntryOutput;
+  typedef MonoLookup::EntryOutput EntryOutput;
 
   /// Configuration for a Mathic KDTree or DivList.
   class Configuration {
@@ -112,7 +114,7 @@ public:
   static_assert
     (!Configuration::UseTreeDivMask || Configuration::UseDivMask, "");
 
-  DivLookup(const Monoid& monoid): mLookup(Configuration(monoid)) {}
+  StaticMonoLookup(const Monoid& monoid): mLookup(Configuration(monoid)) {}
 
   const Monoid& monoid() const {return mLookup.getConfiguration().monoid();}
 
diff --git a/src/test/F4MatrixBuilder.cpp b/src/test/F4MatrixBuilder.cpp
index ebe7771..a5671c9 100755
--- a/src/test/F4MatrixBuilder.cpp
+++ b/src/test/F4MatrixBuilder.cpp
@@ -25,7 +25,7 @@ namespace {
     BuilderMaker():
       mRing(ringFromString("101 6 1\n1 1 1 1 1 1")),
       mIdeal(*mRing),
-      mBasis(*mRing, DivisorLookup::makeFactory(*mRing, 1)->create(true, true)) {
+      mBasis(*mRing, MonoLookup::makeFactory(*mRing, 1)->create(true, true)) {
     }
 
     const Poly& addBasisElement(const std::string& str) {

-- 
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