diff options
author | Joel Galenson <jgalenson@google.com> | 2021-05-19 16:31:56 -0700 |
---|---|---|
committer | Joel Galenson <jgalenson@google.com> | 2021-05-19 16:31:56 -0700 |
commit | dd2305def6fff1d9f1149ecb73b02e37eb8a18b0 (patch) | |
tree | a915bf2398b238dbd70ae338a6bb643a7372de84 /src/slice | |
parent | 698313e1f73ce48237108f63ba85b3000f9d0ff1 (diff) | |
download | rayon-dd2305def6fff1d9f1149ecb73b02e37eb8a18b0.tar.gz |
Upgrade rust/crates/rayon to 1.5.1
Test: make
Change-Id: I40c1a4538832871d1f4cd09daf6904d094b5615e
Diffstat (limited to 'src/slice')
-rw-r--r-- | src/slice/mergesort.rs | 10 | ||||
-rw-r--r-- | src/slice/mod.rs | 18 | ||||
-rw-r--r-- | src/slice/quicksort.rs | 4 | ||||
-rw-r--r-- | src/slice/test.rs | 4 |
4 files changed, 9 insertions, 27 deletions
diff --git a/src/slice/mergesort.rs b/src/slice/mergesort.rs index a007cae..e9a5d43 100644 --- a/src/slice/mergesort.rs +++ b/src/slice/mergesort.rs @@ -284,7 +284,7 @@ fn collapse(runs: &[Run]) -> Option<usize> { /// Otherwise, it sorts the slice into non-descending order. /// /// This merge sort borrows some (but not all) ideas from TimSort, which is described in detail -/// [here](http://svn.python.org/projects/python/trunk/Objects/listsort.txt). +/// [here](https://svn.python.org/projects/python/trunk/Objects/listsort.txt). /// /// The algorithm identifies strictly descending and non-descending subsequences, which are called /// natural runs. There is a stack of pending runs yet to be merged. Each newly found run is pushed @@ -739,12 +739,12 @@ mod tests { check(&[1, 2, 2, 2, 2, 3], &[]); check(&[], &[1, 2, 2, 2, 2, 3]); - let mut rng = thread_rng(); + let ref mut rng = thread_rng(); for _ in 0..100 { - let limit: u32 = rng.gen_range(1, 21); - let left_len: usize = rng.gen_range(0, 20); - let right_len: usize = rng.gen_range(0, 20); + let limit: u32 = rng.gen_range(1..21); + let left_len: usize = rng.gen_range(0..20); + let right_len: usize = rng.gen_range(0..20); let mut left = rng .sample_iter(&Uniform::new(0, limit)) diff --git a/src/slice/mod.rs b/src/slice/mod.rs index b80125f..d47b0d3 100644 --- a/src/slice/mod.rs +++ b/src/slice/mod.rs @@ -470,15 +470,6 @@ impl<'data, T: Sync + 'data> IntoParallelIterator for &'data [T] { } } -impl<'data, T: Sync + 'data> IntoParallelIterator for &'data Vec<T> { - type Item = &'data T; - type Iter = Iter<'data, T>; - - fn into_par_iter(self) -> Self::Iter { - Iter { slice: self } - } -} - impl<'data, T: Send + 'data> IntoParallelIterator for &'data mut [T] { type Item = &'data mut T; type Iter = IterMut<'data, T>; @@ -488,15 +479,6 @@ impl<'data, T: Send + 'data> IntoParallelIterator for &'data mut [T] { } } -impl<'data, T: Send + 'data> IntoParallelIterator for &'data mut Vec<T> { - type Item = &'data mut T; - type Iter = IterMut<'data, T>; - - fn into_par_iter(self) -> Self::Iter { - IterMut { slice: self } - } -} - /// Parallel iterator over immutable items in a slice #[derive(Debug)] pub struct Iter<'data, T: Sync> { diff --git a/src/slice/quicksort.rs b/src/slice/quicksort.rs index b985073..17c6f33 100644 --- a/src/slice/quicksort.rs +++ b/src/slice/quicksort.rs @@ -229,7 +229,7 @@ where /// Partitioning is performed block-by-block in order to minimize the cost of branching operations. /// This idea is presented in the [BlockQuicksort][pdf] paper. /// -/// [pdf]: http://drops.dagstuhl.de/opus/volltexte/2016/6389/pdf/LIPIcs-ESA-2016-38.pdf +/// [pdf]: https://drops.dagstuhl.de/opus/volltexte/2016/6389/pdf/LIPIcs-ESA-2016-38.pdf fn partition_in_blocks<T, F>(v: &mut [T], pivot: &T, is_less: &F) -> usize where F: Fn(&T, &T) -> bool, @@ -766,7 +766,7 @@ mod tests { #[test] fn test_heapsort() { - let rng = thread_rng(); + let ref mut rng = thread_rng(); for len in (0..25).chain(500..501) { for &modulus in &[5, 10, 100] { diff --git a/src/slice/test.rs b/src/slice/test.rs index 97de7d8..71743e2 100644 --- a/src/slice/test.rs +++ b/src/slice/test.rs @@ -10,7 +10,7 @@ macro_rules! sort { ($f:ident, $name:ident) => { #[test] fn $name() { - let mut rng = thread_rng(); + let ref mut rng = thread_rng(); for len in (0..25).chain(500..501) { for &modulus in &[5, 10, 100] { @@ -105,7 +105,7 @@ fn test_par_sort_stability() { let mut rng = thread_rng(); let mut v: Vec<_> = (0..len) .map(|_| { - let n: usize = rng.gen_range(0, 10); + let n: usize = rng.gen_range(0..10); counts[n] += 1; (n, counts[n]) }) |