diff --git a/apps/code/script_store.cpp b/apps/code/script_store.cpp index ebc35882753..ebe73bc31a6 100644 --- a/apps/code/script_store.cpp +++ b/apps/code/script_store.cpp @@ -13,6 +13,7 @@ ScriptStore::ScriptStore() { addScriptFromTemplate(ScriptTemplate::Parabola()); addScriptFromTemplate(ScriptTemplate::Mandelbrot()); addScriptFromTemplate(ScriptTemplate::Polynomial()); + addScriptFromTemplate(ScriptTemplate::MemCheck()); } void ScriptStore::deleteAllScripts() { diff --git a/apps/code/script_template.cpp b/apps/code/script_template.cpp index 8b59c912af1..a4333e98b9e 100644 --- a/apps/code/script_template.cpp +++ b/apps/code/script_template.cpp @@ -84,6 +84,17 @@ def simulation(v_0=15,alpha=pi/4,h_0=2): grid() show())"); +constexpr ScriptTemplate memCheckScriptTemplate("mem_check.py", "\x01" R"(print("GG 2021 Mem Check") +m=[] +stepDone=0 +try: + for i in range(4100): + m.append(i) + stepDone=i +except MemoryError: + print("Failed at "+str(stepDone)) +print (len(m)))"); + const ScriptTemplate * ScriptTemplate::Empty() { return &emptyScriptTemplate; } @@ -104,4 +115,7 @@ const ScriptTemplate * ScriptTemplate::Parabola() { return ¶bolaScriptTemplate; } +const ScriptTemplate * ScriptTemplate::MemCheck() { + return &memCheckScriptTemplate; +} } diff --git a/apps/code/script_template.h b/apps/code/script_template.h index ec32e7052a5..f163d780e1f 100644 --- a/apps/code/script_template.h +++ b/apps/code/script_template.h @@ -13,6 +13,9 @@ class ScriptTemplate { static const ScriptTemplate * Mandelbrot(); static const ScriptTemplate * Polynomial(); static const ScriptTemplate * Parabola(); + + static const ScriptTemplate * MemCheck(); + const char * name() const { return m_name; } const char * content() const { return m_value + Script::StatusSize(); } const char * value() const { return m_value; }