C++ main module for gpm Package
1.0
|
This class decribes a block. More...
#include <MATH_Block.h>
Public Member Functions | |
void | setBlockString (const char &c) |
set the end block string More... | |
virtual const char & | getBlockString () const |
get the block expression character More... | |
virtual tBoolean | isCompatible (const MATH_Block &block) const =0 |
return true if the two blocks are compatible More... | |
virtual SP::MATH_NodeExpression | newInstance () const =0 |
create a new instance of expression More... | |
virtual tBoolean | addArgument (SP::MATH_ChildExpression operand) |
add the argument in the node. If the max number of arguments is reach, try to copu the node in order to add the argument in the new node. More... | |
virtual tBoolean | addArgument (MATH_ChildExpression *operand) |
add the argument If the max number of arguments is reach, try to copu the node in order to add the argument in the new node. More... | |
virtual const MATH_RootExpression * | getRootNode () const |
return the root node of the node More... | |
virtual int | evaluate (const tFlag &action, MATH_Environment &symbols, MATH_Variable &var) const |
void evaluate the expression More... | |
int | evaluate (MATH_Environment &symbols, MATH_Variable &value) const |
void evaluate the algebric expression More... | |
int | evaluate (MATH_Environment &symbols, MATH_Variable &value) const |
void evaluate the algebric expression More... | |
void | setArgumentsNumber (const int &n) |
set the arguments number More... | |
tBoolean | setArgument (const int &index, SP::MATH_ChildExpression org) |
set the argument at index More... | |
tBoolean | setArgument (const int &index, MATH_ChildExpression *arg) |
set an argument at index More... | |
void | resetArgument (const int &index) |
reset the argument at index More... | |
void | resetArguments () |
reset all the arguments More... | |
SPC::MATH_ChildExpression | getArgument (const int &i) const |
get argument at index i for reading More... | |
SP::MATH_ChildExpression | getArgument (const int &i) |
get argument at index i for writing More... | |
int | getArgumentsNumber () const |
get the arguments number More... | |
virtual tString | toString () const |
to String 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... | |
void | setParent (SP::MATH_ParentExpression parent, const int &argIndex) |
set the parent More... | |
void | resetParent () |
reset the parent of the child 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... | |
virtual MATH_ChildExpression * | insertInTree (MATH_Expression *tree, MATH_Environment &symbols, tString &expr)=0 |
insert the node This in tree & erase the This corresponding character in expr More... | |
Static Public Member Functions | |
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 | ALGEBRIC =0 |
static const tFlag | IS_INSIDE =1 |
static const tFlag | IS_INSIDE =1 |
static const tFlag | COMPUTE_BOUNDS =2 |
static const tFlag | COMPUTE_BOUNDS =2 |
static const int | SUCCESS =0 |
static const int | SUCCESS =0 |
static const int | FAIL =-1 |
static const int | FAIL =-1 |
static const int | TYPE_MISMATCHED =-2 |
static const int | TYPE_MISMATCHED =-2 |
static const int | SIZE_MISMATCHED =-3 |
static const int | SIZE_MISMATCHED =-3 |
static const int | OUT_OF_BOUNDS =-4 |
static const int | OUT_OF_BOUNDS =-4 |
static const int | NULL_OPERAND =-5 |
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_Block (void) | |
create More... | |
virtual | ~MATH_Block (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 decribes a block.
This class decribes an end block.
A block has a string representation which can be either '{' '(' or '[' and the corresponding end block. MATH_Block::setBlockString()
a method may detect if two block are compatible: MATH_Block::isCompatible();
An end block is not added in tree. It is only used to find its corresponding begin block to destroy it by the MATH_EndBlock::searchBlock() method.
|
protected |
create
|
protectedvirtual |
destroy
|
virtualinherited |
add the argument in the node. If the max number of arguments is reach, try to copu the node in order to add the argument in the new node.
Reimplemented from MATH_ParentExpression.
References MATH_ParentExpression::getArgument(), MATH_ParentExpression::getArgumentsNumber(), MATH_NodeExpression::newInstance(), null, and MATH_ParentExpression::setArgument().
|
inlinevirtualinherited |
add the argument If the max number of arguments is reach, try to copu the node in order to add the argument in the new node.
Reimplemented from MATH_ParentExpression.
References MATH_ParentExpression::addArgument().
|
inlinevirtualinherited |
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
|
Reimplemented from MATH_ParentExpression.
Reimplemented in MATH_BeginBlock, MATH_GTOperator, MATH_GEOperator, MATH_LTOperator, MATH_MinusOperator, MATH_AndBitwiseOperator, MATH_NEQOperator, MATH_OrBitwiseOperator, MATH_XorBitwiseOperator, MATH_EQOperator, MATH_NotBitwiseOperator, MATH_AndOperator, MATH_EndBlock, MATH_LEOperator, MATH_OrOperator, MATH_NotOperator, MATH_AddOperator, MATH_MultiplyOperator, MATH_EOperator, MATH_DivideOperator, and MATH_ModuloOperator.
References MATH_ParentExpression::evaluate().
|
inlineinherited |
void evaluate the algebric expression
symbols | algebric values of symbol |
References MATH_Expression::evaluate().
|
inlineinherited |
void evaluate the algebric expression
symbols | algebric values of symbol |
References MATH_Expression::evaluate().
|
inlineinherited |
get argument at index i for reading
i | index of the argument |
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), MATH_ModuloOperator::evaluate(), MATH_DivideOperator::evaluate(), MATH_EOperator::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_NotOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_LEOperator::evaluate(), MATH_EQOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_NEQOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_MinusOperator::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), MATH_GTOperator::evaluate(), MATH_BeginBlock::evaluate(), MATH_BinaryOperator::getLastFreeChildIndex(), MATH_BeginBlock::remove(), MATH_BinaryOperator::toString(), and MATH_UnaryOperator::toString().
|
inlineinherited |
get argument at index i for writing
i | index of the argument |
|
inlineinherited |
get the arguments number
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), and MATH_ParentExpression::setArgument().
|
inlinevirtual |
get the block expression character
Referenced by MATH_EndBlock::isCompatible(), and MATH_BeginBlock::isCompatible().
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().
|
inlinevirtualinherited |
return the root node of the node
Reimplemented from MATH_ChildExpression.
References MATH_ChildExpression::getRootNode().
|
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
|
inlinestaticinherited |
get type name
References tString.
|
pure virtualinherited |
insert the node This in tree & erase the This corresponding character in expr
tree | : the tree to insert the node This |
expr | : the expression string |
Implemented in MATH_LeafExpression, MATH_BeginBlock, MATH_FunctionNode, MATH_EndBlock, MATH_UnaryOperator, and MATH_BinaryOperator.
|
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().
|
pure virtual |
return true if the two blocks are compatible
Implemented in MATH_BeginBlock, and MATH_EndBlock.
|
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().
|
pure virtualinherited |
create a new instance of expression
Implemented in MATH_BeginBlock, MATH_GEOperator, MATH_GTOperator, MATH_LTOperator, MATH_MinusOperator, MATH_EOperator, MATH_AndBitwiseOperator, MATH_OrBitwiseOperator, MATH_XorBitwiseOperator, MATH_NEQOperator, MATH_EndBlock, MATH_EQOperator, MATH_LEOperator, MATH_DivideOperator, MATH_ModuloOperator, MATH_NotBitwiseOperator, MATH_AndOperator, MATH_MultiplyOperator, MATH_NotOperator, MATH_OrOperator, and MATH_AddOperator.
Referenced by MATH_NodeExpression::addArgument().
|
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 argument at index
References null.
Referenced by MATH_ParentExpression::resetArguments().
|
inlineinherited |
reset all the arguments
References MATH_ParentExpression::resetArgument().
Referenced by MATH_RootExpression::parse().
|
inherited |
reset the parent of the child
References MATH_ChildExpression::getParent(), and null.
Referenced by MATH_ChildExpression::setParent().
|
inherited |
set the argument at index
index | index of the argument to set |
arg | value of the argument |
References MATH_ParentExpression::getArgumentsNumber(), and null.
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), MATH_UnaryOperator::insertInTree(), MATH_BeginBlock::remove(), and MATH_ParentExpression::setArgument().
|
inlineinherited |
set an argument at index
index | index of the argument to set |
arg | value of the argument |
References CORE_Object::getSharedPointer(), null, and MATH_ParentExpression::setArgument().
|
inlineinherited |
set the arguments number
Referenced by MATH_ParentExpression::addArgument(), MATH_BeginBlock::MATH_BeginBlock(), MATH_BinaryOperator::MATH_BinaryOperator(), MATH_EndBlock::MATH_EndBlock(), and MATH_UnaryOperator::MATH_UnaryOperator().
|
inline |
set the end block string
|
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().
|
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().
|
virtualinherited |
to String
Reimplemented from CORE_Object.
Reimplemented in MATH_RootExpression, MATH_UnaryOperator, and MATH_BinaryOperator.
References null, CORE_Object::toString(), and tString.
Referenced by MATH_RootExpression::toString().
|
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 |
Referenced by MATH_NumericalFunction::evaluate(), MATH_LEOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_EQOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_NEQOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::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_RectangleSet::evaluateParameters(), and MATH_DiskSet::evaluateParameters().
|
staticinherited |
|
staticinherited |
|
staticinherited |
Referenced by MATH_ParentExpression::evaluate().
|
staticinherited |
Referenced by MATH_ParentExpression::evaluate().
|
staticinherited |
|
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 |
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 |
|
staticinherited |
Referenced by MATH_NumericalFunction::evaluate().
|
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_ModuloOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_SetTransformer::evaluate(), MATH_EOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_Set::evaluate(), MATH_EndBlock::evaluate(), MATH_ArrayFunction::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_EQOperator::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().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_ModuloOperator::evaluate(), MATH_SetTransformer::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_NotOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), and MATH_MinusOperator::evaluate().