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

◆ mult_by_term()

ring_elem PolyRing::mult_by_term ( const ring_elem f,
const ring_elem c,
const_monomial m ) const
virtual

Implements PolynomialRing.

Reimplemented in SchurRing, SkewPolynomialRing, SolvableAlgebra, and WeylAlgebra.

Definition at line 781 of file poly.cpp.

785{
786 Nterm head;
787 Nterm *result = &head;
788 for (Nterm& a : f)
789 {
790 result->next = new_term();
791 result = result->next;
792 result->coeff = K_->mult(a.coeff, c);
793 M_->mult(m, a.monom, result->monom);
794 }
795 result->next = nullptr;
796 return head.next;
797}
Nterm * new_term() const
Definition poly.cpp:146
const Ring * K_
Definition polyring.hpp:123
const Monoid * M_
Definition polyring.hpp:124
VALGRIND_MAKE_MEM_DEFINED & result(result)
Nterm * next
Definition ringelem.hpp:157

References PolynomialRing::K_, PolynomialRing::M_, new_term(), Nterm::next, and result().

Referenced by convolve(), division_algorithm_with_laurent_variables(), imp_subtract_multiple_to(), mult(), and power_direct().