From b83cfabb25ab22f39b00dbf4efa253bf5c30501b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Fri, 13 Oct 2017 15:27:50 +0200 Subject: [PATCH] [poincare] TurnIntoPositive returns a simplified expression Change-Id: Ia5c01e7cc1e8f1be4f26ad477c55c4e291aad789 --- poincare/src/multiplication.cpp | 2 +- poincare/src/power.cpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/poincare/src/multiplication.cpp b/poincare/src/multiplication.cpp index 16e23a6db..e11cd00b8 100644 --- a/poincare/src/multiplication.cpp +++ b/poincare/src/multiplication.cpp @@ -42,6 +42,7 @@ void Multiplication::turnIntoPositive() { const_cast(operand(i))->turnIntoPositive(); } } + immediateSimplify(); } template @@ -305,7 +306,6 @@ Expression * Multiplication::mergeNegativePower() { if (operand(i)->type() == Type::Power && operand(i)->operand(1)->sign() < 0) { const Expression * e = operand(i); const_cast(e->operand(1))->turnIntoPositive(); - // TODO: should we call const_cast(e->operand(1))->immediateSimplify removeOperand(e, false); m->addOperands(&e, 1); const_cast(e)->immediateSimplify(); diff --git a/poincare/src/power.cpp b/poincare/src/power.cpp index 9e091d0cb..942a7de1f 100644 --- a/poincare/src/power.cpp +++ b/poincare/src/power.cpp @@ -363,8 +363,6 @@ Expression * Power::createDenominator() { if (operand(1)->sign() < 0) { Expression * denominator = clone(); const_cast(denominator->operand(1))->turnIntoPositive(); - - const_cast(denominator->operand(1))->simplify(); if (denominator->operand(1)->type() == Type::Rational && static_cast((Expression *)denominator->operand(1))->isOne()) { delete denominator; return operand(0)->clone();