mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[Context] Modifying context method signature for sequences
This allows sequences to be used in functions by calling u(x) Change-Id: I336e84a19bf9b3dd0f2e435d1aaebda3c9e71ec8
This commit is contained in:
committed by
Émilie Feral
parent
3dca515441
commit
1d71a14d2c
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <assert.h>
|
||||
#include <cmath>
|
||||
|
||||
namespace Poincare {
|
||||
|
||||
@@ -18,7 +19,7 @@ public:
|
||||
Symbol
|
||||
};
|
||||
virtual SymbolAbstractType expressionTypeForIdentifier(const char * identifier, int length) = 0;
|
||||
virtual const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone) = 0;
|
||||
virtual const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone, float unknownSymbolValue = NAN) = 0;
|
||||
virtual void setExpressionForSymbolAbstract(const Expression & expression, const SymbolAbstract & symbol) = 0;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
// Context
|
||||
SymbolAbstractType expressionTypeForIdentifier(const char * identifier, int length) override { return m_parentContext->expressionTypeForIdentifier(identifier, length); }
|
||||
void setExpressionForSymbolAbstract(const Expression & expression, const SymbolAbstract & symbol) override { m_parentContext->setExpressionForSymbolAbstract(expression, symbol); }
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone) override { return m_parentContext->expressionForSymbolAbstract(symbol, clone); }
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone, float unknownSymbolValue = NAN) override { return m_parentContext->expressionForSymbolAbstract(symbol, clone, unknownSymbolValue); }
|
||||
|
||||
private:
|
||||
Context * m_parentContext;
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
// Context
|
||||
SymbolAbstractType expressionTypeForIdentifier(const char * identifier, int length) override { return SymbolAbstractType::None; }
|
||||
void setExpressionForSymbolAbstract(const Expression & expression, const SymbolAbstract & symbol) override { assert(false); }
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone) override { return Expression(); }
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone, float unknownSymbolValue = NAN) override { return Expression(); }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
|
||||
// Context
|
||||
void setExpressionForSymbolAbstract(const Expression & expression, const SymbolAbstract & symbol) override;
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone) override;
|
||||
const Expression expressionForSymbolAbstract(const SymbolAbstract & symbol, bool clone, float unknownSymbolValue = NAN) override;
|
||||
|
||||
private:
|
||||
const char * m_name;
|
||||
|
||||
Reference in New Issue
Block a user