2012-04-29 Marc Glisse <marc.glisse@inria.fr>
commit1a5394ea56c7d8d0857892d32f08e99c9e9cedca
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Apr 2012 23:36:09 +0000 (29 23:36 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Apr 2012 23:36:09 +0000 (29 23:36 +0000)
tree9adf35dcdbd754a14ae986576a07b43387e41d70
parent3b630ea10b6aaef9f85d08259caf8def31de1902
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186948 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/bits/stl_algobase.h
libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc [new file with mode: 0644]