re PR libstdc++/50951 (state of subtract_with_carry_engine not saved correctly to...
authorPaolo Carlini <paolo.carlini@oracle.com>
Wed, 2 Nov 2011 10:06:08 +0000 (10:06 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 2 Nov 2011 10:06:08 +0000 (10:06 +0000)
commit3164517929a2f21feb2c7668a4941a36288f57d3
tree48af547c3cc847618ee46d294950ca480613b916
parente021c122e50fdf3bc80e630e148b836c358a4dc5
re PR libstdc++/50951 (state of subtract_with_carry_engine not saved correctly to output stream)

2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50951
* include/bits/random.tcc (operator<<(basic_ostream<>&,
const mersenne_twister_engine<>&): Output _M_p too.
(operator<<(basic_ostream<>&, const
subtract_with_carry_engine<>&): Likewise.
(operator>>(basic_istream<>&, mersenne_twister_engine<>&):
Reload it.
(operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
Likewise.
* include/bits/random.h (mersenne_twister_engine<>::operator==):
Compare _M_p too.
(subtract_with_carry_engine<>::operator==): Compare _M_carry
and _M_p too.
(shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
* testsuite/26_numerics/random/independent_bits_engine/
operators/serialize.cc: Extend.
* testsuite/26_numerics/random/subtract_with_carry_engine/
operators/serialize.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/
operators/serialize.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/
operators/serialize.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
operators/serialize.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/
operators/serialize.cc: Likewise.

From-SVN: r180764
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc
libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc
libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc
libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc
libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc