Definition at line 1458 of file poly.cpp.
1459{
1460
1461
1462
1463
1464
1465
1466 ring_elem a =
copy(f);
1467 Nterm *t = a;
1468 Nterm *b = g;
1469 Nterm divhead;
1470 Nterm remhead;
1471 Nterm *divt = &divhead;
1472 Nterm *remt = &remhead;
1474
1475
1476 while (t != nullptr)
1478 {
1479
1480 a = t;
1483 t = a;
1484
1485
1486
1487
1488
1489
1490 if (!
K_->is_zero(nextterm->
coeff))
1491 {
1492 divt->
next = nextterm;
1495 }
1496 if (!cancelled)
1497 {
1501 }
1502 }
1503 else
1504 {
1508 }
1509
1510 nextterm = nullptr;
1511 remt->
next =
nullptr;
1512 divt->
next =
nullptr;
1513 quot = divhead.
next;
1514 return remhead.
next;
1515}
virtual ring_elem copy(const ring_elem f) const
bool imp_attempt_to_cancel_lead_term(ring_elem &f, ring_elem g, ring_elem &coeff, monomial monom) const
References Nterm::coeff, copy(), imp_attempt_to_cancel_lead_term(), PolynomialRing::K_, PolynomialRing::M_, Nterm::monom, new_term(), and Nterm::next.
Referenced by division_algorithm_with_laurent_variables(), and remainderAndQuotient().