from src.models import OuterKey, InnerKey, AlphabetKey height = 10 width = 7 a0 = AlphabetKey.init_matrix(width, height, 255) o0 = OuterKey.init_matrix(height) i0 = InnerKey.init_matrix(width, height) i1 = InnerKey.init_matrix(width, height) i2 = InnerKey.init_matrix(width, height) a0_i0_o0_v0 = a0 << (i0 < o0) a0_i0_o0_v1 = ((a0 < ~o0) << i0) < o0 print(a0_i0_o0_v0 == a0_i0_o0_v1) a0_o0_i0_v0 = (a0 < o0) << i0 a0_o0_i0_v1 = (a0 << (i0 < ~o0)) < o0 print(a0_i0_o0_v0 == a0_i0_o0_v1) a0_o0_i0_v0 = (a0 < o0) << i0 a0_o0_i0_v1 = (a0 << (i0 < ~o0)) < o0 print(a0_o0_i0_v0 == a0_o0_i0_v1) n_i0_i1 = ~(i0 << i1) ni1_ni0 = ~i1 << ~i0 print(ni1_ni0 == n_i0_i1) i0_i1_i2_v0 = i0 << i1 << i2 i0_i1_i2_v1 = i0 << (i1 << i2) i0_i1_i2_v2 = (i0 << i1) << i2 print(i0_i1_i2_v0 == i0_i1_i2_v1 == i0_i1_i2_v2) i0_i2_i1 = i0 << i2 << i1 #print(i0_i2_i1 == i0_i1_i2_v0) print(i0 == i0_i2_i1 << ~(i2 << i1)) print(i0 == i0_i2_i1 << ~i1 << ~i2)