diff options
author | Joel Galenson <jgalenson@google.com> | 2021-06-09 21:17:20 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-06-09 21:17:20 +0000 |
commit | 3b1034b6e6075d64a43c093ca72a9647402fa109 (patch) | |
tree | a915bf2398b238dbd70ae338a6bb643a7372de84 /src/slice | |
parent | fae9f0b2c845bc3cf666d492949abac3728422e8 (diff) | |
parent | 1774cfefb8ca695fb8d47f3b9a2fc843db58a422 (diff) | |
download | rayon-3b1034b6e6075d64a43c093ca72a9647402fa109.tar.gz |
Upgrade rust/crates/rayon to 1.5.1 am: dd2305def6 am: 489816d978 am: 33ba451729 am: 1774cfefb8
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/rayon/+/1712353
Change-Id: I3d36cf9c98f91edb9e48670feaad490066e5d3e2
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]) }) |