Guest User

Untitled

a guest
Apr 15th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.87 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import sys
  3.  
  4. def lfsr2():
  5.         """ Generate non-linear (including 0000-state) sequence for F_{2^4} with
  6.            connection polynomial x^4 + x + 1 """
  7.         r = [1]*4
  8.         r[0] = 0
  9.         r[1] = 0
  10.         r[2] = 0
  11.         r[3] = 0
  12.  
  13.         j = 0
  14.         while j < (2**4):
  15.                 yield r[0]
  16.                 i1 = (r[0] + r[3]) % 2
  17.                 i2 = 1 if not (r[1] or r[2] or r[3]) else 0
  18.  
  19.                 i = 0
  20.                 while i < len(r)-1:
  21.                         r[i] = r[i+1]
  22.                         i += 1
  23.  
  24.                 r[4-1] = (i1+i2) % 2
  25.                 j += 1
  26.  
  27.         #yield 0
  28.         #yield 0
  29.         #yield 0
  30.  
  31. def lfsr5():
  32.         """ Generate non-linear (including 0000-state) sequence for F_{5^4} with
  33.            connection polynomial x^4 + x^2 + 2x + 2 """
  34.         r = [1]*4
  35.         r[0] = 0
  36.         r[1] = 0
  37.         r[2] = 0
  38.         r[3] = 1
  39.  
  40.         j = 0
  41.         while j < (5**4):
  42.                 yield r[0]
  43.  
  44.                 i1 = (2*r[0]+r[1]+r[3]) % 5
  45.                 i2 = 0
  46.  
  47.                 if not (r[1] or r[2] or r[3]):
  48.                         if r[0]==2:
  49.                                 i2 = 1
  50.                         elif r[0]==0:
  51.                                 i2 = 4
  52.  
  53.                 i = 0
  54.                 while i < len(r)-1:
  55.                         r[i] = r[i+1]
  56.                         i += 1
  57.  
  58.                 r[4-1] = ((i1+i2)) % 5
  59.                 j += 1
  60.  
  61.         #yield 1
  62.         #yield 1
  63.         #yield 1
  64.  
  65.  
  66. if __name__ == '__main__':
  67.         seq1 = list(lfsr2())
  68.         seq2 = list(lfsr5())
  69.         #print seq1
  70.         seq1 = seq1*len(seq2)
  71.         seq2 = seq2*len(seq1)
  72.  
  73.         for i in range(0, len(seq1)):
  74.                 a = seq1[i]
  75.                 b = seq2[i]
  76.  
  77.                 sys.stdout.write(str(a*5+b))
  78.  
  79.         sys.stdout.write("000")
Add Comment
Please, Sign In to add comment