[poincare] Move maximum/roots solver from CartesianFunction to Poincare::Expression (part I)

This commit is contained in:
Émilie Feral
2018-06-04 14:12:41 +02:00
parent 1f16ccb661
commit fccebdcc06
8 changed files with 379 additions and 67 deletions

View File

@@ -41,11 +41,7 @@ void Function::setActive(bool active) {
template<typename T>
T Function::templatedApproximateAtAbscissa(T x, Poincare::Context * context) const {
Poincare::VariableContext<T> variableContext = Poincare::VariableContext<T>(symbol(), context);
Poincare::Symbol xSymbol(symbol());
Poincare::Complex<T> e = Poincare::Complex<T>::Float(x);
variableContext.setExpressionForSymbolName(&e, &xSymbol, variableContext);
return expression(context)->approximateToScalar<T>(variableContext);
return expression(context)->approximateWithValueForSymbol(symbol(), x, *context);
}
}