projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ran black code formatter on everything.
[python_utils.git]
/
unscrambler.py
diff --git
a/unscrambler.py
b/unscrambler.py
index 05f810a225ccf88b5e0232669179170fc6978b33..3abb6d817a633147382d0ac82fea37cf4450e816 100644
(file)
--- a/
unscrambler.py
+++ b/
unscrambler.py
@@
-122,11
+122,12
@@
class Unscrambler(object):
# 52 bits
@staticmethod
def _compute_word_fingerprint(
# 52 bits
@staticmethod
def _compute_word_fingerprint(
- word: str,
- population: Mapping[str, int]
+ word: str, population: Mapping[str, int]
) -> int:
fp = 0
) -> int:
fp = 0
- for pair in sorted(population.items(), key=lambda x: x[1], reverse=True):
+ for pair in sorted(
+ population.items(), key=lambda x: x[1], reverse=True
+ ):
letter = pair[0]
if letter in fprint_feature_bit:
count = pair[1]
letter = pair[0]
if letter in fprint_feature_bit:
count = pair[1]
@@
-140,12
+141,14
@@
class Unscrambler(object):
# 32 bits
@staticmethod
def _compute_word_letter_sig(
# 32 bits
@staticmethod
def _compute_word_letter_sig(
-
letter_sigs: Mapping[str, int],
-
word: str,
-
population: Mapping[str, int],
+ letter_sigs: Mapping[str, int],
+ word: str,
+ population: Mapping[str, int],
) -> int:
sig = 0
) -> int:
sig = 0
- for pair in sorted(population.items(), key=lambda x: x[1], reverse=True):
+ for pair in sorted(
+ population.items(), key=lambda x: x[1], reverse=True
+ ):
letter = pair[0]
if letter not in letter_sigs:
continue
letter = pair[0]
if letter not in letter_sigs:
continue
@@
-186,7
+189,9
@@
class Unscrambler(object):
"""
population = list_utils.population_counts(word)
fprint = Unscrambler._compute_word_fingerprint(word, population)
"""
population = list_utils.population_counts(word)
fprint = Unscrambler._compute_word_fingerprint(word, population)
- letter_sig = Unscrambler._compute_word_letter_sig(letter_sigs, word, population)
+ letter_sig = Unscrambler._compute_word_letter_sig(
+ letter_sigs, word, population
+ )
assert fprint & letter_sig == 0
sig = fprint | letter_sig
return sig
assert fprint & letter_sig == 0
sig = fprint | letter_sig
return sig
@@
-222,10
+227,7
@@
class Unscrambler(object):
print(f'0x{sig:x}+{word}', file=f)
def lookup(
print(f'0x{sig:x}+{word}', file=f)
def lookup(
- self,
- word: str,
- *,
- include_fuzzy_matches: bool = False
+ self, word: str, *, include_fuzzy_matches: bool = False
) -> Dict[str, bool]:
"""Looks up a potentially scrambled word optionally including near
"fuzzy" matches.
) -> Dict[str, bool]:
"""Looks up a potentially scrambled word optionally including near
"fuzzy" matches.
@@
-236,13
+238,12
@@
class Unscrambler(object):
"""
sig = Unscrambler.compute_word_sig(word)
"""
sig = Unscrambler.compute_word_sig(word)
- return self.lookup_by_sig(sig, include_fuzzy_matches=include_fuzzy_matches)
+ return self.lookup_by_sig(
+ sig, include_fuzzy_matches=include_fuzzy_matches
+ )
def lookup_by_sig(
def lookup_by_sig(
- self,
- sig: int,
- *,
- include_fuzzy_matches:bool = False
+ self, sig: int, *, include_fuzzy_matches: bool = False
) -> Dict[str, bool]:
"""Looks up a word that has already been translated into a signature by
a previous call to Unscrambler.compute_word_sig. Optionally returns
) -> Dict[str, bool]:
"""Looks up a word that has already been translated into a signature by
a previous call to Unscrambler.compute_word_sig. Optionally returns