add some notes (comments) on next steps; improve bias handling
This commit is contained in:
parent
2161242e54
commit
958c36a100
1 changed files with 13 additions and 3 deletions
|
|
@ -61,10 +61,11 @@ defmodule Scopes.CSys.Program do
|
||||||
basic(msg, scope)
|
basic(msg, scope)
|
||||||
end
|
end
|
||||||
|
|
||||||
def basic(msg, scope) do
|
def basic(msg, scope) do # + proc_ops
|
||||||
case Shape.head(msg) do
|
case Shape.head(msg) do
|
||||||
[:csys, :set | _rest] -> set(msg, scope)
|
|
||||||
[:csys, :data | _rest] -> process_data(msg, scope)
|
[:csys, :data | _rest] -> process_data(msg, scope)
|
||||||
|
#[:csys, :trigger | _rest] -> process_trigger(msg, scope)
|
||||||
|
[:csys, :set | _rest] -> set(msg, scope)
|
||||||
[:csys, :connect | _rest] -> CSys.connect(msg, scope)
|
[:csys, :connect | _rest] -> CSys.connect(msg, scope)
|
||||||
[:csys, :create, :succ | _rest] -> create_succ(msg, scope)
|
[:csys, :create, :succ | _rest] -> create_succ(msg, scope)
|
||||||
[:csys, :create, :pred | _rest] -> create_pred(msg, scope)
|
[:csys, :create, :pred | _rest] -> create_pred(msg, scope)
|
||||||
|
|
@ -76,6 +77,15 @@ defmodule Scopes.CSys.Program do
|
||||||
|
|
||||||
# message handlers // proc steps
|
# message handlers // proc steps
|
||||||
|
|
||||||
|
def process_value(_msg, _scope, _ops) do
|
||||||
|
#proc ops:
|
||||||
|
#map_op, (identity)
|
||||||
|
#reduce_op, (+)
|
||||||
|
#trigger_cond, (>)
|
||||||
|
#modifier_op, (identity)
|
||||||
|
#output_op (forward_or_notify)
|
||||||
|
end
|
||||||
|
|
||||||
def process_data(msg, scope) do
|
def process_data(msg, scope) do
|
||||||
data = Shape.data(msg)
|
data = Shape.data(msg)
|
||||||
state = CSys.state(scope)
|
state = CSys.state(scope)
|
||||||
|
|
@ -84,7 +94,7 @@ defmodule Scopes.CSys.Program do
|
||||||
if value_n >= state.threshold do
|
if value_n >= state.threshold do
|
||||||
msg = Shape.create(Shape.head(msg), data: %{data | value: value_n})
|
msg = Shape.create(Shape.head(msg), data: %{data | value: value_n})
|
||||||
CSys.forward(msg, scope) || CSys.notify(msg, scope)
|
CSys.forward(msg, scope) || CSys.notify(msg, scope)
|
||||||
state_n = %{state | value: state.bias}
|
state_n = if state.bias, do: %{state | value: state.bias}, else: state
|
||||||
CSys.update(put_elem(scope, 0, state_n))
|
CSys.update(put_elem(scope, 0, state_n))
|
||||||
else
|
else
|
||||||
state_n = %{state | value: value_n}
|
state_n = %{state | value: value_n}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue