2006-06-16 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jun 2006 23:04:51 +0000 (23:04 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jun 2006 23:04:51 +0000 (23:04 +0000)
* include/tr1/random (uniform_real<>::uniform_real(_RealType,
_RealType)): Implement.
(uniform_real<>::min()): Likewise.
(uniform_real<>::max()): Likewise.
(uniform_real<>::reset()): Likewise.

* include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114730 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1/random
libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand.cc
libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc

index b4217ec..66f3497 100644 (file)
@@ -1,5 +1,15 @@
 2006-06-16  Paolo Carlini  <pcarlini@suse.de>
 
+       * include/tr1/random (uniform_real<>::uniform_real(_RealType,
+       _RealType)): Implement.
+       (uniform_real<>::min()): Likewise.
+       (uniform_real<>::max()): Likewise.
+       (uniform_real<>::reset()): Likewise.
+
+       * include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.
+
+2006-06-16  Paolo Carlini  <pcarlini@suse.de>
+
        * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format):
        Ignore the value of the __err argument.
        (time_get<>::do_get_weekday): Likewise.
index 4973b16..0f4ab01 100644 (file)
@@ -1595,20 +1595,27 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
        */
       explicit
       uniform_real(_RealType __min = _RealType(0),
-                  _RealType __max = _RealType(1));
+                  _RealType __max = _RealType(1))
+      : _M_min(__min), _M_max(__max)
+      {
+       _GLIBCXX_DEBUG_ASSERT(_M_min <= _M_max);
+      }
 
       result_type
-      min() const;
+      min() const
+      { return _M_min; }
 
       result_type
-      max() const;
+      max() const
+      { return _M_max; }
 
-      void reset();
+      void
+      reset() { }
 
       template<class _UniformRandomNumberGenerator>
         result_type
         operator()(_UniformRandomNumberGenerator& __urng)
-        { return (__urng() * (max() - min())) + min(); }
+        { return (__urng() * (_M_max - _M_min)) + _M_min; }
 
       /**
        * Inserts a %uniform_real random number distribution @p __x into the
@@ -1624,7 +1631,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
         friend std::basic_ostream<_CharT, _Traits>&
         operator<<(std::basic_ostream<_CharT, _Traits>& __os,
                   const uniform_real& __x)
-        { return __os << __x.min() << " " << __x.max(); }
+        { return __os << __x._M_min << " " << __x._M_max; }
 
       /**
        * Extracts a %unform_real random number distribution
index 06c51f5..1dc658a 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef hash_map_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "hash_data_map_rand_regression_test",
                              map_tl_t());
 }
index 50bf333..0f9dc31 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef hash_set_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "hash_no_data_map_rand_regression_test",
                              map_tl_t());
 }
index d184844..d3a1cb8 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef lu_map_tl_t map_tl_t;
 
-  return rand_regression_test(100, 10, 
+  return rand_regression_test(10, 1,
                              "lu_data_map_rand_regression_test",
                              map_tl_t());
 }
index ae70c1e..79f1d9d 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef lu_set_tl_t map_tl_t;
 
-  return rand_regression_test(100, 10,
+  return rand_regression_test(10, 1,
                              "lu_no_data_map_rand_regression_test",
                              map_tl_t());
 }
index 6266e13..8830210 100644 (file)
@@ -52,7 +52,7 @@ int
 main(int argc, char* a_p_argv[])
 {
   using namespace pb_ds::test;
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "tree_no_data_map_rand_regression_test", 
                              pq_tl_t());
 }
index 4a51fac..21e18e7 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef tree_map_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "tree_data_map_rand_regression_test",
                              map_tl_t());
 }
index 4d3c8ff..d2abc5f 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef tree_set_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "tree_no_data_map_rand_regression_test",
                              map_tl_t());
 }
index e684197..4b350e5 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef trie_map_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "trie_data_map_rand_regression_test",
                              map_tl_t());
 }
index b8af58c..a64511f 100644 (file)
@@ -54,7 +54,7 @@ main(int argc, char* a_p_argv[])
   using namespace pb_ds::test;
   typedef trie_set_tl_t map_tl_t;
 
-  return rand_regression_test(10000, 10000,
+  return rand_regression_test(1000, 1000,
                              "trie_no_data_map_rand_regression_test", 
                              map_tl_t());
 }