41035190f0
have been fed upstream to the maintainer and will hopefully be included in future releases. Prodded by: pointyhat via kris
379 lines
11 KiB
C++
379 lines
11 KiB
C++
--- math++/nodes.tcc.orig Fri Aug 13 13:01:46 2004
|
|
+++ math++/nodes.tcc Fri Aug 13 13:10:49 2004
|
|
@@ -92,7 +92,7 @@
|
|
// TNumberNode
|
|
template<typename T>
|
|
TNumberNode<T>::TNumberNode(const T& ANumber) :
|
|
- TNode<T>(NUMBER_NODE, 0), FNumber(ANumber) {
|
|
+ TNode<T>(TNode<T>::NUMBER_NODE, 0), FNumber(ANumber) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -112,14 +112,14 @@
|
|
|
|
template<typename T>
|
|
bool TNumberNode<T>::equals(const TNode<T> *ANode) const {
|
|
- return this && ANode && ANode->nodeType() == NUMBER_NODE
|
|
+ return this && ANode && ANode->nodeType() == TNode<T>::NUMBER_NODE
|
|
&& FNumber == static_cast<const TNumberNode<T> *>(ANode)->FNumber;
|
|
}
|
|
|
|
// TSymbolNode
|
|
template<typename T>
|
|
TSymbolNode<T>::TSymbolNode(const std::string& ASymbol) :
|
|
- TNode<T>(SYMBOL_NODE, 0), FSymbol(ASymbol) {
|
|
+ TNode<T>(TNode<T>::SYMBOL_NODE, 0), FSymbol(ASymbol) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -139,14 +139,14 @@
|
|
|
|
template<typename T>
|
|
bool TSymbolNode<T>::equals(const TNode<T> *ANode) const {
|
|
- return this && ANode && ANode->nodeType() == SYMBOL_NODE
|
|
+ return this && ANode && ANode->nodeType() == TNode<T>::SYMBOL_NODE
|
|
&& FSymbol == static_cast<const TSymbolNode<T> *>(ANode)->FSymbol;
|
|
}
|
|
|
|
// TParamNode
|
|
template<typename T>
|
|
TParamNode<T>::TParamNode() :
|
|
- TNode<T>(PARAM_NODE, 0) {
|
|
+ TNode<T>(TNode<T>::PARAM_NODE, 0) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -161,7 +161,7 @@
|
|
|
|
template<typename T>
|
|
bool TParamNode<T>::equals(const TNode<T> *ANode) const {
|
|
- return this && ANode && ANode->nodeType() == PARAM_NODE;
|
|
+ return this && ANode && ANode->nodeType() == TNode<T>::PARAM_NODE;
|
|
}
|
|
|
|
// TUnaryNodeOp
|
|
@@ -186,7 +186,7 @@
|
|
bool TUnaryNodeOp<T>::equals(const TNode<T> *ANode) const {
|
|
// this method does not make use of the left() for performance reasons
|
|
|
|
- return this && ANode && nodeType() == ANode->nodeType() &&
|
|
+ return this && ANode && this->nodeType() == ANode->nodeType() &&
|
|
FNode->equals(static_cast<const TUnaryNodeOp<T> *>(ANode)->FNode.get());
|
|
}
|
|
|
|
@@ -215,7 +215,7 @@
|
|
// this method does not make use of the left() and right() methods
|
|
// for performance reasons
|
|
|
|
- return this && ANode && nodeType() == ANode->nodeType() &&
|
|
+ return this && ANode && this->nodeType() == ANode->nodeType() &&
|
|
FLeft->equals(static_cast<const TBinaryNodeOp<T> *>(ANode)->FLeft.get()) &&
|
|
FRight->equals(static_cast<const TBinaryNodeOp<T> *>(ANode)->FRight.get());
|
|
}
|
|
@@ -223,7 +223,7 @@
|
|
// TPlusNode
|
|
template<typename T>
|
|
TPlusNode<T>::TPlusNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(PLUS_NODE, -5, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::PLUS_NODE, -5, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -233,13 +233,13 @@
|
|
|
|
template<typename T>
|
|
TPlusNode<T> *TPlusNode<T>::clone() const {
|
|
- return new TPlusNode(left()->clone(), right()->clone());
|
|
+ return new TPlusNode(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TNegNode
|
|
template<typename T>
|
|
TNegNode<T>::TNegNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(NEG_NODE, -5, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::NEG_NODE, -5, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -249,13 +249,13 @@
|
|
|
|
template<typename T>
|
|
TNegNode<T> *TNegNode<T>::clone() const {
|
|
- return new TNegNode(node()->clone());
|
|
+ return new TNegNode(this->node()->clone());
|
|
}
|
|
|
|
// TMulNode
|
|
template<typename T>
|
|
TMulNode<T>::TMulNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(MUL_NODE, -3, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::MUL_NODE, -3, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -265,13 +265,13 @@
|
|
|
|
template<typename T>
|
|
TMulNode<T> *TMulNode<T>::clone() const {
|
|
- return new TMulNode(left()->clone(), right()->clone());
|
|
+ return new TMulNode(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TDivNode
|
|
template<typename T>
|
|
TDivNode<T>::TDivNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(DIV_NODE, -3, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::DIV_NODE, -3, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -281,13 +281,13 @@
|
|
|
|
template<typename T>
|
|
TDivNode<T> *TDivNode<T>::clone() const {
|
|
- return new TDivNode(left()->clone(), right()->clone());
|
|
+ return new TDivNode(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TPowNode
|
|
template<typename T>
|
|
TPowNode<T>::TPowNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(POW_NODE, -1, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::POW_NODE, -1, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -297,13 +297,13 @@
|
|
|
|
template<typename T>
|
|
TPowNode<T> *TPowNode<T>::clone() const {
|
|
- return new TPowNode<T>(left()->clone(), right()->clone());
|
|
+ return new TPowNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TSqrtNode
|
|
template<typename T>
|
|
TSqrtNode<T>::TSqrtNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(SQRT_NODE, -1, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::SQRT_NODE, -1, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -313,13 +313,13 @@
|
|
|
|
template<typename T>
|
|
TSqrtNode<T> *TSqrtNode<T>::clone() const {
|
|
- return new TSqrtNode(node()->clone());
|
|
+ return new TSqrtNode(this->node()->clone());
|
|
}
|
|
|
|
// TSinNode
|
|
template<typename T>
|
|
TSinNode<T>::TSinNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(SIN_NODE, -1, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::SIN_NODE, -1, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -329,13 +329,13 @@
|
|
|
|
template<typename T>
|
|
TSinNode<T> *TSinNode<T>::clone() const {
|
|
- return new TSinNode(node()->clone());
|
|
+ return new TSinNode(this->node()->clone());
|
|
}
|
|
|
|
// TCosNode
|
|
template<typename T>
|
|
TCosNode<T>::TCosNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(COS_NODE, -1, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::COS_NODE, -1, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -345,13 +345,13 @@
|
|
|
|
template<typename T>
|
|
TCosNode<T> *TCosNode<T>::clone() const {
|
|
- return new TCosNode(node()->clone());
|
|
+ return new TCosNode(this->node()->clone());
|
|
}
|
|
|
|
// TTanNode
|
|
template<typename T>
|
|
TTanNode<T>::TTanNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(TAN_NODE, -1, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::TAN_NODE, -1, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -361,7 +361,7 @@
|
|
|
|
template<typename T>
|
|
TTanNode<T> *TTanNode<T>::clone() const {
|
|
- return new TTanNode(node()->clone());
|
|
+ return new TTanNode(this->node()->clone());
|
|
}
|
|
|
|
// TCoTanNode
|
|
@@ -373,7 +373,7 @@
|
|
// TLnNode
|
|
template<typename T>
|
|
TLnNode<T>::TLnNode(TNode<T> *ANode) :
|
|
- TUnaryNodeOp<T>(LN_NODE, -1, ANode) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::LN_NODE, -1, ANode) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -383,13 +383,13 @@
|
|
|
|
template<typename T>
|
|
TLnNode<T> *TLnNode<T>::clone() const {
|
|
- return new TLnNode(node()->clone());
|
|
+ return new TLnNode(this->node()->clone());
|
|
}
|
|
|
|
// TFuncNode
|
|
template<typename T>
|
|
TFuncNode<T>::TFuncNode(const std::string& AName, TNode<T> *AParam) :
|
|
- TUnaryNodeOp<T>(FUNC_NODE, -1, AParam), FName(AName) {
|
|
+ TUnaryNodeOp<T>(TNode<T>::FUNC_NODE, -1, AParam), FName(AName) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -404,13 +404,13 @@
|
|
|
|
template<typename T>
|
|
TFuncNode<T> *TFuncNode<T>::clone() const {
|
|
- return new TFuncNode(FName, node()->clone());
|
|
+ return new TFuncNode(FName, this->node()->clone());
|
|
}
|
|
|
|
// TIfNode
|
|
template<typename T>
|
|
TIfNode<T>::TIfNode(TNode<T> *ACondNode, TNode<T> *AThenNode, TNode<T> *AElseNode) :
|
|
- TBinaryNodeOp<T>(IF_NODE, -1, AThenNode, AElseNode),
|
|
+ TBinaryNodeOp<T>(TNode<T>::IF_NODE, -1, AThenNode, AElseNode),
|
|
FCondition(ACondNode) {
|
|
}
|
|
|
|
@@ -421,12 +421,12 @@
|
|
|
|
template<typename T>
|
|
TNode<T> *TIfNode<T>::trueExpr() const {
|
|
- return left();
|
|
+ return this->left();
|
|
}
|
|
|
|
template<typename T>
|
|
TNode<T> *TIfNode<T>::falseExpr() const {
|
|
- return right();
|
|
+ return this->right();
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -436,13 +436,13 @@
|
|
|
|
template<typename T>
|
|
TIfNode<T> *TIfNode<T>::clone() const {
|
|
- return new TIfNode(FCondition->clone(), left()->clone(), right()->clone());
|
|
+ return new TIfNode(FCondition->clone(), this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TEquNode
|
|
template<typename T>
|
|
TEquNode<T>::TEquNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(EQU_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::EQU_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -452,13 +452,13 @@
|
|
|
|
template<typename T>
|
|
TEquNode<T> *TEquNode<T>::clone() const {
|
|
- return new TEquNode<T>(left()->clone(), right()->clone());
|
|
+ return new TEquNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TUnEquNode
|
|
template<typename T>
|
|
TUnEquNode<T>::TUnEquNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(UNEQU_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::UNEQU_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -468,13 +468,13 @@
|
|
|
|
template<typename T>
|
|
TUnEquNode<T> *TUnEquNode<T>::clone() const {
|
|
- return new TUnEquNode<T>(left()->clone(), right()->clone());
|
|
+ return new TUnEquNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TGreaterNode
|
|
template<typename T>
|
|
TGreaterNode<T>::TGreaterNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(GREATER_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::GREATER_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -484,13 +484,13 @@
|
|
|
|
template<typename T>
|
|
TGreaterNode<T> *TGreaterNode<T>::clone() const {
|
|
- return new TGreaterNode<T>(left()->clone(), right()->clone());
|
|
+ return new TGreaterNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TLessNode
|
|
template<typename T>
|
|
TLessNode<T>::TLessNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(LESS_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::LESS_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -500,13 +500,13 @@
|
|
|
|
template<typename T>
|
|
TLessNode<T> *TLessNode<T>::clone() const {
|
|
- return new TLessNode<T>(left()->clone(), right()->clone());
|
|
+ return new TLessNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TGreaterEquNode
|
|
template<typename T>
|
|
TGreaterEquNode<T>::TGreaterEquNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(GREATER_EQU_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::GREATER_EQU_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -516,13 +516,13 @@
|
|
|
|
template<typename T>
|
|
TGreaterEquNode<T> *TGreaterEquNode<T>::clone() const {
|
|
- return new TGreaterEquNode<T>(left()->clone(), right()->clone());
|
|
+ return new TGreaterEquNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
// TLessEquNode
|
|
template<typename T>
|
|
TLessEquNode<T>::TLessEquNode(TNode<T> *ALeft, TNode<T> *ARight) :
|
|
- TBinaryNodeOp<T>(LESS_EQU_NODE, -10, ALeft, ARight) {
|
|
+ TBinaryNodeOp<T>(TNode<T>::LESS_EQU_NODE, -10, ALeft, ARight) {
|
|
}
|
|
|
|
template<typename T>
|
|
@@ -532,7 +532,7 @@
|
|
|
|
template<typename T>
|
|
TLessEquNode<T> *TLessEquNode<T>::clone() const {
|
|
- return new TLessEquNode<T>(left()->clone(), right()->clone());
|
|
+ return new TLessEquNode<T>(this->left()->clone(), this->right()->clone());
|
|
}
|
|
|
|
} // namespace math
|