@ProCxx

Страница 2388 из 2477
Ruslan
28.09.2018
21:21:44
и первый и второй

но по асмовыхлопу будет видно

там по инструкциям сразу понятно отключилось или нет

Евгений
28.09.2018
21:22:23
но по асмовыхлопу будет видно
завтра сделаю, споки

Google
Ruslan
28.09.2018
21:22:26
бб

Alexander
28.09.2018
21:28:37
И нет смысла от mtune и march одновременно

Ioann V
28.09.2018
23:08:05
потому результаты странные и дело не в инлайне
я также уже писал. Дело явно не в оном!

Roman
29.09.2018
00:11:50
Смотрю в C++20 можно будет генерить дефолтный operator<=> , а что насчёт operator==, можно его генерить автоматом?

т.е. если например порядок для типа определить нельзя, но поэлементное сравнение на равенство имеет смысл?

Ruslan
29.09.2018
00:14:48
Очень странное желание

Roman
29.09.2018
00:15:00
Ну мне постоянно такое хочется

Т.е. у меня в предметной области много типов для которых порядок определить нельзя

Ruslan
29.09.2018
00:16:16
Два инстанса одного и того же класса в общем случае не идентичны, и, кроме того, operator== полезен для другого

Alex
29.09.2018
00:16:22
Ну мне постоянно такое хочется
Прошу прощения, а что это за оператор?

Alex
29.09.2018
00:16:41
operator<=> ,

Google
Alex
29.09.2018
00:16:44
Я про вот этот

Roman
29.09.2018
00:16:55
Alex
29.09.2018
00:17:17
Что этот оператор делает

Уже загуглил

Roman
29.09.2018
00:18:24
А , можно

Defaulted two-way comparisons Any of the six two-way relational operators can be explicitly defaulted. A defaulted relational operator must have the return type bool.

Хотя примеров на без <=> не вижу. Так что нужно разбираться в деталях

На данный момент ни один из компиляторов не поддерживает <=> ;(

Аттрибутивно-ассоциативный ряд
29.09.2018
00:30:42
Есть один шаблонный класс с шаблонным шаблонным параметром. Как сделать частичную специализацию для такого класса? https://wandbox.org/permlink/NKupPGR85PBtuR0b

Vladislav
29.09.2018
00:33:05
а вторая часть (с wrapper<my_future>) - не очень понятно, что ты хотел сделать

Аттрибутивно-ассоциативный ряд
29.09.2018
00:34:12
блин, я понял как оно работает!

спасибо. дальше я сам разберусь

https://wandbox.org/permlink/ghuiXEqcJUVbnBIm

обалдеть чо можно делать

PRoSToC0der
29.09.2018
01:36:33
А , можно
вроде ещё можно вместо auto указать std::strong_equality, правда надо выбирать между strong и weak...

т.е. если например порядок для типа определить нельзя, но поэлементное сравнение на равенство имеет смысл?
если его в принципе нельзя никак определить, то компилятор в таком случае сгенерит operator<=> с std::*_equality, насколько я понял из описания

Ilia
29.09.2018
03:33:20
Что этот оператор делает
Вместо std:: Compare Вместо less

Google
Columbus
29.09.2018
04:34:08
Что этот оператор делает
There’s a new three-way comparison operator, <=>. The expression a <=> b returns an object that compares <0 if a < b, compares >0 if a > b, and compares ==0 if a and b are equal/equivalent.

Что этот оператор делает
И еще The three-way comparison operator expressions have the form lhs <=> rhs (1) The expression returns an object that compares <0 if lhs < rhscompares >0 if lhs > rhsand compares ==0 if lhsand rhs are equal/equivalent.

Roman
29.09.2018
05:25:39
подаётся на вход исходный код C++ или что?
Ну да, C++ из множества корутинок

Ilia
29.09.2018
06:09:29
Ну да, C++ из множества корутинок
Verilog это же язык описания логических схем, так? Как туда программу на С++ можно записать то?

Max
29.09.2018
06:10:40
Очень странное желание
Почему странное? Любая хэш-таблица этого требует

Сравнение на равенство необходимо, но порядок необязателен.

Насибуллин
29.09.2018
06:55:05
По поводу генератора верилога из с++ кода. У меня не большой опыт в фпга, но все же мне кажется для отрасли стандартнее делать DSL на ЯВУ (напр хаскель) , которым целевой верилог описывается, а не обращаться к дереву/рефлексии пользовательской программы

Ruslan
29.09.2018
07:38:40
Почему странное? Любая хэш-таблица этого требует
Странно хотеть в том виде, что было описано

Евгений
29.09.2018
10:21:45
Можешь 4 варианта
Сделал два https://gist.github.com/ivanstepanovftw/051795fa9609d06676041044156c4ebf

В любом случае, руками инлайнить - быстрее

// for(i = 0; i < max_bytes; i++) { // val.bytes[i] = data[index + i].byte; // } if (max_bytes > 0) { val.bytes[0] = data[index + 0].byte; ... if (max_bytes > 7) { val.bytes[7] = data[index + 7].byte; }}}}}}}} Какой-то лисп получился :)))))))))))))
Если по-человечески всё оставить (без анролла цикла), но заинлайнить функцию вручную, то всё одинаково

Почему gcc не может нормально заинлайнить - не понятно

Anatoly
29.09.2018
11:13:35
В @supapro проскочил вопрос, а можно ли сделать dump их hex последовательности без лишних манипуляций в рантайме. То есть, пишем 0x123456789abc, а на выходе получаем std::array<unsigned char, 6> Можно ли заставить этот https://wandbox.org/permlink/LGyZUtVYHTyTCMfi компилироваться в MSVC или оставить надежду?

Побитый
29.09.2018
12:19:55
Кто нибудь юзал SAL от Microsoft? Эта штука вообще используется где-нибудь?

Constantine
29.09.2018
13:02:43
Поясни мысль.
Написано как-то безумно многобуквенно и сложно

Roman
29.09.2018
13:02:45
В общем с клангом это достаточно просто. Мы сразу из clang ast генерим verilog.

Constantine
29.09.2018
13:07:56
Поясни мысль.
вот что мешает написать constexpr int hex2dec(char c) { return ('0' <= c && c <= '9') ? (c - '0') : (c - 'a'); }

Google
Egor
29.09.2018
13:13:05
как можно в рантайме заполнить вариадик std::tuple<ArgTypes...> t; из std::vector<std::string>?

Constantine
29.09.2018
13:16:02
как можно в рантайме заполнить вариадик std::tuple<ArgTypes...> t; из std::vector<std::string>?
не понял вопроса - вы хотите массив непонятного размера в рантайме записать в статического размера кортеж?

Egor
29.09.2018
13:16:12
они совпадают

Constantine
29.09.2018
13:16:42
ну тогда разворачивайтесь через index_sequence

Egor
29.09.2018
13:17:02
в этом и вопрос

Constantine
29.09.2018
13:18:43
https://en.cppreference.com/w/cpp/utility/apply

вот здесь вам пример

правда, в обратную сторону

Egor
29.09.2018
13:20:35
https://wandbox.org/permlink/3ojA5UzIJjwFQQLl

пример нагуглился из потока, но у меня вектор строк, которому надо где-то отдать текущий индекс

Constantine
29.09.2018
13:24:21
хм... вы пишете apply, но не посмотрели пример с apply? :)

Egor
29.09.2018
13:25:00
посмотрел, но не понял, что там мне пригодится

Constantine
29.09.2018
13:25:52
template <class F, class Tuple, std::size_t... I> constexpr decltype(auto) apply_impl(F&& f, Tuple&& t, std::index_sequence<I...>)

заменяем Tuple на std::vector<string>

Egor
29.09.2018
13:26:34
сумеет он так распаковать?

Constantine
29.09.2018
13:27:00
распаковать что? вы ему явно передаете v[I]...

вы же буквально хотите написать f(v[0], v[1], ...)

Egor
29.09.2018
13:28:36
нет вроде

строки надо сначала преобразовать

а вызов с туплом апплай сделает

Google
Constantine
29.09.2018
13:30:14
не очень понимаю про преобразовать, но можете вернуть std::make_tuple(v[0], v[1], ...)

Egor
29.09.2018
13:31:03
std::tuple<int, int64, string> t; std::vector<string> s; надо t заполнить из s

Constantine
29.09.2018
13:31:26
хм... а у вас есть функция anything_from_string?

Egor
29.09.2018
13:31:38
считаем, что да

Constantine
29.09.2018
13:31:57
ну тогда

anything_from_tuple<Tu, I...>(vector<string> const& v) std::make_tuple(anything_from_string<std::tuple_element<I>(Tu)>(v[I ])...)

перечисление всегда по индексам, но ничто не мешает вам типы по индекса результирующего тупла получать

Аттрибутивно-ассоциативный ряд
29.09.2018
14:06:35
Привет. Есть шаблонный класс с одним членом. Если класс инстанцируется с lvalue типом, то этот член должен быть ссылкой, если rvalue, то аргумент конструктора должен быть перемещен в этот член. https://wandbox.org/permlink/DyH4CRCVhJNeaJs5 Как объявить такой член и какой должен быть конструктор?

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