From 5b9045fe910e8a8ff89946121dafe69c8830bc19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Tue, 10 Oct 2017 18:08:27 +0200 Subject: [PATCH] [poincare] Fix bug in Multiplication::factorizeBase Change-Id: If3ffc258c832e30f827eecb0a7c4e543341b5a21 --- poincare/src/multiplication.cpp | 2 +- poincare/test/simplify_easy.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/poincare/src/multiplication.cpp b/poincare/src/multiplication.cpp index 297609288..b49723e7c 100644 --- a/poincare/src/multiplication.cpp +++ b/poincare/src/multiplication.cpp @@ -147,7 +147,7 @@ void Multiplication::factorizeBase(Expression * e1, Expression * e2) { const Expression * operands[2] = {e1, s}; Power * p = new Power(operands, false); s->immediateSimplify(); - e1->replaceWith(p, false); + replaceOperand(e1, p, false); p->immediateSimplify(); } } diff --git a/poincare/test/simplify_easy.cpp b/poincare/test/simplify_easy.cpp index 2dc169243..ecb362893 100644 --- a/poincare/test/simplify_easy.cpp +++ b/poincare/test/simplify_easy.cpp @@ -118,6 +118,7 @@ QUIZ_CASE(poincare_simplify_easy) { assert_parsed_expression_simplify_to("2^P*(1/2)^P", "1"); assert_parsed_expression_simplify_to("A^3*A^(-3)", "1"); assert_parsed_expression_simplify_to("1+A+2+B+3", "6+A+B"); + assert_parsed_expression_simplify_to("(x+1)*(x+2)", "x^2+3x+2"); /* This does not work but should not as it is above k_primorial32 = 1*3*5*7*11*... (product of first 32 primes. */ //assert_parsed_expression_simplify_to("1881676377434183981909562699940347954480361860897069^(1/3)", "123456789123456789");