Size: a a a

2021 January 30

IC

Ilya Chernoudov in pro.net
EgorBo
мат функции заспешал кейсили (как и в С++) и хватит
И какое поведение? Агресив инлайн? Или что захардкодили?
источник

E

EgorBo in pro.net
Alexey Tkachenko
Эээээ.... А пример?
просто овердохуя примеров - разные версии компиляторов давали разный результа.
разные железки, разные math реализации, на арме так вообще сплошь и рядом были косяки прям в хардварных инструкциях с точностью
источник

E

EgorBo in pro.net
собсно если посмотреть ПР по ссылке - то фолдинг констант отключен для АОТ потому что неизвестно где будет выполняться
источник

E

EgorBo in pro.net
и включен только для jit на текущей машине
источник

A

Aloraman in pro.net
А, фолдинг в jit, тогда норм
Различия в точности там могут быть и на разных процах, не то что разных архитектурах
источник

E

EgorBo in pro.net
источник

E

EgorBo in pro.net
причем я вообще даже не искал почти, просто взял одно значение и рандомную ф-цию
источник

E

EgorBo in pro.net
и пощелкал разные версии компилятора
источник

E

EgorBo in pro.net
просто знаю что этому вообще нельзя доверять, именно поэтому вся детерминисткая физика пишется ИСКЛЮЧИТЕЛЬНО на fixed-point флотах
источник

AT

Alexey Tkachenko in pro.net
Ну ты блин выбрал аргумент
источник

E

EgorBo in pro.net
на неграничных такая же петрушка может быть изи
источник

E

EgorBo in pro.net
у нас было один раз: тиеред джит вызывает либси на тиер0, а потом генерит хардварную инструкцию на тиер1 и хоп - внезпано другое значение для обычной константы аля 1/3
источник

E

EgorBo in pro.net
я даже не упоминаю режими быстрой математики и оптимизации через FMA инструкции, где точность другая
источник

E

EgorBo in pro.net
a*b+c без потери точности на умножении
источник

A

Aloraman in pro.net
Простого синуса хватит
Собрал на Intel, запустил на AMD - различие в 15 знаке вполне можно словить
источник

E

EgorBo in pro.net
изи да
источник

E

EgorBo in pro.net
но на армах, особенно ноунейм андроидах особо остро
источник

A

Aloraman in pro.net
Ну Intel и AMD - это ведь еще вполне в ограничения IEEE-754 укладывается
На армах там вообще адок
источник

A

Aloraman in pro.net
И это если всякие расширенные инструкции не привлекать
Вспомнил, кстати, веселую историю:
https://cookieplmonster.github.io/2020/07/19/silentpatch-mass-effect/
источник

E

EgorBo in pro.net
ну 3DNow и MMX это чото из 90ых)
источник