Frobby  0.9.5
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
PivotStrategy Class Referenceabstract

A pivot selection strategy for the Euler algorithm. More...

#include <PivotStrategy.h>

Inheritance diagram for PivotStrategy:
DebugStrategy StatisticsStrategy

Public Member Functions

virtual ~PivotStrategy ()
 
virtual EulerStatedoPivot (EulerState &state, const size_t *divCounts)=0
 Split state. More...
 
virtual void getName (ostream &out) const =0
 Prints the name of the strategy to out. More...
 
virtual void computationCompleted (const PivotEulerAlg &alg)=0
 Call this function once when computation is complete. More...
 
virtual bool shouldTranspose (const EulerState &state) const =0
 Returns true if transposing state is adviced. More...
 

Protected Member Functions

 PivotStrategy ()
 

Private Member Functions

 PivotStrategy (const PivotStrategy &)
 
void operator= (const PivotStrategy &)
 

Detailed Description

A pivot selection strategy for the Euler algorithm.

Definition at line 28 of file PivotStrategy.h.

Constructor & Destructor Documentation

◆ ~PivotStrategy()

virtual PivotStrategy::~PivotStrategy ( )
inlinevirtual

Definition at line 30 of file PivotStrategy.h.

◆ PivotStrategy() [1/2]

PivotStrategy::PivotStrategy ( )
inlineprotected

Definition at line 47 of file PivotStrategy.h.

◆ PivotStrategy() [2/2]

PivotStrategy::PivotStrategy ( const PivotStrategy )
private

Member Function Documentation

◆ computationCompleted()

virtual void PivotStrategy::computationCompleted ( const PivotEulerAlg alg)
pure virtual

Call this function once when computation is complete.

◆ doPivot()

virtual EulerState* PivotStrategy::doPivot ( EulerState state,
const size_t *  divCounts 
)
pure virtual

Split state.

Returns null if state was a base case. Otherwise state and the return value become the two substates. divCounts[var] must be the number of generators that div divides.

◆ getName()

virtual void PivotStrategy::getName ( ostream &  out) const
pure virtual

Prints the name of the strategy to out.

◆ operator=()

void PivotStrategy::operator= ( const PivotStrategy )
private

◆ shouldTranspose()

virtual bool PivotStrategy::shouldTranspose ( const EulerState state) const
pure virtual

Returns true if transposing state is adviced.


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