This class manages coefficients of a polynom in (x,y) with template type TNum, see detailed description. Limitations: exponent is bounded to a 'short int', maxDegree is bounded to a 'short int'. More...
#include <fast_polynom.h>
Public Types | |
typedef TNum | CoefficientType |
typedef defs | TDefs |
Public Member Functions | |
template<> | |
fast_polynomXY (string _name, short _degree) | |
template<> | |
void | clear (short _degree) |
Constructors / Destructors | |
fast_polynomXY () | |
fast_polynomXY (short _degree) | |
fast_polynomXY (short _degree, short epsPrecision) | |
fast_polynomXY (std::string _name, short _degree) | |
fast_polynomXY (const fast_polynomXY &fpx) | |
virtual | ~fast_polynomXY () |
properties | |
short | getMaxDegree () const |
short | getDegree () const |
string | getName () const |
unsigned short | getSize () const |
Manipulate | |
void | setDegree (int degree) const |
void | setCoeff (const short x_exp, const short y_exp, const TNum value) |
void | setCoeffFromRef (const short x_exp, const short y_exp, const TNum &value) |
void | clear (short _degree) |
void | clear () |
data access | |
TNum | getCoeff (const short x_exp, const short y_exp) const |
TNum const | getCoeffConst (const short x_exp, const short y_exp) const |
const TNum & | getCoeffConstRef (const short x_exp, const short y_exp) const |
TNum & | getCoeffRef (const short x_exp, const short y_exp) |
TNum const * | getCoeffConstAddr (const short x_exp, const short y_exp) const |
TNum * | getCoeffAddr (const short x_exp, const short y_exp) |
operators | |
fast_polynomXY & | operator= (const fast_polynomXY &fpx) |
bool | operator== (const fast_polynomXY &fpx) const |
IO | |
void | OutputPureCoefficients (ostream &datei, int maxDegree, bool mitKomma) const |
macaulay-Style output | |
void | outputMatrix (std::ostream &os) const |
void | outputMatrix () const |
void | output (std::ostream &os) const |
void | output () const |
Public Attributes | |
TNum *const | koeff |
koeff[x_exp*defsmaxdegree+y_exp] = value; | |
Private Attributes | |
short | maxDegree |
const short | maxDegreePlusOne |
string | name |
fast_polynomXY has differences in comparison to polynomXY:
firstly, the position of a single monom coefficient is computed by shift operations at the cost for higher memory usage
secondly, the type of coefficients is parametrized during compile time
Definition at line 44 of file fast_polynom.h.
typedef TNum fast_polynomXY< defs, TNum >::CoefficientType |
Definition at line 53 of file fast_polynom.h.
typedef defs fast_polynomXY< defs, TNum >::TDefs |
Definition at line 54 of file fast_polynom.h.
fast_polynomXY< defs, TNum >::fast_polynomXY | ( | ) | [inline] |
Definition at line 34 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff, fast_polynomXY< defs, TNum >::maxDegree, and fast_polynomXY< defs, TNum >::name.
fast_polynomXY< defs, TNum >::fast_polynomXY | ( | short | _degree | ) | [inline] |
Definition at line 7 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff, fast_polynomXY< defs, TNum >::maxDegree, and fast_polynomXY< defs, TNum >::name.
fast_polynomXY< defs, TNum >::fast_polynomXY | ( | short | _degree, | |
short | epsPrecision | |||
) |
fast_polynomXY< defs, TNum >::fast_polynomXY | ( | std::string | _name, | |
short | _degree | |||
) |
fast_polynomXY< defs, TNum >::fast_polynomXY | ( | const fast_polynomXY< defs, TNum > & | fpx | ) | [inline] |
Definition at line 122 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::getCoeff(), fast_polynomXY< defs, TNum >::koeff, and fast_polynomXY< defs, TNum >::maxDegree.
fast_polynomXY< defs, TNum >::~fast_polynomXY | ( | ) | [inline, virtual] |
Definition at line 115 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
fast_polynomXY< polynomdefsNew< FIELDCHAR >, short int >::fast_polynomXY | ( | string | _name, | |
short | _degree | |||
) | [inline] |
Definition at line 85 of file fast_polynom.cpp.
void fast_polynomXY< polynomdefsNew< FIELDCHAR >, short >::clear | ( | short | _degree | ) | [inline] |
Definition at line 450 of file fast_polynom.cpp.
References polynomdefsNew< DEGREE >::getPairIndex().
void fast_polynomXY< defs, TNum >::clear | ( | ) | [inline] |
Definition at line 481 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
void fast_polynomXY< defs, TNum >::clear | ( | short | _degree | ) | [inline] |
Definition at line 396 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
TNum fast_polynomXY< defs, TNum >::getCoeff | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 269 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
Referenced by fast_polynomXY< defs, TNum >::fast_polynomXY(), fast_polynomXY< defs, TNum >::operator=(), fast_polynomXY< defs, TNum >::operator==(), and fast_polynomXY< defs, TNum >::OutputPureCoefficients().
TNum * fast_polynomXY< defs, TNum >::getCoeffAddr | ( | const short | x_exp, | |
const short | y_exp | |||
) | [inline] |
Definition at line 353 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
TNum const fast_polynomXY< defs, TNum >::getCoeffConst | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 293 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
TNum const * fast_polynomXY< defs, TNum >::getCoeffConstAddr | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 338 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
const TNum & fast_polynomXY< defs, TNum >::getCoeffConstRef | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 308 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
TNum & fast_polynomXY< defs, TNum >::getCoeffRef | ( | const short | x_exp, | |
const short | y_exp | |||
) | [inline] |
Definition at line 323 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
short fast_polynomXY< defs, TNum >::getDegree | ( | ) | const [inline] |
Definition at line 369 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::maxDegree.
short fast_polynomXY< defs, TNum >::getMaxDegree | ( | ) | const [inline] |
Definition at line 377 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::maxDegree.
string fast_polynomXY< defs, TNum >::getName | ( | ) | const [inline] |
Definition at line 74 of file fast_polynom.h.
References fast_polynomXY< defs, TNum >::name.
unsigned short fast_polynomXY< defs, TNum >::getSize | ( | ) | const [inline] |
Definition at line 75 of file fast_polynom.h.
fast_polynomXY< defs, TNum > & fast_polynomXY< defs, TNum >::operator= | ( | const fast_polynomXY< defs, TNum > & | fpx | ) | [inline] |
Definition at line 184 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::getCoeff(), fast_polynomXY< defs, TNum >::koeff, and fast_polynomXY< defs, TNum >::maxDegree.
bool fast_polynomXY< defs, TNum >::operator== | ( | const fast_polynomXY< defs, TNum > & | fpx | ) | const [inline] |
Definition at line 168 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::getCoeff(), and fast_polynomXY< defs, TNum >::maxDegree.
void fast_polynomXY< defs, TNum >::output | ( | ) | const [inline] |
Definition at line 119 of file fast_polynom.h.
References fast_polynomXY< defs, TNum >::output().
Referenced by fast_polynomXY< defs, TNum >::output().
void fast_polynomXY< defs, TNum >::output | ( | std::ostream & | os | ) | const |
void fast_polynomXY< defs, TNum >::outputMatrix | ( | ) | const [inline] |
Definition at line 116 of file fast_polynom.h.
References fast_polynomXY< defs, TNum >::outputMatrix().
Referenced by fast_polynomXY< defs, TNum >::outputMatrix().
void fast_polynomXY< defs, TNum >::outputMatrix | ( | std::ostream & | os | ) | const |
void fast_polynomXY< defs, TNum >::OutputPureCoefficients | ( | ostream & | datei, | |
int | maxDegree, | |||
bool | mitKomma | |||
) | const [inline] |
Definition at line 539 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::getCoeff().
void fast_polynomXY< defs, TNum >::setCoeff | ( | const short | x_exp, | |
const short | y_exp, | |||
const TNum | value | |||
) | [inline] |
Definition at line 253 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
void fast_polynomXY< defs, TNum >::setCoeffFromRef | ( | const short | x_exp, | |
const short | y_exp, | |||
const TNum & | value | |||
) | [inline] |
Definition at line 239 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::koeff.
void fast_polynomXY< defs, TNum >::setDegree | ( | int | degree | ) | const [inline] |
Definition at line 384 of file fast_polynom.cpp.
References fast_polynomXY< defs, TNum >::maxDegree.
TNum* const fast_polynomXY< defs, TNum >::koeff |
Definition at line 56 of file fast_polynom.h.
Referenced by fast_polynomXY< defs, TNum >::clear(), fast_polynomXY< defs, TNum >::fast_polynomXY(), fast_polynomXY< defs, TNum >::getCoeff(), fast_polynomXY< defs, TNum >::getCoeffAddr(), fast_polynomXY< defs, TNum >::getCoeffConst(), fast_polynomXY< defs, TNum >::getCoeffConstAddr(), fast_polynomXY< defs, TNum >::getCoeffConstRef(), fast_polynomXY< defs, TNum >::getCoeffRef(), fast_polynomXY< defs, TNum >::operator=(), fast_polynomXY< defs, TNum >::setCoeff(), fast_polynomXY< defs, TNum >::setCoeffFromRef(), and fast_polynomXY< defs, TNum >::~fast_polynomXY().
short fast_polynomXY< defs, TNum >::maxDegree [private] |
Definition at line 47 of file fast_polynom.h.
Referenced by fast_polynomXY< defs, TNum >::fast_polynomXY(), fast_polynomXY< defs, TNum >::getDegree(), fast_polynomXY< defs, TNum >::getMaxDegree(), fast_polynomXY< defs, TNum >::operator=(), fast_polynomXY< defs, TNum >::operator==(), and fast_polynomXY< defs, TNum >::setDegree().
const short fast_polynomXY< defs, TNum >::maxDegreePlusOne [private] |
Definition at line 48 of file fast_polynom.h.
string fast_polynomXY< defs, TNum >::name [private] |
Definition at line 50 of file fast_polynom.h.
Referenced by fast_polynomXY< defs, TNum >::fast_polynomXY(), and fast_polynomXY< defs, TNum >::getName().