diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8e854d69f9a3..eb35280b9384 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2009-05-14 Paolo Carlini + + * include/bits/random.tcc (cauchy_distribution<>:: + operator()(_UniformRandomNumberGenerator&, const param_type&)): + Avoid M_PI, a glibc extension. + 2009-05-13 Ben Elliston * include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch. diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc index 8944c116b7e5..0e917b2dc39b 100644 --- a/libstdc++-v3/include/bits/random.tcc +++ b/libstdc++-v3/include/bits/random.tcc @@ -1653,12 +1653,11 @@ namespace std __aurng(__urng); _RealType __u; do - { - __u = __aurng(); - } + __u = __aurng(); while (__u == 0.5); - return __p.a() + __p.b() * std::tan(M_PI * __u); + const _RealType __pi = 3.1415926535897932384626433832795029L; + return __p.a() + __p.b() * std::tan(__pi * __u); } template