from pyutils.parallelize import executors
from pyutils.parallelize import parallelize as par
from pyutils.parallelize import smart_future
from pyutils.parallelize import executors
from pyutils.parallelize import parallelize as par
from pyutils.parallelize import smart_future
logger.debug(f'Initializing position hash from {filename}...')
with open(filename, 'r') as rf:
for line in rf:
logger.debug(f'Initializing position hash from {filename}...')
with open(filename, 'r') as rf:
for line in rf:
# All legal solutions pre-sorted by length.
self.all_possible_solutions_by_length = defaultdict(list)
filename = config.config['solutions_file']
# All legal solutions pre-sorted by length.
self.all_possible_solutions_by_length = defaultdict(list)
filename = config.config['solutions_file']
# All legal guesses pre-sorted by length.
self.all_possible_guesses_by_length = defaultdict(list)
filename = config.config['guesses_file']
# All legal guesses pre-sorted by length.
self.all_possible_guesses_by_length = defaultdict(list)
filename = config.config['guesses_file']
# If we know a letter is in a position, solution words
# must have that letter in that position.
if (
# If we know a letter is in a position, solution words
# must have that letter in that position.
if (
letters_seen[letter] += 1
# Finally, the word must include all letters presently
letters_seen[letter] += 1
# Finally, the word must include all letters presently
def get_max_letter_population() -> Dict[Letter, int]:
filename = config.config['solutions_file']
max_letter_population_per_word: Dict[Letter, int] = defaultdict(int)
def get_max_letter_population() -> Dict[Letter, int]:
filename = config.config['solutions_file']
max_letter_population_per_word: Dict[Letter, int] = defaultdict(int)