#include <cFunctionValue.h>
List of all members.
Public Member Functions |
| cFunctionValue (doubleFib dInValue, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
| cFunctionValue (const cFunctionValue &underfunction, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
| cFunctionValue (const TiXmlElement *pXmlElement, intFib &outStatus, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
| cFunctionValue (cReadBits &iBitStream, intFib &outStatus, const cDomainSingle *pInValueDomain, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
virtual | ~cFunctionValue () |
virtual bool | isValid () const |
virtual bool | isUsedVariable (const cFibVariable *variable) const |
virtual set< cFibVariable * > | getUsedVariables () |
virtual bool | replaceVariable (cFibVariable *variableOld, cFibVariable *variableNew) |
virtual doubleFib | getValue () const |
virtual unsignedIntFib | getNumberOfUnderFunctions () const |
virtual void | setDefiningFibElement (cFibElement *fibElement=NULL, bool bCheckDomains=true) |
virtual unsignedLongFib | getTimeNeed (unsignedLongFib lMaxTime=0) const |
virtual unsignedLongFib | getCompressedSize () const |
virtual bool | store (ostream &stream, char &cRestBits, unsigned char &uiRestBitPosition) const |
virtual bool | storeXml (ostream &stream) const |
virtual unsignedIntFib | getType () const |
virtual string | getUnderFunctionName () const |
virtual bool | equal (const cUnderFunction &underfunction) const |
virtual cUnderFunction * | clone (cUnderFunction *pInSuperiorUnderFunction=NULL, cFibElement *pInDefiningFibElement=NULL) const |
virtual | ~cUnderFunction () |
virtual cTypeElement * | getElementType () const |
virtual cDomainSingle * | getDomain () const |
virtual cDomainSingle * | getValueDomain () const |
virtual cDomainSingle * | getStandardDomain () const |
virtual cDomainSingle * | getVariableDomain () const |
cFibElement * | getDefiningFibElement () const |
cUnderFunction * | getSuperiorUnderFunction () const |
virtual bool | operator== (const cUnderFunction &underfunction) const |
bool | operator!= (const cUnderFunction &underfunction) const |
Additional Inherited Members |
static cUnderFunction * | restoreXml (const TiXmlElement *pXmlElement, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
static cUnderFunction * | restore (cReadBits &iBitStream, intFib &outStatus, list< cFibVariable * > &liDefinedVariables, const cDomainSingle *pInValueDomain, const cDomainSingle *pInDomainVariable, cUnderFunction *pInSuperiorFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
static const unsignedIntFib | FUNCTION_VALUE = 0 |
static const unsignedIntFib | FUNCTION_VARIABLE = 1 |
static const unsignedIntFib | FUNCTION_LOG = 10 |
static const unsignedIntFib | FUNCTION_SIN = 11 |
static const unsignedIntFib | FUNCTION_ABS = 12 |
static const unsignedIntFib | FUNCTION_ARCSIN = 13 |
static const unsignedIntFib | FUNCTION_ROUND = 14 |
static const unsignedIntFib | FUNCTION_ADD = 20 |
static const unsignedIntFib | FUNCTION_SUB = 21 |
static const unsignedIntFib | FUNCTION_MULT = 22 |
static const unsignedIntFib | FUNCTION_DIV = 23 |
static const unsignedIntFib | FUNCTION_EXP = 24 |
static const unsignedIntFib | FUNCTION_MIN = 25 |
static const unsignedIntFib | FUNCTION_MAX = 26 |
static const unsignedIntFib | FUNCTION_IF = 30 |
static const unsignedIntFib | FUNCTION_MOD = 31 |
| cUnderFunction (cUnderFunction *pInSuperiorUnderFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
| cUnderFunction (const cUnderFunction &underfunction, cUnderFunction *pInSuperiorUnderFunction=NULL, cFibElement *pInDefiningFibElement=NULL) |
Detailed Description
Definition at line 53 of file cFunctionValue.h.
Constructor & Destructor Documentation
The constructor of the underfunction.
- Parameters:
-
dInValue | the value of this underfunction |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
The copy constructor of the underfunction.
- Parameters:
-
underfunction | the underfunction which to copy |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
fib::cFunctionValue::cFunctionValue |
( |
const TiXmlElement * |
pXmlElement, |
|
|
intFib & |
outStatus, |
|
|
cUnderFunction * |
pInSuperiorFunction = NULL , |
|
|
cFibElement * |
pInDefiningFibElement = NULL |
|
) |
| |
The constructor for restoring a value underfunction from an TinyXml element. Beware: The bits for the functiontype should be allready readed, this constructor reads yust the two underfunctions.
- Parameters:
-
pXmlNode | a pointer to the TinyXml node the underfunction is stored in |
outStatus | An reference to an integervalue where the errorvalue can be stored to. possible errorvalues are:
- 0 loading successful
- -1 loading error, invalid pXmlElement
- -2 loading error, invalid data in pXmlElement
- 1 loading warning, invalid data in pXmlElement, error could be corrected
- 2 loading warning, invalid data in pXmlElement, maybe the loaded object is wrong
|
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
This constructor restores a value underfunction from the stream where it is stored in the compressed fib -format.
- Parameters:
-
iBitStream | the stream where this underfunction is stored to in, because this stream is an cReadBits, any number of bits can be readed from it |
outStatus | An reference to an integervalue where the errorvalue can be stored to. If the pointer is NULL no errorvalue will be given back. possible errorvalues are:
- 0 loading successful
- -1 loading error, invalid stream
- -2 loading error, invalid data in stream
- 1 loading warning, invalid data in stream, error could be corrected
- 2 loading warning, invalid data in stream, maybe the loaded object is wrong
|
pInValueDomain | the domain for value underfunctions |
pInSuperiorFunction | the underfunction which contains the new underfunction |
pInDefiningFibElement | the fib -element which defines/ uses the new underfunction |
virtual fib::cFunctionValue::~cFunctionValue |
( |
| ) |
|
|
virtual |
The destructor of the underfunction.
Member Function Documentation
This method duplicates this whole underfunction. Underfunctions of this underfunction are also cloned.
- Parameters:
-
pSuperiorUnderFunction | the underfunction which contains |
pInDefiningFibElement | the Fib -element which defines/ uses |
- Returns:
- the cloned/ duplicated underfunction
Implements fib::cUnderFunction.
virtual bool fib::cFunctionValue::equal |
( |
const cUnderFunction & |
underfunction | ) |
const |
|
virtual |
This Method checks if the given underfunction is equal to this underfunction.
- Parameters:
-
underfunction | the underfunction to compare with this underfunction |
- Returns:
- true if the given underfunction is equal to this underfunction, else false
Implements fib::cUnderFunction.
This method evaluades the size of the Fib -object in bits in the compressed file form. The optionalpart field of point -elements will be ignored.
- See also:
- store()
- Returns:
- the size of the Fib -object in bits in the compressed form
Implements fib::cUnderFunction.
virtual unsignedIntFib fib::cFunctionValue::getNumberOfUnderFunctions |
( |
| ) |
const |
|
virtual |
- Returns:
- the number of underfunctions, a underfunction of this type has
Implements fib::cUnderFunction.
This method evaluades a value for the time needed to evalue the underfunction. This value should not exceed lMaxTime, if the value for the time is greater than lMaxTime the evaluation will be stopt and lMaxTime returned. If lMaxTime is 0 (for infinity) the evaluation won't be stoped, this is the standard case.
- See also:
- cFibElement::evalueObject()
- Parameters:
-
lMaxTime | the maximum time for the evaluation, the returned exceed this value; the value 0 stands for infinity, so the evaluation won't be stoped |
- Returns:
- a value for the time needed to evalue this underfunction
Implements fib::cUnderFunction.
virtual string fib::cFunctionValue::getUnderFunctionName |
( |
| ) |
const |
|
virtual |
virtual set<cFibVariable*> fib::cFunctionValue::getUsedVariables |
( |
| ) |
|
|
virtual |
This method returns all variables used in this underfunction.
- See also:
- cFibVariable
- Returns:
- all variables used in this underfunction
Implements fib::cUnderFunction.
virtual doubleFib fib::cFunctionValue::getValue |
( |
| ) |
const |
|
virtual |
Returns the value of the underfunction or 0 if non such exists.
- Returns:
- the value of the underfunction or 0 if non such exists
Implements fib::cUnderFunction.
virtual bool fib::cFunctionValue::isUsedVariable |
( |
const cFibVariable * |
variable | ) |
const |
|
virtual |
This method checks if the given variable is used in this underfunction.
- See also:
- cFibVariable
- Parameters:
-
variable | the variable to check if it is used |
- Returns:
- true if the variable is used, else false
Implements fib::cUnderFunction.
virtual bool fib::cFunctionValue::isValid |
( |
| ) |
const |
|
virtual |
This method returns if this underfunction is valid, else false. All values in the underfunction and it's underfunctions must be inside the underfunction domain. All variables must be defined over this underfunction. No underfunction should contain itselfor should be contained in one of its underfunctions (no cycles allowed).
- Returns:
- true if this underfunction is valid, else false
Implements fib::cUnderFunction.
This method replace the variable variableOld with the variable variableNew in the underfunction.
- See also:
- cFibVariable
-
isVariable()
-
isUsedVariable()
- Parameters:
-
variableOld | the variable to replace |
variableNew | the variable with which the variable variableOld is to replace |
- Returns:
- true if the variable variableOld is replaced with variableNew, else false
Implements fib::cUnderFunction.
virtual void fib::cFunctionValue::setDefiningFibElement |
( |
cFibElement * |
fibElement = NULL , |
|
|
bool |
bCheckDomains = true |
|
) |
| |
|
virtual |
Sets the Fib -element which defines/ uses this underfunction. If the given pointer is the nullpointer (standardvalue), no Fib -element defines this underfunction.
- Parameters:
-
definingFibElement | a pointer to the Fib -element which defines/ uses this underfunction |
bCheckDomains | getthe domains of the defining element and check the underfunctionelements with it |
Reimplemented from fib::cUnderFunction.
virtual bool fib::cFunctionValue::store |
( |
ostream & |
stream, |
|
|
char & |
cRestBits, |
|
|
unsigned char & |
uiRestBitPosition |
|
) |
| const |
|
virtual |
This method stores this Fib -object in the compressed Fib -format into the given stream. It is needed becouse the stream can yust store byts but the size of fib -elements can be any number of bits. Because of that ther have to be a possibility to exchange the missing bits betwean the fib -elements.
- See also:
- store
- Parameters:
-
stream | the stream where this Fib -object should be stored to |
cRestBits | the not yet writen bits which should be stored |
uiRestBitPosition | the number of bits in the cRestBits which should be writen respectively containing valid information |
- Returns:
- true if this Fib -object is stored, else false
Implements fib::cUnderFunction.
virtual bool fib::cFunctionValue::storeXml |
( |
ostream & |
stream | ) |
const |
|
virtual |
This method stores this underfunction in the XML -format into the given stream. Variables should have ther number as ther value.
- Parameters:
-
stream | the stream where this underfunctionshould be stored to |
- Returns:
- true if this underfunction is stored, else false
Implements fib::cUnderFunction.
Member Data Documentation
The documentation for this class was generated from the following file: