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

◆ load_row()

void F4GB::load_row ( packed_monomial monom,
int which )
private

Definition at line 220 of file f4.cpp.

221{
222 GBF4Polynomial &g = mGroebnerBasis[which]->f;
223
224 row_elem r{};
225 r.monom = monom;
226 r.elem = which;
227 r.len = g.len;
228 // r.comps = Mem->components.allocate(g.len);
229 r.comps = new int[g.len];
230 // r.coeffs is already initialized to [nullptr].
231
232 // TODO: this iterator requires knowledge about memory layout of monomials
233 monomial_word *w = g.monoms;
234 for (int i = 0; i < g.len; i++)
235 {
236 r.comps[i] = mult_monomials(monom, w);
237 w += mMonomialInfo->monomial_size(w);
238 }
239
240 mat->rows.push_back(r);
241}
int mult_monomials(packed_monomial m, packed_monomial n)
Definition f4.cpp:177
coefficient_matrix * mat
Definition f4.hpp:186
const MonomialInfo * mMonomialInfo
Definition f4.hpp:157
gb_array mGroebnerBasis
Definition f4.hpp:181
long monomial_word
Definition moninfo.hpp:77
monomial_word * monoms
Definition f4-types.hpp:110
packed_monomial monom
Definition f4-types.hpp:157
int * comps
Definition f4-types.hpp:163

References row_elem::comps, row_elem::elem, GBF4Polynomial::len, row_elem::len, mat, mGroebnerBasis, mMonomialInfo, row_elem::monom, GBF4Polynomial::monoms, and mult_monomials().

Referenced by loadReducerRow(), loadSPairRow(), and process_column().