Module Rule.Rrcs_2d


module Rrcs_2d: sig .. end
2D rules that are Rotation Reflexion and Conjugate Symmetric, with range one diamond neighboorhoud. They are 64 such rules, defined by the transitions for the following neighboorhouds:

 0    1    1    1    1    1
000  000  001  000  101  101
 0    0    0    1    0    1

The number assigned to a rule is $\sum r_i 2^i$
  where r_i is the result of the transition of the ith above pattern.
For instance rule number 1, when the state is 0, yields to a 1 iff all the neighboors are 0.

Need a periodic topology.


val id_to_array : int -> bool array
val transition_rule_rrcs2d : int -> int array array -> bool array -> int -> bool
module type Parameters = sig .. end
module Automaton: 
functor (Parameters : Parameters) -> sig .. end