Macaulay2 Engine
Loading...
Searching...
No Matches

◆ addPolynomial() [1/2]

template<template< typename > class Queue>
NaivePolynomialHeap & NaivePolynomialHeap< Queue >::addPolynomial ( const Poly & poly)
inlineoverridevirtual

Implements PolynomialHeap.

Definition at line 394 of file NCReduction.cpp.

395 {
396 if (mLeadTermSet)
397 {
398 mQueue.push(mLeadTerm);
399 mLeadTermSet = false;
400 }
401 for (auto i = poly.cbegin(); i != poly.cend(); ++i)
402 {
403 auto rg = mMonomialSpace.allocateArray<int>(i.monom().size());
404 std::copy(i.monom().begin(), i.monom().end(), rg.first);
405 mQueue.push(Entry(Monom(rg.first), i.coeff()));
406 }
407 return *this;
408 }
NaiveQueueConfiguration::Entry Entry
Queue< NaiveQueueConfiguration > mQueue
std::pair< Monom, ring_elem > mLeadTerm
MemoryBlock mMonomialSpace

References mLeadTerm, mLeadTermSet, mMonomialSpace, mQueue, and NaivePolynomialHeap().

Referenced by addPolynomial(), and value().