class used to store the coefficients of a polynom in (x,y) More...
#include <polynom.h>
Public Types | |
typedef TNum | CoefficientType |
object name | |
Public Member Functions | |
Contsructors / Destructors | |
polynomXY () | |
polynomXY (const short _maxDegree) | |
create a polynom in (x,y). with maximal monom degree = _maxDegree | |
polynomXY (string _name, const short _maxDegree) | |
create a polynom in (x,y). with maximal monom degree= _maxDegree | |
polynomXY (const polynomXY &) | |
copy constructor | |
~polynomXY () | |
Initialization | |
void | setDegree (short maxDegree) |
reset max possible degree of a contained (x,y)-monom. All data is erased ! | |
void | clear (short maxDegree) |
void | clear () |
Data access | |
void | setCoeff (const short x_exp, const short y_exp, const TNum value) |
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 int x_exp, const int 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) |
Properties | |
short | getDegree () const |
string | getName () const |
short | getMaxDegree () const |
return max monom degree capacity | |
Safety | |
void | testBounds (const short x_exp, const short y_exp) const |
Test, if x_exp and y_exp have legal values due do maxDegree ! | |
operators | |
polynomXY & | operator= (const polynomXY &) |
assignment operator | |
bool | operator== (const polynomXY &) const |
IO | |
void | OutputPureCoefficients (ostream &datei, int maxDegree, bool mitKomma) const |
output coefficients in monomgroups with equal degree | |
void | output (std::ostream &os) const |
void | printInMacaulayStyle (std::ostream &os) const |
void | outputMatrix () const |
print object ( debug) | |
void | print (std::ostream &os) const |
output polynom in Macaulay-Style | |
Private Member Functions | |
int | getIndex (const short x_exp, const short y_exp) const |
Private Attributes | |
short | maxDegree |
max possible degree of a contained (x,y)-monom | |
short | maxDegreePlusOne |
TIndex | idefs |
short | size |
monom coefficients count | |
TNum * | koeff |
koeff[x_exp*(maxDegree+1)+y_exp] = value; | |
string | name |
eventuell auch einen Ring hier speichern, da im Programm nicht allzuviele Polynome verwendet werden. soweit Verallgemeinern, dass die Klasse mit einer getIndex-Fkt parametrisiert werden kann. Dann kannste fast_polynom wegwerfen.
Definition at line 119 of file polynom.h.
typedef TNum polynomXY< TNum, TIndex >::CoefficientType |
Definition at line 10 of file polynom.cpp.
References polynomXY< TNum, TIndex >::name.
polynomXY< TNum, TIndex >::polynomXY | ( | const short | _maxDegree | ) | [inline] |
Definition at line 25 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::name.
polynomXY< TNum, TIndex >::polynomXY | ( | string | _name, | |
const short | _maxDegree | |||
) | [inline] |
Definition at line 42 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, and polynomXY< TNum, TIndex >::koeff.
polynomXY< TNum, TIndex >::polynomXY | ( | const polynomXY< TNum, TIndex > & | pxy | ) | [inline] |
Definition at line 58 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, and polynomXY< TNum, TIndex >::koeff.
Definition at line 172 of file polynom.cpp.
References polynomXY< TNum, TIndex >::koeff.
void polynomXY< TNum, TIndex >::clear | ( | ) | [inline] |
Definition at line 387 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, and polynomXY< TNum, TIndex >::koeff.
void polynomXY< TNum, TIndex >::clear | ( | short | maxDegree | ) | [inline] |
Definition at line 374 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::maxDegree.
TNum polynomXY< TNum, TIndex >::getCoeff | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 329 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
Referenced by polynomXY< TNum, TIndex >::operator==(), polynomXY< TNum, TIndex >::output(), polynomXY< TNum, TIndex >::outputMatrix(), polynomXY< TNum, TIndex >::OutputPureCoefficients(), and polynomXY< TNum, TIndex >::print().
TNum * polynomXY< TNum, TIndex >::getCoeffAddr | ( | const short | x_exp, | |
const short | y_exp | |||
) | [inline] |
Definition at line 90 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
TNum const polynomXY< TNum, TIndex >::getCoeffConst | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 339 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
TNum const * polynomXY< TNum, TIndex >::getCoeffConstAddr | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 81 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
const TNum & polynomXY< TNum, TIndex >::getCoeffConstRef | ( | const int | x_exp, | |
const int | y_exp | |||
) | const [inline] |
Definition at line 348 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
TNum & polynomXY< TNum, TIndex >::getCoeffRef | ( | const short | x_exp, | |
const short | y_exp | |||
) | [inline] |
Definition at line 358 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
short polynomXY< TNum, TIndex >::getDegree | ( | ) | const [inline] |
Definition at line 368 of file polynom.cpp.
References polynomXY< TNum, TIndex >::maxDegree.
int polynomXY< TNum, TIndex >::getIndex | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline, private] |
Definition at line 73 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs.
Referenced by polynomXY< TNum, TIndex >::clear(), polynomXY< TNum, TIndex >::getCoeff(), polynomXY< TNum, TIndex >::getCoeffAddr(), polynomXY< TNum, TIndex >::getCoeffConst(), polynomXY< TNum, TIndex >::getCoeffConstAddr(), polynomXY< TNum, TIndex >::getCoeffConstRef(), polynomXY< TNum, TIndex >::getCoeffRef(), polynomXY< TNum, TIndex >::setCoeff(), and polynomXY< TNum, TIndex >::testBounds().
short polynomXY< TNum, TIndex >::getMaxDegree | ( | ) | const [inline] |
Definition at line 128 of file polynom.cpp.
References polynomXY< TNum, TIndex >::maxDegree.
string polynomXY< TNum, TIndex >::getName | ( | ) | const [inline] |
Definition at line 180 of file polynom.h.
References polynomXY< TNum, TIndex >::name.
polynomXY< TNum, TIndex > & polynomXY< TNum, TIndex >::operator= | ( | const polynomXY< TNum, TIndex > & | pxy | ) | [inline] |
Definition at line 147 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, polynomXY< TNum, TIndex >::koeff, polynomXY< TNum, TIndex >::maxDegree, polynomXY< TNum, TIndex >::maxDegreePlusOne, and polynomXY< TNum, TIndex >::size.
bool polynomXY< TNum, TIndex >::operator== | ( | const polynomXY< TNum, TIndex > & | pxy | ) | const [inline] |
Definition at line 134 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getCoeff(), and polynomXY< TNum, TIndex >::maxDegree.
void polynomXY< TNum, TIndex >::output | ( | std::ostream & | os | ) | const [inline] |
Definition at line 182 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getCoeff(), and polynomXY< TNum, TIndex >::maxDegree.
void polynomXY< TNum, TIndex >::outputMatrix | ( | ) | const [inline] |
Definition at line 240 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getCoeff(), polynomXY< TNum, TIndex >::maxDegree, and polynomXY< TNum, TIndex >::name.
void polynomXY< TNum, TIndex >::OutputPureCoefficients | ( | ostream & | datei, | |
int | maxDegree, | |||
bool | mitKomma | |||
) | const [inline] |
Definition at line 263 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getCoeff().
void polynomXY< TNum, TIndex >::print | ( | std::ostream & | os | ) | const [inline] |
Definition at line 200 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getCoeff(), and polynomXY< TNum, TIndex >::maxDegree.
Referenced by polynomXY< TNum, TIndex >::printInMacaulayStyle().
void polynomXY< TNum, TIndex >::printInMacaulayStyle | ( | std::ostream & | os | ) | const [inline] |
Definition at line 230 of file polynom.cpp.
References polynomXY< TNum, TIndex >::name, and polynomXY< TNum, TIndex >::print().
void polynomXY< TNum, TIndex >::setCoeff | ( | const short | x_exp, | |
const short | y_exp, | |||
const TNum | value | |||
) | [inline] |
Definition at line 318 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::koeff, and polynomXY< TNum, TIndex >::testBounds().
void polynomXY< TNum, TIndex >::setDegree | ( | short | maxDegree | ) | [inline] |
Definition at line 101 of file polynom.cpp.
References polynomXY< TNum, TIndex >::idefs, polynomXY< TNum, TIndex >::koeff, polynomXY< TNum, TIndex >::maxDegree, polynomXY< TNum, TIndex >::maxDegreePlusOne, and polynomXY< TNum, TIndex >::size.
void polynomXY< TNum, TIndex >::testBounds | ( | const short | x_exp, | |
const short | y_exp | |||
) | const [inline] |
Definition at line 300 of file polynom.cpp.
References polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::maxDegree, and polynomXY< TNum, TIndex >::maxDegreePlusOne.
Referenced by polynomXY< TNum, TIndex >::getCoeff(), polynomXY< TNum, TIndex >::getCoeffAddr(), polynomXY< TNum, TIndex >::getCoeffConst(), polynomXY< TNum, TIndex >::getCoeffConstAddr(), polynomXY< TNum, TIndex >::getCoeffConstRef(), polynomXY< TNum, TIndex >::getCoeffRef(), and polynomXY< TNum, TIndex >::setCoeff().
Definition at line 124 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::clear(), polynomXY< TNum, TIndex >::getIndex(), polynomXY< TNum, TIndex >::operator=(), polynomXY< TNum, TIndex >::polynomXY(), and polynomXY< TNum, TIndex >::setDegree().
Definition at line 126 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::clear(), polynomXY< TNum, TIndex >::getCoeff(), polynomXY< TNum, TIndex >::getCoeffAddr(), polynomXY< TNum, TIndex >::getCoeffConst(), polynomXY< TNum, TIndex >::getCoeffConstAddr(), polynomXY< TNum, TIndex >::getCoeffConstRef(), polynomXY< TNum, TIndex >::getCoeffRef(), polynomXY< TNum, TIndex >::operator=(), polynomXY< TNum, TIndex >::polynomXY(), polynomXY< TNum, TIndex >::setCoeff(), polynomXY< TNum, TIndex >::setDegree(), and polynomXY< TNum, TIndex >::~polynomXY().
Definition at line 122 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::clear(), polynomXY< TNum, TIndex >::getDegree(), polynomXY< TNum, TIndex >::getMaxDegree(), polynomXY< TNum, TIndex >::operator=(), polynomXY< TNum, TIndex >::operator==(), polynomXY< TNum, TIndex >::output(), polynomXY< TNum, TIndex >::outputMatrix(), polynomXY< TNum, TIndex >::print(), polynomXY< TNum, TIndex >::setDegree(), and polynomXY< TNum, TIndex >::testBounds().
short polynomXY< TNum, TIndex >::maxDegreePlusOne [private] |
Definition at line 123 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::operator=(), polynomXY< TNum, TIndex >::setDegree(), and polynomXY< TNum, TIndex >::testBounds().
Definition at line 129 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::getName(), polynomXY< TNum, TIndex >::outputMatrix(), polynomXY< TNum, TIndex >::polynomXY(), and polynomXY< TNum, TIndex >::printInMacaulayStyle().
Definition at line 125 of file polynom.h.
Referenced by polynomXY< TNum, TIndex >::operator=(), and polynomXY< TNum, TIndex >::setDegree().