PolyBoRi
Public Member Functions | Protected Member Functions
polybori::groebner::ReductionStrategy Class Reference

This class defines ReductionStrategy. More...

#include <ReductionStrategy.h>

Inheritance diagram for polybori::groebner::ReductionStrategy:
polybori::groebner::PolyEntryVector polybori::groebner::ReductionOptions polybori::groebner::ReductionTerms

List of all members.

Public Member Functions

 ReductionStrategy (const BoolePolyRing &ring)
void addGenerator (const PolyEntry &entry)
 Adding next element.
void append (const PolyEntry &entry)
Polynomial nf (const Polynomial &p) const
bool canRewrite (const Polynomial &p) const
int select1 (const Polynomial &p) const
int select1 (const Monomial &m) const
int select_short (const Polynomial &p) const
int select_short (const Monomial &m) const
Polynomial headNormalForm (const Polynomial &p) const
Polynomial reducedNormalForm (const Polynomial &p) const
void llReduceAll ()
 operator const PolyEntryVector & () const

Protected Member Functions

void llReduce (const PolyEntry &entry, const Exponent &ll_e)
int select_short_by_terms (const MonomialSet &) const
void unmarkNonMinimalLeadingTerms (MonomialSet removed)
void setupSetsForElement (const PolyEntry &entry)
template<class Iterator , class CompareType >
size_type minimum (Iterator start, Iterator finish, const CompareType &comp) const

Detailed Description

This class defines ReductionStrategy.


Constructor & Destructor Documentation


Member Function Documentation

Adding next element.

Referenced by polybori::groebner::FGLMStrategy::FGLMStrategy().

void polybori::groebner::ReductionStrategy::append ( const PolyEntry entry) [inline, virtual]

Adding next generator

Note:
overwriting virtual to avoid inconsistency when casting

Reimplemented from polybori::groebner::PolyEntryVector.

void polybori::groebner::ReductionStrategy::llReduce ( const PolyEntry entry,
const Exponent ll_e 
) [protected]
template<class Iterator , class CompareType >
size_type polybori::groebner::ReductionStrategy::minimum ( Iterator  start,
Iterator  finish,
const CompareType &  comp 
) const [inline, protected]

References PBORI_UNLIKELY.

polybori::groebner::ReductionStrategy::operator const PolyEntryVector & ( ) const [inline]
Note:
do not inline (optimization screws for some reason)
Todo:
Check whether this is still the case! see: HeuristicQuickTestCase.test_mult6x6mit_lp HeuristicCryptoTestCase.test_ctc_Nr3_B7_n20joined_dp_asc

References polybori::BooleMonomial::exp(), polybori::groebner::PolyEntryBase::lead, polybori::groebner::PolyEntryBase::leadExp, polybori::groebner::PolyEntryBase::p, and PBORI_ASSERT.


The documentation for this class was generated from the following files: