问题标签 [boost-multi-array]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Boost.MultiArray 的单行初始化程序
我有一个 n 维 Boost.MultiArray 我初始化如下:
所以我有 4 行代码来获取 MultiArray,但我想在一行中完成。是否有任何简单的方法来生成具有 n 维的 MultiArray,每个维度都有size
长度(所以我可以写arr(samevaluearray(n,size))
)或者我错过了 MultiArray 的方便构造函数?
编辑:它应该在不依赖于某个 n 值的情况下工作,即arr({{size,size}}
只适用于n=2
.
由于可能不清楚:boost::multi_array<char,n>(boost::extents[4][4][4])
正确初始化一个 4x4x4 数组,但是每次n
在源代码中更改,每次初始化都必须手动更新,所以它不是一个选项。
c++ - 实例化 boost::multi_array 的 std::vector .. 为 cpp guru 融化大脑?
我想我对实例化对象感到困惑..好吧..不是正确的对象,因为new
语句会产生编译错误。我的背景是 Python 和 Java,我被 C++ 创建非类对象的方式所困。
我正在从 C# 翻译一个算法并用于机器学习,它使用一个多维数组的数组。
C#代码:
我决定将 Boost 库用于多维数组,并且我有:
我得到这个运行时错误:
HMM::learn >> 在
std::bad_alloc' what(): std::bad_alloc之前
c++ - Boost::multi_array 循环
我看过这篇文章,它解决了如何使用该函数遍历不是从零开始的数组boost::multi_array::origin()
,但这只会创建一个循环。
如何遍历 a 的每个维度multi_array
,例如:
当给定一个上下界都未知的数组时?
c++ - 提升 size_type 和 multi_array 索引的有符号/无符号比较
我正在使用 aboost::multi_array
并且当我需要检查给定坐标是否在范围内时,我会这样做:
其中TileArray3D
定义为:
并且TileID
是:
GetWidth/Height/depth 的签名是:
但是TileArray3D::size_type
未签名且TileArray3D::index
已签名。我是否以错误的方式使用这些类型?或者有没有办法解决这个问题?我应该把index
's 转换成size_type
's 吗?还是会出现问题?
提前谢谢,嗯。
c++ - 提升多阵列维度
我有一个 Boost 多数组,其维度是在运行时根据用户的输入设置的。
我现在想通过x,y,z
组件迭代该数组。
如果这是一个 std::vector,我会使用:
或者也许是某种迭代器。
如何获取多数组维度的数值?
如何迭代多数组?
谢谢!
c++ - 如何将 Boost.MultiArray 的 2D 视图作为函数的参数?
我有一个double
s 的 3D 数组。我想编写简单和通用的函数来打印它的 2D 切片。
代码:
使用 GCC,这会产生错误消息:
为什么会出错?
为什么不M
推断是boost::multi_array_ref<double, 3u>
?
我如何编写可以工作的原型?
c++ - 如何从 const boost::multi_array 中获取特定元素
我想知道如何从const boost::multi_array对象中读取元素。事实上,据我所知,我不能使用运算符 [] 因为它也用于分配。
我有一个 3-D 维度数组。那么当 myArray 为 const 时,如何获得元素myArray[i][j][k] 。
提前致谢。
c++ - 在 boost::multi_array 中以字节表示步幅
我有一个被读取为短裤的二维原生 C 数组,我希望将 a 映射boost::multi_array_ref
到它的一部分,但将其表示为浮点数。有没有办法以字节为单位设置步幅(而不是数据大小的倍数)?
c++ - 通过变量从 boost::MultiArray 中选择一个 NxM 子矩阵
我有多个 NxM 矩阵并想通过变量选择其中一个。我最好的猜测是用来boost::MultiArray
创建一个 NxMxP 矩阵,然后通过第三维进行选择。
我使用array_view实现了它:
不幸的是,我想继续我的代码与这个矩阵作为 aboost::matrix
并且不知道如何。我可以做一些类似演员的事情吗?
或者没有multi_array甚至可能吗?我还能以某种方式通过变量选择矩阵吗?