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 ответов

29 просмотров

а точно нужно 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)

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

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта