
Al
21.05.2018
07:13:39
Как в каменный век откатился и привычных инструментов не хватает. :)

Роман
21.05.2018
07:20:24
Товарищи, вот мне нужно выделить область памяти под placement new неизвестного типа. Чтобы не ломать strict aliasing можно использовать uin8_t * или нужен обязательно char * для блока памяти?
Вообще, вопрос сводится к тому, можно ли считать uint8_t псевдонимом unsigned char

Aidar
21.05.2018
07:25:53

Google

Andrew
21.05.2018
07:26:59

Роман
21.05.2018
07:27:59

Evgeniy
21.05.2018
07:28:00

Роман
21.05.2018
07:29:10
В правиле про алиасинг только char и unsigned char допустимы для такого

Andrew
21.05.2018
07:29:51

Evgeniy
21.05.2018
07:30:40

Andrew
21.05.2018
07:31:38
Oh well

Дед Пегас
21.05.2018
07:31:41
Тупо зделоли

Andrew
21.05.2018
07:31:49
+

Дед Пегас
21.05.2018
07:32:12
Т.е. int16 и int64 не опциональный, а 32 опциональный.
АФИГЕННА

Google

Andrew
21.05.2018
07:32:46
Пахнет genius-ом

Nik
21.05.2018
07:34:25

Evgeniy
21.05.2018
07:35:01
все точные optional

Дед Пегас
21.05.2018
07:36:08
том*

Evgeniy
21.05.2018
07:36:31

Дед Пегас
21.05.2018
07:37:04
Где?

Evgeniy
21.05.2018
07:37:09
Oh well
это отвечает ведь байт может быть больше 8 бит

Дед Пегас
21.05.2018
07:37:13

Evgeniy
21.05.2018
07:37:34
только точные


Igor
21.05.2018
07:37:41
Я думаю там что-то хитрое в контексте текста книги
текст там таков:
The work_queue class could be significantly improved by adding support for rvalue references and calling std::move(tasks_.front()). This will make the code in the critical section much faster, resulting in less threads, suspends, and wakeups, less cache misses and a much better performance.
Any operation acquires a unique lock on the mutex_ variable, so even getting resources results in waiting on a locked mutex. As some of the resources are hard to copy, the critical sections consume a lot of time, slowing down any operation on the class.
Такой вопрос: Полухин в книжке по бусту пишет, что де код в критических секциях может в разы ускоряться, если все используемое внутри секции будет поддерживать перемещение, а не только копирование. Это как так? Я всегда искренне считал, что все подкапотные сохранения состояния происходят на уровне операционки, которая знай себе байты перекладывает, не заморачиваясь что байты лежат в программе на с++11+, которая умеет в перемещения вместо копирований. Я был, глубоко неправ, или неправильно понял автора?
@antoshkka , пролей свет в этот тред!


Aidar
21.05.2018
07:38:37

Дед Пегас
21.05.2018
07:39:19

Aidar
21.05.2018
07:40:37
а нет стоп
тут просто про содержимое
типа содержимое быстрее
>resulting in less threads, suspends, and wakeups, less cache misses and a much better performance.
просто меньше случаев когда захватить сразу ее не удается

Google

Aidar
21.05.2018
07:44:33
>the critical sections consume a lot of time, slowing down any operation on the class
тут имеется ввиду код внутри при захваченом мьютексе

Andrey
21.05.2018
07:58:28
К вопросу о пакетных менеджерах. В какой пакетный менеджер завезли libcurl и openssl для андроида под armabi-v7 и x86?

Роман
21.05.2018
08:01:49
Товарищи, исходя из какого правила компилятор удлинняет время жизни A до конца функции вот здесь; http://www.cpp.sh/8gs2j

Andrey
21.05.2018
08:04:07

Роман
21.05.2018
08:04:35

Andrey
21.05.2018
08:05:50

Роман
21.05.2018
08:06:13

Andrey
21.05.2018
08:06:37

Роман
21.05.2018
08:07:22
Если таки захотите руками собрать, я делаю примерно так;
https://github.com/SBKarr/stappler-deps/blob/master/android/curl-android.sh
https://github.com/SBKarr/stappler-deps/blob/master/android/mbedtls-android.sh

Aidar
21.05.2018
08:07:26

Роман
21.05.2018
08:08:00

Aidar
21.05.2018
08:08:13
тоесть у тебя там точка следования это до ;
а чем собственно putInt(rnd > RAND_MAX ? &rnd : A().get()); должно отличаться от putInt(A().get());

Роман
21.05.2018
08:10:13

ed
21.05.2018
08:23:54
Не подскажет ли кто быстрый и универсальный алгоритм разбиения произвольного многоугольника (в том числе дырявого) на простые выпуклые?

Роман
21.05.2018
08:25:50

ed
21.05.2018
08:27:21

Роман
21.05.2018
08:27:51
Совсем совсем
Тогда простого решения нет. Предлагаю взять libtess (или libtess2).

ed
21.05.2018
08:28:57

Google

Роман
21.05.2018
08:29:49
А ещё же где-то был чат по графике, там лучше должны знать.

Никита
21.05.2018
08:35:49
Это может помочь: http://algolist.manual.ru/maths/geom/polygon/decompose_seidel.php

Aidar
21.05.2018
08:40:34

Admin
ERROR: S client not available

Andrey
21.05.2018
08:44:11

ed
21.05.2018
08:49:20

Anatoly
21.05.2018
08:51:20
http://shtonda.blogspot.ru/2017/09/cpp-templates-complete-guide-2nd.html

ed
21.05.2018
08:53:25
триангуляция
Оно очевидно что триангуляция.
Но меня интересуют практические и уже изобретённые алгоритмы, чтобы не сидеть и не выдумывать велосипед.
Гуглится как не странно не так тривиально как "триангуляция".

Никита
21.05.2018
08:53:43
Собсно, приложенный пример кода в статье можно использовать только как пример, он очень активно любит крашиться на реальных данных

ed
21.05.2018
09:00:06

Никита
21.05.2018
09:19:06

ed
21.05.2018
09:22:38

Igor
21.05.2018
09:34:23

Никита
21.05.2018
09:34:27
Единственное, мне не совсем понятно, как масштаб влияет на проблемность?
Представь три точки A, B, C, где точка C находится на минимально допустимом (согласно твоей точности) расстоянии от прямой AB, но при этом эта точка C находится достаточно далеко от точек A и B. В таком масштабе ABC может восприниматься как прямая, что на самом деле не является правдой. И вытекающие проблемы могут появиться при вычислениях в районе точки B. Если ABC - часть многоугольника, то задача локализации точки внутри/вне многоугольника рядом с точкой B может фейлиться.

ed
21.05.2018
09:36:10

Max
21.05.2018
09:36:16
Нормально ли делать значение по умолчанию в методе интерфейса?
class Interface {
public:
virtual void print(int value = 100500) = 0;
};

Никита
21.05.2018
09:37:25

Igor
21.05.2018
09:39:40

Google

Никита
21.05.2018
09:47:23
А, все, вижу их доку, у них как раз типы с произвольной точностью)

Igor
21.05.2018
09:52:44


Роман
21.05.2018
10:09:10
Кстати о графике, никто не видел где-нибудь вычислений точек самопересечения контура, заданного кривыми безье?
По сути, из двух кривых нужно найти, что они пересекаются, и где пересекаются, остальное просто.

ed
21.05.2018
10:32:54


Antony
21.05.2018
10:37:37
Такой вопрос: Полухин в книжке по бусту пишет, что де код в критических секциях может в разы ускоряться, если все используемое внутри секции будет поддерживать перемещение, а не только копирование. Это как так? Я всегда искренне считал, что все подкапотные сохранения состояния происходят на уровне операционки, которая знай себе байты перекладывает, не заморачиваясь что байты лежат в программе на с++11+, которая умеет в перемещения вместо копирований. Я был, глубоко неправ, или неправильно понял автора?
^ всё просто - move конструкторы и assinment работают как правило быстрее чем copy, поэтому если использовать move то мы в критической секции будем меньше времени находиться. И соответственно двум потокам "столкнуться" в одной критической секции будет сложнее
текст там таков:
The work_queue class could be significantly improved by adding support for rvalue references and calling std::move(tasks_.front()). This will make the code in the critical section much faster, resulting in less threads, suspends, and wakeups, less cache misses and a much better performance.
Any operation acquires a unique lock on the mutex_ variable, so even getting resources results in waiting on a locked mutex. As some of the resources are hard to copy, the critical sections consume a lot of time, slowing down any operation on the class.
threads, suspends, and wakeups
редакторы,гады, вставили лишнюю запятую после threads


Никита
21.05.2018
10:41:04

ed
21.05.2018
10:45:42

Никита
21.05.2018
10:53:42

Alex Фэils?︙
21.05.2018
11:13:50

isnullxbh
21.05.2018
11:17:58