Быстрая 1D свертка с собственным C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Быстрая 1D свертка с собственным C ++?

Сообщение Anonymous »

Предположим, у меня есть два массива данных: < /p>
double data[4096] = { .... };
double b[3] = {.25, .5, .25};
< /code>
Я бы хотел быстрая и портативная реализация свертки. Для использования синтаксиса Numpy < /p>
result = numpy.convolve(data, b, "same")
< /code>
Размер ядра невелик, 3 или 5, и мне, возможно, придется конвертироваться с ядром с нулями (придавая масштаб, возможно, для дальнейшей оптимизации). < /p>
double b[5] = {.25, .0, .5, .0, .25};
< /code>
У меня есть ощущение, что C ++ имеет оптимизированный код для этого, но я не могу понять, как его использовать. В качестве альтернативы, есть ли другие библиотеки с портативной реализацией свертки, в идеале оптимизированной для общих платформ?

Подробнее здесь: https://stackoverflow.com/questions/723 ... th-eigen-c

Вернуться в «C++»