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

◆ mult_by_term()

gbvector * GBRing::mult_by_term ( const FreeModule * F,
const gbvector * f,
ring_elem u,
const int * monom,
int comp )
protected

Definition at line 839 of file gbring.cpp.

844{
845 gbvector *result = mult_by_term1(F, f, u, monom, comp);
846 const SchreyerOrder *S;
847 if (comp > 0 && _schreyer_encoded && (S = F->get_schreyer_order()) != nullptr)
848 {
849 for (gbvector *t = result; t != nullptr; t = t->next)
850 S->schreyer_up(t->monom, comp - 1, t->monom);
851 }
852 return result;
853}
const SchreyerOrder * get_schreyer_order() const
Definition freemod.hpp:103
bool _schreyer_encoded
Definition gbring.hpp:136
virtual gbvector * mult_by_term1(const FreeModule *F, const gbvector *f, ring_elem u, const int *monom, int comp)=0
void schreyer_up(const_monomial m, int comp, monomial result) const
Definition schorder.hpp:107
VALGRIND_MAKE_MEM_DEFINED & result(result)

References _schreyer_encoded, FreeModule::get_schreyer_order(), mult_by_term1(), result(), and SchreyerOrder::schreyer_up().

Referenced by gbvector_apply(), gbvector_cancel_lead_terms(), gbvector_combine_lead_terms_ZZ(), gbvector_mult_by_term(), gbvector_reduce_lead_term(), gbvector_reduce_lead_term_ZZ(), gbvector_reduce_with_marked_lead_term(), and reduce_marked_lead_term_heap().