C++ main module for gpm Package
1.0
|
This class is a leaf of math expression ie either double float long double etc... More...
#include <MATH_LeafExpression.h>
Public Member Functions | |
virtual void | copy (const MATH_LeafExpression &l) |
copy the leaf More... | |
void | setSymbol (const tString &tag) |
set the symbol More... | |
tString | getSymbol () const |
get the symbol More... | |
virtual tBoolean | isEnvironmentVariableNode () const |
return true if the node is a variable to add to environment More... | |
virtual int | evaluate (const tFlag &action, MATH_Environment &symbols, MATH_Variable &var) const |
void evaluate the expression More... | |
virtual MATH_ChildExpression * | insertInTree (MATH_Expression *tree, MATH_Environment &symbols, tString &expr) |
insert the node This in tree & erase the This corresponding character in expr More... | |
virtual tString | toString () const |
return the string representation More... | |
void | setParent (SP::MATH_ParentExpression parent, const int &argIndex) |
set the parent More... | |
void | resetParent () |
reset the parent of the child More... | |
virtual const MATH_RootExpression * | getRootNode () const |
return the root node of the node More... | |
SP::MATH_ParentExpression | getParent (int &index) |
get the parent More... | |
SPC::MATH_ParentExpression | getParent (int &index) const |
get the parent More... | |
SP::MATH_ParentExpression | getParent () |
get the parent More... | |
SPC::MATH_ParentExpression | getParent () const |
get the parent More... | |
int | evaluate (MATH_Environment &symbols, MATH_Variable &value) const |
void evaluate the algebric expression More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
return true if the object is an instance of T More... | |
virtual void | print () |
print the class More... | |
virtual ostream & | print (ostream &out) const |
print the class More... | |
virtual void | print (const tString &message) |
print the class More... | |
virtual void | print (const tInteger &str) |
print More... | |
virtual void | print (const tRelativeInteger &str) |
print More... | |
virtual void | print (const tReal &str) |
print More... | |
virtual void | print (const int &str) |
print More... | |
Static Public Member Functions | |
static SP::MATH_LeafExpression | New () |
create a leaf expression More... | |
static SP::MATH_LeafExpression | New (const tString &symbol) |
create a leaf expression More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object using only the identity string More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string represantation of a pointer More... | |
static void | setOutput (ostream &out) |
set output More... | |
static ostream & | getOutput () |
get output More... | |
static void | printObjectsInMemory () |
print object in memory More... | |
static ostream & | print (ostream &out, const tString &message) |
print the class More... | |
static void | outputPrint (const tString &message) |
Static Public Attributes | |
static const tFlag | ALGEBRIC =0 |
static const tFlag | IS_INSIDE =1 |
static const tFlag | COMPUTE_BOUNDS =2 |
static const int | SUCCESS =0 |
static const int | FAIL =-1 |
static const int | TYPE_MISMATCHED =-2 |
static const int | SIZE_MISMATCHED =-3 |
static const int | OUT_OF_BOUNDS =-4 |
static const int | NULL_OPERAND =-5 |
static tBoolean | mIsMemoryTesting =false |
indicator to store all classes created and deleted only for debuging version More... | |
Protected Member Functions | |
MATH_LeafExpression (void) | |
create More... | |
virtual | ~MATH_LeafExpression (void) |
destroy More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
virtual void | setType (tString type) |
set the type of the object More... | |
virtual void | toDoAfterThisSetting () |
method called after setThis() method this method can oly be called once. More... | |
This class is a leaf of math expression ie either double float long double etc...
A leaf has a symbol which may be the string representation of the value: MATH_LeafExpression::setSymbol() & MATH_LeafExpression:: getSymbol() methods
The evaluation of the leaf is by default the double value of the string of the corresponding value of the symbol in symbol map passed in argument of the method MATH_LeafExpression::evaluate().
A leaf node is insert in the tree by the MATH_LeafExpression::insertInTree()
The method MATH_LeafExpression::setOperator() is to set the operator of which the leaf is one of its argument. The operator found must has the less priority of the operator to set.
The symbol with pre-defined value are
E (or e)
|
protected |
create
|
protectedvirtual |
destroy
|
inlinevirtual |
|
inlineinherited |
void evaluate the algebric expression
symbols | algebric values of symbol |
References MATH_Expression::evaluate().
|
virtual |
void evaluate the expression
action | action of the evaluation: |
symbols | values of symbols |
values | return values |
size | number of returned values |
type | type of values
|
Implements MATH_Expression.
Reimplemented in MATH_FunctionNode, MATH_VectorFunction, MATH_ArrayFunction, MATH_Set, MATH_SetTransformer, and MATH_NumericalFunction.
References MATH_Variable::getSize(), MATH_Environment::getVariable(), CORE_Integer::parseInt(), and MATH_Variable::setSize().
return the class name of the object using only the identity string
Referenced by CORE_Object::printObjectsInMemory().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by CORE_Object::toString().
|
inlinestaticinherited |
get output
|
inlineinherited |
get the parent
index | index of the child this in parent. |
|
inlineinherited |
get the parent
index | index of the child this in parent. |
|
inlineinherited |
get the parent
Referenced by MATH_ChildExpression::getParent(), MATH_ChildExpression::getRootNode(), MATH_BeginBlock::remove(), MATH_ChildExpression::resetParent(), and MATH_ChildExpression::setParent().
|
inlineinherited |
get the parent
References MATH_ChildExpression::getParent().
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
virtualinherited |
return the root node of the node
Reimplemented in MATH_NodeExpression.
References MATH_ChildExpression::getParent().
Referenced by MATH_NodeExpression::getRootNode(), and MATH_FunctionNode::readArguments().
|
inlineinherited |
get the shared pointer of this class into p
Referenced by MATH_ParentExpression::addArgument(), GPMG_EnvironmentPanel::componentClicked(), GPM_GraphElement::copy(), CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< T >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), CORE_Object::printObjectsInMemory(), MATH_ParentExpression::setArgument(), GPMG_EnvironmentPanel::setEnvironment(), GPM_GraphElement::setGraph(), GPMG_GraphElementWindow::setGraphElement(), GPMG_ShowGraphDrawPanel::showGraph(), and GPMG_RuleGraphDrawPanel::showRule().
|
inlineinherited |
get the shared pointer of this class into p
|
inline |
get the symbol
Referenced by copy(), insertInTree(), MATH_FunctionNode::readArguments(), and MATH_FunctionNode::toString().
|
inlinestaticinherited |
get type name
References tString.
|
virtual |
insert the node This in tree & erase the This corresponding character in expr
treeNode | : the tree node access of the tree to insert the node This |
expr | : the expression string |
Insert the node in the tree form treeNode if
Root | Unary Operator | Binary Operator | Begin Block | End Block | leaf node |
true | true | true | true | false | false |
Implements MATH_ChildExpression.
Reimplemented in MATH_FunctionNode.
References MATH_ParentExpression::addArgument(), MATH_Environment::addVariable(), getSymbol(), MATH_BeginBlock::isClosed(), isEnvironmentVariableNode(), and null.
Referenced by MATH_FunctionNode::insertInTree().
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().
|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().
|
inlinevirtual |
return true if the node is a variable to add to environment
Reimplemented in MATH_FunctionNode.
Referenced by insertInTree().
|
inlineinherited |
return true if the object is an instance of T
References null.
Referenced by MATH_BinaryOperator::insertInTree(), MATH_UnaryOperator::insertInTree(), and MATH_EndBlock::insertInTree().
|
inlinestatic |
create a leaf expression
Referenced by MATH_ExpressionClassFactory::NewInstance().
|
inlinestatic |
create a leaf expression
|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().
|
staticinherited |
return the string represantation of a pointer
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().
|
inlinevirtualinherited |
print the class
References CORE_Object::toString().
Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().
|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().
|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().
|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().
|
inherited |
reset the parent of the child
References MATH_ChildExpression::getParent(), and null.
Referenced by MATH_ChildExpression::setParent().
|
inlinestaticinherited |
set output
|
inherited |
set the parent
parent | parent of the child |
argIndex | operand index of the child in the parent children list |
References MATH_ChildExpression::getParent(), and MATH_ChildExpression::resetParent().
|
inline |
set the symbol
References CORE_String::trim().
Referenced by MATH_ACHFunction::MATH_ACHFunction(), MATH_ACOSFunction::MATH_ACOSFunction(), MATH_ArrayFunction::MATH_ArrayFunction(), MATH_ASHFunction::MATH_ASHFunction(), MATH_ASINFunction::MATH_ASINFunction(), MATH_ATANFunction::MATH_ATANFunction(), MATH_ATHFunction::MATH_ATHFunction(), MATH_CHFunction::MATH_CHFunction(), MATH_COSFunction::MATH_COSFunction(), MATH_EFunction::MATH_EFunction(), MATH_EXPFunction::MATH_EXPFunction(), MATH_LinearTransform::MATH_LinearTransform(), MATH_LNFunction::MATH_LNFunction(), MATH_LOGFunction::MATH_LOGFunction(), MATH_POWFunction::MATH_POWFunction(), MATH_RANDFunction::MATH_RANDFunction(), MATH_RotationTransform::MATH_RotationTransform(), MATH_SHFunction::MATH_SHFunction(), MATH_SINFunction::MATH_SINFunction(), MATH_SQRTFunction::MATH_SQRTFunction(), MATH_TANFunction::MATH_TANFunction(), MATH_THFunction::MATH_THFunction(), MATH_TranslationTransform::MATH_TranslationTransform(), and MATH_VectorFunction::MATH_VectorFunction().
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().
|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by CORE_CommandLine::CORE_CommandLine(), CORE_IO::CORE_IO(), GPM_2DSnowGraph::GPM_2DSnowGraph(), GPM_BGLTest::GPM_BGLTest(), GPM_ClassFactory::GPM_ClassFactory(), GPM_ConwayFunction::GPM_ConwayFunction(), GPM_ConwayGraph::GPM_ConwayGraph(), GPM_CoreRun::GPM_CoreRun(), GPM_CoreTest::GPM_CoreTest(), GPM_Edge::GPM_Edge(), GPM_ExamplesRun::GPM_ExamplesRun(), GPM_Function::GPM_Function(), GPM_Graph::GPM_Graph(), GPM_GraphElement::GPM_GraphElement(), GPM_ModelGraph::GPM_ModelGraph(), GPM_Node::GPM_Node(), GPM_Object::GPM_Object(), GPM_PatternFunction::GPM_PatternFunction(), GPM_Port::GPM_Port(), GPM_PortGraph::GPM_PortGraph(), GPM_Snow2DFunction::GPM_Snow2DFunction(), GPM_Snow3DFunction::GPM_Snow3DFunction(), GPM_Vertex::GPM_Vertex(), and MATH_ExpressionRun::MATH_ExpressionRun().
|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in GPM_2DSnowGraph, GPMG_EnvironmentWindow, GPM_GraphElement, GPM_ModelFunction, GPM_ModelGraph, GPMG_RuleGraphWindow, GPMG_MovieGraphWindow, GPMG_ShowGraphWindow, and GPM_Function.
Referenced by CORE_Object::setThis(), GPM_ModelGraph::toDoAfterThisSetting(), GPM_GraphElement::toDoAfterThisSetting(), and GPM_2DSnowGraph::toDoAfterThisSetting().
|
virtual |
return the string representation
Reimplemented from CORE_Object.
Reimplemented in MATH_FunctionNode.
|
staticinherited |
Referenced by MATH_NumericalFunction::evaluate(), MATH_LEOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_EQOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_NEQOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_VectorFunction::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), MATH_GTOperator::evaluate(), MATH_RootExpression::evaluate(), MATH_LinearTransform::evaluateParameters(), MATH_TranslationTransform::evaluateParameters(), MATH_RotationTransform::evaluateParameters(), MATH_kBoxSet::evaluateParameters(), MATH_ParableSet::evaluateParameters(), MATH_DiskSet::evaluateParameters(), and MATH_RectangleSet::evaluateParameters().
|
staticinherited |
|
staticinherited |
Referenced by MATH_ParentExpression::evaluate().
|
staticinherited |
|
staticinherited |
indicator to store all classes created and deleted only for debuging version
Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_ModuloOperator::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_LEOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), and MATH_GTOperator::evaluate().
|
staticinherited |
|
staticinherited |
Referenced by MATH_NumericalFunction::evaluate().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_ModuloOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_SetTransformer::evaluate(), MATH_EOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_Set::evaluate(), MATH_EndBlock::evaluate(), MATH_EQOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_NEQOperator::evaluate(), MATH_VectorFunction::evaluate(), and MATH_Environment::getVariable().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_ModuloOperator::evaluate(), MATH_SetTransformer::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_NotOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), and MATH_MinusOperator::evaluate().