X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=cipher.py;h=8eb689ca6a55cbe18a9a4375e9580d689113dcce;hb=769f2410a90f15158ed2bac6483f3f9479cac89e;hp=7fffd522759f3aa7cf74084480ca0099c19f59ef;hpb=37cc0fd10156888d8ea222fc511643be7b9dd436;p=cipher-tools.git diff --git a/cipher.py b/cipher.py index 7fffd52..8eb689c 100644 --- a/cipher.py +++ b/cipher.py @@ -436,9 +436,9 @@ def keyword_break_mp(message, wordlist=keywords, metric=norms.euclidean_distance (('elephant', 1), 0.41643991598441...) """ with Pool() as pool: - keys = [(word, wrap) for word in wordlist for wrap in range(3)] + helper_args = [(message, word, wrap, metric, target_counts, message_frequency_scaling) for word in wordlist for wrap in range(3)] # breaks = map(lambda kw: keyword_break_one(message, kw[0], kw[1], metric, target_counts, message_frequency_scaling), keys) - breaks = pool.starmap(lambda k, w: keyword_break_one(message, k, w, metric, target_counts, message_frequency_scaling), keys, 1000) + breaks = pool.starmap(keyword_break_one, helper_args, 1000) return min(breaks, key=lambda k: k[1]) def keyword_break_one(message, keyword, wrap_alphabet, metric, target_counts, message_frequency_scaling):