polybori::groebner::PolynomialSugar Class Reference

This class defines PolynomialSugar. More...

`#include <PolynomialSugar.h>`

## Public Member Functions

| PolynomialSugar (const Polynomial &poly)
| PolynomialSugar (const Polynomial &poly, int sugar, len_type length)
const BooleMonomial & | lead () const
const Exponent & | leadExp () const
deg_type | getSugar () const
wlen_type | getLengthEstimation () const
bool | isZero () const
void | add (const Polynomial p2, deg_type sugar2, wlen_type length)
void | adjustSugar ()
bool | isOne ()
Polynomial | value () const
wlen_type | eliminationLength () const
void | adjustLm ()

## Protected Attributes

Monomial | lm
len_type | length
deg_type | sugar
Polynomial | p
Exponent | exp

## Detailed Description

This class defines PolynomialSugar.

## Constructor & Destructor Documentation

polybori::groebner::PolynomialSugar::PolynomialSugar | ( | const Polynomial & | poly | ) |

inline

References PBORI_ASSERT.

polybori::groebner::PolynomialSugar::PolynomialSugar | ( | const Polynomial & | poly,
|  | int | sugar,
|  | len_type | length
| ) |  |

inline

References PBORI_ASSERT.

## Member Function Documentation

void polybori::groebner::PolynomialSugar::add | ( | const Polynomial | p2,
|  | deg_type | sugar2,
|  | wlen_type | length
| ) |  |

inline

References polybori::BoolePolynomial::leadExp(), polybori::BoolePolynomial::length(), and PBORI_ASSERT.

void polybori::groebner::PolynomialSugar::adjustLm | ( |  | ) |

inline

References PBORI_ASSERT.

void polybori::groebner::PolynomialSugar::adjustSugar | ( |  | ) |

inline

wlen_type polybori::groebner::PolynomialSugar::eliminationLength | ( |  | ) | const

inline

Todo:
  optimize that using length optimization

References PBORI_ASSERT.

Referenced by polybori::groebner::PSCompareByEl::operator()().

wlen_type polybori::groebner::PolynomialSugar::getLengthEstimation | ( |  | ) | const

inline

deg_type polybori::groebner::PolynomialSugar::getSugar | ( |  | ) | const

inline

Referenced by polybori::groebner::PSCompareByEl::operator()(), and polybori::groebner::parallel_reduce().

bool polybori::groebner::PolynomialSugar::isOne | ( |  | ) |

inline

bool polybori::groebner::PolynomialSugar::isZero | ( |  | ) | const

inline

const BooleMonomial& polybori::groebner::PolynomialSugar::lead | ( |  | ) | const

inline

Referenced by polybori::groebner::LMLessComparePS::operator()().

const Exponent& polybori::groebner::PolynomialSugar::leadExp | ( |  | ) | const

inline

Polynomial polybori::groebner::PolynomialSugar::value | ( |  | ) | const

inline

## Member Data Documentation

Exponent polybori::groebner::PolynomialSugar::exp

protected

len_type polybori::groebner::PolynomialSugar::length

protected

Monomial polybori::groebner::PolynomialSugar::lm

protected

Polynomial polybori::groebner::PolynomialSugar::p

protected

deg_type polybori::groebner::PolynomialSugar::sugar

protected

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

- PolynomialSugar.h