[varLib.interpolatable] Micro-optimize by reusing a list
This commit is contained in:
parent
807864872e
commit
b3a45f9f79
@ -241,22 +241,24 @@ def test(glyphsets, glyphs=None, names=None, ignore_missing=False):
|
||||
mask = (1 << n) - 1
|
||||
isomorphisms = []
|
||||
contourIsomorphisms.append(isomorphisms)
|
||||
complexPoints = [complex(*pt) for pt, bl in points.value]
|
||||
for i in range(n):
|
||||
b = ((bits << i) & mask) | ((bits >> (n - i)))
|
||||
if b == bits:
|
||||
isomorphisms.append(
|
||||
_rot_list([complex(*pt) for pt, bl in points.value], i)
|
||||
_rot_list(complexPoints, i)
|
||||
)
|
||||
# Add mirrored rotations
|
||||
mirrored = list(reversed(points.value))
|
||||
reversed_bits = 0
|
||||
for pt, b in mirrored:
|
||||
reversed_bits = (reversed_bits << 1) | b
|
||||
complexPoints = list(reversed(complexPoints))
|
||||
for i in range(n):
|
||||
b = ((reversed_bits << i) & mask) | ((reversed_bits >> (n - i)))
|
||||
if b == bits:
|
||||
isomorphisms.append(
|
||||
_rot_list([complex(*pt) for pt, bl in mirrored], i)
|
||||
_rot_list(complexPoints, i)
|
||||
)
|
||||
|
||||
# m0idx should be the index of the first non-None item in allNodeTypes,
|
||||
|
Loading…
x
Reference in New Issue
Block a user