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

◆ set_compare_nums()

void res_comp::set_compare_nums ( int level,
int deg )
private

Definition at line 569 of file res-a1.cpp.

573{
574 if (level == 0) return;
575
576 // This assumes that the pairs at level 'level' are ordered already
577 // and that all previous pairs at this level (i.e. of lower degree)
578 // are sorted on the 'next_compare' field, in ascending order
579
580 // First, place the new pairs onto a 'next_compare' list, sort, and then merge
581 // them into the previous list, using (first->compare_num, me) in ascending
582 // order.
583
584 res_degree *mypairs = get_degree_set(level, deg);
585 if (mypairs == nullptr) return;
586
587 res_pair *p;
588 res_pair *compare_num_list = mypairs->first;
589 for (p = mypairs->first; p != nullptr; p = p->next)
590 {
591 p->next_compare = p->next;
592 p->me = next_me_number++;
593 }
594 sort_compares(compare_num_list);
595 resn[level]->compare_num_list =
596 merge_compares(resn[level]->compare_num_list, compare_num_list);
597
598 int next = 0;
599 for (p = resn[level]->compare_num_list; p != nullptr; p = p->next_compare)
600 p->compare_num = next++;
601}
void sort_compares(res_pair *&p) const
Definition res-a1.cpp:544
int next_me_number
Definition res-a1.hpp:107
res_degree * get_degree_set(int level, int d) const
Definition res-a1.cpp:200
res_pair * merge_compares(res_pair *f, res_pair *g) const
Definition res-a1.cpp:511
res_pair * first
Definition res-a1.hpp:25
int p

References res_degree::first, get_degree_set(), merge_compares(), next_me_number, p, and sort_compares().

Referenced by sort_pairs().