random.tcc (__transform): Remove.
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 12 Feb 2013 10:26:54 +0000 (10:26 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 12 Feb 2013 10:26:54 +0000 (10:26 +0000)
2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/random.tcc (__transform): Remove.
(__normalize): Add.
(discrete_distribution<>::param_type::_M_initialize): Adjust.
(piecewise_constant_distribution<>::param_type::_M_initialize):
Likewise.
(piecewise_linear_distribution<>::param_type::_M_initialize):
Likewise.

From-SVN: r195970

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.tcc

index 56dddcdff0d1ca8e4ade912b73d0dff4de979c4a..8dfc294741adc9a5e527e29b4ce67f0401e491fc 100644 (file)
@@ -1,3 +1,13 @@
+2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/random.tcc (__transform): Remove.
+       (__normalize): Add.
+       (discrete_distribution<>::param_type::_M_initialize): Adjust.
+       (piecewise_constant_distribution<>::param_type::_M_initialize):
+       Likewise.
+       (piecewise_linear_distribution<>::param_type::_M_initialize):
+       Likewise.
+
 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
 
        * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
index acd458214e41ff9674bcc0a3cf11c0413673d6d5..5b562b9f270d93e5989d52f14638e2d1a6bbe6e3 100644 (file)
@@ -79,13 +79,13 @@ namespace std _GLIBCXX_VISIBILITY(default)
       }
 
     template<typename _InputIterator, typename _OutputIterator,
-            typename _UnaryOperation>
+            typename _Tp>
       _OutputIterator
-      __transform(_InputIterator __first, _InputIterator __last,
-                 _OutputIterator __result, _UnaryOperation __unary_op)
+      __normalize(_InputIterator __first, _InputIterator __last,
+                 _OutputIterator __result, const _Tp& __factor)
       {
        for (; __first != __last; ++__first, ++__result)
-         *__result = __unary_op(*__first);
+         *__result = *__first / __factor;
        return __result;
       }
 
@@ -2802,8 +2802,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       const double __sum = std::accumulate(_M_prob.begin(),
                                           _M_prob.end(), 0.0);
       // Now normalize the probabilites.
-      __detail::__transform(_M_prob.begin(), _M_prob.end(), _M_prob.begin(),
-                         std::bind2nd(std::divides<double>(), __sum));
+      __detail::__normalize(_M_prob.begin(), _M_prob.end(), _M_prob.begin(),
+                           __sum);
       // Accumulate partial sums.
       _M_cp.reserve(_M_prob.size());
       std::partial_sum(_M_prob.begin(), _M_prob.end(),
@@ -2955,8 +2955,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       const double __sum = std::accumulate(_M_den.begin(),
                                           _M_den.end(), 0.0);
 
-      __detail::__transform(_M_den.begin(), _M_den.end(), _M_den.begin(),
-                           std::bind2nd(std::divides<double>(), __sum));
+      __detail::__normalize(_M_den.begin(), _M_den.end(), _M_den.begin(),
+                           __sum);
 
       _M_cp.reserve(_M_den.size());
       std::partial_sum(_M_den.begin(), _M_den.end(),
@@ -3189,14 +3189,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        }
 
       //  Now normalize the densities...
-      __detail::__transform(_M_den.begin(), _M_den.end(), _M_den.begin(),
-                         std::bind2nd(std::divides<double>(), __sum));
+      __detail::__normalize(_M_den.begin(), _M_den.end(), _M_den.begin(),
+                           __sum);
       //  ... and partial sums... 
-      __detail::__transform(_M_cp.begin(), _M_cp.end(), _M_cp.begin(),
-                           std::bind2nd(std::divides<double>(), __sum));
+      __detail::__normalize(_M_cp.begin(), _M_cp.end(), _M_cp.begin(), __sum);
       //  ... and slopes.
-      __detail::__transform(_M_m.begin(), _M_m.end(), _M_m.begin(),
-                           std::bind2nd(std::divides<double>(), __sum));
+      __detail::__normalize(_M_m.begin(), _M_m.end(), _M_m.begin(), __sum);
+
       //  Make sure the last cumulative probablility is one.
       _M_cp[_M_cp.size() - 1] = 1.0;
      }