问题标签 [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.

0 投票
0 回答
258 浏览

c++ - 使用原始数据构造 valarray

看来我可能正在使用std::valarray<_Tp>s 进行一些计算工作(假设_Tpuint64_t)。不幸的是,以下成立:

  • 我的代码接收原始数组 - uint64_t*s 和一个长度值 -
  • 我无法更改签名/API。不过他们是__restrict__编的。
  • std::valarray 的构造函数采用 a_Tp*和 a 长度复制整个数组。
  • 似乎没有设置std::valarray内部数据的方法;它甚至是私有的,因此您无法在子类中访问它。

那么如何在不复制我的数据的情况下打破这个难解的结并构造一个 valarray 呢?

0 投票
1 回答
1191 浏览

c++ - std::valarray 和并行化

可能这是一个愚蠢的问题。

这个网站上我读到

valarray 规范允许库通过多种效率优化来实现它,例如某些操作的并行化

目前std::valarray在不同平台和编译器上的并行化是什么?GCC,VS2010/2013,铿锵?

尤其是来自C++11.

UPD:如果某些 sompilers 不支持此功能。最好的方法是什么:在多个线程中将某些功能应用于容器的元素?显然,天真的解决方案会很短并且可以很好地工作,std::thread但可能存在更好的解决方案?

0 投票
4 回答
893 浏览

c++ - 测试两个 valarray 是否相等的最佳方法?

我认为==for的默认重载valarray不是很方便。默认情况下x==y(对于两个 valarrays x 和 y)返回 a valarray<bool>truei第 th 条目上带有 if x[i]==y[i]。相反,我需要一个bool,它告诉我两者是否valarray<double>包含相同的元素。我知道我可以用一个循环来做到这一点,但是每次都必须做这个循环并不方便。这里最好的解决方法是什么?有没有办法让我定义自己的重载==(以及!=,,<等等)?

0 投票
1 回答
365 浏览

debugging - 查看 valarray 的内容在 CLion 的调试器中?

是否可以做一些事情来轻松查看valarray<double>Clion 调试器中 a 的内容?

0 投票
1 回答
433 浏览

c++ - 为什么 valarray 分配不根据文档调整受让人的大小?

代码:

输出:

对于作业:

我认为构造函数:

应该使用并且根据文档,我相信应该调整 v1 的大小并将 v0 的内容复制到其中,元素一个元素。那么究竟发生了什么?

0 投票
0 回答
90 浏览

c++ - 为什么 std::valarray 和 std::vector 交换了名称?

首先,很抱歉问了一个相当主观的问题,但也许我的问题有一个非常简单的答案。

在数学中,当我有一个向量时,我可以对其进行运算,例如v_3 = v_1 + v_2. 在 c++ 中,我可以对 valarray 做同样的事情。另一方面,如果我只想拥有一个动态大小的可扩展数组,我使用 std::vector。你明白为什么我认为他们的名字被交换了吗?

这个命名决定是否有任何逻辑或历史解释?

0 投票
1 回答
256 浏览

c++ - 如何比较 C++ slice_array?为什么不能将其与 valarray 进行比较?

我想知道为什么我不能在比较some_valarray[first_slice] < another_valarray[second_slice]时进行比较some_valarray < another_valarray,以及如何在不复制的情况下以简单的方式做到这一点?当然,我可以在普通循环中对它们进行迭代,但是,也许,还有更优雅、更可能优化的方式?

0 投票
1 回答
207 浏览

c++ - 我可以从 const valarray 中获取 const slice_array 吗?

我有一个接受对 valarray 的 const 引用的函数,并且我希望能够对数组进行切片并将切片传递给另一个需要 const slice_array 的函数。我知道我可以使用 operator[] 和 slice 从原始 valarray 中获取一个新的、复制的 valarray,但我想避免复制。一切都是常数,所以我觉得应该没问题。但是,valarray 的下标运算符的文档仅在应用于非常量 valarray 时返回 slice_array 对象。这感觉是 valarray 类的一个主要缺陷。我错过了什么吗?如何在不产生副本的情况下获得 const valarray 的一部分?

这是我正在谈论的一个例子:

谢谢!

0 投票
1 回答
238 浏览

c++ - valarray上STL算法“count”的返回类型是什么

Visual Studio 2010 ProWindows 7 64bit机器上使用,我想count(从<algorithm>标题)在valarray

上面程序的输出是正确的:

但是,我想将值分配给变量并使用int导致编译器警告精度损失的结果。由于valarray没有迭代器,我无法弄清楚如何使用iterartor::difference_type.

这有可能吗?

0 投票
1 回答
25 浏览

slice - 返回对 slice_array 的引用

我目前正在尝试围绕 valarray 对象实现一个类,但在尝试运行时出现异常:

这两个任务不是一回事吗?