File tree 1 file changed +3
-2
lines changed
1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -795,7 +795,8 @@ which incur interpreter overhead.
795
795
return chain.from_iterable(repeat(tuple(iterable), n))
796
796
797
797
def dotproduct(vec1, vec2):
798
- return sum(map(operator.mul, vec1, vec2))
798
+ "Compute a sum of products."
799
+ return sum(starmap(operator.mul, zip(vec1, vec2, strict=True)))
799
800
800
801
def convolve(signal, kernel):
801
802
# See: https://betterexplained.com/articles/intuitive-convolution/
@@ -807,7 +808,7 @@ which incur interpreter overhead.
807
808
window = collections.deque([0], maxlen=n) * n
808
809
for x in chain(signal, repeat(0, n-1)):
809
810
window.append(x)
810
- yield sum(map(operator.mul, kernel, window) )
811
+ yield dotproduct( kernel, window)
811
812
812
813
def polynomial_from_roots(roots):
813
814
"""Compute a polynomial's coefficients from its roots.
You can’t perform that action at this time.
0 commit comments