353{
354 const Monoid *M =
R->getMonoid();
355 const ring_elem a = f->
coeff;
356 const ring_elem b = g->
coeff;
364 if (
R->is_skew_commutative())
365 {
368
371 if (
R->getSkewInfo().mult_sign(EXP1, EXP2) < 0)
372 R->getCoefficients()->negate_to(v);
373 }
374
375
376 ring_elem g1 = const_cast<Nterm *>(g);
377 g1 =
R->mult_by_term(g1, v, MONOM1);
378 ring_elem f1 = f;
379 R->internal_add_to(f1, g1);
380 f = f1;
382}
exponents::Exponents exponents_t
void to_expvector(const_monomial m, exponents_t result_exp) const
void divide(const_monomial m, const_monomial n, monomial result) const
virtual ring_elem negate(const ring_elem f) const
virtual bool is_zero(const ring_elem f) const
virtual ring_elem remainderAndQuotient(const ring_elem f, const ring_elem g, ring_elem ") const
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define ALLOCATE_EXPONENTS(byte_len)
#define ALLOCATE_MONOMIAL(byte_len)
const mpreal rem(const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode=mpreal::get_default_rnd())