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

◆ compare() [2/3]

int Monoid::compare ( const_monomial m,
int mcomp,
const_monomial n,
int ncomp ) const

Definition at line 412 of file monoid.cpp.

416{
417 int i = n_before_component_;
418 while (1)
419 {
420 if (i == 0) break;
421 if (*m > *n) return GT;
422 if (*m < *n) return LT;
423 m++, n++;
424 --i;
425 }
426 if (component_up_)
427 {
428 if (mcomp < ncomp) return LT;
429 if (mcomp > ncomp) return GT;
430 }
431 else
432 {
433 if (mcomp < ncomp) return GT;
434 if (mcomp > ncomp) return LT;
435 }
437 while (1)
438 {
439 if (i == 0) break;
440 if (*m > *n) return GT;
441 if (*m < *n) return LT;
442 m++, n++;
443 --i;
444 }
445 return EQ;
446}
bool component_up_
indicates whether free module components are ordered lexicographically
Definition monoid.hpp:136
int n_after_component_
Definition monoid.hpp:134
int n_before_component_
indicates where the free module components are in the monomial order
Definition monoid.hpp:133
const int EQ
Definition style.hpp:40
const int GT
Definition style.hpp:41
const int LT
Definition style.hpp:39

References component_up_, EQ, GT, LT, n_after_component_, and n_before_component_.