[Bug libstdc++/51795] linear_congruential_engine doesn't work correctly
paolo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Apr 29 23:37:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51795
--- Comment #30 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-04-29 23:36:15 UTC ---
Author: paolo
Date: Sun Apr 29 23:36:09 2012
New Revision: 186948
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186948
Log:
2012-04-29 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51795
* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
__lg(long long), __lg(unsigned long long)): Define constexpr.
* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
limitations.
(__mod): Adjust.
(linear_congruential): Remove FIXME static_assert.
* include/bits/random.tcc (_Mod<>): Adjust.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
51795.cc: New.
Added:
trunk/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/random.h
trunk/libstdc++-v3/include/bits/random.tcc
trunk/libstdc++-v3/include/bits/stl_algobase.h
More information about the Gcc-bugs
mailing list