Files
Upsilon/apps/probability/evaluate_context.cpp
Émilie Feral 620b64a583 [apps/probability] Create a class evaluate context for probability app
Change-Id: I38448ddeec25225edad1d96bf89d32d1eb86915d
2016-12-08 15:21:52 +01:00

40 lines
954 B
C++

#include "evaluate_context.h"
#include <string.h>
namespace Probability {
EvaluateContext::EvaluateContext(::Context * parentContext) :
m_tValue(Float(0.0f)),
m_firstParameterValue(Float(0.0f)),
m_secondParameterValue(Float(0.0f)),
m_context(parentContext)
{
}
void EvaluateContext::setOverridenValueForSymbolT(float f) {
m_tValue = Float(f);
}
void EvaluateContext::setOverridenValueForFirstParameter(float f) {
m_firstParameterValue = Float(f);
}
void EvaluateContext::setOverridenValueForSecondParameter(float f) {
m_secondParameterValue = Float(f);
}
const Expression * EvaluateContext::expressionForSymbol(const Symbol * symbol) {
if (symbol->name() == 't') {
return &m_tValue;
}
if (symbol->name() == Symbol::SpecialSymbols::p1) {
return &m_firstParameterValue;
}
if (symbol->name() == Symbol::SpecialSymbols::p2) {
return &m_secondParameterValue;
}
return m_context->expressionForSymbol(symbol);
}
}