首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将算术操作应用于System.Array中IronPython的最快方法

将算术操作应用于System.Array中IronPython的最快方法
EN

Stack Overflow用户
提问于 2015-01-28 14:23:14
回答 1查看 272关注 0票数 8

我想在System.Array中添加(算术)两个大的IronPython元素,并将结果存储在第一个数组中,如下所示:

代码语言:javascript
复制
    for i in range(0:ArrA.Count) :
      arrA.SetValue(i, arrA.GetValue(i) + arrB.GetValue(i));

然而,这似乎非常缓慢。有了C背景,我想使用指针或迭代器。然而,我不知道该如何快速地应用IronPython成语。我不能使用Python,因为我的对象严格地来自于System.Array类型。类型是3d浮子。

计算这个计算的最快/快速方法是什么?

编辑:

  • 元素数为appr。256^3
  • 3d浮点意味着可以像这样访问数组: array.GetValue(indexX,indexY,indexZ)。我不知道IronPython的System.Array如何组织相应的内存。
  • 背景:我为一个IronPython API编写了一个接口,该接口允许在仿真软件工具中访问数据。我检索3d标量数据并将其积累到IronPython脚本中的时态数组中。累积执行了10,000次,并且应该是快速的,这样模拟就不会花费很长时间。
EN

回答 1

Stack Overflow用户

发布于 2015-02-23 21:06:11

是否可以使用为IronPython开发的numpy库?

https://pytools.codeplex.com/wikipage?title=NumPy%20and%20SciPy%20for%20.Net

它似乎是受支持的,据我所知,您可以在python到C样式的指针功能中获得数组之类的功能。

创建一个数组:

代码语言:javascript
复制
x = np.array([[1, 2, 3], [4, 5, 6]], np.int32)

将所有元素乘以3.0:

代码语言:javascript
复制
x *= 3.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28194610

复制
相关文章

相似问题

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