From b6465ecba5d4d7f49c65a8ffa5d201ebdda707c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Wed, 26 Sep 2018 16:46:27 +0200 Subject: [PATCH] [poincare] Change replaceSymbolWithExpression signature replaceSymbolWithExpression(char symbol..)->replaceSymbolWithExpression(const char *.. --- poincare/include/poincare/expression.h | 4 ++-- poincare/include/poincare/expression_node.h | 2 +- poincare/include/poincare/symbol.h | 4 ++-- poincare/src/expression.cpp | 2 +- poincare/src/expression_node.cpp | 2 +- poincare/src/symbol.cpp | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/poincare/include/poincare/expression.h b/poincare/include/poincare/expression.h index a9c1ff489..39ab9b78f 100644 --- a/poincare/include/poincare/expression.h +++ b/poincare/include/poincare/expression.h @@ -143,7 +143,7 @@ public: static constexpr int k_maxPolynomialDegree = 2; static constexpr int k_maxNumberOfPolynomialCoefficients = k_maxPolynomialDegree+1; int getPolynomialReducedCoefficients(char symbolName, Expression coefficients[], Context & context, Preferences::AngleUnit angleUnit) const; - Expression replaceSymbolWithExpression(char symbol, Expression & expression) { return node()->replaceSymbolWithExpression(symbol, expression); } + Expression replaceSymbolWithExpression(const char * symbol, Expression & expression) { return node()->replaceSymbolWithExpression(symbol, expression); } /* Comparison */ /* isIdenticalTo is the "easy" equality, it returns true if both trees have @@ -231,7 +231,7 @@ private: template Evaluation approximateToEvaluation(Context& context, Preferences::AngleUnit angleUnit) const; /* Properties */ - Expression defaultReplaceSymbolWithExpression(char symbol, Expression expression); + Expression defaultReplaceSymbolWithExpression(const char * symbol, Expression expression); int defaultGetPolynomialCoefficients(Context & context, char symbol, Expression expression[]) const; /* Expression roots/extrema solver*/ diff --git a/poincare/include/poincare/expression_node.h b/poincare/include/poincare/expression_node.h index 5d85d6821..03e84fc95 100644 --- a/poincare/include/poincare/expression_node.h +++ b/poincare/include/poincare/expression_node.h @@ -99,7 +99,7 @@ public: }; virtual Sign sign() const { return Sign::Unknown; } virtual bool isNumber() const { return false; } - /*!*/ virtual Expression replaceSymbolWithExpression(char symbol, Expression & expression); + /*!*/ virtual Expression replaceSymbolWithExpression(const char * symbol, Expression & expression); /*!*/ virtual Expression setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit); virtual int polynomialDegree(Context & context, char symbolName) const; /*!*/ virtual int getPolynomialCoefficients(Context & context, char symbolName, Expression coefficients[]) const; diff --git a/poincare/include/poincare/symbol.h b/poincare/include/poincare/symbol.h index ee11247ac..79acbbc00 100644 --- a/poincare/include/poincare/symbol.h +++ b/poincare/include/poincare/symbol.h @@ -31,7 +31,7 @@ public: // Expression Properties Type type() const override { return Type::Symbol; } Sign sign() const override; - Expression replaceSymbolWithExpression(char symbol, Expression & expression) override; + Expression replaceSymbolWithExpression(const char * symbol, Expression & expression) override; int polynomialDegree(Context & context, char symbolName) const override; int getPolynomialCoefficients(Context & context, char symbolName, Expression coefficients[]) const override; int getVariables(Context & context, isVariableTest isVariable, char * variables) const override; @@ -80,7 +80,7 @@ public: // Expression Expression shallowReduce(Context & context, Preferences::AngleUnit angleUnit); - Expression replaceSymbolWithExpression(char symbol, Expression & expression); + Expression replaceSymbolWithExpression(const char * symbol, Expression & expression); int getPolynomialCoefficients(Context & context, char symbolName, Expression coefficients[]) const; // Symbol diff --git a/poincare/src/expression.cpp b/poincare/src/expression.cpp index 571cac2e3..b11c1c6bb 100644 --- a/poincare/src/expression.cpp +++ b/poincare/src/expression.cpp @@ -182,7 +182,7 @@ Evaluation Expression::approximateToEvaluation(Context& context, Preferences: return node()->approximate(U(), context, angleUnit); } -Expression Expression::defaultReplaceSymbolWithExpression(char symbol, Expression expression) { +Expression Expression::defaultReplaceSymbolWithExpression(const char * symbol, Expression expression) { for (int i = 0; i < numberOfChildren(); i++) { childAtIndex(i).replaceSymbolWithExpression(symbol, expression); } diff --git a/poincare/src/expression_node.cpp b/poincare/src/expression_node.cpp index ad40105fd..58faac70c 100644 --- a/poincare/src/expression_node.cpp +++ b/poincare/src/expression_node.cpp @@ -4,7 +4,7 @@ namespace Poincare { -Expression ExpressionNode::replaceSymbolWithExpression(char symbol, Expression & expression) { +Expression ExpressionNode::replaceSymbolWithExpression(const char * symbol, Expression & expression) { return Expression(this).defaultReplaceSymbolWithExpression(symbol, expression); } diff --git a/poincare/src/symbol.cpp b/poincare/src/symbol.cpp index 111cfa6d5..7153b7c5d 100644 --- a/poincare/src/symbol.cpp +++ b/poincare/src/symbol.cpp @@ -30,7 +30,7 @@ ExpressionNode::Sign SymbolNode::sign() const { return Sign::Unknown; } -Expression SymbolNode::replaceSymbolWithExpression(char symbol, Expression & expression) { +Expression SymbolNode::replaceSymbolWithExpression(const char * symbol, Expression & expression) { return Symbol(this).replaceSymbolWithExpression(symbol, expression); } @@ -183,8 +183,8 @@ Expression Symbol::shallowReduce(Context & context, Preferences::AngleUnit angle return *this; } -Expression Symbol::replaceSymbolWithExpression(char symbol, Expression & expression) { - if (name() == symbol) { +Expression Symbol::replaceSymbolWithExpression(const char * symbol, Expression & expression) { + if (strcmp(name(), symbol) == 0) { Expression value = expression.clone(); Expression p = parent(); if (!p.isUninitialized() && p.node()->childNeedsParenthesis(value.node())) {