##// END OF EJS Templates
test-revlog-raw: fix "genbits" implementation...
Jun Wu -
r31763:8a0c4798 default
parent child Browse files
Show More
@@ -166,6 +166,7 b' def genbits(n):'
166 166
167 167 # Gray Code. See https://en.wikipedia.org/wiki/Gray_code
168 168 gray = lambda x: x ^ (x >> 1)
169 reversegray = dict((gray(i), i) for i in range(m))
169 170
170 171 # Generate (n * 2) bit gray code, yield lower n bits as X, and look for
171 172 # the next unused gray code where higher n bits equal to X.
@@ -177,7 +178,9 b' def genbits(n):'
177 178 x = 0
178 179 yield x
179 180 for i in range(m * m):
181 x = reversegray[x]
180 182 y = gray(a[x] + x * m) & (m - 1)
183 assert a[x] < m
181 184 a[x] += 1
182 185 x = y
183 186 yield x
General Comments 0
You need to be logged in to leave comments. Login now