diff --git a/poincare/include/poincare/trigonometry.h b/poincare/include/poincare/trigonometry.h index 8c038e24e..424f1e80f 100644 --- a/poincare/include/poincare/trigonometry.h +++ b/poincare/include/poincare/trigonometry.h @@ -16,6 +16,8 @@ public: static bool isDirectTrigonometryFunction(const Expression & e); static bool isInverseTrigonometryFunction(const Expression & e); static bool AreInverseFunctions(const Expression & directFunction, const Expression & inverseFunction); + /* Returns a (unreduced) division between pi in each unit, or 1 if the units + * are the same. */ static Expression UnitConversionFactor(Preferences::AngleUnit fromUnit, Preferences::AngleUnit toUnit); static bool ExpressionIsEquivalentToTangent(const Expression & e); static Expression shallowReduceDirectFunction(Expression & e, ExpressionNode::ReductionContext reductionContext); diff --git a/poincare/src/trigonometry.cpp b/poincare/src/trigonometry.cpp index a9c849c33..bdaa0a165 100644 --- a/poincare/src/trigonometry.cpp +++ b/poincare/src/trigonometry.cpp @@ -90,6 +90,7 @@ bool Trigonometry::AreInverseFunctions(const Expression & directFunction, const Expression Trigonometry::UnitConversionFactor(Preferences::AngleUnit fromUnit, Preferences::AngleUnit toUnit) { if (fromUnit == toUnit) { + // Just an optimisation to gain some time at reduction return Rational::Builder(1); } return Division::Builder(piExpression(toUnit), piExpression(fromUnit));