是否有标准::累计最小值的实现
Is there an std:: implementation of the cummulative min
所以假设
float bar [5] = { 5.7106, 3.1768, 5.7458, 4.5859, 2.2718 };
我正在寻找一个功能,例如:
cummin(bar,bar+bar.size());
这将返回条形图的条目,例如,该条形包含:
5.7106, 3.1768, 3.1768, 3.1768, 2.2718
我的问题是是否可以实现累积最小值比朴素方法更有效(它用于我正在处理的代码中的瓶颈函数 上,我认为它不能被矢量化)。
没有这样的函数。但是,这是前缀 sum 的应用,在 C++ 中称为 std::partial_sum
。
你可以这样称呼它:
std::partial_sum(begin(bar), end(bar), begin(bar),
[](float a, float b) { return std::min(a, b); });
如果这仍然是一个瓶颈,那么一个有趣的观察结果是前缀总和可以有效地并行化。这可不是小事。幸运的是,并行算法库(如线程构建块)已经包含它的实现。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 使用递归的数组的最小值.这是怎么回事
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 在二维数组中查找最小值和最大值?
- 有没有办法使用递归函数找到数组中最小值的 INDEX?C++
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- C++ 函数,用于查找传入的 N 个数字的平均值、总和、最小值和最大值
- txt 文件中浮点数的最大和最小值
- 余数运算符的等效操作,用于处理低于允许的最小值
- 需要使用模板查找数组的第二个最小和最小值
- C++不同的最小最大值实现
- CUDA - 将 float3 数组的 (x,y,z) 分量的最小值/最大值分开?
- 查找包含 N 个元素的数组的最小值和最大值
- 井字游戏的这个最小最大值实现有什么问题?
- 最小最大值实现不适用于递归和C++
- 返回最小值的 min() 的简洁实现
- 使用模板和unique_ptr实现的二叉搜索树中返回具有最小值的节点
- 我如何实现一个通用的最小值
- 是否有标准::累计最小值的实现