954{
955 if (f == nullptr) return true;
956 if (g == nullptr) return true;
958 if (PR == nullptr) return true;
960#ifdef DEVELOPMENT
961#warning "use numerator only"
962#endif
963 if (f->comp != g->comp) return false;
964 Nterm *f1 = f->coeff;
965 Nterm *g1 = g->coeff;
966 ring_elem c = f1->
coeff;
967 ring_elem d = g1->
coeff;
969 for (
p = f, q = g;
p !=
nullptr && q !=
nullptr;
p =
p->next, q = q->next)
970 {
971 if (
p->comp != q->comp)
return 0;
973 }
974 if (q ==
nullptr &&
p ==
nullptr)
return true;
975 return false;
976}
virtual const PolyRing * getNumeratorRing() const
virtual const PolynomialRing * cast_to_PolynomialRing() const
static bool check_nterm_multiples(const PolyRing *R, ring_elem f1, ring_elem g1, ring_elem c, ring_elem d)