[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