Просто нажмите xtensor, мне это нравится, и я постараюсь использовать его из VBA (Excel).Для простоты этого «тестирования» я планирую использовать только матрицы двойных чисел, которые передаются в C / C ++ dll как LPSAFEARRAY.
Внутри dll используйте полученный LPSAFEARRAY для построения 1D-адаптера, используя указатель данных и размер (строки x столбцы).Я думаю, что этого достаточно для картографических операций.
Хитрая часть в том случае, если мне нужна матрица, основная проблема заключается в том, что данные передаются в порядке фортрана (основной столбец).Я не нашел ни одного 2D-адаптера, поэтому я предполагаю, что мне нужно преобразовать вышеуказанный 1D-адаптер:
a) reshape it, to (columns, rows)
b) transposed view of a)
Является ли приведенный выше корректным или существуют более простые, более простые методы?
Есть ли какой-либо штраф в скорости при таком способе доступа к данным?