Size: a a a

2020 December 03

AK

Alexey Kuznetsov in pro.cxx
да, потому что контракты в коде гарантируют
источник

АР

Андрей Руссков... in pro.cxx
Александр Водянников
Не надеяться на компиляторы
ну это разумно если ты пишешь под какой-нить gcc 2.6.3
источник

АР

Андрей Руссков... in pro.cxx
Alexey Kuznetsov
да, потому что контракты в коде гарантируют
не, я про то, что тебе всё равно надо знать значение константы для сдвига, а значит, мультипликатор ты тоже неявно знаешь
источник

АР

Андрей Руссков... in pro.cxx
если у тебя где-то объявлена константа как степень двойки, и ты оптимизируешь её сдвигом на волшебное число, то ты просто террорист
источник

AK

Alexey Kuznetsov in pro.cxx
нет, просто приходит степень двойки в либу, в либе надо умножить кучу разных вещей невекторизуемых. достать из числа установленный бит и шифтнуть в этом случае вполне разумно
источник

АР

Андрей Руссков... in pro.cxx
то есть в интерфейсе пробрасывается не мультипликатор, а его степень двойки, ради того, чтобы сэкономить два такта проца?
источник

AK

Alexey Kuznetsov in pro.cxx
исторически так уж вышло
источник

AK

Alexey Kuznetsov in pro.cxx
20 лет легаси и куча кода использующего контракт у разных пользователей
источник

AK

Alexey Kuznetsov in pro.cxx
ну не суть. Соль в том что там где можно определить поведение, почему бы этого не сделать.
источник

AK

Alexey Kuznetsov in pro.cxx
Ну и так оно и есть
источник

АР

Андрей Руссков... in pro.cxx
представьте: в один прекрасный момент вам надо добавить поддержку не степени двойки
источник

АР

Андрей Руссков... in pro.cxx
и это рефакторинг на месяцы )
источник

AK

Alexey Kuznetsov in pro.cxx
20 лет этот момент не наступал :)
источник

AK

Alexey Kuznetsov in pro.cxx
это достаточный срок, чтоб выкинуть либу и написать заново например
источник

АР

Андрей Руссков... in pro.cxx
мне больше нравится когда про код можно забыть потому что он просто работает
источник

АР

Андрей Руссков... in pro.cxx
хз единственный раз когда я видел в кишках чего-то степени двойки вместо мультипликаторов, это был фурье, но там алгоритм всё равно только на степенях двойки работал
источник

AM

Alexander Malkov in pro.cxx
qwerty
кст, а киньте какой-нить активный open source на cpp... Буду благодарен
источник

IZ

Ilia Zviagin in pro.cxx
Андрей Руссков
по такой логике они вообще могли не давать никаких гарантий на сдвиг знаковых
Ну зачем? Сдвиг знаковых очень часто применяется для возведения в степень 2.

А так — для положительных знаковых оно всё определено.
источник

D

Danya in pro.cxx
qwerty
кст, а киньте какой-нить активный open source на cpp... Буду благодарен
источник

ВМ

Вітя Маличкович... in pro.cxx
Кто знает хорошо Си?
источник