Size: a a a

Compiler Development

2020 February 13

KR

K R in Compiler Development
Но с произвольными числами перевод в сумму строго эквивалентен && и двум сравнениям с нулём только когда слагаемых 2 штуки.
источник

M

MaxGraey in Compiler Development
Да просто прогоните уже два этих примера на диапазоне от 0 до 2^32-1 и вы получите что это равнозначные вырожения
источник

KR

K R in Compiler Development
MaxGraey
Да просто прогоните уже два этих примера на диапазоне от 0 до 2^32-1 и вы получите что это равнозначные вырожения
Не сомневаюсь - нужно, чтобы делители были большими, а не только делимые.
источник

M

MaxGraey in Compiler Development
K R
Не сомневаюсь - нужно, чтобы делители были большими, а не только делимые.
Так, подождите. Для того конкретного выражения я написал правльное вырожение для упрощенной формы или нет?

Просто сейчас уже вы вводите людей в заблуждение
источник

KR

K R in Compiler Development
MaxGraey
Так, подождите. Для того конкретного выражения я написал правльное вырожение для упрощенной формы или нет?

Просто сейчас уже вы вводите людей в заблуждение
Для того конкретного - безусловно.
источник

M

MaxGraey in Compiler Development
Ну я и не говорил, что неикакх граничных случаев не может быть)
источник

FO

FORTRAN ONE LOVE in Compiler Development
MaxGraey
Так, подождите. Для того конкретного выражения я написал правльное вырожение для упрощенной формы или нет?

Просто сейчас уже вы вводите людей в заблуждение
да. таки правильно про 30
источник

KR

K R in Compiler Development
Там с двумя слагаемыми всё всегда работает.
источник

KR

K R in Compiler Development
А с тремя - уже нет.
источник

FO

FORTRAN ONE LOVE in Compiler Development
гыг
источник

FO

FORTRAN ONE LOVE in Compiler Development
в общем: надо найти разложение каждого из чисел на простые множители. и затем взять максимальные степени каждого из простых чисел и перемножить их.

например:
x % 27 + x^48 + x^15
27=3^4
48=2^4*3
15=3*5
и сокращать надо на:
x % 2^4*3^4*5
источник

FO

FORTRAN ONE LOVE in Compiler Development
работает не зависимо от числа членов
источник

M

MaxGraey in Compiler Development
FORTRAN ONE LOVE
в общем: надо найти разложение каждого из чисел на простые множители. и затем взять максимальные степени каждого из простых чисел и перемножить их.

например:
x % 27 + x^48 + x^15
27=3^4
48=2^4*3
15=3*5
и сокращать надо на:
x % 2^4*3^4*5
Да просто нужно найти lcm (Наименьшее общее кратное)
источник

FO

FORTRAN ONE LOVE in Compiler Development
кажется, что я описал процесс его поиска %)
источник

KR

K R in Compiler Development
INT_MAX - это восьмое Мерсенновское простое число с показателем 31. Это где-нибудь в оптимизациях используется?
источник

FO

FORTRAN ONE LOVE in Compiler Development
🤣
источник

M

MaxGraey in Compiler Development
FORTRAN ONE LOVE
в общем: надо найти разложение каждого из чисел на простые множители. и затем взять максимальные степени каждого из простых чисел и перемножить их.

например:
x % 27 + x^48 + x^15
27=3^4
48=2^4*3
15=3*5
и сокращать надо на:
x % 2^4*3^4*5
Ну да ты через prime factorization делаешь, просто не все знают что это такое
источник

KR

K R in Compiler Development
А с LLONG_MAX уже не проходит фокус - оно факторизуется.
источник

M

MaxGraey in Compiler Development
«За нахождение простого числа Мерсенна M_43112609 проектом GIMPS в 2009 году была получена премия в 100 тыс. долларов США, назначенная сообществом Electronic Frontier Foundation за нахождение простого числа, десятичная запись которого содержит не менее 10 миллионов цифр»

Блин, вот что нужно искать а не биткоины майнить 😂
источник

K

Kir in Compiler Development
Бетховены стабильнее майнятся
источник