@@ -150,10 +150,7 @@ def _is_prime(n: int) -> bool:
150150 return True
151151 if n % 2 == 0 :
152152 return False
153- for i in range (3 , int (n ** 0.5 ) + 1 , 2 ):
154- if n % i == 0 :
155- return False
156- return True
153+ return all (n % i != 0 for i in range (3 , int (n ** 0.5 ) + 1 , 2 ))
157154
158155
159156def _gen_maglev_permutation (endpoint : Endpoint , ring_size : int ) -> tuple [int , int ]:
@@ -356,7 +353,7 @@ def rebuild(
356353 # Compute changes
357354 changes : dict [int , tuple [int , int ]] = {}
358355 if old_ring and len (old_ring ) == len (new_ring ):
359- for i , (old_val , new_val ) in enumerate (zip (old_ring , new_ring )):
356+ for i , (old_val , new_val ) in enumerate (zip (old_ring , new_ring , strict = False )):
360357 if old_val != new_val :
361358 changes [i ] = (old_val , new_val )
362359
@@ -434,7 +431,7 @@ def compute_ring_changes(old_ring: list[int], new_ring: list[int]) -> tuple[int,
434431 if len (old_ring ) != len (new_ring ):
435432 raise ValueError ("Rings must be the same size" )
436433
437- changed = sum (1 for o , n in zip (old_ring , new_ring ) if o != n )
434+ changed = sum (1 for o , n in zip (old_ring , new_ring , strict = False ) if o != n )
438435 percentage = (changed / len (old_ring )) * 100 if old_ring else 0.0
439436
440437 return changed , percentage
@@ -468,7 +465,7 @@ def compute_ring_updates(old_ring: list[int], new_ring: list[int]) -> dict[int,
468465 raise ValueError ("Rings must be the same size" )
469466
470467 updates : dict [int , int ] = {}
471- for i , (old_val , new_val ) in enumerate (zip (old_ring , new_ring )):
468+ for i , (old_val , new_val ) in enumerate (zip (old_ring , new_ring , strict = False )):
472469 if old_val != new_val :
473470 updates [i ] = new_val
474471
0 commit comments