More examples

This commit is contained in:
Stjepan Glavina 2020-05-27 12:26:44 +02:00
parent 586c163c6f
commit 1882f805d4
2 changed files with 23 additions and 5 deletions

View File

@ -7,11 +7,8 @@ fn par_sum(v: &[i32]) -> i32 {
v.iter().copied().sum()
} else {
let half = (v.len() + 1) / 2;
Parallel::new()
.each(v.chunks(half), par_sum)
.run()
.into_iter()
.sum()
let sums = Parallel::new().each(v.chunks(half), par_sum).run();
sums.into_iter().sum()
}
}

View File

@ -35,6 +35,27 @@
//! squares.sort();
//! assert_eq!(squares, [100, 400, 900]);
//! ```
//!
//! Compute the sum of numbers in an array:
//!
//! ```
//! use easy_parallel::Parallel;
//!
//! fn par_sum(v: &[i32]) -> i32 {
//! const THRESHOLD: usize = 2;
//!
//! if v.len() <= THRESHOLD {
//! v.iter().copied().sum()
//! } else {
//! let half = (v.len() + 1) / 2;
//! let sums = Parallel::new().each(v.chunks(half), par_sum).run();
//! sums.into_iter().sum()
//! }
//! }
//!
//! let v = [1, 25, -4, 10, 8];
//! assert_eq!(par_sum(&v), 40);
//! ```
#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]