|
Macaulay2 Engine
|
#include "NCAlgebras/NCReduction.hpp"#include "NCAlgebras/FreeAlgebra.hpp"#include "NCAlgebras/FreeMonoid.hpp"#include "MemoryBlock.hpp"#include "NCAlgebras/NCGroebner.hpp"#include "NCAlgebras/Word.hpp"#include "myalloc.hpp"#include "ring.hpp"#include "style.hpp"#include <cassert>#include <mathic/Geobucket.h>#include <mathic/Heap.h>#include <mathic/TourTree.h>#include <algorithm>#include <iostream>#include <map>#include <memory>#include <queue>#include <type_traits>#include <vector>Go to the source code of this file.
Classes | |
| class | OurQueueConfiguration |
| Experimental mathic::Geobucket configuration whose Entry is an int — a placeholder used by makeQueue() to exercise the geobucket machinery without involving real monomials. More... | |
| class | OurQueueConfiguration1 |
| Variant of OurQueueConfiguration with deduplication enabled, used by makeQueue1(). More... | |
| class | TrivialPolynomialHeap |
| Baseline PolynomialHeap implementation that simply accumulates the pending sum in a single Poly and walks it with an iterator. More... | |
| class | NaiveQueueConfiguration |
| mathic::Geobucket configuration whose Entry is a (Monom, ring_elem) pair compared by the FreeMonoid order on the monomial component. More... | |
| class | NaiveDedupQueueConfiguration |
| Variant of NaiveQueueConfiguration with deduplication enabled: deduplicate(a, b) sums the coefficients of two equal monomials. More... | |
| class | NaivePolynomialHeap< Queue > |
| class | NaiveDedupPolynomialHeap< Queue > |
| class | MapPolynomialHeap |
| PolynomialHeap backed by a std::map<Monom, ring_elem, MonomEq>, deduplicating on insert via the map's lookup. More... | |
| class | EntryConfig |
| Comparator (and trivial hash) functor wired into the std::priority_queue inside PriorityQueuePolynomialHeap. More... | |
| class | PriorityQueuePolynomialHeap |
| PolynomialHeap backed by a std::priority_queue of (Monom, ring_elem) entries, with deduplication done lazily on lead-term extraction. More... | |
Functions | |
| std::unique_ptr< mathic::Geobucket< OurQueueConfiguration > > | makeQueue () |
| std::unique_ptr< mathic::Geobucket< OurQueueConfiguration1 > > | makeQueue1 () |
| HeapType | getHeapType (int strategy) |
| std::string | getHeapName (HeapType type) |
| std::unique_ptr< PolynomialHeap > | makePolynomialHeap (HeapType type, const FreeAlgebra &F) |
| void | tryOutMathicCode () |