diff --git a/poincare/src/multiplication.cpp b/poincare/src/multiplication.cpp index fc8aa8922..c482edb56 100644 --- a/poincare/src/multiplication.cpp +++ b/poincare/src/multiplication.cpp @@ -256,12 +256,9 @@ int Multiplication::getPolynomialCoefficients(Context * context, const char * sy } Expression Multiplication::getUnit() const { - const int childrenCount = numberOfChildren(); - if (childrenCount == 1) { - return childAtIndex(0).getUnit(); - } Multiplication result = Multiplication::Builder(); int resultChildrenCount = 0; + const int childrenCount = numberOfChildren(); for (int i = 0; i < childrenCount; i++) { Expression currentUnit = childAtIndex(i).getUnit(); if (!currentUnit.isUninitialized()) { @@ -272,7 +269,7 @@ Expression Multiplication::getUnit() const { if (resultChildrenCount == 0) { return Expression(); } - return std::move(result); + return result.squashUnaryHierarchyInPlace(); } template diff --git a/poincare/src/power.cpp b/poincare/src/power.cpp index f5a04957c..b8f096678 100644 --- a/poincare/src/power.cpp +++ b/poincare/src/power.cpp @@ -986,9 +986,6 @@ Expression Power::shallowBeautify(ExpressionNode::ReductionContext reductionCont } Expression Power::getUnit() const { - if (childAtIndex(0).type() == ExpressionNode::Type::Unit) { - return clone(); - } Expression baseUnit = childAtIndex(0).getUnit(); if (baseUnit.isUninitialized()) { return baseUnit;