Size: a a a

Compiler Development

2019 September 28

E

EgorBo in Compiler Development
Так в шарпе это включается одним чекбоксом в проекте для всех операций
источник

E

EgorBo in Compiler Development
решили сделать выключенным по дефолтуу
источник

E

EgorBo in Compiler Development
dotnet run /p:CheckForOverflowUnderflow=true
источник

SS

Sergey Sverdlov in Compiler Development
EgorBo
dotnet run /p:CheckForOverflowUnderflow=true
Я для студентов юзаю PascalABC.NET. Для него так можно сделать?
источник

M

MaxGraey in Compiler Development
В Java вроде есть соответствующие операции в пространстве Math:
Math.addExact, Math.subtractExact и Math.multiplyExact
источник

E

EgorBo in Compiler Development
Sergey Sverdlov
Я для студентов юзаю PascalABC.NET. Для него так можно сделать?
ничего не знаю про паскльабц, соре :)
источник

M

MaxGraey in Compiler Development
Кстати signed div тоже может вызывать переполнение но только в одном единственном случае)
источник

E

EgorBo in Compiler Development
кстати, для умножения без оверфлоу есть mulx
источник

E

EgorBo in Compiler Development
в дотнете на него интринсик

long high = Bmi2.MutliplyNoFlags(x, y, &low);
источник

SS

Sergey Sverdlov in Compiler Development
Ну, это не важно. Он генерит для .NET. Вопрос же общий. Это устанавливается для всей .NET или как?
источник

E

EgorBo in Compiler Development
Sergey Sverdlov
Ну, это не важно. Он генерит для .NET. Вопрос же общий. Это устанавливается для всей .NET или как?
да, но я не знаю какие билд системы юзает паскаль и как там включать флаги
источник

E

EgorBo in Compiler Development
EgorBo
кстати, для умножения без оверфлоу есть mulx
кстати mulx бажный в ллвм какой-то
источник

M

MaxGraey in Compiler Development
MaxGraey
Кстати signed div тоже может вызывать переполнение но только в одном единственном случае)
int x= INT_MIN;
int y= -1;
int z= x / y;
источник

M

MaxGraey in Compiler Development
MaxGraey
int x= INT_MIN;
int y= -1;
int z= x / y;
Но почему то никто это не ловит даже в checked режиме. Или ловит?
источник

SS

Sergey Sverdlov in Compiler Development
EgorBo
да, но я не знаю какие билд системы юзает паскаль и как там включать флаги
А это надо при компиляции компилятора включать или же можно задним числом, когда пользуюсь уже готовым компилятором?
источник

E

EgorBo in Compiler Development
MaxGraey
Но почему то никто это не ловит даже в checked режиме. Или ловит?
ловит
источник

E

EgorBo in Compiler Development
Sergey Sverdlov
А это надо при компиляции компилятора включать или же можно задним числом, когда пользуюсь уже готовым компилятором?
ну компилятор должен вставлять
источник
2019 September 29

M

MaxGraey in Compiler Development
А это правда что на тебе мемоизации для хаскля люди защитили не меньше 3-х диссертаций и написали кучу статей? Я вот все думаю чтоит ли мне продолжать углубляться в функциональное программирование)
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
А это правда что на тебе мемоизации для хаскля люди защитили не меньше 3-х диссертаций и написали кучу статей? Я вот все думаю чтоит ли мне продолжать углубляться в функциональное программирование)
А куда Вы денетесь? Все (пожалуй, кроме нелюбимого вами Google с Go, да Apple) пропагандируют именно функциональщину. Не очень мне понятно, почему так, но такова реальность.
источник

AK

Andrei Kurosh in Compiler Development
Михаил Бахтерев
А куда Вы денетесь? Все (пожалуй, кроме нелюбимого вами Google с Go, да Apple) пропагандируют именно функциональщину. Не очень мне понятно, почему так, но такова реальность.
То, на каком уровне в мейнстримные языки вкрапляется функциональщина (лямбды, замыкания, возможно DU), особого углубления не требует
источник