/ analysis / updctrlvar.py
updctrlvar.py
 1  #!/usr/bin/env python
 2  
 3  def split_by_n(obj, n):
 4    # src https://stackoverflow.com/questions/9475241/split-string-every-nth-character
 5    return list(obj[i:i+n] for i in range(0, len(obj), n))
 6  
 7  allchars = list(reversed(range(7*8)))
 8  ctrlv=split_by_n(allchars[:7*8], 8)
 9  
10  #print("cv", ctrlv)
11  
12  # 1e35..1e57
13  for i in range(5):
14    CY = ctrlv[3][7-4]
15    for j in range(7):
16      # rrc a
17      tbit = CY
18      CY = ctrlv[j][7]
19      ctrlv[j] = [tbit] + ctrlv[j][:-1]
20    ctrlv[3][7-3]=CY
21  
22  print("cv", ctrlv)
23  
24  allchars = list(reversed(range(7*8)))
25  ctrlv=split_by_n(allchars[:7*8], 8)
26  
27  #print("cv", ctrlv)
28  
29  # 1e35..1e57
30  for i in range(2):
31    CY = ctrlv[3][7-4]
32    for j in range(7):
33      # rrc a
34      tbit = CY
35      CY = ctrlv[j][7]
36      ctrlv[j] = [tbit] + ctrlv[j][:-1]
37    ctrlv[3][7-3]=CY
38  
39  print("cv", ctrlv)