]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
f4b1176199e5e343292f7996c4eb34a142b204d2
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From 6bb9234e718d4b75a9a1e63d523d08c3392ba55f Mon Sep 17 00:00:00 2001
2 From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3 Date: Sat, 26 Mar 2011 10:02:34 +0000
4 Subject: [PATCH 008/200] 2011-03-26 Paolo Carlini <paolo.carlini@oracle.com>
5
6 * include/bits/random.h (negative_binomial_distribution<>::
7 negative_binomial_distribution(_IntType, double),
8 negative_binomial_distribution<>::
9 negative_binomial_distribution(const param_type&)): Fix thinko
10 p / (1 - p) for (1 - p) / p.
11 * include/bits/random.tcc (negative_binomial_distribution<>::
12 operator()): Fix.
13
14
15 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171553 138bc75d-0d04-0410-961f-82ee72b054a4
16
17 index 26cec8a..988ee61 100644
18 --- a/libstdc++-v3/include/bits/random.h
19 +++ b/libstdc++-v3/include/bits/random.h
20 @@ -3782,7 +3782,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
21 explicit
22 param_type(_IntType __k = 1, double __p = 0.5)
23 : _M_k(__k), _M_p(__p)
24 - { }
25 + {
26 + _GLIBCXX_DEBUG_ASSERT((_M_k > 0) && (_M_p > 0.0) && (_M_p <= 1.0));
27 + }
28
29 _IntType
30 k() const
31 @@ -3803,12 +3805,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
32
33 explicit
34 negative_binomial_distribution(_IntType __k = 1, double __p = 0.5)
35 - : _M_param(__k, __p), _M_gd(__k, __p / (1.0 - __p))
36 + : _M_param(__k, __p), _M_gd(__k, (1.0 - __p) / __p)
37 { }
38
39 explicit
40 negative_binomial_distribution(const param_type& __p)
41 - : _M_param(__p), _M_gd(__p.k(), __p.p() / (1.0 - __p.p()))
42 + : _M_param(__p), _M_gd(__p.k(), (1.0 - __p.p()) / __p.p())
43 { }
44
45 /**
46 diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc
47 index 4b17e91..e81392f 100644
48 --- a/libstdc++-v3/include/bits/random.tcc
49 +++ b/libstdc++-v3/include/bits/random.tcc
50 @@ -1100,7 +1100,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
51 param_type;
52
53 const double __y =
54 - _M_gd(__urng, param_type(__p.k(), __p.p() / (1.0 - __p.p())));
55 + _M_gd(__urng, param_type(__p.k(), (1.0 - __p.p()) / __p.p()));
56
57 std::poisson_distribution<result_type> __poisson(__y);
58 return __poisson(__urng);
59 --
60 1.7.0.4
61