reset data Codewords_vec; reset data Codewords_fgh; let index := 0; for{master in 1..1} for{slave in 1..4032, (g1,g2,g3,g4,g5) in Codewords[master,slave]} { let index := index + 1; let Codewords_vec[master,index,1] := g1; let Codewords_vec[master,index,2] := g2; let Codewords_vec[master,index,3] := g3; let Codewords_vec[master,index,4] := g4; let Codewords_vec[master,index,5] := g5; } print index; for{master in 1..1,slave_g in 1..1680} { printf "%d",slave_g; reset data f,g; for{i in 1..5} { let f[i] := codes5vec[master,i]; let g[i] := Codewords_vec[master,slave_g,i]; } for{slave_h in slave_g+1..1680} { reset data h; for{i in 1..5} { let h[i] := Codewords_vec[master,slave_h,i]; } if forall{i in 1..5,j in i+1..5} op_xor[ op_reverse[g[i],g[j]], op_reverse[h[i],h[j]] ] != 0 then ; else continue; if forall{i in 1..5, j in i+1..5, k in j+1..5} op_xor[ op_reverse[ op_xor[op_reverse[g[i],g[j]],11], op_xor[op_reverse[g[i],g[k]],11] ], op_reverse[ op_xor[op_reverse[h[i],h[j]],11], op_xor[op_reverse[h[i],h[k]],11] ] ] != 0 then ; else continue; printf "+"; let Codewords_fgh[master,slave_g] := Codewords_fgh[master,slave_g] union {(master,slave_g,slave_h)}; } printf "\n"; } display Codewords_fgh > a24_3-out-Codewords_fgh.txt; close a24_3-out-Codewords_fgh.txt; display sum{master in 1..1, slave_g in 1..1680} card(Codewords_fgh[master,slave_g]); end;