One-dimensional cellular automata: Difference between revisions

Content added Content deleted
Line 646:
function rules(integer tri)
if tri = 3 or tri = 5 or tri = 6 then
return 21
else
return 0
Line 653:
 
function next_gen(atom gen)
atom new,mult bit
new = 0
 
mult = 1
new += rules(and_bits(gen,3)*2) -- work with the first bit separately
multbut = 12
while gen > 0 do
new += multbit*rules(and_bits(gen,7))
gen = floor(gen/2) -- shift right
multbit *= 2 -- shift left
end while
return new
Line 676 ⟶ 679:
end function
 
atom gen, prev
integer n