LUT.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. # Store all kinds of lookup table.
  2. # # generate rsPoly lookup table.
  3. # from qrcode import base
  4. # def create_bytes(rs_blocks):
  5. # for r in range(len(rs_blocks)):
  6. # dcCount = rs_blocks[r].data_count
  7. # ecCount = rs_blocks[r].total_count - dcCount
  8. # rsPoly = base.Polynomial([1], 0)
  9. # for i in range(ecCount):
  10. # rsPoly = rsPoly * base.Polynomial([1, base.gexp(i)], 0)
  11. # return ecCount, rsPoly
  12. # rsPoly_LUT = {}
  13. # for version in range(1,41):
  14. # for error_correction in range(4):
  15. # rs_blocks_list = base.rs_blocks(version, error_correction)
  16. # ecCount, rsPoly = create_bytes(rs_blocks_list)
  17. # rsPoly_LUT[ecCount]=rsPoly.num
  18. # print(rsPoly_LUT)
  19. # Result. Usage: input: ecCount, output: Polynomial.num
  20. # e.g. rsPoly = base.Polynomial(LUT.rsPoly_LUT[ecCount], 0)
  21. rsPoly_LUT = {
  22. 7: [1, 127, 122, 154, 164, 11, 68, 117],
  23. 10: [1, 216, 194, 159, 111, 199, 94, 95, 113, 157, 193],
  24. 13: [1, 137, 73, 227, 17, 177, 17, 52, 13, 46, 43, 83, 132, 120],
  25. 15: [1, 29, 196, 111, 163, 112, 74, 10, 105, 105, 139, 132, 151, 32, 134, 26],
  26. 16: [1, 59, 13, 104, 189, 68, 209, 30, 8, 163, 65, 41, 229, 98, 50, 36, 59],
  27. 17: [1, 119, 66, 83, 120, 119, 22, 197, 83, 249, 41, 143, 134, 85, 53, 125, 99, 79],
  28. 18: [
  29. 1,
  30. 239,
  31. 251,
  32. 183,
  33. 113,
  34. 149,
  35. 175,
  36. 199,
  37. 215,
  38. 240,
  39. 220,
  40. 73,
  41. 82,
  42. 173,
  43. 75,
  44. 32,
  45. 67,
  46. 217,
  47. 146,
  48. ],
  49. 20: [
  50. 1,
  51. 152,
  52. 185,
  53. 240,
  54. 5,
  55. 111,
  56. 99,
  57. 6,
  58. 220,
  59. 112,
  60. 150,
  61. 69,
  62. 36,
  63. 187,
  64. 22,
  65. 228,
  66. 198,
  67. 121,
  68. 121,
  69. 165,
  70. 174,
  71. ],
  72. 22: [
  73. 1,
  74. 89,
  75. 179,
  76. 131,
  77. 176,
  78. 182,
  79. 244,
  80. 19,
  81. 189,
  82. 69,
  83. 40,
  84. 28,
  85. 137,
  86. 29,
  87. 123,
  88. 67,
  89. 253,
  90. 86,
  91. 218,
  92. 230,
  93. 26,
  94. 145,
  95. 245,
  96. ],
  97. 24: [
  98. 1,
  99. 122,
  100. 118,
  101. 169,
  102. 70,
  103. 178,
  104. 237,
  105. 216,
  106. 102,
  107. 115,
  108. 150,
  109. 229,
  110. 73,
  111. 130,
  112. 72,
  113. 61,
  114. 43,
  115. 206,
  116. 1,
  117. 237,
  118. 247,
  119. 127,
  120. 217,
  121. 144,
  122. 117,
  123. ],
  124. 26: [
  125. 1,
  126. 246,
  127. 51,
  128. 183,
  129. 4,
  130. 136,
  131. 98,
  132. 199,
  133. 152,
  134. 77,
  135. 56,
  136. 206,
  137. 24,
  138. 145,
  139. 40,
  140. 209,
  141. 117,
  142. 233,
  143. 42,
  144. 135,
  145. 68,
  146. 70,
  147. 144,
  148. 146,
  149. 77,
  150. 43,
  151. 94,
  152. ],
  153. 28: [
  154. 1,
  155. 252,
  156. 9,
  157. 28,
  158. 13,
  159. 18,
  160. 251,
  161. 208,
  162. 150,
  163. 103,
  164. 174,
  165. 100,
  166. 41,
  167. 167,
  168. 12,
  169. 247,
  170. 56,
  171. 117,
  172. 119,
  173. 233,
  174. 127,
  175. 181,
  176. 100,
  177. 121,
  178. 147,
  179. 176,
  180. 74,
  181. 58,
  182. 197,
  183. ],
  184. 30: [
  185. 1,
  186. 212,
  187. 246,
  188. 77,
  189. 73,
  190. 195,
  191. 192,
  192. 75,
  193. 98,
  194. 5,
  195. 70,
  196. 103,
  197. 177,
  198. 22,
  199. 217,
  200. 138,
  201. 51,
  202. 181,
  203. 246,
  204. 72,
  205. 25,
  206. 18,
  207. 46,
  208. 228,
  209. 74,
  210. 216,
  211. 195,
  212. 11,
  213. 106,
  214. 130,
  215. 150,
  216. ],
  217. }