DegreeSplit Class Reference
Inheritance diagram for DegreeSplit:

## Public Member Functions

virtual const char * | getName () const
| Returns the name of the strategy.
virtual void | getPivot (Term &pivot, Slice &slice) const
| Sets pivot to the pivot of a pivot split on slice.
virtual void | getPivot (Term &pivot, Slice &slice, const TermGrader &grader) const
| Sets pivot to the pivot of a pivot split on slice.
Public Member Functions inherited from PivotSplit
virtual bool | isPivotSplit () const
| If returns true, only call getPivot.
Public Member Functions inherited from SplitStrategyCommon
virtual size_t | getLabelSplitVariable (const Slice &slice) const
| Returns the variable to perform a label split on.
virtual bool | isLabelSplit () const
| If returns true, only call getLabelSplitVariable.
Public Member Functions inherited from SplitStrategy
virtual | ~SplitStrategy ()

## Static Public Member Functions

static const char * | staticGetName ()
Static Public Member Functions inherited from SplitStrategy
static unique_ptr< SplitStrategy > | createStrategy (const string &prefix)
| Returns the strategy whose name has the given prefix.

## Private Attributes

mpz_class | _maxDiff
| This is member variable used by getPivot.
mpz_class | _diff
| This is member variable used by getPivot.

## Additional Inherited Members

Protected Member Functions inherited from SplitStrategyCommon
Exponent | getMedianPositiveExponentOf (Slice &slice, size_t var) const
size_t | getBestVar (const Slice &slice) const
Protected Member Functions inherited from SplitStrategy
| SplitStrategy ()
| SplitStrategy (const SplitStrategy &)
SplitStrategy & | operator= (const SplitStrategy &)
bool | operator== (const SplitStrategy &)
Protected Attributes inherited from SplitStrategyCommon
Term | coVariableForGetBestVar

## Detailed Description

Definition at line 390 of file SplitStrategy.cpp.

## Member Function Documentation

## getName()

virtual const char * DegreeSplit::getName | ( |  | ) | const

inline virtual

Returns the name of the strategy.

Implements SplitStrategy.

Reimplemented in DeprecatedFrobeniusSplit.

Definition at line 392 of file SplitStrategy.cpp.

## getPivot() [1/2]

virtual void DegreeSplit::getPivot | ( | Term & | pivot,
|  | Slice & | slice ) const

inline virtual

Sets pivot to the pivot of a pivot split on slice.

The slice is not changed mathematically, but e.g. the generators may be permuted.

This method must only be called if isPivotSplit() returns true.

Reimplemented from SplitStrategyCommon.

Definition at line 400 of file SplitStrategy.cpp.

## getPivot() [2/2]

virtual void DegreeSplit::getPivot | ( | Term & | pivot,
|  | Slice & | slice,
|  | const TermGrader & | grader ) const

inline virtual

Sets pivot to the pivot of a pivot split on slice.

Some pivot selection strategies make use of a grading. The slice is not changed mathematically, but e.g. the generators may be permuted.

This method must only be called if isPivotSplit() returns true.

Reimplemented from SplitStrategyCommon.

Definition at line 404 of file SplitStrategy.cpp.

## staticGetName()

const char * DegreeSplit::staticGetName | ( |  | ) |

inline static

Definition at line 396 of file SplitStrategy.cpp.

## Member Data Documentation

## _diff

mpz_class DegreeSplit::_diff

mutable private

This is member variable used by getPivot.

It has been made a field of the object to avoid having to reinitialize the object with each call.

Definition at line 451 of file SplitStrategy.cpp.

## _maxDiff

mpz_class DegreeSplit::_maxDiff

mutable private

This is member variable used by getPivot.

It has been made a field of the object to avoid having to reinitialize the object with each call.

Definition at line 445 of file SplitStrategy.cpp.

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

- src/SplitStrategy.cpp