39 tneg = n_Neg__T(n_Copy__T(tm, r->cf), r->cf),
45 DECLARE_LENGTH(
const unsigned long length = r->ExpL_Size);
46 DECLARE_ORDSGN(
const long* ordsgn = r->ordsgn);
48 const unsigned long* m_e =
m->exp;
49 omBin bin = r->PolyBin;
51 if (
p ==
NULL)
goto Finish;
58 p_MemSum__T(qm->exp, q->exp, m_e,
length);
59 p_MemAddAdjust__T(qm, r);
67#ifdef HAVE_ZERODIVISORS
68 if (!n_IsZero__T(tb,r->cf)) {
71 if (!n_Equal__T(tc, tb, r->cf))
74 tc = n_Sub__T(tc, tb, r->cf);
86#ifdef HAVE_ZERODIVISORS
101#ifdef HAVE_ZERODIVISORS
102 tb = n_Mult__T(
pGetCoeff(q), tneg, r->cf);
103 if (!n_IsZero__T(tb,r->cf))
108#ifdef HAVE_ZERODIVISORS
128 if (
p ==
NULL)
goto Finish;
140 if (spNoether !=
NULL)
143 pNext(a) = r->p_Procs->pp_Mult_mm_Noether(q,
m, spNoether, ll, r);
148 pNext(a) = r->p_Procs->pp_Mult_mm(q,
m, r);
149#ifdef HAVE_ZERODIVISORS
static BOOLEAN Equal(number a, number b, const coeffs)
static bool Greater(mono_type m1, mono_type m2)
static BOOLEAN length(leftv result, leftv arg)
#define p_FreeBinAddr(p, r)
#define p_AllocBin(p, bin, r)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
LINKAGE poly p_Minus_mm_Mult_qq__T(poly p, poly m, poly q, int &Shorter, const poly spNoether, const ring r)
#define n_Delete__T(n, r)
static int pLength(poly a)
static poly p_LmFreeAndNext(poly p, ring)
static BOOLEAN rField_is_Domain(const ring r)