space, csys: use simple vectors #(x y) as locations
This commit is contained in:
parent
ca678e5bdc
commit
385cbefe16
4 changed files with 28 additions and 28 deletions
|
|
@ -73,7 +73,7 @@
|
|||
(util:lgw "proc not found" cat stg spec))
|
||||
proc))))
|
||||
|
||||
(defun create-zero (prg env &key (categ '(:csys :c00)) (loc "0-0") (value 0))
|
||||
(defun create-zero (prg env &key (categ '(:csys :c00)) (loc #(0 0)) (value 0))
|
||||
(let* ((domain (car categ))
|
||||
(addr (list domain (cadr categ) loc))
|
||||
(msg (message:create (list domain :create) :data (list :addr addr)))
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
(lambda (msg scope)
|
||||
(let ((self actor:*self*))
|
||||
(csys:send-create self :cat :e00 :connect :succ)
|
||||
(csys:send-create self :cat :s00 :loc "0-1" :connect :pred)
|
||||
(csys:send-create self :cat :s00 :loc #(0 1) :connect :pred)
|
||||
(csys:send-connect self self :op (csys:multiply -1))
|
||||
(csys:send-switch self :active)
|
||||
nil)))
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
(defun config-b1 ()
|
||||
(list (prog-b1) :zero-cat :s01
|
||||
:eff-contacts '(:e01 ("1-0" "1-1"))))
|
||||
:eff-contacts '(:e01 (#(1 0) #(1 1)))))
|
||||
|
||||
(defun prog-b1 ()
|
||||
(let ((val-action (csys:value-add :bias 2 :limits '(0))))
|
||||
|
|
@ -46,10 +46,10 @@
|
|||
(defun b1-next-zero ()
|
||||
(lambda (msg scope)
|
||||
(let ((self actor:*self*))
|
||||
(csys:send-create self :cat :e01 :loc "1-0" :value 2 :connect :succ)
|
||||
(csys:send-create self :cat :e01 :loc "1-1" :value 2
|
||||
(csys:send-create self :cat :e01 :loc #(1 0) :value 2 :connect :succ)
|
||||
(csys:send-create self :cat :e01 :loc #(1 1) :value 2
|
||||
:connect :succ :op (csys:multiply -1))
|
||||
(csys:send-create self :cat :s01 :loc "0-1" :stage :basic)
|
||||
(csys:send-create self :cat :s01 :loc #(0 1) :stage :basic)
|
||||
(csys:send-switch self :active)
|
||||
nil)))
|
||||
|
||||
|
|
@ -57,8 +57,8 @@
|
|||
(lambda (msg scope)
|
||||
(let ((self actor:*self*)
|
||||
(environ:*env* (csys:environ scope)))
|
||||
(environ:send-connect self '(:e01 "1-0") :op (csys:multiply -1))
|
||||
(environ:send-connect self '(:e01 "1-1"))
|
||||
(environ:send-connect self '(:e01 #(1 0)) :op (csys:multiply -1))
|
||||
(environ:send-connect self '(:e01 #(1 1)))
|
||||
(csys:send-switch self :active)
|
||||
nil)))
|
||||
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
|
||||
(defun config-b2 ()
|
||||
(list (prog-b2) :zero-cat :c02 :zero-val 2
|
||||
:eff-contacts '(:e02 ("2-0" "2-1"))))
|
||||
:eff-contacts '(:e02 (#(2 0) #(2 1)))))
|
||||
|
||||
(defun prog-b2 ()
|
||||
(let ((val-action (csys:value-add :bias 2 :limits '(0))))
|
||||
|
|
@ -80,9 +80,9 @@
|
|||
(defun b2-next-zero ()
|
||||
(lambda (msg scope)
|
||||
(let ((self actor:*self*))
|
||||
(csys:send-create self :cat :c02 :loc "0-1" :value 2 :stage :basic)
|
||||
(csys:send-create self :cat :s02 :loc "1-0" :connect :pred)
|
||||
(csys:send-create self :cat :e02 :loc "2-0" :connect :succ)
|
||||
(csys:send-create self :cat :c02 :loc #(0 1) :value 2 :stage :basic)
|
||||
(csys:send-create self :cat :s02 :loc #(1 0) :connect :pred)
|
||||
(csys:send-create self :cat :e02 :loc #(2 0) :connect :succ)
|
||||
(csys:send-switch self :active)
|
||||
nil)))
|
||||
|
||||
|
|
@ -90,9 +90,9 @@
|
|||
(lambda (msg scope)
|
||||
(let ((self actor:*self*)
|
||||
(environ:*env* (csys:environ scope)))
|
||||
(csys:send-create self :cat :s02 :loc "1-1" :connect :pred)
|
||||
(csys:send-create self :cat :e02 :loc "2-1" :connect :succ)
|
||||
(environ:send-connect self '(:c02 "0-0") :op (csys:multiply -1))
|
||||
(environ:send-connect '(:c02 "0-0") self :op (csys:multiply -1))
|
||||
(csys:send-create self :cat :s02 :loc #(1 1) :connect :pred)
|
||||
(csys:send-create self :cat :e02 :loc #(2 1) :connect :succ)
|
||||
(environ:send-connect self '(:c02 #(0 0)) :op (csys:multiply -1))
|
||||
(environ:send-connect '(:c02 #(0 0)) self :op (csys:multiply -1))
|
||||
(csys:send-switch self :active)
|
||||
nil)))
|
||||
|
|
|
|||
|
|
@ -134,11 +134,11 @@
|
|||
|
||||
(deftest test-space ()
|
||||
(let ((idx (space:create)))
|
||||
(space:put idx "1-1" 42)
|
||||
(space:put idx "1-2" 46)
|
||||
(space:put idx "1-1" 43)
|
||||
(== (space:fetch idx "1-1") 43)
|
||||
(== (space:fetch idx "1-2") 46)
|
||||
(space:put idx #(1 1) 42)
|
||||
(space:put idx #(1 2) 46)
|
||||
(space:put idx #(1 1) 43)
|
||||
(== (space:fetch idx #(1 1)) 43)
|
||||
(== (space:fetch idx #(1 2)) 46)
|
||||
))
|
||||
|
||||
(deftest test-util-async ()
|
||||
|
|
|
|||
|
|
@ -77,20 +77,20 @@
|
|||
(let ((environ:*env* (setup (list (basic:prog-b0)))))
|
||||
;(rcvr (tc:receiver t:*test-suite*))
|
||||
;(tc:expect rcvr (message:create '(:csys :effect :e01) :data '(:value 1)))
|
||||
(environ:send-value '(:s00 "0-1") 1)
|
||||
(environ:send-value '(:s00 "0-1") 2)
|
||||
(environ:send-value '(:s00 #(0 1)) 1)
|
||||
(environ:send-value '(:s00 #(0 1)) 2)
|
||||
(teardown)))
|
||||
|
||||
(deftest test-basic-1 ()
|
||||
(let ((environ:*env* (setup (basic:config-b1))))
|
||||
(environ:send-value '(:s01 "0-0") 1)
|
||||
(environ:send-value '(:s01 "0-1") 2)
|
||||
(environ:send-value '(:s01 #(0 0)) 1)
|
||||
(environ:send-value '(:s01 #(0 1)) 2)
|
||||
(teardown)))
|
||||
|
||||
(deftest test-basic-2 ()
|
||||
(let ((environ:*env* (setup (basic:config-b2) :delay 0.03)))
|
||||
(environ:send-value '(:s02 "1-0") 1) (sleep 0.0002)
|
||||
(environ:send-value '(:s02 "1-1") 1) (sleep 0.0002)
|
||||
(environ:send-value '(:s02 "1-0") 2)
|
||||
(environ:send-value '(:s02 #(1 0)) 1) (sleep 0.0002)
|
||||
(environ:send-value '(:s02 #(1 1)) 1) (sleep 0.0002)
|
||||
(environ:send-value '(:s02 #(1 0)) 2)
|
||||
(teardown)))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue