如何解决如何使用Rayon累积并行求和矢量?
我的意图是创建一个矢量,该矢量由原始矢量的累加和以并行方式形成。例如,vec![1,2,3,4]
变成vec![1,6,10]
。
尽管尝试了几个小时,但我不知道如何使用人造丝来完成此操作。
这是我当前尝试累积变量的地方:
use rayon::prelude::*;
fn parallel(list: &Vec<u64>) -> Vec<u64> {
let mut a: u64 = 0;
let b = list
.par_iter()
.cloned()
.map(|e| {
a += e;
a
})
.collect();
b
}
我要
error[E0594]: cannot assign to `a`,as it is a captured variable in a `Fn` closure
--> src/lib.rs:9:13
|
9 | a += e;
| ^^^^^^ cannot assign
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。