xyMonom< ccoeff > Class Template Reference
[Algebra objectsPolynoms]

Represents a monom template in two variables. Therefore negative exponents are not allowed. More...

#include <xyMonom.h>

Collaboration diagram for xyMonom< ccoeff >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void createFromStream (std::stringstream &monomListStream)
Constructors

 xyMonom ()
 xyMonom (ccoeff _coeff, int _x_exp, int _y_exp)
 xyMonom (std::stringstream &sstream)
 constructs a monom from a input stringstream , see detailed description for format
 xyMonom (std::string str)
Monom exponent access

unsigned int getDegree () const
unsigned int getXExp () const
unsigned int getYExp () const
void setExp (int _x_exp, int _y_exp)
Monom coefficient access

ccoeff getCoeff () const
void setCoeff (ccoeff _coeff)
evaluate xyMonom

template<class IMultiplyCoeffWithVariable , class IMultiplyVariables , class ResultType >
ResultType substitute (const typename IMultiplyVariables::ElementType &x, const typename IMultiplyVariables::ElementType &y, const IMultiplyCoeffWithVariable &imultCoeffXVariable, const IMultiplyVariables &imultVariableXVariable) const
template<class IMultiplyRing >
IMultiplyRing::ElementType substitute2 (const typename IMultiplyRing::ElementType &x, const typename IMultiplyRing::ElementType &y, const IMultiplyRing &imult) const

Protected Attributes

ccoeff coeff
 monom coeffitient
xyExpPair exponents
 monom exponents of x and y
std::string monomString
 monom-representing string

Detailed Description

template<class ccoeff>
class xyMonom< ccoeff >

Definition at line 56 of file xyMonom.h.


Constructor & Destructor Documentation

template<class ccoeff >
xyMonom< ccoeff >::xyMonom (  )  [inline]

Definition at line 183 of file xyMonom.h.

References xyMonom< ccoeff >::coeff, xyMonom< ccoeff >::exponents, and xyExpPair::set().

Here is the call graph for this function:

template<class ccoeff >
xyMonom< ccoeff >::xyMonom ( ccoeff  _coeff,
int  _x_exp,
int  _y_exp 
) [inline]

Definition at line 379 of file xyMonom.h.

References xyMonom< ccoeff >::coeff, xyMonom< ccoeff >::exponents, and xyExpPair::set().

Here is the call graph for this function:

template<class ccoeff >
xyMonom< ccoeff >::xyMonom ( std::stringstream &  monomListStream  )  [inline]

reads xy-monom from input stream.
/ For coefficient format conventions see class ccoeff and
/ for variable exponent format conventions xyExpPair(stringtream)

Precondition:
: coeff kann negiert werden (implementiert den 'operator-'

Definition at line 371 of file xyMonom.h.

References xyMonom< ccoeff >::createFromStream().

Here is the call graph for this function:

template<class ccoeff >
xyMonom< ccoeff >::xyMonom ( std::string  str  )  [inline]

Definition at line 355 of file xyMonom.h.

References xyMonom< ccoeff >::createFromStream().

Here is the call graph for this function:


Member Function Documentation

template<class ccoeff >
void xyMonom< ccoeff >::createFromStream ( std::stringstream &  monomListStream  )  [inline]

Definition at line 232 of file xyMonom.h.

References xyMonom< ccoeff >::coeff, xyMonom< ccoeff >::exponents, and extractChar().

Referenced by xyMonom< ccoeff >::xyMonom().

Here is the call graph for this function:

template<class ccoeff >
ccoeff xyMonom< ccoeff >::getCoeff (  )  const [inline]

Definition at line 213 of file xyMonom.h.

References xyMonom< ccoeff >::coeff.

template<class ccoeff >
unsigned int xyMonom< ccoeff >::getDegree (  )  const [inline]

Definition at line 190 of file xyMonom.h.

References xyMonom< ccoeff >::exponents, and xyExpPair::getDegree().

Here is the call graph for this function:

template<class ccoeff >
unsigned int xyMonom< ccoeff >::getXExp (  )  const [inline]

Definition at line 197 of file xyMonom.h.

References xyMonom< ccoeff >::exponents, and xyExpPair::getXExp().

Here is the call graph for this function:

template<class ccoeff >
unsigned int xyMonom< ccoeff >::getYExp (  )  const [inline]

Definition at line 205 of file xyMonom.h.

References xyMonom< ccoeff >::exponents, and xyExpPair::getYExp().

Here is the call graph for this function:

template<class ccoeff >
void xyMonom< ccoeff >::setCoeff ( ccoeff  _coeff  )  [inline]

Definition at line 226 of file xyMonom.h.

References xyMonom< ccoeff >::coeff.

template<class ccoeff >
void xyMonom< ccoeff >::setExp ( int  _x_exp,
int  _y_exp 
) [inline]

Definition at line 219 of file xyMonom.h.

References xyMonom< ccoeff >::exponents, and xyExpPair::set().

Here is the call graph for this function:

template<class ccoeff >
template<class IMultiplyCoeffWithVariable , class IMultiplyVariables , class ResultType >
ResultType xyMonom< ccoeff >::substitute ( const typename IMultiplyVariables::ElementType &  x,
const typename IMultiplyVariables::ElementType &  y,
const IMultiplyCoeffWithVariable &  imultCoeffXVariable,
const IMultiplyVariables &  imultVariableXVariable 
) const [inline]
Todo:
strenggenommen müsste das Zwischenergebnis immer wissen, zu welchem Ring es gehört. Dies ist aber nicht optimierungsfreundlich

Definition at line 390 of file xyMonom.h.

References xyMonom< ccoeff >::coeff, xyMonom< ccoeff >::exponents, xyExpPair::getXExp(), and xyExpPair::getYExp().

Here is the call graph for this function:

template<class ccoeff >
template<class IMultiplyRing >
IMultiplyRing::ElementType xyMonom< ccoeff >::substitute2 ( const typename IMultiplyRing::ElementType &  x,
const typename IMultiplyRing::ElementType &  y,
const IMultiplyRing &  imult 
) const [inline]

es ist nur der Sonderfall implementiert, in welchem coeff*x^i*y^j wieder in IMultiplyRing::ElementType landet. Dies ist nicht immer der Fall.

Todo:
merke: was negatives ist meistens größer als ein unsigned int!

res= imult.multiply(coeff, res);

Definition at line 430 of file xyMonom.h.

References xyMonom< ccoeff >::coeff, xyMonom< ccoeff >::exponents, xyExpPair::getXExp(), and xyExpPair::getYExp().

Here is the call graph for this function:


Member Data Documentation

template<class ccoeff >
ccoeff xyMonom< ccoeff >::coeff [protected]
template<class ccoeff >
xyExpPair xyMonom< ccoeff >::exponents [protected]
template<class ccoeff >
std::string xyMonom< ccoeff >::monomString [protected]

Definition at line 112 of file xyMonom.h.


The documentation for this class was generated from the following file:
Generated on Tue Nov 23 13:10:53 2010 for centerfocus by  doxygen 1.6.3