aboutsummaryrefslogtreecommitdiff
path: root/vendor/rayon-core/tests/scope_join.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rayon-core/tests/scope_join.rs')
-rw-r--r--vendor/rayon-core/tests/scope_join.rs45
1 files changed, 0 insertions, 45 deletions
diff --git a/vendor/rayon-core/tests/scope_join.rs b/vendor/rayon-core/tests/scope_join.rs
deleted file mode 100644
index 9d88133..0000000
--- a/vendor/rayon-core/tests/scope_join.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-/// Test that one can emulate join with `scope`:
-fn pseudo_join<F, G>(f: F, g: G)
-where
- F: FnOnce() + Send,
- G: FnOnce() + Send,
-{
- rayon_core::scope(|s| {
- s.spawn(|_| g());
- f();
- });
-}
-
-fn quick_sort<T: PartialOrd + Send>(v: &mut [T]) {
- if v.len() <= 1 {
- return;
- }
-
- let mid = partition(v);
- let (lo, hi) = v.split_at_mut(mid);
- pseudo_join(|| quick_sort(lo), || quick_sort(hi));
-}
-
-fn partition<T: PartialOrd + Send>(v: &mut [T]) -> usize {
- let pivot = v.len() - 1;
- let mut i = 0;
- for j in 0..pivot {
- if v[j] <= v[pivot] {
- v.swap(i, j);
- i += 1;
- }
- }
- v.swap(i, pivot);
- i
-}
-
-fn is_sorted<T: Send + Ord>(v: &[T]) -> bool {
- (1..v.len()).all(|i| v[i - 1] <= v[i])
-}
-
-#[test]
-fn scope_join() {
- let mut v: Vec<i32> = (0..256).rev().collect();
- quick_sort(&mut v);
- assert!(is_sorted(&v));
-}