X-Git-Url: https://git.jsancho.org/?p=gacela.git;a=blobdiff_plain;f=src%2Ftest.scm;h=45bdef541de5ae3c5dbd1d7afb6554da99db0955;hp=021afefc8744e4defc8af120bb12d096af8a3679;hb=0f49b8fac5821694a2db6f88b95423e5ad8aa719;hpb=c4ba277c7f9d23516926693b48e704ff3ea5e8f9 diff --git a/src/test.scm b/src/test.scm index 021afef..45bdef5 100644 --- a/src/test.scm +++ b/src/test.scm @@ -86,3 +86,37 @@ )) (export test2) + + +(define (test3) + (let ((entities '()) + (components '()) + (s1 (make-system '(l) + (lambda (e) + (map + (lambda (e1) + `(,(car e1) . ((l . (cons 1 (cdr e1))))) + e))))) + (s2 (make-system '(l) + (lambda (e) + (map + (lambda (e1) + `(,(car e1) . ((l . (cons 2 (cdr e1)))))) + e))))) + (receive (e c) (set-entities `((#f . ((l . ()))) (#f . ((l . ())))) entities components) + ((join-systems s1 s2) e c)))) + +(export test3) + + +(define (test4) + (let ((f1 (lambda (e c) (sleep 3) (lambda (e2 c2) (values (+ 1 e2) c2)))) + (f2 (lambda (e c) (sleep 4) (lambda (e2 c2) (values e2 (+ 10 c2)))))) + (let ((t (current-time))) + (receive (e c) ((join-systems f1 f2) 2 2) (format #t "~a~%~a~%" e c)) + (display (- (current-time) t)) (newline) (newline)) + (let ((t (current-time))) + (receive (e c) ((threaded-systems f1 f2) 2 2) (format #t "~a~%~a~%" e c)) + (display (- (current-time) t)) (newline) (newline)))) + +(export test4)