Macaulay2 Engine
Loading...
Searching...
No Matches

◆ insert_pair()

void binomial_s_pair_set::insert_pair ( s_pair_degree_list * q,
binomial_s_pair & s )
private

Definition at line 495 of file gb-toric.cpp.

496{
497 int cmp;
498 s_pair_lcm_list head;
499 head.next = q->pairs;
500 s_pair_lcm_list *r = &head;
501 while (true)
502 {
503 if (r->next == nullptr || ((cmp = R->compare(s.lcm, r->next->lcm)) == GT))
504 {
505 // Insert new lcm node
507 r1->next = r->next;
508 r1->lcm = s.lcm;
509 r1->pairs = nullptr;
510 r->next = r1;
511 break;
512 }
513 if (cmp == EQ)
514 {
515 R->remove_monomial(s.lcm);
516 break;
517 }
518 r = r->next;
519 }
520 r = r->next;
521 s_pair_elem *s1 = new s_pair_elem(s.f1, s.f2);
522 q->pairs = head.next;
523 s1->next = r->pairs;
524 r->pairs = s1;
525}
const binomial_ring * R
Definition gb-toric.hpp:196
void size_t s
Definition m2-mem.cpp:271
const int EQ
Definition style.hpp:40
const int GT
Definition style.hpp:41

References EQ, GT, binomial_s_pair_set::s_pair_lcm_list::lcm, binomial_s_pair_set::s_pair_elem::next, binomial_s_pair_set::s_pair_lcm_list::next, binomial_s_pair_set::s_pair_degree_list::pairs, binomial_s_pair_set::s_pair_lcm_list::pairs, R, and s.

Referenced by insert().