170 похожих чатов

Подскажите как можно легально проитерироваться по вектору от энного элемента

до него же с другой стороны на 17++?

template <class T>
auto vdotshift(std::vector<T> const &a, std::vector<T> const &b, int s = 0) {
return std::accumulate(
Dter(a.cbegin(), b.cbegin() + s), Dter(a.cend() - s, b.cend()), T{},
[](auto a, auto const &b) { return std::move(a) + b.first * b.second; });
}
хочу, чтобы не нужно было писать - s в a.cend() - s и чтобы парный итератор Dter при любом s проходился по всем элементам вектора a и такому же количеству из b, возвращаясь в начало при достижении b.cend() но не хочу менять Dter

21 ответов

32 просмотра

а точно нужно accumulate? https://en.cppreference.com/w/cpp/algorithm/inner_product не пойдет?

.- Автор вопроса
Сергей
а точно нужно accumulate? https://en.cppreference....

да, выглядит как то что нужно, но проблему итерации "с середины" это не решает) return std::inner_product(a.cbegin(), a.cend() - s, b.cbegin() + s, T{});

.
да, выглядит как то что нужно, но проблему итераци...

проитерироваться по вектору от энного элемента до него же с другой стороны это непонятно что такое ...

Так получи два итератора, начала и конца, и циклом

Итераторы можно через advance получить

.- Автор вопроса
Сергей
проитерироваться по вектору от энного элемента до ...

чтобы при доступе получилось как то так b.at((i + s) % b.size())

.- Автор вопроса
Сергей
проитерироваться по вектору от энного элемента до ...

как оказалось, мне нужен адаптер вектора в виде кольцевого буффера))

.- Автор вопроса
Boris Usievich
проблема то где?

нужно множество раз проитерироваться алгоритмом по паре векторов, каждый раз сдвигая все элементы одного из них на 1 вправо, без копирования и изменения векторов, все еще не понимаю как это можно сделать без написания враппера

.
нужно множество раз проитерироваться алгоритмом по...

например использовать индексы и operator%

.- Автор вопроса
Boris Usievich
например использовать индексы и operator%

то есть стд алгоритмы отпадают? тот же std::inner_product

.
то есть стд алгоритмы отпадают? тот же std::inner_...

Вы бы задачу уточнили. Похоже что-то на задачу (считалку) Иосифа. Так там лучше std::list и обычные циклы.

.- Автор вопроса
Сергей
Вы бы задачу уточнили. Похоже что-то на задачу (сч...

задача найти множество нормализованных кросс-корреляций двух аудиозаписей для смещений в количестве семплов, сейчас у меня создается вектор и в него копируется одна из дорожек со смещением каждый раз...

.
задача найти множество нормализованных кросс-корре...

ну можно же прокручивать вектор наверное используя std::rotate

.- Автор вопроса
Сергей
ну можно же прокручивать вектор наверное используя...

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

Ну так стандартно, через фурье делается такое. Если память не изменяет, на вики написано, как делать. Но если нужно, чтобы считало, как можно дольше, то тут ограничений в фантазиях нет.

.- Автор вопроса
Viktor Chyzhdzenka
Ну так стандартно, через фурье делается такое. Есл...

странно, но на вики написано что DFT и обратно в случае круговой кросс-корреляции сводятся как раз к тому что я делаю (кольцевые итераторы и std::inner_product). О каком "как можно дольше" тогда речь?

.
странно, но на вики написано что DFT и обратно в с...

FFT это O(n log(n)) то что вы делаете - O(n^2)

.- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта