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

◆ handle_pair_by_level()

void res2_comp::handle_pair_by_level ( res2_pair * p)
private

Definition at line 1727 of file res-a0.cpp.

1728{
1729 nleft--;
1730 resn[p->level]->nleft--;
1731
1732 // level 1 is easy: just mark as minimal
1733 if (p->level == 1)
1734 {
1735 p->syz_type = SYZ2_MINIMAL;
1736 if (M2_gbTrace >= 2) emit_wrapped("z");
1737 return;
1738 }
1739
1740 res2term *f = s_pair(p->syz);
1741 if (do_by_level == 2)
1742 {
1743 if (use_respolyHeaps)
1744 reduce_heap_by_level(f, p->syz);
1745 else
1746 reduce_by_level(f, p->syz);
1747 }
1748 else
1749 reduce(f, p->syz, p->pivot_term, p);
1750
1751 if (f == nullptr)
1752 {
1753 p->syz_type = SYZ2_MINIMAL;
1754 if (M2_gbTrace >= 2) emit_wrapped("z");
1755 }
1756 else
1757 {
1758 // This should not happen at all!!
1759 buffer o;
1760 o << "handle pair: should not be here!";
1761 o << "p->syz == ";
1762 R->elem_text_out(o, p->syz);
1763 emit(o.str());
1764 }
1765}
char * str()
Definition buffer.hpp:72
res2_pair * reduce(res2term *&f, res2term *&fsyz, res2term *&pivot, res2_pair *p)
Definition res-a0.cpp:1126
res2_poly * R
Definition res-a0.hpp:123
res2term * s_pair(res2term *fsyz) const
Definition res-a0.cpp:1110
res2_pair * reduce_heap_by_level(res2term *&f, res2term *&fsyz)
Definition res-a0.cpp:1554
unsigned char use_respolyHeaps
Definition res-a0.hpp:177
res2_pair * reduce_by_level(res2term *&f, res2term *&fsyz)
Definition res-a0.cpp:1497
int nleft
Definition res-a0.hpp:181
unsigned char do_by_level
Definition res-a0.hpp:173
int p
int M2_gbTrace
Definition m2-types.cpp:52
@ SYZ2_MINIMAL
void emit_wrapped(const char *s)
Definition text-io.cpp:27
void emit(const char *s)
Definition text-io.cpp:41

References do_by_level, emit(), emit_wrapped(), M2_gbTrace, nleft, p, R, reduce(), reduce_by_level(), reduce_heap_by_level(), s_pair(), buffer::str(), SYZ2_MINIMAL, and use_respolyHeaps.

Referenced by do_pairs_by_level().