我有一些数据,我想处理它并用它来填充一个已经存在的数组。例如,假设我想将每个值重复 4 次(playground):
use rayon::prelude::*; // 1.3.0
fn main() {
let input = vec![4, 7, 2, 3, 5, 8];
// This already exists.
let mut output = vec![0; input.len() * 4];
output.par_chunks_mut(4).for_each(|slice| {
for x in slice.iter_mut() {
*x = input[?];
}
});
}
这几乎可以工作,但 Rayon 没有将块索引传递给我,所以我不能在input[?]
. 有没有有效的解决方案?