random: Remove, empty.
2009-04-03 Paolo Carlini <paolo.carlini@oracle.com> * include/tr1_impl/random: Remove, empty. * include/tr1_impl/random.tcc: Likewise. * include/std/random: Minor clean-ups, formatting fixes, adjust copyright years. * include/bits/random.tcc: Likewise. * include/bits/random.h: Likewise. * include/tr1/random: Likewise. * include/tr1/random.tcc: Likewise. * include/tr1/random.h: Likewise. From-SVN: r145493
This commit is contained in:
parent
01e935c1d3
commit
95fe602ebe
9 changed files with 53 additions and 88 deletions
|
@ -1,3 +1,16 @@
|
|||
2009-04-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/tr1_impl/random: Remove, empty.
|
||||
* include/tr1_impl/random.tcc: Likewise.
|
||||
|
||||
* include/std/random: Minor clean-ups, formatting fixes, adjust
|
||||
copyright years.
|
||||
* include/bits/random.tcc: Likewise.
|
||||
* include/bits/random.h: Likewise.
|
||||
* include/tr1/random: Likewise.
|
||||
* include/tr1/random.tcc: Likewise.
|
||||
* include/tr1/random.h: Likewise.
|
||||
|
||||
2009-04-02 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -64,7 +64,8 @@ namespace std
|
|||
namespace __detail
|
||||
{
|
||||
template<typename _UIntType, size_t __w,
|
||||
bool = __w < static_cast<size_t>(std::numeric_limits<_UIntType>::digits)>
|
||||
bool = __w < static_cast<size_t>
|
||||
(std::numeric_limits<_UIntType>::digits)>
|
||||
struct _Shift
|
||||
{ static const _UIntType __value = 0; };
|
||||
|
||||
|
@ -74,9 +75,13 @@ namespace std
|
|||
|
||||
// XXX need constexpr
|
||||
template<typename _UIntType, size_t __w,
|
||||
bool = __w <static_cast<size_t>(std::numeric_limits<_UIntType>::digits)>
|
||||
bool = __w <static_cast<size_t>
|
||||
(std::numeric_limits<_UIntType>::digits)>
|
||||
struct _ShiftMin1
|
||||
{ static const _UIntType __value = __gnu_cxx::__numeric_traits<_UIntType>::max; };
|
||||
{
|
||||
static const _UIntType __value =
|
||||
__gnu_cxx::__numeric_traits<_UIntType>::max;
|
||||
};
|
||||
|
||||
template<typename _UIntType, size_t __w>
|
||||
struct _ShiftMin1<_UIntType, __w, true>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation (out of line) -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -32,14 +32,11 @@
|
|||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <numeric>
|
||||
#include <algorithm>
|
||||
|
||||
namespace std
|
||||
{
|
||||
|
||||
/*
|
||||
* (Further) implementation-space details.
|
||||
*/
|
||||
|
@ -107,7 +104,7 @@ namespace std
|
|||
seed(_UIntType __x0)
|
||||
{
|
||||
if ((__detail::__mod<_UIntType, 1U, 0U, __m>(__c) == 0U)
|
||||
&& (__detail::__mod<_UIntType, 1U, 0U, __m>(__x0) == 0U))
|
||||
&& (__detail::__mod<_UIntType, 1U, 0U, __m>(__x0) == 0U))
|
||||
_M_x = __detail::__mod<_UIntType, 1U, 0U, __m>(1U);
|
||||
else
|
||||
_M_x = __detail::__mod<_UIntType, 1U, 0U, __m>(__x0);
|
||||
|
@ -150,7 +147,7 @@ namespace std
|
|||
{
|
||||
_UIntType __x0 = __g();
|
||||
if ((__detail::__mod<_UIntType, 1U, 0U, __m>(__c) == 0U)
|
||||
&& (__detail::__mod<_UIntType, 1U, 0U, __m>(__x0) == 0U))
|
||||
&& (__detail::__mod<_UIntType, 1U, 0U, __m>(__x0) == 0U))
|
||||
_M_x = __detail::__mod<_UIntType, 1U, 0U, __m>(1U);
|
||||
else
|
||||
_M_x = __detail::__mod<_UIntType, 1U, 0U, __m>(__x0);
|
||||
|
@ -181,9 +178,7 @@ namespace std
|
|||
|
||||
const typename __ios_base::fmtflags __flags = __os.flags();
|
||||
const _CharT __fill = __os.fill();
|
||||
__os.flags(__ios_base::dec
|
||||
| __ios_base::fixed
|
||||
| __ios_base::left);
|
||||
__os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
|
||||
__os.fill(__os.widen(' '));
|
||||
|
||||
__os << __lcr._M_x;
|
||||
|
@ -347,9 +342,7 @@ namespace std
|
|||
const typename __ios_base::fmtflags __flags = __os.flags();
|
||||
const _CharT __fill = __os.fill();
|
||||
const _CharT __space = __os.widen(' ');
|
||||
__os.flags(__ios_base::dec
|
||||
| __ios_base::fixed
|
||||
| __ios_base::left);
|
||||
__os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
|
||||
__os.fill(__space);
|
||||
|
||||
for (size_t __i = 0; __i < __n - 1; ++__i)
|
||||
|
@ -487,9 +480,7 @@ namespace std
|
|||
const typename __ios_base::fmtflags __flags = __os.flags();
|
||||
const _CharT __fill = __os.fill();
|
||||
const _CharT __space = __os.widen(' ');
|
||||
__os.flags(__ios_base::dec
|
||||
| __ios_base::fixed
|
||||
| __ios_base::left);
|
||||
__os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
|
||||
__os.fill(__space);
|
||||
|
||||
for (size_t __i = 0; __i < __r; ++__i)
|
||||
|
@ -550,9 +541,7 @@ namespace std
|
|||
const typename __ios_base::fmtflags __flags = __os.flags();
|
||||
const _CharT __fill = __os.fill();
|
||||
const _CharT __space = __os.widen(' ');
|
||||
__os.flags(__ios_base::dec
|
||||
| __ios_base::fixed
|
||||
| __ios_base::left);
|
||||
__os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
|
||||
__os.fill(__space);
|
||||
|
||||
__os << __x.base() << __space << __x._M_n;
|
||||
|
@ -653,9 +642,7 @@ namespace std
|
|||
const typename __ios_base::fmtflags __flags = __os.flags();
|
||||
const _CharT __fill = __os.fill();
|
||||
const _CharT __space = __os.widen(' ');
|
||||
__os.flags(__ios_base::dec
|
||||
| __ios_base::fixed
|
||||
| __ios_base::left);
|
||||
__os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
|
||||
__os.fill(__space);
|
||||
|
||||
__os << __x.base();
|
||||
|
@ -2331,9 +2318,7 @@ namespace std
|
|||
piecewise_constant_distribution<_RealType>::param_type::
|
||||
param_type()
|
||||
: _M_int(), _M_den(), _M_cp()
|
||||
{
|
||||
_M_initialize();
|
||||
}
|
||||
{ _M_initialize(); }
|
||||
|
||||
template<typename _RealType>
|
||||
template<typename _InputIteratorB, typename _InputIteratorW>
|
||||
|
@ -2532,9 +2517,7 @@ namespace std
|
|||
piecewise_linear_distribution<_RealType>::param_type::
|
||||
param_type()
|
||||
: _M_int(), _M_den(), _M_cp(), _M_m()
|
||||
{
|
||||
_M_initialize();
|
||||
}
|
||||
{ _M_initialize(); }
|
||||
|
||||
template<typename _RealType>
|
||||
template<typename _InputIteratorB, typename _InputIteratorW>
|
||||
|
@ -2790,5 +2773,4 @@ namespace std
|
|||
}
|
||||
return __sum / __tmp;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// <random> -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -40,10 +40,6 @@
|
|||
# include <c++0x_warning.h>
|
||||
#else
|
||||
|
||||
#if defined(_GLIBCXX_INCLUDE_AS_TR1)
|
||||
# error C++0x header cannot be included from TR1 header
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2006, 2007 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -37,10 +37,6 @@
|
|||
|
||||
#pragma GCC system_header
|
||||
|
||||
#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
|
||||
# error TR1 header cannot be included from C++0x header
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
@ -54,14 +50,10 @@
|
|||
#include <tr1/type_traits>
|
||||
#include <tr1/cmath>
|
||||
|
||||
#if defined(_GLIBCXX_INCLUDE_AS_TR1)
|
||||
# include <tr1/random.h>
|
||||
#else
|
||||
# define _GLIBCXX_INCLUDE_AS_TR1
|
||||
# define _GLIBCXX_TR1 tr1::
|
||||
# include <tr1/random.h>
|
||||
# undef _GLIBCXX_TR1
|
||||
# undef _GLIBCXX_INCLUDE_AS_TR1
|
||||
#include <tr1/random.h>
|
||||
|
||||
#ifndef _GLIBCXX_EXPORT_TEMPLATE
|
||||
# include <tr1/random.tcc>
|
||||
#endif
|
||||
|
||||
#endif // _GLIBCXX_TR1_RANDOM
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -38,28 +38,10 @@
|
|||
|
||||
#pragma GCC system_header
|
||||
|
||||
#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
|
||||
# error TR1 header cannot be included from C++0x header
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <iosfwd>
|
||||
#include <limits>
|
||||
#include <ext/type_traits.h>
|
||||
#include <ext/numeric_traits.h>
|
||||
#include <bits/concept_check.h>
|
||||
#include <debug/debug.h>
|
||||
#include <tr1/type_traits>
|
||||
#include <tr1/cmath>
|
||||
|
||||
namespace std
|
||||
{
|
||||
namespace tr1
|
||||
{
|
||||
|
||||
// [5.1] Random number generation
|
||||
|
||||
/**
|
||||
|
@ -2427,10 +2409,7 @@ namespace tr1
|
|||
/* @} */ // group tr1_random_distributions_continuous
|
||||
/* @} */ // group tr1_random_distributions
|
||||
/* @} */ // group tr1_random
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#include <tr1/random.tcc>
|
||||
|
||||
#endif // _GLIBCXX_TR1_RANDOM_H
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation (out of line) -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -36,7 +36,6 @@ namespace std
|
|||
{
|
||||
namespace tr1
|
||||
{
|
||||
|
||||
/*
|
||||
* (Further) implementation-space details.
|
||||
*/
|
||||
|
@ -324,7 +323,7 @@ namespace tr1
|
|||
if (__value == 0)
|
||||
__value = 19780503;
|
||||
|
||||
std::_GLIBCXX_TR1 linear_congruential<unsigned long, 40014, 0, 2147483563>
|
||||
std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
|
||||
__lcg(__value);
|
||||
|
||||
for (int __i = 0; __i < long_lag; ++__i)
|
||||
|
@ -443,7 +442,7 @@ namespace tr1
|
|||
{
|
||||
for (int __j = 0; __j < __n; ++__j)
|
||||
#if _GLIBCXX_USE_C99_MATH_TR1
|
||||
_M_npows[__j] = std::_GLIBCXX_TR1 ldexp(_RealType(1), -__w + __j * 32);
|
||||
_M_npows[__j] = std::tr1::ldexp(_RealType(1), -__w + __j * 32);
|
||||
#else
|
||||
_M_npows[__j] = std::pow(_RealType(2), -__w + __j * 32);
|
||||
#endif
|
||||
|
@ -459,7 +458,7 @@ namespace tr1
|
|||
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
// 512. Seeding subtract_with_carry_01 from a single unsigned long.
|
||||
std::_GLIBCXX_TR1 linear_congruential<unsigned long, 40014, 0, 2147483563>
|
||||
std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
|
||||
__lcg(__value);
|
||||
|
||||
this->seed(__lcg);
|
||||
|
@ -905,14 +904,14 @@ namespace tr1
|
|||
{
|
||||
const _RealType __m = std::floor(_M_mean);
|
||||
_M_lm_thr = std::log(_M_mean);
|
||||
_M_lfm = std::_GLIBCXX_TR1 lgamma(__m + 1);
|
||||
_M_lfm = std::tr1::lgamma(__m + 1);
|
||||
_M_sm = std::sqrt(__m);
|
||||
|
||||
const _RealType __pi_4 = 0.7853981633974483096156608458198757L;
|
||||
const _RealType __dx = std::sqrt(2 * __m * std::log(32 * __m
|
||||
/ __pi_4));
|
||||
_M_d = std::_GLIBCXX_TR1 round(std::max(_RealType(6),
|
||||
std::min(__m, __dx)));
|
||||
_M_d = std::tr1::round(std::max(_RealType(6),
|
||||
std::min(__m, __dx)));
|
||||
const _RealType __cx = 2 * __m + _M_d;
|
||||
_M_scx = std::sqrt(__cx / 2);
|
||||
_M_1cx = 1 / __cx;
|
||||
|
@ -1008,7 +1007,7 @@ namespace tr1
|
|||
}
|
||||
|
||||
__reject = (__w - __e - __x * _M_lm_thr
|
||||
> _M_lfm - std::_GLIBCXX_TR1 lgamma(__x + __m + 1));
|
||||
> _M_lfm - std::tr1::lgamma(__x + __m + 1));
|
||||
|
||||
__reject |= __x + __m >= __thr;
|
||||
|
||||
|
@ -1099,11 +1098,11 @@ namespace tr1
|
|||
const _RealType __d1x =
|
||||
std::sqrt(__np * __1p * std::log(32 * __np
|
||||
/ (81 * __pi_4 * __1p)));
|
||||
_M_d1 = std::_GLIBCXX_TR1 round(std::max(_RealType(1), __d1x));
|
||||
_M_d1 = std::tr1::round(std::max(_RealType(1), __d1x));
|
||||
const _RealType __d2x =
|
||||
std::sqrt(__np * __1p * std::log(32 * _M_t * __1p
|
||||
/ (__pi_4 * __pa)));
|
||||
_M_d2 = std::_GLIBCXX_TR1 round(std::max(_RealType(1), __d2x));
|
||||
_M_d2 = std::tr1::round(std::max(_RealType(1), __d2x));
|
||||
|
||||
// sqrt(pi / 2)
|
||||
const _RealType __spi_2 = 1.2533141373155002512078826424055226L;
|
||||
|
@ -1119,8 +1118,8 @@ namespace tr1
|
|||
const _RealType __s2s = _M_s2 * _M_s2;
|
||||
_M_s = (_M_a123 + 2 * __s2s / _M_d2
|
||||
* std::exp(-_M_d2 * _M_d2 / (2 * __s2s)));
|
||||
_M_lf = (std::_GLIBCXX_TR1 lgamma(__np + 1)
|
||||
+ std::_GLIBCXX_TR1 lgamma(_M_t - __np + 1));
|
||||
_M_lf = (std::tr1::lgamma(__np + 1)
|
||||
+ std::tr1::lgamma(_M_t - __np + 1));
|
||||
_M_lp1p = std::log(__pa / __1p);
|
||||
|
||||
_M_q = -std::log(1 - (__p12 - __pa) / __1p);
|
||||
|
@ -1248,8 +1247,8 @@ namespace tr1
|
|||
if (!__reject)
|
||||
{
|
||||
const _RealType __lfx =
|
||||
std::_GLIBCXX_TR1 lgamma(__np + __x + 1)
|
||||
+ std::_GLIBCXX_TR1 lgamma(_M_t - (__np + __x) + 1);
|
||||
std::tr1::lgamma(__np + __x + 1)
|
||||
+ std::tr1::lgamma(_M_t - (__np + __x) + 1);
|
||||
__reject = __v > _M_lf - __lfx + __x * _M_lp1p;
|
||||
}
|
||||
|
||||
|
@ -1578,6 +1577,5 @@ namespace tr1
|
|||
__os.precision(__precision);
|
||||
return __os;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue