Frobby  0.9.1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
HilbertIndependenceConsumer Class Reference

#include <HilbertIndependenceConsumer.h>

Inheritance diagram for HilbertIndependenceConsumer:
CoefTermConsumer Task

Classes

class  RightConsumer
 

Public Member Functions

 HilbertIndependenceConsumer (HilbertStrategy *strategy)
 
void reset (CoefTermConsumer *parent, IndependenceSplitter &splitter, size_t varCount)
 
void clear ()
 
virtual void run (TaskEngine &engine)
 Does whatever work this task represents. More...
 
virtual void dispose ()
 Called when the task is no longer used but run has not and will not be called. More...
 
CoefTermConsumer * getLeftConsumer ()
 
virtual void consumeRing (const VarNames &names)
 
virtual void beginConsuming ()
 
virtual void consume (const mpz_class &coef, const Term &term)
 
virtual void doneConsuming ()
 
CoefTermConsumer * getRightConsumer ()
 
const Projection & getLeftProjection () const
 
const Projection & getRightProjection () const
 
- Public Member Functions inherited from CoefTermConsumer
virtual ~CoefTermConsumer ()
 
virtual void consume (const Polynomial &poly)
 
- Public Member Functions inherited from Task
virtual ~Task ()
 

Private Member Functions

virtual void consumeLeft (const mpz_class &leftCoef, const Term &leftTerm)
 
virtual void consumeRight (const mpz_class &coef, const Term &term)
 

Private Attributes

Term _tmpTerm
 
mpz_class _tmpCoef
 
CoefTermConsumer * _parent
 
Projection _leftProjection
 
Projection _rightProjection
 
Ideal _rightTerms
 
vector< mpz_class > _rightCoefs
 
RightConsumer _rightConsumer
 
HilbertStrategy * _strategy
 

Detailed Description

Definition at line 31 of file HilbertIndependenceConsumer.h.

Constructor & Destructor Documentation

◆ HilbertIndependenceConsumer()

HilbertIndependenceConsumer::HilbertIndependenceConsumer ( HilbertStrategy *  strategy)

Definition at line 24 of file HilbertIndependenceConsumer.cpp.

Member Function Documentation

◆ beginConsuming()

void HilbertIndependenceConsumer::beginConsuming ( )
virtual

Implements CoefTermConsumer.

Definition at line 68 of file HilbertIndependenceConsumer.cpp.

◆ clear()

void HilbertIndependenceConsumer::clear ( )

Definition at line 45 of file HilbertIndependenceConsumer.cpp.

◆ consume()

void HilbertIndependenceConsumer::consume ( const mpz_class &  coef,
const Term &  term 
)
virtual

Implements CoefTermConsumer.

Definition at line 74 of file HilbertIndependenceConsumer.cpp.

◆ consumeLeft()

void HilbertIndependenceConsumer::consumeLeft ( const mpz_class &  leftCoef,
const Term &  leftTerm 
)
privatevirtual

Definition at line 116 of file HilbertIndependenceConsumer.cpp.

◆ consumeRight()

void HilbertIndependenceConsumer::consumeRight ( const mpz_class &  coef,
const Term &  term 
)
privatevirtual

Definition at line 138 of file HilbertIndependenceConsumer.cpp.

◆ consumeRing()

void HilbertIndependenceConsumer::consumeRing ( const VarNames &  names)
virtual

Implements CoefTermConsumer.

Definition at line 65 of file HilbertIndependenceConsumer.cpp.

◆ dispose()

void HilbertIndependenceConsumer::dispose ( )
virtual

Called when the task is no longer used but run has not and will not be called.

This can happen from a destructor being called due to an exception, so dispose must not throw an exception under any circumstances.

Implements Task.

Definition at line 51 of file HilbertIndependenceConsumer.cpp.

◆ doneConsuming()

void HilbertIndependenceConsumer::doneConsuming ( )
virtual

Implements CoefTermConsumer.

Definition at line 71 of file HilbertIndependenceConsumer.cpp.

◆ getLeftConsumer()

CoefTermConsumer * HilbertIndependenceConsumer::getLeftConsumer ( )

Definition at line 60 of file HilbertIndependenceConsumer.cpp.

◆ getLeftProjection()

const Projection & HilbertIndependenceConsumer::getLeftProjection ( ) const

Definition at line 86 of file HilbertIndependenceConsumer.cpp.

◆ getRightConsumer()

CoefTermConsumer * HilbertIndependenceConsumer::getRightConsumer ( )

Definition at line 81 of file HilbertIndependenceConsumer.cpp.

◆ getRightProjection()

const Projection & HilbertIndependenceConsumer::getRightProjection ( ) const

Definition at line 91 of file HilbertIndependenceConsumer.cpp.

◆ reset()

void HilbertIndependenceConsumer::reset ( CoefTermConsumer *  parent,
IndependenceSplitter &  splitter,
size_t  varCount 
)

Definition at line 31 of file HilbertIndependenceConsumer.cpp.

◆ run()

void HilbertIndependenceConsumer::run ( TaskEngine &  engine)
virtual

Does whatever work this task represents.

The parameter can be used to schedule additional tasks.

Implements Task.

Definition at line 56 of file HilbertIndependenceConsumer.cpp.

Member Data Documentation

◆ _leftProjection

Projection HilbertIndependenceConsumer::_leftProjection
private

Definition at line 79 of file HilbertIndependenceConsumer.h.

◆ _parent

CoefTermConsumer* HilbertIndependenceConsumer::_parent
private

Definition at line 78 of file HilbertIndependenceConsumer.h.

◆ _rightCoefs

vector<mpz_class> HilbertIndependenceConsumer::_rightCoefs
private

Definition at line 83 of file HilbertIndependenceConsumer.h.

◆ _rightConsumer

RightConsumer HilbertIndependenceConsumer::_rightConsumer
private

Definition at line 85 of file HilbertIndependenceConsumer.h.

◆ _rightProjection

Projection HilbertIndependenceConsumer::_rightProjection
private

Definition at line 80 of file HilbertIndependenceConsumer.h.

◆ _rightTerms

Ideal HilbertIndependenceConsumer::_rightTerms
private

Definition at line 82 of file HilbertIndependenceConsumer.h.

◆ _strategy

HilbertStrategy* HilbertIndependenceConsumer::_strategy
private

Definition at line 87 of file HilbertIndependenceConsumer.h.

◆ _tmpCoef

mpz_class HilbertIndependenceConsumer::_tmpCoef
private

Definition at line 76 of file HilbertIndependenceConsumer.h.

◆ _tmpTerm

Term HilbertIndependenceConsumer::_tmpTerm
private

Definition at line 75 of file HilbertIndependenceConsumer.h.


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