From e8086098bc669b8023c95112d0708b4b50f393b8 Mon Sep 17 00:00:00 2001 From: Jonas Weinz Date: Mon, 15 May 2017 08:47:26 +0200 Subject: [PATCH] bugfix in code conversion --- cellular_automaton/cellular.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/cellular_automaton/cellular.py b/cellular_automaton/cellular.py index 4cfd084..d530cc8 100755 --- a/cellular_automaton/cellular.py +++ b/cellular_automaton/cellular.py @@ -32,10 +32,13 @@ def code2FunctionTable(code, r): c = code if r == 1: - e = 8 - for i in range(2): - for j in range(2): - for k in range(2): + e = 7 + + # for each bit, loop over {1,0} + + for i in range(1,-1, -1): + for j in range(1,-1, -1): + for k in range(1,-1, -1): if 2**e > c: result[(i,j,k)] = 0 else: @@ -43,13 +46,13 @@ def code2FunctionTable(code, r): c -= 2 ** e e -= 1 elif r == 2: - e = 32 - for i in range(2): - for j in range(2): - for k in range(2): - for l in range(2): - for m in range(2): - if 2 ** e > c: + e = 31 + for i in range(1,-1, -1): + for j in range(1,-1, -1): + for k in range(1,-1, -1): + for l in range(1,-1, -1): + for m in range(1,-1, -1): + if 2**e > c: result[(i, j, k, l, m)] = 0 else: result[(i, j, k, l, m)] = 1