aboutsummaryrefslogtreecommitdiff
path: root/src/slice
diff options
context:
space:
mode:
authorJoel Galenson <jgalenson@google.com>2021-06-09 21:17:20 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-06-09 21:17:20 +0000
commit3b1034b6e6075d64a43c093ca72a9647402fa109 (patch)
treea915bf2398b238dbd70ae338a6bb643a7372de84 /src/slice
parentfae9f0b2c845bc3cf666d492949abac3728422e8 (diff)
parent1774cfefb8ca695fb8d47f3b9a2fc843db58a422 (diff)
downloadrayon-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.rs10
-rw-r--r--src/slice/mod.rs18
-rw-r--r--src/slice/quicksort.rs4
-rw-r--r--src/slice/test.rs4
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])
})