space, csys: use simple vectors #(x y) as locations

This commit is contained in:
Helmut Merz 2026-09-02 17:34:37 +02:00
parent ca678e5bdc
commit 385cbefe16
4 changed files with 28 additions and 28 deletions

View file

@ -73,7 +73,7 @@
(util:lgw "proc not found" cat stg spec)) (util:lgw "proc not found" cat stg spec))
proc)))) 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)) (let* ((domain (car categ))
(addr (list domain (cadr categ) loc)) (addr (list domain (cadr categ) loc))
(msg (message:create (list domain :create) :data (list :addr addr))) (msg (message:create (list domain :create) :data (list :addr addr)))

View file

@ -24,7 +24,7 @@
(lambda (msg scope) (lambda (msg scope)
(let ((self actor:*self*)) (let ((self actor:*self*))
(csys:send-create self :cat :e00 :connect :succ) (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-connect self self :op (csys:multiply -1))
(csys:send-switch self :active) (csys:send-switch self :active)
nil))) nil)))
@ -33,7 +33,7 @@
(defun config-b1 () (defun config-b1 ()
(list (prog-b1) :zero-cat :s01 (list (prog-b1) :zero-cat :s01
:eff-contacts '(:e01 ("1-0" "1-1")))) :eff-contacts '(:e01 (#(1 0) #(1 1)))))
(defun prog-b1 () (defun prog-b1 ()
(let ((val-action (csys:value-add :bias 2 :limits '(0)))) (let ((val-action (csys:value-add :bias 2 :limits '(0))))
@ -46,10 +46,10 @@
(defun b1-next-zero () (defun b1-next-zero ()
(lambda (msg scope) (lambda (msg scope)
(let ((self actor:*self*)) (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 0) :value 2 :connect :succ)
(csys:send-create self :cat :e01 :loc "1-1" :value 2 (csys:send-create self :cat :e01 :loc #(1 1) :value 2
:connect :succ :op (csys:multiply -1)) :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) (csys:send-switch self :active)
nil))) nil)))
@ -57,8 +57,8 @@
(lambda (msg scope) (lambda (msg scope)
(let ((self actor:*self*) (let ((self actor:*self*)
(environ:*env* (csys:environ scope))) (environ:*env* (csys:environ scope)))
(environ:send-connect self '(:e01 "1-0") :op (csys:multiply -1)) (environ:send-connect self '(:e01 #(1 0)) :op (csys:multiply -1))
(environ:send-connect self '(:e01 "1-1")) (environ:send-connect self '(:e01 #(1 1)))
(csys:send-switch self :active) (csys:send-switch self :active)
nil))) nil)))
@ -66,7 +66,7 @@
(defun config-b2 () (defun config-b2 ()
(list (prog-b2) :zero-cat :c02 :zero-val 2 (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 () (defun prog-b2 ()
(let ((val-action (csys:value-add :bias 2 :limits '(0)))) (let ((val-action (csys:value-add :bias 2 :limits '(0))))
@ -80,9 +80,9 @@
(defun b2-next-zero () (defun b2-next-zero ()
(lambda (msg scope) (lambda (msg scope)
(let ((self actor:*self*)) (let ((self actor:*self*))
(csys:send-create self :cat :c02 :loc "0-1" :value 2 :stage :basic) (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 :s02 :loc #(1 0) :connect :pred)
(csys:send-create self :cat :e02 :loc "2-0" :connect :succ) (csys:send-create self :cat :e02 :loc #(2 0) :connect :succ)
(csys:send-switch self :active) (csys:send-switch self :active)
nil))) nil)))
@ -90,9 +90,9 @@
(lambda (msg scope) (lambda (msg scope)
(let ((self actor:*self*) (let ((self actor:*self*)
(environ:*env* (csys:environ scope))) (environ:*env* (csys:environ scope)))
(csys:send-create self :cat :s02 :loc "1-1" :connect :pred) (csys:send-create self :cat :s02 :loc #(1 1) :connect :pred)
(csys:send-create self :cat :e02 :loc "2-1" :connect :succ) (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 self '(:c02 #(0 0)) :op (csys:multiply -1))
(environ:send-connect '(:c02 "0-0") self :op (csys:multiply -1)) (environ:send-connect '(:c02 #(0 0)) self :op (csys:multiply -1))
(csys:send-switch self :active) (csys:send-switch self :active)
nil))) nil)))

View file

@ -134,11 +134,11 @@
(deftest test-space () (deftest test-space ()
(let ((idx (space:create))) (let ((idx (space:create)))
(space:put idx "1-1" 42) (space:put idx #(1 1) 42)
(space:put idx "1-2" 46) (space:put idx #(1 2) 46)
(space:put idx "1-1" 43) (space:put idx #(1 1) 43)
(== (space:fetch idx "1-1") 43) (== (space:fetch idx #(1 1)) 43)
(== (space:fetch idx "1-2") 46) (== (space:fetch idx #(1 2)) 46)
)) ))
(deftest test-util-async () (deftest test-util-async ()

View file

@ -77,20 +77,20 @@
(let ((environ:*env* (setup (list (basic:prog-b0))))) (let ((environ:*env* (setup (list (basic:prog-b0)))))
;(rcvr (tc:receiver t:*test-suite*)) ;(rcvr (tc:receiver t:*test-suite*))
;(tc:expect rcvr (message:create '(:csys :effect :e01) :data '(:value 1))) ;(tc:expect rcvr (message:create '(:csys :effect :e01) :data '(:value 1)))
(environ:send-value '(:s00 "0-1") 1) (environ:send-value '(:s00 #(0 1)) 1)
(environ:send-value '(:s00 "0-1") 2) (environ:send-value '(:s00 #(0 1)) 2)
(teardown))) (teardown)))
(deftest test-basic-1 () (deftest test-basic-1 ()
(let ((environ:*env* (setup (basic:config-b1)))) (let ((environ:*env* (setup (basic:config-b1))))
(environ:send-value '(:s01 "0-0") 1) (environ:send-value '(:s01 #(0 0)) 1)
(environ:send-value '(:s01 "0-1") 2) (environ:send-value '(:s01 #(0 1)) 2)
(teardown))) (teardown)))
(deftest test-basic-2 () (deftest test-basic-2 ()
(let ((environ:*env* (setup (basic:config-b2) :delay 0.03))) (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 0)) 1) (sleep 0.0002)
(environ:send-value '(:s02 "1-1") 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)) 2)
(teardown))) (teardown)))