如何解决对 std::vector 中的所有项目有效地执行地板功能
我想将 std::vector 中的所有项目都放在地板上并使用波纹管代码:
for(const float &number : numbers)
number = floor(number);
但是我需要为这个操作使用并行算法。标准 C++ 中是否有任何并行算法可以有效地对所有项目执行像 floor 函数这样的操作?
解决方法
如果您可以使用 C++17,您可以使用 #Libraries.
library(base)
library(dplyr)
library(tidyselect)
library(stringr)
library(magrittr)
#Toy data.
df <- data.frame(col1 = c("Hello","WHAT_hello","Hello"),col2 = c("WHAT_hello2",col3 = c("Hello",othercol1 = sample(1:10,3),othercol11 = sample(1:10,stringsAsFactors = FALSE)
#Works.
df %>%
filter(str_detect(col1,"^WHAT_") | str_detect(col2,"^WHAT_") | str_detect(col3,"^WHAT_"))
#Output.
# col1 col2 col3 othercol1 othercol11
# 1 Hello WHAT_hello2 Hello 1 2
# 2 WHAT_hello WHAT_hello WHAT_hello 5 4
#Works (incorrectly).
df %>%
filter(
across(.cols = matches("^col"),.fns = ~ any(str_detect(.x,"^WHAT")) )
)
#Output.
# col1 col2 col3 othercol1 othercol11
# 1 Hello WHAT_hello2 Hello 1 2
# 2 WHAT_hello WHAT_hello WHAT_hello 5 4
# 3 Hello Hello Hello 4 7
#Works (incorrectly) also.
df %>%
rowwise() %>%
filter(
across(.cols = matches("^col"),"^WHAT")) )
)
#Output.
# col1 col2 col3 othercol1 othercol11
# <chr> <chr> <chr> <int> <int>
# 1 WHAT_hello WHAT_hello WHAT_hello 5 4
中的 .listCollections()
参数来并行化您的循环
ExecutionPolicy
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。