Size: a a a

Compiler Development

2019 October 07

E

Eugene in Compiler Development
Тогда, чтобы решить проблему нехватки программистов при создании Бурана и повысить производительность и качество труда при разработке алгоритмов и программ, Институт прикладной математики РАН по просьбе Пилюгинского центра создал два русскоязычных языка:

   язык реального времени ПРОЛ2 для разработки бортовых комплексных программ (руководитель авторского коллектива Виктор Крюков)[16][17];
   проблемно-ориентированный язык для разработки программ наземных испытаний ДИПОЛЬ (руководитель Владимир Луцикович)[18].

Кроме того, в Пилюгинском центре под руководством Константина Федорова был создан язык ЛАКС для моделирования. Таким образом, появились три новых языка, которые были непосредственными предшественниками ДРАКОНА. Опыт их эксплуатации был тщательно изучен и использован при создании языка ДРАКОН.
источник

E

Eugene in Compiler Development
опыт программирования Бурана использовался при создании ДРАКОНа, но где тут программирование Бурана на ДРАКОНе?
источник

E

EgorBo in Compiler Development
MaxGraey по-моему ты говорил, что x * -1 и -x не по иеее754 ?
источник

M

MaxGraey in Compiler Development
EgorBo
MaxGraey по-моему ты говорил, что x * -1 и -x не по иеее754 ?
Да потому что -1 * NaN --> NaN а -(NaN) --> -NaN. Впрочем NaN и так довольно неканоничен поэтому LLVM например этим пренебрегает
источник

E

EgorBo in Compiler Development
ну вот меня смущает что гцц и кланг кладут болт
источник

AK

Andrei Kurosh in Compiler Development
Почему у NaN вообще есть знак? 🤔
источник

E

EgorBo in Compiler Development
Andrei Kurosh
Почему у NaN вообще есть знак? 🤔
потому что у всего есть знак? :) это ж набор битиков
источник

AT

Alexey Tkachenko in Compiler Development
потому что NAN кодируется в экспоненте, а знак - в знаке
источник

M

MaxGraey in Compiler Development
Andrei Kurosh
Почему у NaN вообще есть знак? 🤔
Ты удивишься но NaN значений вообще как минимум два - сигнальный (sNaN) и "тихий" (qNaN). А теперь насчет знака. Некоторые функции игнорируют знак у NaN а некоторые нет=) И это вносит еще больше недетерминизма
источник

E

EgorBo in Compiler Development
у нас недавно был баг, в некоторых случаях хешкод структур считался просто от битов структуры — и выходило что структура с флотами-НаНами == структуре с НаНами
источник

AK

Andrei Kurosh in Compiler Development
Alexey Tkachenko
потому что NAN кодируется в экспоненте, а знак - в знаке
вопрос был "насколько это правильно", а деталь реализации на него не отвечает, т.к. может легко быть костылем
источник

M

MaxGraey in Compiler Development
MaxGraey
Ты удивишься но NaN значений вообще как минимум два - сигнальный (sNaN) и "тихий" (qNaN). А теперь насчет знака. Некоторые функции игнорируют знак у NaN а некоторые нет=) И это вносит еще больше недетерминизма
Например signbit чувствителен к знаку у NaN. подозремаю что copysign функция тоже (хотя это может зависить от стандартной библиотеки и платформы)
источник

AT

Alexey Tkachenko in Compiler Development
EgorBo
у нас недавно был баг, в некоторых случаях хешкод структур считался просто от битов структуры — и выходило что структура с флотами-НаНами == структуре с НаНами
недавно - это в каком масштабе времени?
источник

E

EgorBo in Compiler Development
Alexey Tkachenko
недавно - это в каком масштабе времени?
год
источник

E

EgorBo in Compiler Development
вернее там в другом баг был даже изначально
источник

E

EgorBo in Compiler Development
две структуры одинаковые, но в одной флот -0.0, а в другой 0.0
по спеке должны быть равны, но побитово - нет
источник

E

EgorBo in Compiler Development
просто отключили быстрыйхешкод для структур с флотами 😊
источник

E

EgorBo in Compiler Development
а
-(-x) безопасно в x ?
источник

E

EgorBo in Compiler Development
сам отвечу: да, ничего страшного в смене знакового бита
источник

МБ

Михаил Бахтерев in Compiler Development
Val Krylov
Проблема в том, что "единая мат. нотация" есть только в голове у Гая. В мире - множество разных нотаций, конфликтующих и не формализованных. А времена, когда можно было "минобороны велело COBOL" - прошли.
Он предложил хорошую нотацию для описания языков программирования. Я ей пользуюсь. Да и другие авторы тоже. Так что, теперь она не только "в голове у Гая".
источник