summaryrefslogtreecommitdiffstats
path: root/libcxx/test/algorithms/alg.sorting/alg.nth.element
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
committerEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
commit5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch)
treeafde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/algorithms/alg.sorting/alg.nth.element
parentf11e8eab527fba316c64112f6e05de1a79693a3e (diff)
downloadbcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.tar.gz
bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.zip
Move test into test/std subdirectory.
llvm-svn: 224658
Diffstat (limited to 'libcxx/test/algorithms/alg.sorting/alg.nth.element')
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp63
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp86
2 files changed, 0 insertions, 149 deletions
diff --git a/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp
deleted file mode 100644
index dc5564eb3fc..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<RandomAccessIterator Iter>
-// requires ShuffleIterator<Iter>
-// && LessThanComparable<Iter::value_type>
-// void
-// nth_element(Iter first, Iter nth, Iter last);
-
-#include <algorithm>
-#include <cassert>
-
-void
-test_one(unsigned N, unsigned M)
-{
- assert(N != 0);
- assert(M < N);
- int* array = new int[N];
- for (int i = 0; i < N; ++i)
- array[i] = i;
- std::random_shuffle(array, array+N);
- std::nth_element(array, array+M, array+N);
- assert(array[M] == M);
- std::nth_element(array, array+N, array+N); // begin, end, end
- delete [] array;
-}
-
-void
-test(unsigned N)
-{
- test_one(N, 0);
- test_one(N, 1);
- test_one(N, 2);
- test_one(N, 3);
- test_one(N, N/2-1);
- test_one(N, N/2);
- test_one(N, N/2+1);
- test_one(N, N-3);
- test_one(N, N-2);
- test_one(N, N-1);
-}
-
-int main()
-{
- int d = 0;
- std::nth_element(&d, &d, &d);
- assert(d == 0);
- test(256);
- test(257);
- test(499);
- test(500);
- test(997);
- test(1000);
- test(1009);
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp
deleted file mode 100644
index cf8659038f1..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<RandomAccessIterator Iter, StrictWeakOrder<auto, Iter::value_type> Compare>
-// requires ShuffleIterator<Iter>
-// && CopyConstructible<Compare>
-// void
-// nth_element(Iter first, Iter nth, Iter last, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <vector>
-#include <cassert>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <memory>
-
-struct indirect_less
-{
- template <class P>
- bool operator()(const P& x, const P& y)
- {return *x < *y;}
-};
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-void
-test_one(unsigned N, unsigned M)
-{
- assert(N != 0);
- assert(M < N);
- int* array = new int[N];
- for (int i = 0; i < N; ++i)
- array[i] = i;
- std::random_shuffle(array, array+N);
- std::nth_element(array, array+M, array+N, std::greater<int>());
- assert(array[M] == N-M-1);
- std::nth_element(array, array+N, array+N, std::greater<int>()); // begin, end, end
- delete [] array;
-}
-
-void
-test(unsigned N)
-{
- test_one(N, 0);
- test_one(N, 1);
- test_one(N, 2);
- test_one(N, 3);
- test_one(N, N/2-1);
- test_one(N, N/2);
- test_one(N, N/2+1);
- test_one(N, N-3);
- test_one(N, N-2);
- test_one(N, N-1);
-}
-
-int main()
-{
- int d = 0;
- std::nth_element(&d, &d, &d);
- assert(d == 0);
- test(256);
- test(257);
- test(499);
- test(500);
- test(997);
- test(1000);
- test(1009);
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- {
- std::vector<std::unique_ptr<int> > v(1000);
- for (int i = 0; i < v.size(); ++i)
- v[i].reset(new int(i));
- std::nth_element(v.begin(), v.begin() + v.size()/2, v.end(), indirect_less());
- assert(*v[v.size()/2] == v.size()/2);
- }
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
OpenPOWER on IntegriCloud