More examples
This commit is contained in:
parent
586c163c6f
commit
1882f805d4
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
21
src/lib.rs
21
src/lib.rs
|
@ -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)]
|
||||
|
||||
|
|
Loading…
Reference in New Issue