[poincare] Change Context API

Change-Id: I2818866fb41bf73c39396fbd85600e586a79065c
This commit is contained in:
Émilie Feral
2016-12-14 16:50:51 +01:00
parent 75948af80f
commit 7af3979d3b
74 changed files with 488 additions and 451 deletions

View File

@@ -74,12 +74,14 @@ void Function::setDisplayDerivative(bool display) {
m_displayDerivative = display;
}
float Function::evaluateAtAbscissa(float x, EvaluateContext * context) const {
context->setOverridenValueForSymbolX(x);
float Function::evaluateAtAbscissa(float x, Context * context) const {
Symbol xSymbol = Symbol('x');
Float e = Float(x);
context->setExpressionForSymbolName(&e, &xSymbol);
return m_expression->approximate(*context);
}
float Function::approximateDerivative(float x, EvaluateContext * context) const {
float Function::approximateDerivative(float x, Context * context) const {
float functionPlus = evaluateAtAbscissa(x + k_epsilon, context);
float functionMinus = evaluateAtAbscissa(x - k_epsilon, context);
float growthRate = (functionPlus - functionMinus)/(2*k_epsilon);