about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/src/driver/aot.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-04-19 09:52:17 +0000
committerbors <bors@rust-lang.org>2024-04-19 09:52:17 +0000
commit43a0686f8d18fa068e2689d5bd889bd2670dbf50 (patch)
treee885b2550816fa7c7500b3b3353cea08ac0479ed /compiler/rustc_codegen_cranelift/src/driver/aot.rs
parentc4f112af6e503c2b3e908af7dddd1b8ea99ed60c (diff)
parente2ab540e379babe8b11d1eee014c1c54b4526ee8 (diff)
downloadrust-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 'compiler/rustc_codegen_cranelift/src/driver/aot.rs')
0 files changed, 0 insertions, 0 deletions