@ProCxx

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

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

Вообще, вопрос сводится к тому, можно ли считать uint8_t псевдонимом unsigned char

Google
Andrew
21.05.2018
07:26:59
Вообще, вопрос сводится к тому, можно ли считать uint8_t псевдонимом unsigned char
Если ты подключишь cstdint, то да Но при выводе не забудь явно указывать что хочешь получить - число или символ

Роман
21.05.2018
07:27:59
Если ты подключишь cstdint, то да Но при выводе не забудь явно указывать что хочешь получить - число или символ
я вообще не хочу из него ничего получать, я хочу делать вот так new (mem) Type(), но заранее не знаю Type. В проекте для таких блоков везде uint8_t, вот я и задумался

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

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-ом

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

Дед Пегас
21.05.2018
07:36:08
все точные optional
В топ и суть. cppreference нужно править.

том*

Evgeniy
21.05.2018
07:36:31
В топ и суть. cppreference нужно править.
на все строку таблицы же

Дед Пегас
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
Где?
так fast не optional

только точные

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.

Дед Пегас
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
К вопросу о пакетных менеджерах. В какой пакетный менеджер завезли libcurl и openssl для андроида под armabi-v7 и x86?
Про пакетные манагеры не знаю, но в дроиде всю жизнь использовал собранные руками curl и бекенд в виде mbedtls. Полновесный curl тяжеловат будет.

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

Andrey
21.05.2018
08:04:07
Про пакетные манагеры не знаю, но в дроиде всю жизнь использовал собранные руками curl и бекенд в виде mbedtls. Полновесный curl тяжеловат будет.
Собрать libcurl проблемы нет вообще. Собрать openssl куда сложнее, особенно с учетом разных архитектур.

Роман
21.05.2018
08:04:35
Andrey
21.05.2018
08:05:50
Роман
21.05.2018
08:06:13
Только для поддержки https.
Тогда mbedtls вам более чем хватит

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
а чем собственно putInt(rnd > RAND_MAX ? &rnd : A().get()); должно отличаться от putInt(A().get());
Да ничем, просто мозг заклинило, мне тут коллега рассказывал ужастики про тренарки.

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

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

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

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

Admin
ERROR: S client not available

ed
21.05.2018
08:49:20
Это может помочь: http://algolist.manual.ru/maths/geom/polygon/decompose_seidel.php
Вот где-то что-то уже видел про монотонные многоугольники, правда термин пока не ясен. В общем спасибо, буду углубляться в геометрию.

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
Ну у меня верояятнее всего будет даже фиксированная запятая, так что по крайней мере ошибки нанов иинфинитей мне не грозят..
Я не знаток в вычгеоме, но есть ощущение, что и с фиксированной запятой можно получить проблемные многоугольники, достаточно лишь работать в большом масштабе

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

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

Никита
21.05.2018
09:37:25
https://doc.cgal.org/Manual/3.2/doc_html/cgal_manual/Partition_2/Chapter_main.html
Точно, в том же cgal кажется есть (точно не помню) реализация и на основе алгоритма Зейделя. Но они там во многих своих алгоритмах используют предвычисленную константу для оценки точности работы с плавающей запятой. Это конечно лучше, чем работа без такой константы, но в идеале следует работать с типом бесконечной точности

Google
Никита
21.05.2018
09:47:23
Не понимаю утверждение про константу совсем. Базис CGAL как раз в корректной работе с точностью и их ядрах, которые помогают писать корректные предикаты не особо жертвуя скоростью.
Я с cgal толком не работал и знаю только совсем поверхностно эту тему. Насколько я понимаю, для каждого конкретного предиката можно вычислить его точность. И, возможно, для основных предикатов типа задачи локализации точки относительно прямой точность уже предвычислена и захардкожена в константах. Как просчитывается точность алгоритма, построенного на предикатах - не знаю. Мне просто донесли мысль, что лучше сразу двигаться в направлении типов с бесконечной точностью

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

Igor
21.05.2018
09:52:44
Я с cgal толком не работал и знаю только совсем поверхностно эту тему. Насколько я понимаю, для каждого конкретного предиката можно вычислить его точность. И, возможно, для основных предикатов типа задачи локализации точки относительно прямой точность уже предвычислена и захардкожена в константах. Как просчитывается точность алгоритма, построенного на предикатах - не знаю. Мне просто донесли мысль, что лучше сразу двигаться в направлении типов с бесконечной точностью
В CGAL в принципе можно использовать любую модель. Если везде использовать бесконечную точность то будет медленно. На практике обычно применяют вещественные числа, но когда вычисляется предикат и ядро понимает что вещественной точности не хватает (например получается маленькое число которое надо сравнить с нулем), то ядро пересчитывает предикат с точной арифметикой.

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

Antony
21.05.2018
10:37:37
Никита
21.05.2018
10:41:04
Никита
21.05.2018
10:53:42
Ну мне сейчас на ум приходят только задачки из 5-6 класса по вхождению отрезков друг в друга :D
Начни писать код, увидишь к чему всё идёт, а потом загугли, как этот код сократить с целью минимизации вычислений. Вероятнее всего ты придешь к косому произведению

Alex Фэils?︙
21.05.2018
11:13:50
Ну нет, обычно они эти моменты нормально пишут. Это только у нас тут случай какой-то вопиющий с GLUT.
давно было это все, хватало и тупого display(), использовавшего статические функции. Можно еще было внутри него свой роутер по ID'у окна сделать, в качестве варианта: std::map<int, YourFunctorType> handlers; void display() { handlers[glutGetWindow()].second(); } вот как-то так примерно

isnullxbh
21.05.2018
11:17:58
да, бери glfw
Взял gtkmm)

Страница 2071 из 2477