diff options
| author | bors <bors@rust-lang.org> | 2024-04-19 09:52:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-04-19 09:52:17 +0000 |
| commit | 43a0686f8d18fa068e2689d5bd889bd2670dbf50 (patch) | |
| tree | e885b2550816fa7c7500b3b3353cea08ac0479ed /library/std/src/lib.rs | |
| parent | c4f112af6e503c2b3e908af7dddd1b8ea99ed60c (diff) | |
| parent | e2ab540e379babe8b11d1eee014c1c54b4526ee8 (diff) | |
| download | rust-43a0686f8d18fa068e2689d5bd889bd2670dbf50.tar.gz rust-43a0686f8d18fa068e2689d5bd889bd2670dbf50.zip | |
Auto merge of #115253 - donno2048:patch-1, r=albertlarsan68
Implement `PROBLEMATIC_CONSTS` generalization
You forgot that `A≈4`, `B≈8`, and `E≈3` and some more constants.
The new `PROBLEMATIC_CONSTS` was generated using this code:
```py
from functools import reduce
def generate_problems(consts: list, letter_digit: dict):
for const in consts:
problem = reduce(lambda string, rep: string.replace(*reversed(rep)), ['%X' % const, *letter_digit.items()])
indexes = [index for index, c in enumerate(problem) if c in letter_digit.keys()]
for i in range(1 << len(indexes)):
yield int(''.join(letter_digit[c] if index in indexes and (i >> indexes.index(index)) & 1 else c for index, c in enumerate(problem)), 0x10)
problems = generate_problems(
[
# Old PROBLEMATIC_CONSTS:
184594741, 2880289470, 2881141438, 2965027518, 2976579765, 3203381950, 3405691582, 3405697037,
3735927486, 3735932941, 4027431614, 4276992702,
# More of my own:
195934910, 252707358, 762133, 179681982, 173390526
],
{
'A': '4',
'B': '8',
'E': '3',
}
)
# print(list(problems)) # won't use that to print formatted
from itertools import islice
while len(cur_problems := list(islice(problems, 8))):
print(' ', end='')
print(*cur_problems, sep=', ', end='')
print(',')
```
Diffstat (limited to 'library/std/src/lib.rs')
0 files changed, 0 insertions, 0 deletions
