;;;; -*- Scheme -*- ;; ;; Comm example for HLSIM ;; ;; David DeRoure June 12 1997, revised Sep 11 1997 ;; dder@martigny.ai.mit.edu ;; ;; This is the simulation setup for comm2.scm. See the HLSIM documentation ;; for further details. (load-option 'hlsim) ;; If you are using this example for the very first time, you need some ;; compiled files available to load. If you do not have these, you can ;; generate them with the following: (cf "club5d") ; normal compilation (scm -> bin -> com) (cps "comm2") ; gunk compilation (scm -> bin), generates comm2.bin (cbf "comm2") ; gunk compilation (bin -> com), generates comm2.com ;; If you have the compiled files, start from here (load "club5d") ;; Make the simulation ;; Go from here to run different simulations. ;; The mean neighborhood density is just under n * pi * r^2 ;; e.g. for a quick simulation try 1000 procs, radius 0.05, n pi r^2 = 7.9 (define sim (make-sim/1 1000 0.05)) ;; e.g. for a large simulation try 10000 procs, radius 0.02, n pi r^2 = 12.6 ; (define sim (make-sim/1 10000 0.02)) (simulation.display! sim #T) (simulation.load sim 'init "comm2") (simulation.run sim) (define (stats sim exp) (let ((l (vector->list (simulation.eval sim exp)))) (list exp (apply min l) (round (/ (apply + l) (length l))) (apply max l)))) (stats sim 'collisions) ;; end of comm2s.scm