random.tcc (mersenne_twister<>::operator()): Revert last change (per gcc-patches/2006-08/msg00484.html).
2006-08-15 Paolo Carlini <pcarlini@suse.de> * include/tr1/random.tcc (mersenne_twister<>::operator()): Revert last change (per gcc-patches/2006-08/msg00484.html). From-SVN: r116151
This commit is contained in:
parent
bbddd5d0c2
commit
64c23908ee
@ -1,3 +1,8 @@
|
|||||||
|
2006-08-15 Paolo Carlini <pcarlini@suse.de>
|
||||||
|
|
||||||
|
* include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
|
||||||
|
last change (per gcc-patches/2006-08/msg00484.html).
|
||||||
|
|
||||||
2006-08-14 Paolo Carlini <pcarlini@suse.de>
|
2006-08-14 Paolo Carlini <pcarlini@suse.de>
|
||||||
|
|
||||||
* include/tr1/random (class poisson_distribution<>): Add.
|
* include/tr1/random (class poisson_distribution<>): Add.
|
||||||
|
@ -285,13 +285,13 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
|
|||||||
{
|
{
|
||||||
const _UIntType __upper_mask = (~_UIntType()) << __r;
|
const _UIntType __upper_mask = (~_UIntType()) << __r;
|
||||||
const _UIntType __lower_mask = ~__upper_mask;
|
const _UIntType __lower_mask = ~__upper_mask;
|
||||||
const _UIntType __fx[2] = { 0, __a };
|
|
||||||
|
|
||||||
for (int __k = 0; __k < (__n - __m); ++__k)
|
for (int __k = 0; __k < (__n - __m); ++__k)
|
||||||
{
|
{
|
||||||
_UIntType __y = ((_M_x[__k] & __upper_mask)
|
_UIntType __y = ((_M_x[__k] & __upper_mask)
|
||||||
| (_M_x[__k + 1] & __lower_mask));
|
| (_M_x[__k + 1] & __lower_mask));
|
||||||
_M_x[__k] = _M_x[__k + __m] ^ (__y >> 1) ^ __fx[__y & 0x01];
|
_M_x[__k] = (_M_x[__k + __m] ^ (__y >> 1)
|
||||||
|
^ ((__y & 0x01) ? __a : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int __k = (__n - __m); __k < (__n - 1); ++__k)
|
for (int __k = (__n - __m); __k < (__n - 1); ++__k)
|
||||||
@ -299,12 +299,13 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
|
|||||||
_UIntType __y = ((_M_x[__k] & __upper_mask)
|
_UIntType __y = ((_M_x[__k] & __upper_mask)
|
||||||
| (_M_x[__k + 1] & __lower_mask));
|
| (_M_x[__k + 1] & __lower_mask));
|
||||||
_M_x[__k] = (_M_x[__k + (__m - __n)] ^ (__y >> 1)
|
_M_x[__k] = (_M_x[__k + (__m - __n)] ^ (__y >> 1)
|
||||||
^ __fx[__y & 0x01]);
|
^ ((__y & 0x01) ? __a : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
_UIntType __y = ((_M_x[__n - 1] & __upper_mask)
|
_UIntType __y = ((_M_x[__n - 1] & __upper_mask)
|
||||||
| (_M_x[0] & __lower_mask));
|
| (_M_x[0] & __lower_mask));
|
||||||
_M_x[__n - 1] = _M_x[__m - 1] ^ (__y >> 1) ^ __fx[__y & 0x01];
|
_M_x[__n - 1] = (_M_x[__m - 1] ^ (__y >> 1)
|
||||||
|
^ ((__y & 0x01) ? __a : 0));
|
||||||
_M_p = 0;
|
_M_p = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user