首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用vba中的xtensor?

如何使用vba中的xtensor?
EN

Stack Overflow用户
提问于 2019-02-22 08:16:17
回答 1查看 60关注 0票数 2

只要点击xtensor,我喜欢它,我会尝试使用它从vba (excel)。为了保持这个“测试”的简单,我计划只使用双矩阵,这些矩阵作为LPSAFEARRAY传递给C/C++ dll。

  1. 在dll中,使用接收到的LPSAFEARRAY来构建一个1D适配器,使用数据指针和大小(行x列)。我认为这对映射操作来说已经足够了。
  2. 棘手的部分是万一我需要矩阵,主要关注的是数据是按fortran (列主要)顺序传输的。我没有找到任何2D适配器,所以我猜我必须转换上面的1D适配器: ( a)将其重塑为(列、行) b)转置a)

上述方法是正确的,还是有更简单、更直接的方法?

这种访问数据的方法有速度损失吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-04 00:59:34

您可以通过以下适配功能,将一维数组直接调整为N-D容器,并提供所需的布局:

代码语言:javascript
复制
double* data = get_data_buffer();
auto adapter = xt::adapt<xt::layout_type::column_major>(data, {rows, columns});

有关更多详细信息,请参阅适应文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54822734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档