csys: rename programs to program, improvements: :default stage, ...
This commit is contained in:
parent
1c3be4a0e7
commit
157c013c44
3 changed files with 11 additions and 8 deletions
|
|
@ -14,7 +14,9 @@ defmodule Scopes.CSys.Environ do
|
||||||
|
|
||||||
def get_stage(env, prog, stage) do
|
def get_stage(env, prog, stage) do
|
||||||
Agent.get(env, fn {_parent, progs} ->
|
Agent.get(env, fn {_parent, progs} ->
|
||||||
progs[prog][stage]
|
#progs[prog][stage]
|
||||||
|
stages = progs[prog]
|
||||||
|
stages[stage] || stages[:default]
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
defmodule Scopes.CSys.Programs do
|
defmodule Scopes.CSys.Program do
|
||||||
import Scopes.CSys, only: [
|
import Scopes.CSys, only: [
|
||||||
neuron: 1, update_neuron: 1, synapse: 3,
|
neuron: 1, update_neuron: 1, synapse: 3,
|
||||||
syns: 1, env: 1
|
syns: 1, env: 1
|
||||||
|
|
@ -9,8 +9,10 @@ defmodule Scopes.CSys.Programs do
|
||||||
# programs
|
# programs
|
||||||
|
|
||||||
def basic_prog() do
|
def basic_prog() do
|
||||||
%{initial: &std_proc/2}
|
%{initial: &std_proc/2,
|
||||||
#&std_proc/2
|
active: &std_proc/2,
|
||||||
|
retired: &std_proc/2
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
# processors
|
# processors
|
||||||
|
|
@ -39,6 +41,6 @@ defmodule Scopes.CSys.Programs do
|
||||||
end
|
end
|
||||||
|
|
||||||
def std_proc(msg, scope) do
|
def std_proc(msg, scope) do
|
||||||
unless forward(msg, scope), do: notify(msg, scope)
|
forward(msg, scope) || notify(msg, scope)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -5,13 +5,12 @@ defmodule Scopes.CSysTest do
|
||||||
alias Scopes.Core.Actor
|
alias Scopes.Core.Actor
|
||||||
alias Scopes.CSys
|
alias Scopes.CSys
|
||||||
alias Scopes.CSys.Environ
|
alias Scopes.CSys.Environ
|
||||||
alias Scopes.CSys.Programs
|
alias Scopes.CSys.Program
|
||||||
|
|
||||||
describe "basic:" do
|
describe "basic:" do
|
||||||
test "minimal-neural-net" do
|
test "minimal-neural-net" do
|
||||||
env = Environ.create(self())
|
env = Environ.create(self())
|
||||||
Environ.put_prog(env, :basic, Programs.basic_prog())
|
Environ.put_prog(env, :basic, Program.basic_prog())
|
||||||
#proc = Environ.get_prog(env, :basic)
|
|
||||||
proc = Environ.get_stage(env, :basic, :initial)
|
proc = Environ.get_stage(env, :basic, :initial)
|
||||||
zero = CSys.neuron({[], proc, [], env})
|
zero = CSys.neuron({[], proc, [], env})
|
||||||
Actor.send(zero, "Hello Zero!")
|
Actor.send(zero, "Hello Zero!")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue