From 1882f805d4ba765961267eecec448518202ba0c5 Mon Sep 17 00:00:00 2001 From: Stjepan Glavina Date: Wed, 27 May 2020 12:26:44 +0200 Subject: [PATCH] More examples --- examples/par_sum.rs | 7 ++----- src/lib.rs | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/examples/par_sum.rs b/examples/par_sum.rs index 99a6821..d662734 100644 --- a/examples/par_sum.rs +++ b/examples/par_sum.rs @@ -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() } } diff --git a/src/lib.rs b/src/lib.rs index 483226c..4b2d478 100644 --- a/src/lib.rs +++ b/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)]