68{
69
70
71
73 positions.reserve(polys0.size());
74
75 for (int i = 0; i < polys0.size(); i++) positions.push_back(i);
76
77 std::stable_sort(
78 positions.begin(), positions.end(), ReducedGB_ZZ_sorter(
R,
F, polys0));
79
80
81
82
83 for (
VECTOR(
int)::iterator i = positions.begin(); i != positions.end(); i++)
84 {
85 gbvector *f = polys0[*i].f;
87 R->gbvector_get_lead_exponents(
F, f, e);
91 {
92
93
95 ring_elem junk;
96
97 h.
f =
R->gbvector_copy(f);
98 h.
fsyz =
R->gbvector_copy(polys0[*i].fsyz);
99
100 if (auto_reduced)
remainder(h,
false, junk);
101
103 {
106 }
107
109 polys.push_back(h);
110 }
111 else
112 R->exponents_delete(e);
113 }
114}
exponents::Exponents exponents_t
const MonomialTableZZ * ringtableZZ
virtual void remainder(POLY &f, bool use_denom, ring_elem &denom)
ring_elem minus_one() const
mpz_srcptr get_mpz() const