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

◆ SMbounds()

void SchurRing2::SMbounds ( int & lo,
int & hi )
private

Definition at line 748 of file schur2.cpp.

749{
750 int i, k;
751 int x = SMfilled.xloc[SMcurrent];
752 int y = SMfilled.yloc[SMcurrent];
753
754 // First set the high bound, using info from the "one to the right"
755 // in the reverse lex filled skew tableau.
756
757 if (y == SMfilled.p[x]) // There is not one to the right
758 {
759 hi = SMmaxrows;
760 for (k = 1; k <= SMmaxrows; k++)
761 if (SMtab.p[k] == 0)
762 {
763 hi = k;
764 break;
765 }
766 }
767 else // note that the case SMcurrent==1 will be handled
768 { // in the previous statement.
769 hi = SMtab.xloc[SMcurrent - 1];
770 }
771
772 // Now we set the lo bound, using info from the "one above"
773
774 if (x == 1 || y <= SMfilled.lambda[x - 1])
775 lo = 1; // There is not one above
776 else
777 {
778 int above = SMcurrent - SMfilled.p[x] + SMfilled.lambda[x - 1];
779 int xabove = SMtab.xloc[above];
780 int yabove = SMtab.yloc[above];
781 for (i = xabove + 1; i <= hi; i++)
782 if (SMtab.p[i] < yabove) break;
783 lo = i;
784 }
785}
tableau2 SMfilled
Definition schur2.hpp:252
int SMmaxrows
Definition schur2.hpp:250
int SMcurrent
Definition schur2.hpp:253
tableau2 SMtab
Definition schur2.hpp:251
volatile int x

References SMcurrent, SMfilled, SMmaxrows, SMtab, and x.

Referenced by SM().