refactor code and implement unit tests
This commit is contained in:
47
permutation_algebra_examples.py
Normal file
47
permutation_algebra_examples.py
Normal file
@@ -0,0 +1,47 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user