https://github.com/python/cpython/commit/8bbd379ee30db0320ec3d31c37aee2a503902b0f
commit: 8bbd379ee30db0320ec3d31c37aee2a503902b0f
branch: main
author: Raymond Hettinger <[email protected]>
committer: rhettinger <[email protected]>
date: 2024-12-11T21:24:56-06:00
summary:

Simplify and speed-up an itertools recipe (gh-127848)

files:
M Doc/library/itertools.rst

diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 03966f3d3d694b..3b90d7830f3681 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -1015,7 +1015,7 @@ The following recipes have a more mathematical flavor:
 .. testcode::
 
    def powerset(iterable):
-       "powerset([1,2,3]) → () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
+       # powerset([1,2,3]) → () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)
        s = list(iterable)
        return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))
 
@@ -1104,11 +1104,6 @@ The following recipes have a more mathematical flavor:
            data[p*p : n : p+p] = bytes(len(range(p*p, n, p+p)))
        yield from iter_index(data, 1, start=3)
 
-   def is_prime(n):
-       "Return True if n is prime."
-       # is_prime(1_000_000_000_000_403) → True
-       return n > 1 and all(n % p for p in sieve(math.isqrt(n) + 1))
-
    def factor(n):
        "Prime factors of n."
        # factor(99) → 3 3 11
@@ -1123,6 +1118,11 @@ The following recipes have a more mathematical flavor:
        if n > 1:
            yield n
 
+   def is_prime(n):
+       "Return True if n is prime."
+       # is_prime(1_000_000_000_000_403) → True
+       return n > 1 and next(factor(n)) == n
+
    def totient(n):
        "Count of natural numbers up to n that are coprime to n."
        # https://mathworld.wolfram.com/TotientFunction.html

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to