Size: a a a

Конференция C++ Russia

2021 January 06

V

VanyaClassic in Конференция C++ Russia
Я тогда займусь этим
источник

AD

Andrey Davydov in Конференция C++ Russia
Wild_Wind
Удачи.
Только недавно в чатике говорили про:
uint8_t* buf = new char[128];
uint16_t* ptr = (uint16_t*)buf;

Уб или нет?
compilation error: invalid conversion from 'char*' to 'uint8_t*'
источник

SP

Sergey Platonov in Конференция C++ Russia
Andrey Davydov
compilation error: invalid conversion from 'char*' to 'uint8_t*'
Это другое!
источник

W

Wild_Wind in Конференция C++ Russia
Andrei Konshyn
почему это уб, если тут нет разыменования/чтения значения?
Они будут. Вернее, подразумевается дальнейшее использование сего буфера.
источник

W

Wild_Wind in Конференция C++ Russia
Antony Polukhin
Не UB начиная с C++20:
* reinterpret_cast из массива char неявно начинает lifetime
* new возвращает кусок памяти с большим alignment (что-то большее или равное alignof(std::max_align_t))

Есть конечно скольский случай с переопределением глобального оператора new и UB в нём, но думаю вопрос не про это.
Спасибо. Приятно, что в 20 стандарте подумали про ембед.
источник

AF

Aidar Fattakhov in Конференция C++ Russia
magras
К сожалению я довольно далек от численных алгоритмов, но когда я касался этой темы мне показалось что это единственное адекватное решение. Еще была бы поддержка в железе...

А сингтоны задающие точность сравнения плавающей точки я бы не хотел видеть в своем коде.
Придется хранить ошибку ошибки и так далее
источник

AF

Aidar Fattakhov in Конференция C++ Russia
Ну т.е это принципиально не решаемо, точность границы сверху всегда зависит от задачи, вам подойдет, а кому-то нет
источник

m

magras in Конференция C++ Russia
Aidar Fattakhov
Придется хранить ошибку ошибки и так далее
Да, вместе с числом хранить количество разрядов без ошибки. Но без хардверной поддержки такое решение вряд ли будет пользоваться популярностью.
источник

AD

Andrey Davydov in Конференция C++ Russia
Чем это лучше интервальной арифметики (https://www.boost.org/doc/libs/1_75_0/libs/numeric/interval/doc/interval.htm)?
источник

m

magras in Конференция C++ Russia
Andrey Davydov
Чем это лучше интервальной арифметики (https://www.boost.org/doc/libs/1_75_0/libs/numeric/interval/doc/interval.htm)?
Компактностью представления. Если брать 80 битный флоат у него мантиса 64 бита, то есть достаточно всего 6 дополнительных бит. Так как выравнивание скорее всего все равно будет 128 битным, эти 6 бит можно спокойно разместить в паддинге.
источник

m

magras in Конференция C++ Russia
А так видимо да, это частный случай интервальной арифметики.
источник

AD

Andrey Davydov in Конференция C++ Russia
magras
Компактностью представления. Если брать 80 битный флоат у него мантиса 64 бита, то есть достаточно всего 6 дополнительных бит. Так как выравнивание скорее всего все равно будет 128 битным, эти 6 бит можно спокойно разместить в паддинге.
Если рассчитываем на 128 бит, то проще взять interval из 2-х double-ов :)
источник
2021 January 07

m

magras in Конференция C++ Russia
Andrey Davydov
Если рассчитываем на 128 бит, то проще взять interval из 2-х double-ов :)
А как интервальная арифметика обработает underflow? На первый взгляд a - a всегда будет равно интервалу 0-0 (за исключением nan). То есть large + small - large схлопнет интервал до нуля.
источник

m

magras in Конференция C++ Russia
magras
А как интервальная арифметика обработает underflow? На первый взгляд a - a всегда будет равно интервалу 0-0 (за исключением nan). То есть large + small - large схлопнет интервал до нуля.
Я не прав на счет assert(a - a, {0,0}):

> It is straightforward to define the elementary arithmetic operations on intervals, being guided by the inclusion property. For instance, if [a,b] and [c,d] are intervals, [a,b]+[c,d] can be computed by taking the smallest interval that contains all the numbers x+y for x in [a,b] and y in [c,d]; in this case, rounding a+c down and b+d up will suffice. Other operators and functions are similarly defined (see their definitions below).
источник

PB

Paul Bip in Конференция C++ Russia
источник

NY

Nikita Yegorov in Конференция C++ Russia
/spam
источник

SP

Sergey Platonov in Конференция C++ Russia
Спасибо
источник

AB

Aleksandr Borgardt in Конференция C++ Russia
С++ USER GROUP MOSCOW: Завтрак (Офлайн)
Всех с наступившим новым  2021 годом!  Объявляю 2021 год годом инноваций!

Чтобы год прошёл хорошо, его надо правильно начать!
Год мы начнем с “Завтрака”  в  WECidreria  8  января  c  12:00

На завтраке Александр расскажет как исправлять баги в библиотеке не имея доступа к продакшену.
Затронет безумные и курьезные ситуации при общении с пользователями.
Покажет с ноута как костыли превращаются в решения, выдерживающие нагрузку.
Расскажет про простые практики  ci/cd  и почему и в 20-21 году надо уметь в devops  

clck.ru/SiWc6
источник
2021 January 08

A

Alexey in Конференция C++ Russia
Aleksandr Borgardt
С++ USER GROUP MOSCOW: Завтрак (Офлайн)
Всех с наступившим новым  2021 годом!  Объявляю 2021 год годом инноваций!

Чтобы год прошёл хорошо, его надо правильно начать!
Год мы начнем с “Завтрака”  в  WECidreria  8  января  c  12:00

На завтраке Александр расскажет как исправлять баги в библиотеке не имея доступа к продакшену.
Затронет безумные и курьезные ситуации при общении с пользователями.
Покажет с ноута как костыли превращаются в решения, выдерживающие нагрузку.
Расскажет про простые практики  ci/cd  и почему и в 20-21 году надо уметь в devops  

clck.ru/SiWc6
Яндекс говорит, что заведение открывается тоже в 12.00
источник

AB

Aleksandr Borgardt in Конференция C++ Russia
А в чем проблема?
источник