有效地对 std::vector 中的所有项目执行 floor 功能
do efficiently floor function on all item's in std::vector
我想将 std::vector 中的所有项目放在地板上并使用以下代码:
for(const float &number : numbers)
number = floor(number);
但是我需要为此使用并行算法 operation.is 标准 c++ 中是否有任何并行算法可以有效地对所有项目执行诸如 floor 函数之类的操作?
如果您可以使用 C++17,则可以使用 std::for_each
中的 ExecutionPolicy
参数来并行化您的循环
#include <algorithm>
#include <cmath>
#include <execution>
std::for_each(std::execution::par_unseq,
numbers.begin(),
numbers.end(),
[](double& number){ number = std::floor(number); });
我想将 std::vector 中的所有项目放在地板上并使用以下代码:
for(const float &number : numbers)
number = floor(number);
但是我需要为此使用并行算法 operation.is 标准 c++ 中是否有任何并行算法可以有效地对所有项目执行诸如 floor 函数之类的操作?
如果您可以使用 C++17,则可以使用 std::for_each
中的 ExecutionPolicy
参数来并行化您的循环
#include <algorithm>
#include <cmath>
#include <execution>
std::for_each(std::execution::par_unseq,
numbers.begin(),
numbers.end(),
[](double& number){ number = std::floor(number); });