import numpy as np from sawtooth import history rng=np.random.default_rng(131) cp=(0,0,1); p=3 for rule in ("Rule 150","Rule 30"): ok=tot=0 for _ in range(300): w=int(rng.integers(3,12)); s=rng.integers(0,2,size=w).astype(np.uint8); s[-1]=1 T=1100 if rule=="Rule 30": H=history(cp,s,T+p,depth=T+w+p+4); e=H[:,0] else: L=w+T+p+6; x=np.zeros(L,dtype=np.uint8); x[:w]=s; e=[] for t in range(T+p): e.append(int(x[0])); near=np.concatenate([[cp[t%p]],x[:-1]]); far=np.concatenate([x[1:],[0]]); x=far^x^near e=np.array(e) D=e[:T]^e[p:T+p] for m in (6,7,8,9): for r in range(0,(1<