summaryrefslogtreecommitdiff
path: root/code/core/spike.cpp
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2012-05-07 19:53:27 (GMT)
committerJan Huwald <jh@sotun.de>2012-05-07 19:53:27 (GMT)
commit00b209240138660db1ded3ef3870023964ce6e4e (patch)
tree8ffaec780b060bdc478929aa714b8af2ee760671 /code/core/spike.cpp
Initial commitHEADmaster
Diffstat (limited to 'code/core/spike.cpp')
-rw-r--r--code/core/spike.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/code/core/spike.cpp b/code/core/spike.cpp
new file mode 100644
index 0000000..7b12c18
--- /dev/null
+++ b/code/core/spike.cpp
@@ -0,0 +1,28 @@
+#include "spike.h"
+
+static SpikeMUX * SpikeMUX::singleton(id_type num) {
+ staticSpikeMUX.dst = num;
+ return &staticSpikeMUX;
+}
+
+// special case for reading a spike from a file
+template<>
+bool SpikeMUX::reflect<ActionRead>(ActionRead &a) {
+ bool res = reflect(dst, "dst")
+ && reflect(time, "time")
+ && reflect(current, "current")
+ && (time > s.currentTime);
+
+ if (res)
+ s.addEvent(new ExternalSpike(time, dst, current));
+
+ return res;
+}
+
+// general reflection case
+template<class Action>
+bool SpikeMUX::reflect<Action>(Action &a) {
+ return reflect(dst, "dst")
+ && reflect(time, "time")
+ && reflect(current, "current");
+}
contact: Jan Huwald // Impressum