
BoostCommit : 
Subject: [Boostcommit] svn:boost r80137  in trunk/libs/math/doc/sf_and_dist: . distributions graphs
From: pbristow_at_[hidden]
Date: 20120822 06:53:43
Author: pbristow
Date: 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
New Revision: 80137
URL: http://svn.boost.org/trac/boost/changeset/80137
Log:
Many minor docs updates and edits.
Text files modified:
trunk/libs/math/doc/sf_and_dist/credits.qbk  39 ++++++++
trunk/libs/math/doc/sf_and_dist/distributions/nc_t.qbk  103 ++++++++++++++++++++++++
trunk/libs/math/doc/sf_and_dist/distributions/students_t.qbk  60 +++++++++++
trunk/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp  11 ++++
trunk/libs/math/doc/sf_and_dist/roadmap.qbk  34 +++++++++
5 files changed, 152 insertions(+), 95 deletions()
Modified: trunk/libs/math/doc/sf_and_dist/credits.qbk
==============================================================================
 trunk/libs/math/doc/sf_and_dist/credits.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/credits.qbk 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
@@ 26,19 +26,19 @@
and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs.
(nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
Paul A. Bristow expressed the need for better handling of
+Paul A. Bristow expressed the need for better handling of
[@http://www.openstd.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf
Input & Output of NaN and infinity for the C++ Standard Library]
and suggested following the C99 format.
Antony Polukhin improved lexical cast avoiding stringstream so that
+Antony Polukhin improved lexical cast avoiding stringstream so that
it was no longer necessary to use a globale C99 facet to handle nonfinites.
H'''å'''kan Ard'''ö''',
Boris Gubenko, John Maddock,
Markus Sch'''ö'''pflin
and Olivier Verdier tested the floatingpoint library and
Martin Bonner, Peter Dimov and John Maddock provided valuable advice.
+and Olivier Verdier tested the floatingpoint library and
+Martin Bonner, Peter Dimov and John Maddock provided valuable advice.
Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008.
@@ 46,7 +46,8 @@
(Thijs has also threatened to implement some multivariate distributions).
Thomas Mang requested the inverse gamma in chi squared distributions
for Bayesian applications and helped in their implementation.
+for Bayesian applications and helped in their implementation,
+and provided a nice example of their use.
Professor Nico Temme for advice on the inverse incomplete beta function.
@@ 60,22 +61,17 @@
program used to generate the html and pdf versions
of this document, adding several new features en route.
Thanks to Mark Coleman and Georgi Boshnakov for spot test values
from __Mathematica, and of course,
to Eric Weissten for nurturing __Mathworld, an invaluable resource.

The Skewnormal distribution and Owen's t function were written by Benjamin Sobotta.

Plots of the functions and distributions were prepared in
[@http://www.w3.org/ W3C] standard
[@http://www.svg.org/ Scalable Vector Graphic (SVG)] format
using a program created by Jacob Voytko during a
[@http://code.google.com/soc/2007/ Google Summer of Code (2007)].
Since browser support for rendering SVG is still not universal
(Microsoft Internet Explorer, even IE 8 beta, still lacks native SVG support
+From 2012, the latest versions of all Internet Browsers have support
+for rendering SVG (with varying quality). Older versions, especially
+(Microsoft Internet Explorer (before IE 9) lack native SVG support
but can be made to work with
[@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin),
so the SVG files were batch converted to JPEG using
+[@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin).
+The SVG files can be converted to JPEG or PNG using
[@http://www.inkscape.org/ Inkscape].
We are also indebted to Matthias Schabel for managing the formal Boostreview
@@ 83,10 +79,21 @@
Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland
 for their many helpful comments.
+Thanks to Mark Coleman and Georgi Boshnakov for spot test values
+from __Mathematica, and of course,
+to Eric Weissten for nurturing __Mathworld, an invaluable resource.
+
+The Skewnormal distribution and Owen's t function were written by Benjamin Sobotta.
+
+We thank Thomas Mang for persuading us to allow t distributions
+to have infinite degrees of freedom
+and contributing to some long discussions about how to improve accuracy
+for large noncentrality and/or large degrees of freedom.
+
[endsect] [/section:credits Credits and Acknowledgements]
[/
 Copyright 2006, 2007, 2008, 2009, 2010 John Maddock and Paul A. Bristow.
+ Copyright 2006, 2007, 2008, 2009, 2010, 2012 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
Modified: trunk/libs/math/doc/sf_and_dist/distributions/nc_t.qbk
==============================================================================
 trunk/libs/math/doc/sf_and_dist/distributions/nc_t.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/distributions/nc_t.qbk 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
@@ 2,9 +2,9 @@
``#include <boost/math/distributions/non_central_t.hpp>``
 namespace boost{ namespace math{
+ namespace boost{ namespace math{
 template <class RealType = double,
+ template <class RealType = double,
class ``__Policy`` = ``__policy_class`` >
class non_central_t_distribution;
@@ 23,18 +23,18 @@
// Accessor to degrees_of_freedom parameter v:
RealType degrees_of_freedom()const;
 // Accessor to noncentrality parameter lambda:
+ // Accessor to noncentrality parameter delta:
RealType non_centrality()const;
};

+
}} // namespaces

+
The noncentral T distribution is a generalization of the __students_t_distrib.
Let X have a normal distribution with mean [delta] and variance 1, and let
+Let X have a normal distribution with mean [delta] and variance 1, and let
[nu] S[super 2] have
a chisquared distribution with degrees of freedom [nu]. Assume that
+a chisquared distribution with degrees of freedom [nu]. Assume that
X and S[super 2] are independent. The
distribution of t[sub [nu]]([delta])=X/S is called a
+distribution of t[sub [nu]]([delta])=X/S is called a
noncentral t distribution with degrees of freedom [nu] and noncentrality
parameter [delta].
@@ 45,25 +45,26 @@
where [sub 1]F[sub 1](a;b;x) is a confluent hypergeometric function.
The following graph illustrates how the distribution changes
for different values of [delta]:
+for different values of [nu] and [delta]:
[graph nc_t_pdf]
+[graph nc_t_cdf]
[h4 Member Functions]
 non_central_t_distribution(RealType v, RealType lambda);

+ non_central_t_distribution(RealType v, RealType delta);
+
Constructs a noncentral t distribution with degrees of freedom
parameter /v/ and noncentrality parameter /delta/.
Requires v > 0 and finite delta, otherwise calls __domain_error.
+Requires /v/ > 0 (including positive infinity) and finite /delta/, otherwise calls __domain_error.
RealType degrees_of_freedom()const;

+
Returns the parameter /v/ from which this object was constructed.
RealType non_centrality()const;

+
Returns the noncentrality parameter /delta/ from which this object was constructed.
[h4 Nonmember Accessors]
@@ 76,18 +77,16 @@
[h4 Accuracy]
The following table shows the peak errors
(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
+(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
found on various platforms with various floatingpoint types.
Unless otherwise specified, any floatingpoint type that is narrower
than the one shown will have __zero_error.
[table Errors In CDF of the Noncentral T Distribution
[[Significand Size] [Platform and Compiler] [[nu],[delta] < 600]]
+[[Significand Size (bits)] [Platform and Compiler] [[nu], [delta] < 600]]
[[53] [Win32, Visual C++ 8] [Peak=120 Mean=26 ] ]
[[64] [RedHat Linux IA32, gcc4.1.1] [Peak=121 Mean=26] ]

[[64] [Redhat Linux IA64, gcc3.4.4] [Peak=122 Mean=25] ]

[[113] [HPUX IA64, aCC A.06.06] [Peak=115 Mean=24] ]
]
@@ 96,25 +95,37 @@
increases rapidly for [delta] > 500, likewise the accuracy decreases
rapidly for very large [delta].]
Accuracy for the quantile and PDF functions should be broadly similar,
note however that the /mode/ is determined numerically and can not
in principal be more accurate than the square root of machine epsilon.
+Accuracy for the quantile and PDF functions should be broadly similar.
+The /mode/ is determined numerically and cannot
+in principal be more accurate than the square root of
+floatingpoint type FPT epsilon, accessed using `boost::math::tools::epsilon<FPT>()`.
+For 64bit `double`, epsilon is about 1e16, so the fractional accuracy is limited to 1e8.
[h4 Tests]
There are two sets of tests of this distribution: basic sanity checks
compare this implementation to the test values given in
+There are two sets of tests of this distribution:
+
+Basic sanity checks compare this implementation to the test values given in
"Computing discrete mixtures of continuous
distributions: noncentral chisquare, noncentral t
and the distribution of the square of the sample
multiple correlation coefficient."
Denise Benton, K. Krishnamoorthy,
+Denise Benton, K. Krishnamoorthy,
Computational Statistics & Data Analysis 43 (2003) 249267.
While accuracy checks use test data computed with this
+
+Accuracy checks use test data computed with this
implementation and arbitary precision interval arithmetic:
this test data is believed to be accurate to at least 50
decimal places.
+The cases of large (or infinite) [nu] and/or large [delta] has received special
+treatment to avoid catastrophic loss of accuracy.
+New tests have been added to confirm the improvement achieved.
+
+From Boost 1.52, degrees of freedom [nu] can be +[infin]
+when the normal distribution located at [delta]
+(equivalent to the central Student's t distribution)
+is used in place for accuracy and speed.
[h4 Implementation]
@@ 124,7 +135,7 @@
distributions: noncentral chisquare, noncentral t
and the distribution of the square of the sample
multiple correlation coefficient."
Denise Benton, K. Krishnamoorthy,
+Denise Benton, K. Krishnamoorthy,
Computational Statistics & Data Analysis 43 (2003) 249267.
This uses the following formula for the CDF:
@@ 150,7 +161,7 @@
and therefore we have a means to compute either the probability or its
complement directly without the risk of cancellation error. The
crossover criterion for choosing whether to calculate the CDF or
its complement is the same as for the
+its complement is the same as for the
__non_central_beta_distrib.
The PDF can be computed by a very similar method using:
@@ 162,17 +173,27 @@
For both the PDF and CDF we switch to approximating the distribution by a
Student's t distribution centred on [delta] when [nu] is very large.
The crossover location appears to be when [delta]/(4[nu]) < [epsilon],
this location was estimated by inspection of equation 2.6 in
"A Comparison of Approximations To Persentiles of the
+this location was estimated by inspection of equation 2.6 in
+"A Comparison of Approximations To Percentiles of the
Noncentral tDistribution". H. Sahai and M. M. Ojeda,
Revista Investigacion Operacional Vol 21, No 2, 2000, and confirmed by
experimental testing. See also
"Some Approximations to the Persentage Points of the Noncentral
+Revista Investigacion Operacional Vol 21, No 2, 2000, page 123.
+
+Equation 2.6 is a FisherCornish expansion by Eeden and Johnson.
+The second term includes the ratio [delta]/(4[nu]),
+so when this term become negligible, this and following terms can be ignored,
+leaving just Student's t distribution centred on [delta].
+
+This was also confirmed by experimental testing.
+
+See also
+
+* "Some Approximations to the Percentage Points of the Noncentral
tDistribution". C. van Eeden. International Statistical Review, 29, 431.
"Continuous Univariate Distributions". N.L. Johnson, S. Kotz and
+
+* "Continuous Univariate Distributions". N.L. Johnson, S. Kotz and
N. Balkrishnan. 1995. John Wiley and Sons New York.
The quantile is calculated via the usual
+The quantile is calculated via the usual
[link math_toolkit.toolkit.internals1.roots2
derivativefree rootfinding techniques],
with the initial guess taken as the quantile of a normal approximation
@@ 182,13 +203,13 @@
functional maximisation of the PDF.
The remaining functions (mean, variance etc) are implemented
using the formulas given in
Weisstein, Eric W. "Noncentral Student's tDistribution."
From MathWorldA Wolfram Web Resource.
+using the formulas given in
+Weisstein, Eric W. "Noncentral Student's tDistribution."
+From MathWorldA Wolfram Web Resource.
[@http://mathworld.wolfram.com/NoncentralStudentstDistribution.html
http://mathworld.wolfram.com/NoncentralStudentstDistribution.html]
and in the
[@http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html
+and in the
+[@http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html
Mathematica documentation].
Some analytic properties of noncentral distributions
@@ 197,10 +218,12 @@
Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 312.
+
+
[endsect] [/section:nc_t_dist]
[/ nc_t.qbk
 Copyright 2008 John Maddock and Paul A. Bristow.
+ Copyright 2008, 2012 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
Modified: trunk/libs/math/doc/sf_and_dist/distributions/students_t.qbk
==============================================================================
 trunk/libs/math/doc/sf_and_dist/distributions/students_t.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/distributions/students_t.qbk 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
@@ 2,12 +2,12 @@
``#include <boost/math/distributions/students_t.hpp>``
 namespace boost{ namespace math{

 template <class RealType = double,
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
class ``__Policy`` = ``__policy_class`` >
class students_t_distribution;

+
typedef students_t_distribution<> students_t;
template <class RealType, class ``__Policy``>
@@ 15,13 +15,13 @@
{
typedef RealType value_type;
typedef Policy policy_type;

+
// Construct:
students_t_distribution(const RealType& v);

+
// Accessor:
RealType degrees_of_freedom()const;

+
// degrees of freedom estimation:
static RealType find_degrees_of_freedom(
RealType difference_from_mean,
@@ 30,21 +30,21 @@
RealType sd,
RealType hint = 100);
};

+
}} // namespaces

A statistical distribution published by William Gosset in 1908.
His employer, Guinness Breweries, required him to publish under a
+
+A statistical distribution published by William Gosset in 1908.
+His employer, Guinness Breweries, required him to publish under a
pseudonym (possibly to hide that they were using statistics),
so he chose "Student". Given N independent measurements, let
[equation students_t_dist]
where /M/ is the population mean,[' ''' μ '''] is the sample mean, and /s/ is the
+where /M/ is the population mean,[' ''' μ '''] is the sample mean, and /s/ is the
sample variance.
Student's tdistribution is defined as the distribution of the random
variable t which is  very loosely  the "best" that we can do not
+Student's tdistribution is defined as the distribution of the random
+variable t which is  very loosely  the "best" that we can do not
knowing the true standard deviation of the sample. It has the PDF:
[equation students_t_ref1]
@@ 61,15 +61,15 @@
[h4 Member Functions]
students_t_distribution(const RealType& v);

+
Constructs a Student's tdistribution with /v/ degrees of freedom.
Requires v > 0, otherwise calls __domain_error. Note that
nonintegral degrees of freedom are supported, and
meaningful under certain circumstances.
+Requires /v/ > 0, otherwise calls __domain_error. Note that
+nonintegral degrees of freedom are supported,
+and are meaningful under certain circumstances.
RealType degrees_of_freedom()const;

+
Returns the number of degrees of freedom of this distribution.
static RealType find_degrees_of_freedom(
@@ 80,15 +80,15 @@
RealType hint = 100);
Returns the number of degrees of freedom required to observe a significant
result in the Student's t test when the mean differs from the "true"
+result in the Student's t test when the mean differs from the "true"
mean by /difference_from_mean/.
[variablelist
[[difference_from_mean][The difference between the true mean and the sample mean
that we wish to show is significant.]]
[[alpha][The maximum acceptable probability of rejecting the null hypothesis
+[[alpha][The maximum acceptable probability of rejecting the null hypothesis
when it is in fact true.]]
[[beta][The maximum acceptable probability of failing to reject the null hypothesis
+[[beta][The maximum acceptable probability of failing to reject the null hypothesis
when it is in fact false.]]
[[sd][The sample standard deviation.]]
[[hint][A hint for the location to start looking for the result, a good choice for this
@@ 99,10 +99,10 @@
Remember that for a twosided test, you must divide alpha by two
before calling this function.]
For more information on this function see the
[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm
+For more information on this function see the
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm
NIST Engineering Statistics Handbook].

+
[h4 Nonmember Accessors]
All the [link math_toolkit.dist.dist_ref.nmp usual nonmember accessor functions] that are generic to all
@@ 117,14 +117,14 @@
[h4 Accuracy]
The normal distribution is implemented in terms of the
+The normal distribution is implemented in terms of the
[link math_toolkit.special.sf_beta.ibeta_function incomplete beta function]
and [link math_toolkit.special.sf_beta.ibeta_inv_function its inverses],
refer to accuracy data on those functions for more information.
[h4 Implementation]
In the following table /v/ is the degrees of freedom of the distribution,
+In the following table /v/ is the degrees of freedom of the distribution,
/t/ is the random variate, /p/ is the probability and /q = 1p/.
[table
@@ 161,9 +161,9 @@
[[kurtosis excess][if (v > 4) 6 \/ (df  4) else NaN]]
]
If the moment index k is less than v, then the moment is undefined.
Evaluating the moment will throw a 'domain_error' unless ignored by a policy,
when it will return 'std::numeric_limits<>::quiet_NaN();'
+If the moment index /k/ is less than /v/, then the moment is undefined.
+Evaluating the moment will throw a __domain_error unless ignored by a policy,
+when it will return `std::numeric_limits<>::quiet_NaN();`
(For simplicity, we have not implemented the return of infinity in some cases
as suggested by [@http://en.wikipedia.org/wiki/Student%27s_tdistribution Wikipedia Student's t].
Modified: trunk/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp
==============================================================================
 trunk/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp (original)
+++ trunk/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
@@ 391,8 +391,19 @@
nc_t_plotter.add(boost::math::non_central_t(10, 0), "v=10, δ=0");
nc_t_plotter.add(boost::math::non_central_t(10, 5), "v=10, δ=5");
nc_t_plotter.add(boost::math::non_central_t(10, 10), "v=10, δ=10");
+ nc_t_plotter.add(boost::math::non_central_t(std::numeric_limits<double>::infinity(), 15), "v=inf, δ=15");
nc_t_plotter.plot("Non Central T PDF", "nc_t_pdf.svg");
+ distribution_plotter<boost::math::non_central_t>
+ nc_t_CDF_plotter(false);
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 10), "v=10, δ=10");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 5), "v=10, δ=5");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 0), "v=10, δ=0");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 5), "v=10, δ=5");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 10), "v=10, δ=10");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(std::numeric_limits<double>::infinity(), 15), "v=inf, δ=15");
+ nc_t_CDF_plotter.plot("Non Central T CDF", "nc_t_cdf.svg");
+
distribution_plotter<boost::math::beta_distribution<> >
beta_plotter;
beta_plotter.add(boost::math::beta_distribution<>(0.5, 0.5), "alpha=0.5, beta=0.5");
Modified: trunk/libs/math/doc/sf_and_dist/roadmap.qbk
==============================================================================
 trunk/libs/math/doc/sf_and_dist/roadmap.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/roadmap.qbk 20120822 06:53:41 EDT (Wed, 22 Aug 2012)
@@ 1,9 +1,9 @@
[template history[]
Currently open bug reports can be viewed
+Currently open bug reports can be viewed
[@https://svn.boost.org/trac/boost/query?status=assigned&status=new&status=reopened&component=math&col=id&col=summary&col=status&col=type&col=milestone&col=component&order=priority here].
All bug reports including closed ones can be viewed
+All bug reports including closed ones can be viewed
[@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=math&col=id&col=summary&col=status&col=type&col=milestone&col=component&order=priority here].
[h4 Boost1.52]
@@ 13,12 +13,28 @@
[@https://svn.boost.org/trac/boost/ticket/6934 #6934] (reported by Florian Schoppmann)
by adding a function check_out_of_range to test many possible bad parameters.
This test revealed several distributions where the checks for bad parameters were ineffective,
and these have been rectified.
+and these have been rectified.
* Fixed issue in Hankel functions that causes incorrect values to be returned for ['x < 0] and [nu] odd, see [@https://svn.boost.org/trac/boost/ticket/7135 #7135].
* Fixed issues [@https://svn.boost.org/trac/boost/ticket/6517 #6517], [@https://svn.boost.org/trac/boost/ticket/6362 #6362],
[@https://svn.boost.org/trac/boost/ticket/7053 #7053], [@https://svn.boost.org/trac/boost/ticket/2693 #2693],
[@https://svn.boost.org/trac/boost/ticket/6937 #6937], [@https://svn.boost.org/trac/boost/ticket/7099 #7099].
+* Permitted infinite degrees of freedom [@https://svn.boost.org/trac/boost/ticket/7259 #7259]
+implemented using the normal distribution (requested by Thomas Mang).
+* Much enhanced accuracy for large degrees of freedom [nu] and/or large noncentrality [delta]
+by switching to use the Students t distribution
+(or Normal distribution for infinite degrees of freedom)
+ centered at delta,
+when [delta] / (4 * [nu]) < epsilon for the floatingpoint type in use.
+[@https://svn.boost.org/trac/boost/ticket/7259 #7259].
+It was found that the incomplete beta was suffering from serious cancellation errors
+when degrees of freedom was very large. (That has now been fixed in our code,
+but any code based on Didonato and Morris's original papers
+(probably every implementation out there actually) will have the same issue).
+
+[h4 Boost1.51]
+See Boost1.52  some items were added but not listed in time for the release.
+
[h4 Boost1.50]
* Promoted math constants to be 1st class citizens,
@@ 29,7 +45,7 @@
* Corrected issue [@https://svn.boost.org/trac/boost/ticket/6627 #6627 nonfinite_num_put formatting of 0.0 is incorrect]
based on a patch submitted by K R Walker.
* Changed constant initialization mechanism so that it is thread safe even for userdefined types, also
so that user defined types get the full precision of the constant, even when `long double` does not.
+so that user defined types get the full precision of the constant, even when `long double` does not.
So for example 128bit rational approximations will work with UDT's and do the right thing, even though
`long double` may be only 64 or 80 bits.
* Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
@@ 66,7 +82,7 @@
* Enabled long double support on OpenBSD (issue [@https://svn.boost.org/trac/boost/ticket/6014 #6014]).
* Changed nextafter and related functions to behave in the same way as other implementations  so that nextafter(+INF, 0)
+* Changed nextafter and related functions to behave in the same way as other implementations  so that nextafter(+INF, 0)
is a finite value (issue [@https://svn.boost.org/trac/boost/ticket/5823 #5832]).
* Changed tuple include configuration to fix issue when using in conjunction with Boost.Tr1 (issue [@https://svn.boost.org/trac/boost/ticket/5934 #5934]).
@@ 95,7 +111,7 @@
[h4 Boost1.46.0]
* Added Wald, Inverse Gaussian and geometric distributions.
* Added information about configuration macros.
+* Added information about configuration macros.
* Added support for mpreal as a realnumbered type.
[h4 Boost1.45.0]
@@ 129,7 +145,7 @@
[h4 Boost1.38.0]
* Added Johan R'''å'''de's optimised floating point classification routines.
* Fixed code so that it compiles in GCC's pedantic mode (bug report
+* Fixed code so that it compiles in GCC's pedantic mode (bug report
[@https://svn.boost.org/trac/boost/ticket/1451 #1451]).
[h4 Boost1.37.0]
@@ 175,7 +191,7 @@
* Implemented the main probability distribution and density functions.
* Implemented digamma.
* Added more factorial functions.
* Implemented the Hermite, Legendre and Laguerre polynomials plus the
+* Implemented the Hermite, Legendre and Laguerre polynomials plus the
spherical harmonic functions from TR1.
* Moved Xiaogang Zhang's elliptic integral code into the library,
and brought them into line with the rest of the code.
@@ 211,7 +227,7 @@
Sandbox and trunk last synchonised at revision: .
]
[/
+[/
Copyright 2006  2010 John Maddock and Paul A. Bristow.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
BoostCommit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk