[poincare] Factorize reduce and removeUnit methods

This commit is contained in:
Hugo Saint-Vignes
2020-12-22 15:29:30 +01:00
committed by EmilieNumworks
parent 7146eff7ee
commit e09bd0a18c
8 changed files with 22 additions and 19 deletions

View File

@@ -827,6 +827,12 @@ Expression Expression::angleUnitToRadian(Preferences::AngleUnit angleUnit) {
return *this;
}
Expression Expression::reduceAndRemoveUnit(ExpressionNode::ReductionContext reductionContext, Expression * Unit) {
/* RemoveUnit has to be called on reduced expression. reduce method is called
* instead of deepReduce to catch interrupted simplification. */
return reduce(reductionContext).removeUnit(Unit);
}
Expression Expression::reduce(ExpressionNode::ReductionContext reductionContext) {
sSimplificationHasBeenInterrupted = false;
Expression result = deepReduce(reductionContext);