mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 16:57:31 +01:00
25 lines
709 B
C++
25 lines
709 B
C++
#ifndef SEQUENCE_LOCAL_CONTEXT_H
|
|
#define SEQUENCE_LOCAL_CONTEXT_H
|
|
|
|
#include <poincare.h>
|
|
#include "sequence_store.h"
|
|
|
|
namespace Sequence {
|
|
|
|
template<typename T>
|
|
class LocalContext : public Poincare::VariableContext<T> {
|
|
public:
|
|
LocalContext(Poincare::Context * parentContext);
|
|
const Poincare::Expression * expressionForSymbol(const Poincare::Symbol * symbol) override;
|
|
void setValueForSequenceRank(T value, const char * sequenceName, int rank);
|
|
private:
|
|
constexpr static int k_depth = 2;
|
|
int nameIndexForSymbol(const Poincare::Symbol * symbol);
|
|
int rankIndexForSymbol(const Poincare::Symbol * symbol);
|
|
Poincare::Complex<T> m_values[SequenceStore::k_maxNumberOfSequences][k_depth];
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|