问题标签 [valarray]
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++ - 使用原始数据构造 valarray
看来我可能正在使用std::valarray<_Tp>
s 进行一些计算工作(假设_Tp
是uint64_t
)。不幸的是,以下成立:
- 我的代码接收原始数组 -
uint64_t*
s 和一个长度值 - - 我无法更改签名/API。不过他们是
__restrict__
编的。 - std::valarray 的构造函数采用 a
_Tp*
和 a 长度复制整个数组。 - 似乎没有设置
std::valarray
内部数据的方法;它甚至是私有的,因此您无法在子类中访问它。
那么如何在不复制我的数据的情况下打破这个难解的结并构造一个 valarray 呢?
c++ - std::valarray 和并行化
可能这是一个愚蠢的问题。
在这个网站上我读到
valarray 规范允许库通过多种效率优化来实现它,例如某些操作的并行化
目前std::valarray
在不同平台和编译器上的并行化是什么?GCC,VS2010/2013,铿锵?
尤其是来自C++11
.
UPD:如果某些 sompilers 不支持此功能。最好的方法是什么:在多个线程中将某些功能应用于容器的元素?显然,天真的解决方案会很短并且可以很好地工作,std::thread
但可能存在更好的解决方案?
c++ - 测试两个 valarray 是否相等的最佳方法?
我认为==
for的默认重载valarray
不是很方便。默认情况下x==y
(对于两个 valarrays x 和 y)返回 a valarray<bool>
,true
在i
第 th 条目上带有 if x[i]==y[i]
。相反,我需要一个bool
,它告诉我两者是否valarray<double>
包含相同的元素。我知道我可以用一个循环来做到这一点,但是每次都必须做这个循环并不方便。这里最好的解决方法是什么?有没有办法让我定义自己的重载==
(以及!=
,,<
等等)?
debugging - 查看 valarray 的内容在 CLion 的调试器中?
是否可以做一些事情来轻松查看valarray<double>
Clion 调试器中 a 的内容?
c++ - 为什么 std::valarray 和 std::vector 交换了名称?
首先,很抱歉问了一个相当主观的问题,但也许我的问题有一个非常简单的答案。
在数学中,当我有一个向量时,我可以对其进行运算,例如v_3 = v_1 + v_2
. 在 c++ 中,我可以对 valarray 做同样的事情。另一方面,如果我只想拥有一个动态大小的可扩展数组,我使用 std::vector。你明白为什么我认为他们的名字被交换了吗?
这个命名决定是否有任何逻辑或历史解释?
c++ - 如何比较 C++ slice_array?为什么不能将其与 valarray 进行比较?
我想知道为什么我不能在比较some_valarray[first_slice] < another_valarray[second_slice]
时进行比较some_valarray < another_valarray
,以及如何在不复制的情况下以简单的方式做到这一点?当然,我可以在普通循环中对它们进行迭代,但是,也许,还有更优雅、更可能优化的方式?
c++ - 我可以从 const valarray 中获取 const slice_array 吗?
我有一个接受对 valarray 的 const 引用的函数,并且我希望能够对数组进行切片并将切片传递给另一个需要 const slice_array 的函数。我知道我可以使用 operator[] 和 slice 从原始 valarray 中获取一个新的、复制的 valarray,但我想避免复制。一切都是常数,所以我觉得应该没问题。但是,valarray 的下标运算符的文档仅在应用于非常量 valarray 时返回 slice_array 对象。这感觉是 valarray 类的一个主要缺陷。我错过了什么吗?如何在不产生副本的情况下获得 const valarray 的一部分?
这是我正在谈论的一个例子:
谢谢!
c++ - valarray上STL算法“count”的返回类型是什么
我Visual Studio 2010 Pro
在Windows 7 64bit
机器上使用,我想count
(从<algorithm>
标题)在valarray
:
上面程序的输出是正确的:
但是,我想将值分配给变量并使用int
导致编译器警告精度损失的结果。由于valarray
没有迭代器,我无法弄清楚如何使用iterartor::difference_type
.
这有可能吗?
slice - 返回对 slice_array 的引用
我目前正在尝试围绕 valarray 对象实现一个类,但在尝试运行时出现异常:
这两个任务不是一回事吗?