[poincare] Remove Expression::defaultReplaceUnknown

and substitute defaultReplaceSymbolWithExpression instead
This commit is contained in:
Ruben Dashyan
2019-09-13 15:57:43 +02:00
committed by EmilieNumworks
parent 7d5f9d0aca
commit d506bb4442
4 changed files with 3 additions and 12 deletions

View File

@@ -190,7 +190,6 @@ public:
int getPolynomialReducedCoefficients(const char * symbolName, Expression coefficients[], Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const;
Expression replaceSymbolWithExpression(const SymbolAbstract & symbol, const Expression & expression) { return node()->replaceSymbolWithExpression(symbol, expression); }
Expression replaceUnknown(const Symbol & symbol, const Symbol & unknownSymbol);
Expression defaultReplaceUnknown(const Symbol & symbol, const Symbol & unknownSymbol);
/* Complex */
static bool EncounteredComplex();
@@ -327,6 +326,7 @@ protected:
/* Properties */
int getPolynomialCoefficients(Context * context, const char * symbolName, Expression coefficients[]) const { return node()->getPolynomialCoefficients(context, symbolName, coefficients); }
Expression defaultReplaceSymbolWithExpression(const SymbolAbstract & symbol, const Expression expression);
bool hasReplaceableSymbols(Context * context) const;
Expression shallowReplaceReplaceableSymbols(Context * context) { return node()->shallowReplaceReplaceableSymbols(context); }
Expression defaultReplaceReplaceableSymbols(Context * context);
@@ -381,7 +381,6 @@ private:
template<typename U> Evaluation<U> approximateToEvaluation(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const;
/* Properties */
Expression defaultReplaceSymbolWithExpression(const SymbolAbstract & symbol, const Expression expression);
int defaultGetPolynomialCoefficients(Context * context, const char * symbol, Expression expression[]) const;
/* Builder */

View File

@@ -422,14 +422,6 @@ Expression Expression::replaceUnknown(const Symbol & symbol, const Symbol & unkn
return node()->replaceUnknown(symbol, unknownSymbol);
}
Expression Expression::defaultReplaceUnknown(const Symbol & symbol, const Symbol & unknownSymbol) {
const int childrenCount = numberOfChildren();
for (int i = 0; i < childrenCount; i++) {
childAtIndex(i).replaceUnknown(symbol, unknownSymbol);
}
return *this;
}
/* Complex */
bool Expression::EncounteredComplex() {

View File

@@ -19,7 +19,7 @@ Expression ExpressionNode::replaceSymbolWithExpression(const SymbolAbstract & sy
}
Expression ExpressionNode::replaceUnknown(const Symbol & symbol, const Symbol & unknownSymbol) {
return Expression(this).defaultReplaceUnknown(symbol, unknownSymbol);
return Expression(this).defaultReplaceSymbolWithExpression(symbol, unknownSymbol);
}
Expression ExpressionNode::setSign(Sign s, ReductionContext reductionContext) {

View File

@@ -15,7 +15,7 @@ Expression ParameteredExpression::replaceUnknown(const Symbol & symbolToReplace,
Symbol& parameterChild = static_cast<Symbol &>(c);
if (strcmp(parameterChild.name(), symbolToReplace.name()) != 0) {
// If the unknown is not the parameter, replace normally
return defaultReplaceUnknown(symbolToReplace, unknownSymbol);
return defaultReplaceSymbolWithExpression(symbolToReplace, unknownSymbol);
}
/* If the unknown is the parameter, replace the unknown in all children except