for{master in 1..192} { for{slave in 1..192} let Codewords[master,slave] := {}; let Whichslaves[master] := {}; } for{master in 2..2} for{slave in 1..192, n1 in 1..7, n2 in 1..7 diff {n1}, n3 in 1..7 diff {n1,n2}, n4 in 1..7 diff {n1,n2,n3}, n5 in 1..7 diff {n1,n2,n3,n4}, n6 in 1..7 diff {n1,n2,n3,n4,n5}, n7 in 1..7 diff {n1,n2,n3,n4,n5,n6} } { for{i in 1..7} { let f[i] := codes7vec[master,i]; let g[i] := if i = 1 then codes7vec[slave,n1] else if i = 2 then codes7vec[slave,n2] else if i = 3 then codes7vec[slave,n3] else if i = 4 then codes7vec[slave,n4] else if i = 5 then codes7vec[slave,n5] else if i = 6 then codes7vec[slave,n6] else if i = 7 then codes7vec[slave,n7] } if forall{i in 1..7,j in i+1..7} op_xor[ op_reverse[f[i],f[j]], op_reverse[g[i],g[j]] ] != 0 then { let Codewords[master,slave] := Codewords[master,slave] union {(g[1],g[2],g[3],g[4],g[5],g[6],g[7])}; let Whichslaves[master] := Whichslaves[master] union {slave}; } } for {i in 1..192: Whichslaves[i] not within{}} display i,Whichslaves[i]; for {i in 1..192, j in 1..192: Codewords[i,j] not within {}} display i,j,Codewords[i,j]; display Whichslaves, Codewords > a22_2-out-Codewords.txt; close a22_2-out-Codewords.txt; #133 or 0 combinations for each (master,slave) end;