[poincare] Context::expressionForSymbol takes a boolean notifying that

we want a copy or not
This commit is contained in:
Émilie Feral
2018-11-16 16:57:25 +01:00
parent b44c5e6d05
commit e80512f362
18 changed files with 35 additions and 35 deletions

View File

@@ -15,7 +15,7 @@ CacheContext<T>::CacheContext(Context * parentContext) :
}
template<typename T>
const Expression CacheContext<T>::expressionForSymbol(const SymbolAbstract & symbol) {
const Expression CacheContext<T>::expressionForSymbol(const SymbolAbstract & symbol, bool clone) {
// [u|v](n(+1)?)
if (symbol.type() == ExpressionNode::Type::Symbol
&& (symbol.name()[0] == SequenceStore::k_sequenceNames[0][0] || symbol.name()[0] == SequenceStore::k_sequenceNames[1][0])
@@ -24,7 +24,7 @@ const Expression CacheContext<T>::expressionForSymbol(const SymbolAbstract & sym
Symbol s = const_cast<Symbol &>(static_cast<const Symbol &>(symbol));
return Float<T>(m_values[nameIndexForSymbol(s)][rankIndexForSymbol(s)]);
}
return VariableContext::expressionForSymbol(symbol);
return VariableContext::expressionForSymbol(symbol, clone);
}
template<typename T>