790{
791#if 0
792
793
794
795
796
797
798#endif
799 std::stable_sort(new_set.begin(), new_set.end(), spair_sorter(
_nvars));
801
802
803 spairs::iterator first = new_set.begin();
804 spairs::iterator next = first;
805 spairs::iterator
end = new_set.end();
806 for (; first !=
end; first = next)
807 {
808 next = first + 1;
811 {
814 next++;
815 }
816
817
819 if (inideal == 0)
820 {
824 {
827 {
828 buffer o;
829 o << "removing spair because of gcd: ";
832 }
834 }
835 else
836 {
838 {
839 buffer o;
840 o << " new ";
843 }
846 }
847 *t = 0;
848 }
849 }
850
851 delete montab;
852 for (spairs::iterator i = new_set.begin(); i != new_set.end(); i++)
854}
void insert(exponents_t exp, int comp, int id)
static MonomialTable * make(int nvars)
int find_divisors(int max, exponents_t exp, int comp, VECTOR(mon_term *) *result=nullptr)
void spair_delete(spair *&p)
void spair_text_out(buffer &o, spair *p)
void spair_set_insert(spair *p)
bool is_gcd_one_pair(spair *p)
spairs::iterator choose_pair(spairs::iterator first, spairs::iterator next)
static bool exponents_equal(int nvars, exponents_t a, exponents_t b)
TermIterator< Nterm > end(Nterm *)
void emit_line(const char *s)