]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/graph/example/fibonacci_heap.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / graph / example / fibonacci_heap.cpp
index 3dbdc5c9e0f4099555f01021e9721a6452b1a8e7..6fa76d0288780070143fb725e02cd7a0882e8784 100644 (file)
 #include <iostream>
 #include <vector>
 #include <boost/graph/random.hpp>
+#ifndef BOOST_NO_CXX11_HDR_RANDOM
+#include <random>
+namespace random_ns = std;
+#else
 #include <boost/random/mersenne_twister.hpp>
+namespace random_ns = boost;
+#endif
 #include <algorithm>
 #include <boost/pending/fibonacci_heap.hpp>
 #include <boost/graph/graph_utility.hpp>
@@ -23,10 +29,10 @@ main()
 {
   typedef indirect_cmp<float*,std::less<float> > ICmp;
   int i;
-  boost::mt19937 gen;
+  random_ns::mt19937 gen;
   for (int N = 2; N < 200; ++N) {
-    uniform_int<> distrib(0, N-1);
-    variate_generator<boost::mt19937&, uniform_int<> > rand_gen(gen, distrib);
+     uniform_int<> distrib(0, N-1);
+     boost::variate_generator<random_ns::mt19937&, uniform_int<> > rand_gen(gen, distrib);
     for (int t = 0; t < 10; ++t) {
       std::vector<float> v, w(N);
 
@@ -35,7 +41,11 @@ main()
 
       for (int c = 0; c < w.size(); ++c)
         w[c] = c;
+#ifndef BOOST_NO_CXX98_RANDOM_SHUFFLE
       std::random_shuffle(w.begin(), w.end());
+#else
+      std::shuffle(w.begin(), w.end(), gen);
+#endif
 
       for (i = 0; i < N; ++i)
         Q.push(i);