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

◆ insert_spair()

void F4SPairSet::insert_spair ( pre_spair * p,
int me )

Definition at line 42 of file f4-spairs.cpp.

43{
44 int j = p->j;
45 int deg = p->deg1 + gb[me]->deg;
46 // int me_component = M->get_component(gb[me]->f.monoms);
47
48 spair result {SPairType::SPair, deg, me, j, nullptr};
49
50 auto allocRange = mSPairLCMs.allocateArray<monomial_word>(M->max_monomial_size());
51 result.lcm = allocRange.first;
52
53 M->from_varpower_monomial(p->quot, 0, result.lcm);
54 M->unchecked_mult(result.lcm, gb[me]->f.monoms, result.lcm);
55
56 mSPairLCMs.shrinkLastAllocate(allocRange.first,
57 allocRange.second,
58 allocRange.first + M->monomial_size(result.lcm));
59
60 auto sPairIndex = mSPairs.size();
61 mSPairs.push_back(result);
62 mSPairQueue.push(sPairIndex);
63
64}
MemoryBlock mSPairLCMs
std::vector< spair > mSPairs
const gb_array & gb
const MonomialInfo * M
std::priority_queue< size_t, std::vector< size_t >, SPairCompare > mSPairQueue
int p
VALGRIND_MAKE_MEM_DEFINED & result(result)
long monomial_word
Definition moninfo.hpp:77

References gb, M, mSPairLCMs, mSPairQueue, mSPairs, p, result(), and SPair.

Referenced by construct_pairs().