]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/move/test/adaptive_sort_test.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / move / test / adaptive_sort_test.cpp
index 4c24a322d6a9ac3d8d1ece9525a721d61a11e6cf..686b4bdd2f1e13e9ca1387172c50f7871004a90f 100644 (file)
 //////////////////////////////////////////////////////////////////////////////
 
 #include <cstdlib>   //std::srand
-#include <algorithm> //std::next_permutation
 #include <iostream>  //std::cout
 
 #include <boost/config.hpp>
 
 #include <boost/move/unique_ptr.hpp>
 #include <boost/container/vector.hpp>
-#include <boost/timer/timer.hpp>
-
-using boost::timer::cpu_timer;
-using boost::timer::cpu_times;
-using boost::timer::nanosecond_type;
 
 #include "order_type.hpp"
+#include "random_shuffle.hpp"
 
 #include <boost/move/algo/adaptive_sort.hpp>
 #include <boost/move/core.hpp>
@@ -45,7 +40,7 @@ bool test_random_shuffled(std::size_t const element_count, std::size_t const num
 
    for (std::size_t i = 0; i != num_iter; ++i)
    {
-      std::random_shuffle(elements.get(), elements.get() + element_count);
+      ::random_shuffle(elements.get(), elements.get() + element_count);
       for(std::size_t i = 0; i < (num_keys ? num_keys : element_count); ++i){
          key_reps[i]=0;
       }
@@ -53,11 +48,9 @@ bool test_random_shuffled(std::size_t const element_count, std::size_t const num
          elements[i].val = key_reps[elements[i].key]++;
       }
 
-      boost::container::vector<order_type> tmp(elements.get(), elements.get()+element_count);
-
-      boost::movelib::adaptive_sort(tmp.data(), tmp.data()+element_count, order_type_less<order_type>());
+      boost::movelib::adaptive_sort(elements.get(), elements.get()+element_count, order_type_less());
 
-      if (!is_order_type_ordered(tmp.data(), element_count))
+      if (!is_order_type_ordered(elements.get(), element_count))
       {
          std::cout <<  "\n ERROR\n";
          throw int(0);
@@ -68,16 +61,13 @@ bool test_random_shuffled(std::size_t const element_count, std::size_t const num
 
 int main()
 {
-   #ifdef NDEBUG
    const std::size_t NIter = 100;
-   #else
-   const std::size_t NIter = 10;
-   #endif
-   test_random_shuffled<order_type>(10001, 65,   NIter);
-   test_random_shuffled<order_type>(10001, 101,  NIter);
-   test_random_shuffled<order_type>(10001, 1023, NIter);
-   test_random_shuffled<order_type>(10001, 4095, NIter);
-   test_random_shuffled<order_type>(10001, 0,    NIter);
+   test_random_shuffled<order_move_type>(10001, 3,   NIter);
+   test_random_shuffled<order_move_type>(10001, 65,   NIter);
+   test_random_shuffled<order_move_type>(10001, 101,  NIter);
+   test_random_shuffled<order_move_type>(10001, 1023, NIter);
+   test_random_shuffled<order_move_type>(10001, 4095, NIter);
+   test_random_shuffled<order_move_type>(10001, 0,    NIter);
 
    return 0;
 }