Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / math / doc / overview / roadmap.qbk
1 [template history[]
2
3 Currently open bug reports can be viewed
4 [@https://github.com/boostorg/math/issues here] on GitHub.
5
6 All old bug reports including closed ones can be viewed on Trac
7 [@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].
8
9 Recent issues on GitHub [@https://github.com/boostorg/math/issues?utf8=%E2%9C%93&q=is%3Aissue here].
10
11 [h4 Math-2.11.0 (Boost-1.72)]
12
13 * Added Hypergeometric functions [link math_toolkit.hypergeometric.hypergeometric_1f0 1F0], [link math_toolkit.hypergeometric.hypergeometric_0f1 0F1],
14 [link math_toolkit.hypergeometric.hypergeometric_2f0 2F0], [link math_toolkit.hypergeometric.hypergeometric_1f1 1F1] and [link math_toolkit.hypergeometric.hypergeometric_pfq pFq].
15 * Added [link math_toolkit.sf_poly.jacobi Jacobi polynomial] (and derivatives) evaluation.
16 * Added [link math_toolkit.sf_poly.gegenbauer Gegenbauer polynomial] (and derivatives) evaluation.
17 * Added [link math_toolkit.sf_poly.cardinal_b_splines Cardinal B-Splines] (and derivatives) as polynomial functions in their own right.
18 * Added [link math_toolkit.cardinal_trigonometric Cardinal Trigonometric Interpolation].
19 * Added new statistics sub-section.
20 * Added [link math_toolkit.t_test One Sample Student's T Test].
21 * Added [link math_toolkit.anderson_darling Anderson Darling test for normality].
22 * Added [link math_toolkit.ljung_box Ljung Box test for  auto-correlation].
23 * Added [link math_toolkit.runs_test Runs test for random sequences].
24 * The headers `boost/math/tools/univariate_statistics.hpp` and `boost/math/tools/bivariate_statistics.hpp`, 
25 have been deprecated in favor of `boost/math/statistics/univariate_statistics.hpp` and `boost/math/statistics/bivariate_statistics.hpp`.
26 * Added [link math_toolkit.dist_ref.dists.empirical_cdf The Empirical CDF distribution].
27 * Reworked the Sterling approximation used by multiprecision gamma functions to be applicable
28 to all the function that use the Lanczos approximation at regular precision.  Also extended
29 Lanczos approximations up to 100 decimal digit precision.
30
31 [h4 Math-2.10.0 (Boost-1.71)]
32
33 * Catmull-Rom interpolator now works in C++11.
34 * Cardinal quadratic B-spline interpolation.
35 * Domain of elliptic integrals extended.
36 * sin_pi and cos_pi performance improvements.
37 * Forward-mode automatic differentiation.
38 * Vector valued barycentric rational interpolation.
39 * Ooura's method for evaluation of Fourier integrals.
40 * Multiple compatibility issues with Multiprecision fixed.
41 * Lambert-W fixed on a rare architecture.
42
43 [h4 Math-2.9.0 (Boost-1.70)]
44
45 * Add Lanczos smoothing derivatives
46 * Move `numerical_differentiation.hpp` from `boost/math/tools/` to `boost/math/differentiation/finite_difference.hpp`.
47 * Add mean, variance, skewness, kurtosis, median, Gini coefficient, and median absolute deviation to `tools/univariate_statistics.hpp`.
48 * Add correlation coefficients and covariance to `tools/bivariate_statistics.hpp`
49 * Add absolute Gini coefficient, Hoyer sparsity, oracle SNR, and the /M/[sub 2]/M/[sub 4] SNR estimator to `tools/signal_statistics.hpp`.
50 * Add total variation, l0, l1, l2, and sup norms, as well as corresponding distance functions to `tools/norms.hpp`.
51 * Add move constructors for polynomials, support complex coefficients, add `.prime()` and `.integrate()` methods.
52 * Add `quadratic_roots` to `tools/roots.hpp`.
53 * Add support for complex-valued functions to Newton's method in `roots.hpp`.
54 * Add Catmull-Rom interpolator.
55 * Fix bug in `newton_raphson_iterate` where we could terminate incorrectly under certain exceptional cases.
56 * Suppressed warnings from use of `Q` suffix on constants when compiling with `g++ -Wall -pedantic`.
57
58 [h4 Math-2.8.0 (Boost-1.69)]
59
60 * Add LambertW functions.
61 * Update integration routines to support complex valued integrands and contour integrals.
62 * Added the derivative of the Barycentric rational approximation.
63 * Updated continued fraction and series evaluation code to support complex types.
64 * Minor fixes to better support variable precision floating point types.
65 * Removed use of deprecated Boost.Endian in favour of Predef.
66 * Prevent logic error leading to infinite loop in toms748_solve.  See [@https://github.com/boostorg/math/issues/138 #138].
67 * Fix mean and standard_deviation for extreme_value_distribution.  See [@https://github.com/boostorg/math/issues/139 #139].
68 * Improve heuristics used in newton_raphson_iterate.  See [@https://github.com/boostorg/math/issues/145 #145].
69 * Fix result of `erf(NaN)`.  See [@https://github.com/boostorg/math/issues/141 #141].
70 * Big push to reduce GCC warnings.  See [@https://github.com/boostorg/math/issues/136 #136].
71 * Refactor polynomial addition.  See [@https://github.com/boostorg/math/pull/132 PR132].
72 * Fix for vxWorks having a `real` function in the global namespace. See [@https://github.com/boostorg/math/pull/131 PR131].
73 * Improve `sinc` approximations and add better tests.
74 * Fix typo in Student's T hypothesis testing documentation, see [@https://github.com/boostorg/math/issues/143 #143].
75
76 [h4 Math-2.7.1 (Boost-1.68)]
77
78 * Continue to improve numerical integration routines, and in particular add support for contour integrals.
79 * Improve accuracy of erfc function's rational approximations.
80
81 [h4 Math-2.7.0 (Boost-1.66)]
82
83 * Add Gauss and Gauss-Kronrod quadrature routines.
84 * Add double-exponential (tanh-sinh, exp-sinh and sinh-sinh) quadrature routines.
85 * Add Chebyshev polynomial evaluation, roots, integration, differentiation, and interpolation routines.
86
87 [h4 Math-2.6.0 (Boost-1.65)]
88
89 New Features:
90
91 * Add [link math_toolkit.cardinal_cubic_b Cardinal cubic B-Spline interpolation functions], with thanks to Nick Thompson.
92 * Add [link math_toolkit.barycentric barycentric rational interpolation functions], with thanks to Nick Thompson.
93 * Add [link math_toolkit.trapezoidal adaptive trapezoidal quadrature], with thanks to Nick Thompson.
94 * Add [link math_toolkit.sf_poly.legendre support for the zeros and derivatives of Legendre polynomials], with thanks to Nick Thompson.
95
96 Patches:
97
98 * Improve polynomial GCD algorithms, with thanks to Jeremy Murphy.
99 * Removed gcd/lcm routines from Boost.Math - these are now in Boost.Integer.
100
101 [h4 Math-2.5.2 (Boost-1.64)]
102
103 Patches:
104
105 * Big push to ensure all functions in also in C99 are compatible with Annex F.
106 * Improved accuracy of the Bessel functions I0, I1, K0 and K1, see [@https://svn.boost.org/trac/boost/ticket/12066 12066].
107
108 [h4 Math-2.5.1 (Boost-1.63)]
109
110 Patches:
111
112 * Fixed evaluation of zero polynomial in polynomial.hpp, see [@https://svn.boost.org/trac/boost/ticket/12532 12532].
113 * Fixed missing header include in boost/math/tools/tuple.hpp, see [@https://svn.boost.org/trac/boost/ticket/12537 12537].
114
115 [h4 Math-2.5.0 (Boost-1.62)]
116
117 New Features:
118
119 * Enabled all the special function code to work correctly with types whose precision can change at runtime: for example type `mpfr_float` from Boost.Multiprecision.
120
121 Patches:
122
123 * Fix tgamma_delta_ratio for cases where the delta is small compared to the base.
124 * Fix misc GCC-4.4 test failures.
125
126 [h4 Math-2.4.0 (Boost-1.61)]
127
128 New Features:
129
130 * Polynomial arithmetic added to tools.
131
132
133 [h4 Math-2.3.0 (Boost-1.60)]
134
135 New Features:
136
137 * Promote the root finding and function minimization code to first class citizens - these are now officially supported as part of the library.
138 * Allow the library to be used and tested with compiler exception handling support turned off.  To better facilitate this
139 the default error handling policies have been changed to ['errno_on_error] but only when the compiler has no exception handling support.
140
141 Patches:
142
143 * Fix behaviour of the non-central chi-squared distribution when the non-centrality parameter is zero to match the chi-squared,
144 see [@https://svn.boost.org/trac/boost/ticket/11557 11557].
145 * Fix comments in code for the hypergeometric to match what it actually does, also fixes the parameter access functions to return
146 the correct values.  See [@https://svn.boost.org/trac/boost/ticket/11556 11556].
147 * Stopped using hidden visiblity library build with the Oracle compiler as it leads to unresolved externals from the C++ standard library.
148 See [@https://svn.boost.org/trac/boost/ticket/11547 11547].
149 * Fix unintended use of __declspec when building with Oracle C++.  See [@https://svn.boost.org/trac/boost/ticket/11546 11546].
150 * Fix corner case bug in root bracketing code, see [@https://svn.boost.org/trac/boost/ticket/11532 11532].
151 * Add some missing typecasts in arguments to std::max in Bernoulli code.  See [@https://svn.boost.org/trac/boost/ticket/11453 11453].
152 * Fix mistaken assumptions about the possible values for FLT_EVAL_METHOD.  See [@https://svn.boost.org/trac/boost/ticket/11429 11429].
153 * Completely revamped performance testing and error-rate measuring code so we can more easily document how well (or not!) we're doing.
154 This information will hopefully get more frequently updated in future as it's more or less automatically generated - see the /reporting/
155 sub-directory for more information.
156 * Fix some corner cases in the beta, incomplete beta, and incomplete beta derivative.  With thanks to Rocco Romeo.
157 * Reorganized the Bessel functions internally to improve the performance of Jn and Yn.
158 * Fixed skewness formula for triangular distribution, see [@https://svn.boost.org/trac/boost/ticket/11768 #11768].
159 * Fixed some examples so they compile on Unix platforms which have an ::exception struct declared, see [@https://svn.boost.org/trac/boost/ticket/11827 #11827].
160 * Correct mistake in triangular distribution skewness formula [@https://svn.boost.org/trac/boost/ticket/11768 11768],
161 reported by Juan Leni.
162
163 [h4 Math-2.2.1]
164
165 Patch release for Boost-1.58:
166
167 * Minor [@https://github.com/boostorg/math/pull/13#issuecomment-98905579 patch for Haiku support.]
168 * Fix the decimal digit count for 128-bit floating point types.
169 * Fix a few documentation typos.
170
171 [h4 Math-2.2.0 (boost-1.58.0)]
172
173 * Added two new special functions - __trigamma and __polygamma.
174 * Fixed namespace scope constants so they are constexpr on conforming compilers, see https://svn.boost.org/trac/boost/ticket/10901.
175 * Fixed various cases of spurious under/overflow in the incomplete beta and gamma functions, plus the elliptic integrals,
176 with thanks to Rocco Romeo.
177 * Fix 3-arg __legendre_p and __legendre_q functions to not call the policy based overload if the final argument
178 is not actually a policy.
179 * Cleaned up some dead code in the incomplete beta function, see [@https://svn.boost.org/trac/boost/ticket/10985 #10985].
180 * Fixed extreme-value pdf for large valued inputs, see [@https://svn.boost.org/trac/boost/ticket/10938 #10938].
181 * Large update to the Elliptic integral code to use Carlson's latest algorithms - these should be more stable, more accurate
182 and slightly faster than before.  Also added support for Carlson's RG integral.
183 * Added __ellint_d, __jacobi_zeta and __heuman_lambda elliptic integrals.
184 * Switched documentation to use SVG rather than PNG graphs and equations - browsers seem to have finally caught up!
185
186 [h4 Math-2.1.0 (boost-1.57.0)]
187
188 * Added __hyperexponential_distrib.
189 * Fix some spurious overflows in the incomplete gamma functions (with thanks to Rocco Romeo).
190 * Fix bug in derivative of incomplete beta when a = b = 0.5 - this also effects several non-central distributions,
191 see [@https://svn.boost.org/trac/boost/ticket/10480 10480].
192 * Fixed some corner cases in __round.
193 * Don't support 80-bit floats in cstdfloat.hpp if standard library support is broken.
194
195 [h4 Math-2.0.0 (Boost-1.56.0)]
196
197 * [*Breaking change]: moved a number of non-core headers that are predominantly used for internal
198 maintenance into `libs/math/include_private`.  The headers effected are `boost/math/tools/test_data.hpp`,
199 `boost/math/tools/remez.hpp`, `boost/math/constants/generate.hpp`, `boost/math/tools/solve.hpp`,
200 `boost/math/tools/test.hpp`.
201 You can continue to use these headers by adding `libs/math/include_private` to your compiler's include path.
202 * [*Breaking change]: A number of distributions and special functions were returning the maximum finite value
203 rather than raising an __overflow_error, this has now been fixed, which means these functions now behave as
204 documented.  However, since the default behavior on raising an __overflow_error is to throw a `std::overflow_error`
205 exception, applications which have come to reply rely on these functions not throwing may experience exceptions
206 where they did not before.  The special functions involved are __gamma_p_inva, __gamma_q_inva,
207 __ibeta_inva, __ibetac_inva, __ibeta_invb, __ibetac_invb, __gamma_p_inv, __gamma_q_inv.  The distributions
208 involved are __pareto_distrib, __beta_distrib, __geometric_distrib, __negative_binomial_distrib,
209 __binomial_distrib, __chi_squared_distrib, __gamma_distrib, __inverse_chi_squared_distrib,
210 __inverse_gamma_distrib.  See [@https://svn.boost.org/trac/boost/ticket/10111 #10111].
211 * Fix __round and __trunc functions so they can be used with integer arguments, see [@https://svn.boost.org/trac/boost/ticket/10066 #10066].
212 * Fix Halley iteration to handle zero derivative (with non-zero second derivative), see [@https://svn.boost.org/trac/boost/ticket/10046 #10046].
213
214 [h4 Math-1.9.1]
215
216 * Fix Geometric distribution use of Policies, see [@https://svn.boost.org/trac/boost/ticket/9833 #9833].
217 * Fix corner cases in the negative binomial distribution, see [@https://svn.boost.org/trac/boost/ticket/9834 #9834].
218 * Fix compilation failures on Mac OS.
219
220 [h4 Math-1.9.0]
221
222 * Changed version number to new Boost.Math specific version now that we're in the modular Boost world.
223 * Added __bernoulli_numbers, changed arbitrary precision __tgamma/__lgamma to use Sterling's approximation (from Nikhar Agrawal).
224 * Added first derivatives of the Bessel functions: __cyl_bessel_j_prime, __cyl_neumann_prime, __cyl_bessel_i_prime, __cyl_bessel_k_prime, __sph_bessel_prime and __sph_neumann_prime (from Anton Bikineev).
225 * Fixed buggy Student's t example code, along with docs for testing sample means for equivalence.
226 * Documented `max_iter` parameter in root finding code better, see [@https://svn.boost.org/trac/boost/ticket/9225 #9225].
227 * Add option to explicitly enable/disable use of __float128 in constants code, see [@https://svn.boost.org/trac/boost/ticket/9240 #9240].
228 * Cleaned up handling of negative values in Bessel I0 and I1 code (removed dead code), see [@https://svn.boost.org/trac/boost/ticket/9512 #9512].
229 * Fixed handling of very small values passed to __tgamma and __lgamma so they don't generate spurious overflows (thanks to Rocco Romeo).
230 * [@https://svn.boost.org/trac/boost/ticket/9672 #9672 PDF and CDF of a Laplace distribution throwing domain_error]
231 Random variate can now be infinite.
232 * Fixed several corner cases in __rising_factorial, __falling_factorial and __tgamma_delta_ratio with thanks to Rocco Romeo.
233 * Fixed several corner cases in __rising_factorial, __falling_factorial and __tgamma_delta_ratio (thanks to Rocco Romeo).
234 * Removed constant `pow23_four_minus_pi ` whose value did not match the name (and was unused by Boost.Math), see
235 [@https://svn.boost.org/trac/boost/ticket/9712 #9712].
236
237 [h4 Boost-1.55]
238
239 * Suppress numerous warnings (mostly from GCC-4.8 and MSVC) [@https://svn.boost.org/trac/boost/ticket/8384 #8384], [@https://svn.boost.org/trac/boost/ticket/8855 #8855],
240 [@https://svn.boost.org/trac/boost/ticket/9107 #9107], [@https://svn.boost.org/trac/boost/ticket/9109 #9109]..
241 * Fixed PGI compilation issue [@https://svn.boost.org/trac/boost/ticket/8333 #8333].
242 * Fixed PGI constant value initialization issue that caused erf to generate incorrect results [@https://svn.boost.org/trac/boost/ticket/8621 #8621].
243 * Prevent macro expansion of some C99 macros that are also C++ functions [@https://svn.boost.org/trac/boost/ticket/8732 #8732] and [@https://svn.boost.org/trac/boost/ticket/8733 #8733]..
244 * Fixed Student's T distribution to behave correctly with huge degrees of freedom (larger than the largest representable integer) [@https://svn.boost.org/trac/boost/ticket/8837 #8837].
245 * Make some core functions usable with `long double` even when the platform has no standard library `long double` support [@https://svn.boost.org/trac/boost/ticket/8940 #8940].
246 * Fix error handling of distributions to catch invalid scale and location parameters when the random variable is infinite [@https://svn.boost.org/trac/boost/ticket/9042 #9042] and [@https://svn.boost.org/trac/boost/ticket/9126 #9126].
247 * Add workaround for broken <tuple> in Intel C++ 14 [@https://svn.boost.org/trac/boost/ticket/9087 #9087].
248 * Improve consistency of argument reduction in the elliptic integrals [@https://svn.boost.org/trac/boost/ticket/9104 #9104].
249 * Fix bug in inverse incomplete beta that results in cancellation errors when the beta function is really an arcsine or Student's T distribution.
250 * Fix issue in Bessel I and K function continued fractions that causes spurious over/underflow.
251 * Add improvement to non-central chi squared distribution quantile due to Thomas Luu,
252 [@http://discovery.ucl.ac.uk/1482128/ Fast and accurate parallel computation of quantile functions for random number generation, Doctorial Thesis 2016].
253 [@http://discovery.ucl.ac.uk/1463470/ Efficient and Accurate Parallel Inversion of the Gamma Distribution, Thomas Luu]
254 [h4 Boost-1.54]
255
256 * Major reorganization to incorporate other Boost.Math like Integer Utilities Integer Utilities (Greatest Common Divisor and Least Common Multiple), quaternions and octonions.
257 Making new chapter headings.
258 * Added many references to Boost.Multiprecision and `cpp_dec_float_50` as an example of a User-defined Type (UDT).
259 * Added Clang to list of supported compilers.
260 * Fixed constants to use a thread-safe cache of computed values when used at arbitrary precision.
261 * Added finding zeros of Bessel functions `cyl_bessel_j_zero`, `cyl_neumann_zero`, `airy_ai_zero` and `airy_bi_zero`(by Christopher Kormanyos).
262 * More accuracy improvements to the Bessel J and Y functions from Rocco Romeo.
263 * Fixed nasty cyclic dependency bug that caused some headers to not compile [@https://svn.boost.org/trac/boost/ticket/7999 #7999].
264 * Fixed bug in __tgamma that caused spurious overflow for arguments between 142.5 and 143.
265 * Fixed bug in raise_rounding_error that caused it to return an incorrect result when throwing an exception is turned off [@https://svn.boost.org/trac/boost/ticket/7905 #7905].
266 * Added minimal __float128 support.
267 * Fixed bug in edge-cases of poisson quantile [@https://svn.boost.org/trac/boost/ticket/8308 #8308].
268 * Adjusted heuristics used in Halley iteration to cope with inverting the incomplete beta in tricky regions
269 where the derivative is flatlining.  Example is computing the quantile of the Fisher F distribution for probabilities
270 smaller than machine epsilon.  See ticket [@https://svn.boost.org/trac/boost/ticket/8314 #8314].
271
272 [h4 Boost-1.53]
273
274 * Fixed issues [@https://svn.boost.org/trac/boost/ticket/7325 #7325], [@https://svn.boost.org/trac/boost/ticket/7415 #7415]
275 and [@https://svn.boost.org/trac/boost/ticket/7416 #7416], [@https://svn.boost.org/trac/boost/ticket/7183 #7183],
276 [@https://svn.boost.org/trac/boost/ticket/7649 #7649], [@https://svn.boost.org/trac/boost/ticket/7694 #7694],
277 [@https://svn.boost.org/trac/boost/ticket/4445 #4445], [@https://svn.boost.org/trac/boost/ticket/7492 #7492],
278 [@https://svn.boost.org/trac/boost/ticket/7891 #7891], [@https://svn.boost.org/trac/boost/ticket/7429 #7429].
279 * Fixed mistake in calculating pooled standard deviation in two-sample students t example
280 [@https://svn.boost.org/trac/boost/ticket/7402 #7402].
281 * Improve complex acos/asin/atan, see [@https://svn.boost.org/trac/boost/ticket/7290 #7290],
282 [@https://svn.boost.org/trac/boost/ticket/7291 #7291].
283 * Improve accuracy in some corner cases of __cyl_bessel_j and __gamma_p/__gamma_q thanks to suggestions from Rocco Romeo.
284 * Improve accuracy of Bessel J and Y for integer orders thanks to suggestions from Rocco Romeo.
285
286 [h4 Boost-1.52]
287
288 * Corrected moments for small degrees of freedom [@https://svn.boost.org/trac/boost/ticket/7177 #7177] (reported by Thomas Mang).
289 * Added [link math_toolkit.airy Airy functions] and [link math_toolkit.jacobi Jacobi Elliptic functions].
290 * Corrected failure to detect bad parameters in many distributions
291 [@https://svn.boost.org/trac/boost/ticket/6934 #6934] (reported by Florian Schoppmann)
292 by adding a function check_out_of_range to test many possible bad parameters.
293 This test revealed several distributions where the checks for bad parameters were ineffective,
294 and these have been rectified.
295 * 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].
296 * Fixed issues [@https://svn.boost.org/trac/boost/ticket/6517 #6517], [@https://svn.boost.org/trac/boost/ticket/6362 #6362],
297 [@https://svn.boost.org/trac/boost/ticket/7053 #7053], [@https://svn.boost.org/trac/boost/ticket/2693 #2693],
298 [@https://svn.boost.org/trac/boost/ticket/6937 #6937], [@https://svn.boost.org/trac/boost/ticket/7099 #7099].
299
300
301 * Permitted infinite degrees of freedom [@https://svn.boost.org/trac/boost/ticket/7259 #7259]
302 implemented using the normal distribution (requested by Thomas Mang).
303 * Much enhanced accuracy for large degrees of freedom [nu] and/or large non-centrality [delta]
304 by switching to use the Students t distribution
305 (or Normal distribution for infinite degrees of freedom)
306  centered at delta,
307 when [delta] / (4 * [nu])  < epsilon for the floating-point type in use.
308 [@https://svn.boost.org/trac/boost/ticket/7259 #7259].
309 It was found that the incomplete beta was suffering from serious cancellation errors
310 when degrees of freedom was very large. (That has now been fixed in our code,
311 but any code based on Didonato and Morris's original papers
312 (probably every implementation out there actually) will have the same issue).
313
314 [h4 Boost-1.51]
315 See Boost-1.52 - some items were added but not listed in time for the release.
316
317 [h4 Boost-1.50]
318
319 * Promoted math constants to be 1st class citizens,
320 including convenient access to the most widely used
321 built-in float, double, long double via three namespaces.
322 * Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta: see __owens_t and skew_normal_distrib.
323 * Added Hankel functions __cyl_hankel_1, __cyl_hankel_2, __sph_hankel_1 and __sph_hankel_2.
324 * Corrected issue [@https://svn.boost.org/trac/boost/ticket/6627 #6627 nonfinite_num_put formatting of 0.0 is incorrect]
325 based on a patch submitted by K R Walker.
326 * Changed constant initialization mechanism so that it is thread safe even for user-defined types, also
327 so that user defined types get the full precision of the constant, even when `long double` does not.
328 So for example 128-bit rational approximations will work with UDT's and do the right thing, even though
329 `long double` may be only 64 or 80 bits.
330 * Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
331
332 [h4 Boost-1.49]
333
334 * Deprecated wrongly named `twothirds` math constant in favour of `two_thirds` (with underscore separator).
335 (issue [@https://svn.boost.org/trac/boost/ticket/6199 #6199]).
336 * Refactored test data and some special function code to improve support for arbitary precision and/or expression-template-enabled types.
337 * Added new faster zeta function evaluation method.
338
339 Fixed issues:
340
341 * Corrected CDF complement for Laplace distribution (issue [@https://svn.boost.org/trac/boost/ticket/6151 #6151]).
342 * Corrected branch cuts on the complex inverse trig functions, to handle signed zeros (issue [@https://svn.boost.org/trac/boost/ticket/6171 #6171]).
343 * Fixed bug in `bessel_yn` which caused incorrect overflow errors to be raised for negative ['n] (issue [@https://svn.boost.org/trac/boost/ticket/6367 #6367]).
344 * Also fixed minor/cosmetic/configuration issues [@https://svn.boost.org/trac/boost/ticket/6120 #6120], [@https://svn.boost.org/trac/boost/ticket/6191 #6191],
345   [@https://svn.boost.org/trac/boost/ticket/5982 #5982], [@https://svn.boost.org/trac/boost/ticket/6130 #6130],
346   [@https://svn.boost.org/trac/boost/ticket/6234 #6234], [@https://svn.boost.org/trac/boost/ticket/6307 #6307],
347   [@https://svn.boost.org/trac/boost/ticket/6192 #6192].
348
349 [h4 Boost-1.48]
350
351 * Added new series evaluation methods to the cyclic Bessel I, J, K and Y functions.
352 Also taken great care to avoid spurious over and underflow of these functions.
353 Fixes issue [@https://svn.boost.org/trac/boost/ticket/5560 #5560]
354
355 * Added an example of using Inverse Chi-Squared distribution for Bayesian statistics,
356 provided by Thomas Mang.
357
358 * Added tests to use improved version of lexical_cast which handles C99 nonfinites without using globale facets.
359
360 * Corrected wrong out-of-bound uniform distribution CDF complement values [@https://svn.boost.org/trac/boost/ticket/5733 #5733].
361
362 * Enabled long double support on OpenBSD (issue [@https://svn.boost.org/trac/boost/ticket/6014 #6014]).
363
364 * Changed nextafter and related functions to behave in the same way as other implementations - so that nextafter(+INF, 0)
365 is a finite value (issue [@https://svn.boost.org/trac/boost/ticket/5823 #5832]).
366
367 * Changed tuple include configuration to fix issue when using in conjunction with Boost.Tr1 (issue [@https://svn.boost.org/trac/boost/ticket/5934 #5934]).
368
369 * Changed class eps_tolerance to behave correctly when both ends of the range are zero (issue [@https://svn.boost.org/trac/boost/ticket/6001 #6001]).
370
371 * Fixed missing include guards on prime.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5927 #5927]).
372
373 * Removed unused/undocumented constants from constants.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5982 #5982]).
374
375 * Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5914 #5914]).
376
377 * Minor patches for Cray compiler compatibility.
378
379 [h4 Boost-1.47]
380
381 * Added changesign function to sign.hpp to facilitate addition of nonfinite facets.
382 * Addition of nonfinite facets from Johan Rade, with tests,
383 examples of use for C99 format infinity and NaN, and documentation.
384 * Added tests and documentation of changesign from Johan Rade.
385
386 [h4 Boost-1.46.1]
387
388 * Fixed issues [@https://svn.boost.org/trac/boost/ticket/5095 #5095], [@https://svn.boost.org/trac/boost/ticket/5095 #5113].
389
390 [h4 Boost-1.46.0]
391
392 * Added Wald, Inverse Gaussian and geometric distributions.
393 * Added information about configuration macros.
394 * Added support for mpreal as a real-numbered type.
395
396 [h4 Boost-1.45.0]
397
398 * Added warnings about potential ambiguity with std random library in distribution and function names.
399 * Added inverse gamma distribution and inverse chi_square and scaled inverse chi_square.
400 * Editorial revision of documentation, and added FAQ.
401
402 [h4 Boost-1.44.0]
403
404 * Fixed incorrect range and support for Rayleigh distribution.
405 * Fixed numerical error in the quantile of the Student's T distribution: the function was
406 returning garbage values for non-integer degrees of freedom between 2 and 3.
407
408 [h4 Boost-1.41.0]
409
410 * Significantly improved performance for the incomplete gamma function and its inverse.
411
412 [h4 Boost-1.40.0]
413
414 * Added support for MPFR as a bignum type.
415 * Added some full specializations of the policy classes to reduce compile times.
416 * Added logistic and hypergeometric distributions, from Gautam Sewani's Google Summer of Code project.
417 * Added Laplace distribution submitted by Thijs van den Berg.
418 * Updated performance test code to include new distributions, and improved the performance of the non-central distributions.
419 * Added SSE2 optimised __lanczos code, from Gautam Sewani's Google Summer of Code project.
420 * Fixed bug in cyl_bessel_i that used an incorrect approximation for [nu] = 0.5, also effects the non-central
421    Chi Square Distribution when [nu] = 3, see bug report [@https://svn.boost.org/trac/boost/ticket/2877 #2877].
422 * Fixed minor bugs [@https://svn.boost.org/trac/boost/ticket/2873 #2873].
423
424 [h4 Boost-1.38.0]
425
426 * Added Johan R'''&#xE5;'''de's optimised floating point classification routines.
427 * Fixed code so that it compiles in GCC's -pedantic mode (bug report
428 [@https://svn.boost.org/trac/boost/ticket/1451 #1451]).
429
430 [h4 Boost-1.37.0]
431
432 * Improved accuracy and testing of the inverse hypergeometric functions.
433
434 [h4 Boost-1.36.0]
435
436 * Added Noncentral Chi Squared Distribution.
437 * Added Noncentral Beta Distribution.
438 * Added Noncentral F Distribution.
439 * Added Noncentral T Distribution.
440 * Added Exponential Integral Functions.
441 * Added Zeta Function.
442 * Added Rounding and Truncation functions.
443 * Added Compile time powers of runtime bases.
444 * Added SSE2 optimizations for Lanczos evaluation.
445
446 [h4 Boost-1.35.0: Post Review First Official Release]
447
448 * Added Policy based framework that allows fine grained control
449 over function behaviour.
450 * [*Breaking change:] Changed default behaviour for domain, pole and overflow errors
451 to throw an exception (based on review feedback), this
452 behaviour can be customised using __Policy's.
453 * [*Breaking change:] Changed exception thrown when an internal evaluation error
454 occurs to boost::math::evaluation_error.
455 * [*Breaking change:] Changed discrete quantiles to return an integer result:
456 this is anything up to 20 times faster than finding the true root, this
457 behaviour can be customised using __Policy's.
458 * Polynomial/rational function evaluation is now customisable and hopefully
459 faster than before.
460 * Added performance test program.
461
462 [h4 Milestone 4: Second Review Candidate (1st March 2007)]
463
464 * Moved Xiaogang Zhang's Bessel Functions code into the library,
465 and brought them into line with the rest of the code.
466 * Added C# "Distribution Explorer" demo application.
467
468 [h4 Milestone 3: First Review Candidate (31st Dec 2006)]
469
470 * Implemented the main probability distribution and density functions.
471 * Implemented digamma.
472 * Added more factorial functions.
473 * Implemented the Hermite, Legendre and Laguerre polynomials plus the
474 spherical harmonic functions from TR1.
475 * Moved Xiaogang Zhang's elliptic integral code into the library,
476 and brought them into line with the rest of the code.
477 * Moved Hubert Holin's existing Boost.Math special functions
478 into this library and brought them into line with the rest of the code.
479
480 [h4 Milestone 2: Released September 10th 2006]
481
482 * Implement preview release of the statistical distributions.
483 * Added statistical distributions tutorial.
484 * Implemented root finding algorithms.
485 * Implemented the inverses of the incomplete gamma and beta functions.
486 * Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
487 * Integrated the statistical results generated from
488 the test data with Boost.Test: uses a database of expected
489 results, indexed by test, floating point type, platform, and compiler.
490 * Improved lgamma near 1 and 2 (rational approximations).
491 * Improved erf/erfc inverses (rational approximations).
492 * Implemented Rational function generation (the Remez method).
493
494 [h4 Milestone 1: Released March 31st 2006]
495
496 * Implement gamma/beta/erf functions along with their incomplete counterparts.
497 * Generate high quality test data, against which future improvements can be judged.
498 * Provide tools for the evaluation of infinite series, continued fractions, and
499 rational functions.
500 * Provide tools for testing against tabulated test data, and collecting statistics
501 on error rates.
502 * Provide sufficient docs for people to be able to find their way around the library.
503
504 SVN Revisions:
505
506 Sandbox and trunk last synchonised at revision: .
507
508 ]
509 [/
510   Copyright 2006 - 2013 John Maddock and Paul A. Bristow.
511   Distributed under the Boost Software License, Version 1.0.
512   (See accompanying file LICENSE_1_0.txt or copy at
513   http://www.boost.org/LICENSE_1_0.txt).
514 ]
515
516
517