home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / misc / math / parall.sit / Parallaxis 2.0 / auto.p next >
Encoding:
Text File  |  1990-12-12  |  762 b   |  40 lines

  1. SYSTEM cellular_automaton;
  2. CONST n = 79;  (* number of elements *)
  3.       m = 50;  (* number of loops *)
  4. CONFIGURATION list [1..n];
  5. CONNECTION left:  list[i] -> list[i-1] .right;
  6.            right: list[i] -> list[i+1] .left;
  7.  
  8. SCALAR i      : integer;
  9. VECTOR val,l,r: boolean;
  10.  
  11. PROCEDURE out;
  12. SCALAR a: ARRAY[1..n] OF boolean;
  13.        j: integer;
  14. BEGIN
  15.   store[*](val,a);
  16.   FOR j:=1 TO n DO
  17.     IF a[j] THEN write("X") ELSE write(" ") END;
  18.   END;
  19.   WriteLn
  20. END out;
  21.  
  22. BEGIN
  23.   PARALLEL (* Init *)
  24.     val := false;
  25.   ENDPARALLEL;
  26.   PARALLEL [n div 2] (* middle *)
  27.     val := true;
  28.   ENDPARALLEL;
  29.  
  30.   FOR i:= 1 TO m DO
  31.     out;
  32.     PARALLEL
  33.       propagate.left (val,l);
  34.       propagate.right(val,r);
  35.       val := l<>r;
  36.     ENDPARALLEL;
  37.   END;
  38. END cellular_automaton.
  39.  
  40.