diff --git a/poincare/src/symbol.cpp b/poincare/src/symbol.cpp index 009ef353b..57db3583e 100644 --- a/poincare/src/symbol.cpp +++ b/poincare/src/symbol.cpp @@ -190,10 +190,10 @@ bool Symbol::isScalarSymbol() const { int Symbol::simplificationOrderSameType(const Expression * e) const { assert(e->type() == Expression::Type::Symbol); - if (m_name == ((Symbol *)e)->m_name) { + if ((uint8_t)m_name == ((uint8_t)static_cast(e)->name())) { return 0; } - if ((m_name > ((Symbol *)e)->m_name)) { + if ((uint8_t)m_name > ((uint8_t)static_cast(e)->name())) { return 1; } return -1; diff --git a/poincare/test/addition.cpp b/poincare/test/addition.cpp index ce0fad89b..402c28b5f 100644 --- a/poincare/test/addition.cpp +++ b/poincare/test/addition.cpp @@ -48,9 +48,9 @@ QUIZ_CASE(poincare_addition_simplify) { assert_parsed_expression_simplify_to("A-A+2cos(2)+B-B-cos(2)", "cos(2)"); assert_parsed_expression_simplify_to("1+A+2+B+3", "6+A+B"); assert_parsed_expression_simplify_to("-A", "-A"); - assert_parsed_expression_simplify_to("1/(x+1)+1/(P+2)", "(3+P+x)/(2+P+2*x+P*x)"); - assert_parsed_expression_simplify_to("1/x^2+1/(x^2*P)", "(1+P)/(P*x^2)"); - assert_parsed_expression_simplify_to("1/x^2+1/(x^3*P)", "(1+P*x)/(P*x^3)"); + assert_parsed_expression_simplify_to("1/(x+1)+1/(P+2)", "(3+x+P)/(2+2*x+P+x*P)"); + assert_parsed_expression_simplify_to("1/x^2+1/(x^2*P)", "(1+P)/(x^2*P)"); + assert_parsed_expression_simplify_to("1/x^2+1/(x^3*P)", "(1+x*P)/(x^3*P)"); assert_parsed_expression_simplify_to("4x/x^2+3P/(x^3*P)", "(3+4*x^2)/x^3"); assert_parsed_expression_simplify_to("A+B-A-B", "0"); assert_parsed_expression_simplify_to("A+B+(-1)*A+(-1)*B", "0"); diff --git a/poincare/test/power.cpp b/poincare/test/power.cpp index f502dc323..fd238d4ed 100644 --- a/poincare/test/power.cpp +++ b/poincare/test/power.cpp @@ -56,8 +56,8 @@ QUIZ_CASE(poincare_power_simplify) { assert_parsed_expression_simplify_to("R(P^2)", "P"); assert_parsed_expression_simplify_to("R((-P)^2)", "P"); assert_parsed_expression_simplify_to("R(x*144)", "12*R(x)"); - assert_parsed_expression_simplify_to("R(x*144*P^2)", "12*P*R(x)"); - assert_parsed_expression_simplify_to("R(x*144*P)", "12*R(P)*R(x)"); + assert_parsed_expression_simplify_to("R(x*144*P^2)", "12*R(x)*P"); + assert_parsed_expression_simplify_to("R(x*144*P)", "12*R(x)*R(P)"); assert_parsed_expression_simplify_to("x^(1/2)", "R(x)"); assert_parsed_expression_simplify_to("x^(-1/2)", "1/R(x)"); assert_parsed_expression_simplify_to("x^(1/7)", "root(x,7)");