- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在阅读 std::inclusive_scan 时,似乎没有任何例子。
我觉得它与 std::partial_sum 非常相似.
partial_sum:
template< class InputIt, class OutputIt >
OutputIt partial_sum( InputIt first,
InputIt last, OutputIt d_first );
inclusive_scan:
template< class InputIt, class OutputIt >
OutputIt inclusive_scan( InputIt first,
InputIt last, OutputIt d_first );
有人可以详细说明他们的区别吗?我什么时候会选择其中之一?
最佳答案
std::inclusive_scan
的文档说明:
In other words, the summation operations may be performed in arbitrary order. The behavior is nondeterministic if
binary_op
is not associative.
std::partial_sum
的文档毫无保留地声明:
*(d_first+k) = *first + *(first+1) + ... + *(first+k);
因此,std::inclusive_scan
等价于 std::partial_sum
只有当 binary_op
是关联的,即当 (a
opb)
opc = a
op (b
opc)
.
在非关联 binary_op
的情况下,std::partial_sum
将产生确定性结果,而您不知道 std 会发生什么: :inclusive_scan
.
关于c++ - std::partial_sum 和 std::inclusive_scan 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006107/
我可以对 cpu 上的数组使用包容性扫描,但是否可以对 gpu 上的数组执行此操作? (注释是我知道有效但我不需要的方式)。或者,是否有其他简单的方法可以对设备内存中的数组执行包含扫描? 代码: #i
我有@m.s. 给的代码: #include #include #include #include #include struct omit_negative : public thrust
在阅读 std::inclusive_scan 时,似乎没有任何例子。 我觉得它与 std::partial_sum 非常相似. partial_sum: template OutputIt part
我是一名优秀的程序员,十分优秀!