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

◆ NonMulti()

template<typename MonomType>
std::set< typename MonomType::Integer > BIBasis::JanetTree< MonomType >::NonMulti ( const Triple< MonomType > * triple) const

Definition at line 554 of file janettree.hpp.

555 {
557
558 if (triple && Root)
559 {
561 typename MonomType::Integer var = 0;
562 do
563 {
564 while (nodeIterator.GetDegree() < triple->GetPolynomLm()[var])
565 {
566 nodeIterator.StepNextDegree();
567 }
568 if (nodeIterator.HasNextDegree())
569 {
570 result.insert(var);
571 }
572
573 ++var;
574 if (nodeIterator.HasNextVariable())
575 {
576 nodeIterator.StepNextVariable();
577 }
578 else
579 {
580 break;
581 }
582 } while(true);
583 }
584
585 return result;
586 }

References BIBasis::JanetTree< MonomType >::ConstIterator::GetDegree(), BIBasis::Triple< MonomType >::GetPolynomLm(), BIBasis::JanetTree< MonomType >::ConstIterator::HasNextDegree(), BIBasis::JanetTree< MonomType >::ConstIterator::HasNextVariable(), result(), Root, BIBasis::JanetTree< MonomType >::ConstIterator::StepNextDegree(), and BIBasis::JanetTree< MonomType >::ConstIterator::StepNextVariable().