[varLib.interpolatable] Micro-optimize a check

This commit is contained in:
Behdad Esfahbod 2023-10-14 17:09:27 -04:00
parent 9f42783d6f
commit d29856b2e4

View File

@ -321,14 +321,13 @@ def test(glyphsets, glyphs=None, names=None, ignore_missing=False):
)
# m0 is the first non-None item in allVectors, or the first item if all are None
m0 = allVectors[m0idx]
if m0:
for i, m1 in enumerate(allVectors[m0idx + 1 :]):
if m1 is None:
continue
if len(m0) != len(m1):
# We already reported this
continue
if not m0:
continue
costs = [[_vdiff_hypot2(v0, v1) for v1 in m1] for v0 in m0]
matching, matching_cost = min_cost_perfect_bipartite_matching(costs)
identity_matching = list(range(len(m0)))
@ -356,14 +355,13 @@ def test(glyphsets, glyphs=None, names=None, ignore_missing=False):
)
# m0 is the first non-None item in allContourIsomorphisms, or the first item if all are None
m0 = allContourIsomorphisms[m0idx]
if m0:
for i, m1 in enumerate(allContourIsomorphisms[m0idx + 1 :]):
if m1 is None:
continue
if len(m0) != len(m1):
# We already reported this
continue
if not m0:
continue
for ix, (contour0, contour1) in enumerate(zip(m0, m1)):
c0 = contour0[0]
costs = [