Size: a a a

2021 March 25

ПК

Побитый Кирпич... in pro.cxx
Artur Solovev
Оно да. Но бортовой openssl нет.
openssl для таймеров не нужен
источник

a

albert(); in pro.cxx
Filipe Mulonde
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
19%
Is 0
81%
Not 0
Проголосовало: 47
Ненавижу такие вопросы по c++
источник

a

albert(); in pro.cxx
В паттерн фасадах легче разобраться
источник

DF

Dollar Føølish in pro.cxx
Смешно получилась
источник

AS

Anatoly Shirokov in pro.cxx
albert();
Ненавижу такие вопросы по c++
вопрос можешь в плавающую точку или нет. имхо.
источник

JT

Jean Tulasne in pro.cxx
Antony Polukhin
И тут выяснилось, что это UB, а точнее IFNDR ^

Так что так делать не стоит :(
Не могли бы пояснить, почему UB?
источник

s

std::slavik in pro.cxx
Filipe Mulonde
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
19%
Is 0
81%
Not 0
Проголосовало: 47
нормализация мантиссы
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
Надо в столбик посчитать, чтобы ответить
источник

AP

Antony Polukhin in pro.cxx
Jean Tulasne
Не могли бы пояснить, почему UB?
Они нарушают семантические требования концептов. Например имплементация может полагаться на то, что если c1 == S и c2 == S, то с1 == с2. Транизитивность - одно из требований концптов в этом месте. Однако это нарушается в коде.

То есть автор кода не прислушался к shall написанным в стандарте (и на cppreference) и написал такой код, ошибку в котором невозможно быстро и ффективно задектироватья
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
    1.10011001100110011001101|00000000000000000000000000000 * 2^-4
-   1.10011001100110011001100|11001100110011001100110011010 * 2^-4
=   0.00000000000000000000000|00110011001100110011001100110 * 2^-4
=   1.10011001100110011001100|11000000000000000000000000000 * 2^-30
RNE 1.10011001100110011001101                               * 2^-30
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
float x = 0.1;
это если float x = roundToNearestEven(0.1);
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
Но тут и в компиляторе, и в рантайме округление влияет)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
Точнее, вот тут только в компиляторе, потому что constant propagation, не?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
С /fp:strict только в рантайме, наверно
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
А, нет. MSVC, козлина, запёк float(0.1). Интересно, что по поводу таких литералов говорит стандарт…
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
В таком случае, даже если round to zero, то не 0 =)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
а, without running this code, ну ладно( ручной FPU тоже running же
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.cxx
И даже если float x; x = 0.1; написать, то тоже зашакалило заранее
источник

JT

Jean Tulasne in pro.cxx
Antony Polukhin
Они нарушают семантические требования концептов. Например имплементация может полагаться на то, что если c1 == S и c2 == S, то с1 == с2. Транизитивность - одно из требований концптов в этом месте. Однако это нарушается в коде.

То есть автор кода не прислушался к shall написанным в стандарте (и на cppreference) и написал такой код, ошибку в котором невозможно быстро и ффективно задектироватья
Разобрался, спасибо. Печальное ограничение
источник

Е

Евгений Сергеевич... in pro.cxx
#chatlist
источник