From 89216def5d0901cf4a3b8dd992fdbbf65fda63f9 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Thu, 25 Mar 2021 15:02:10 +0300 Subject: [PATCH 01/21] Fix for beta link error (#580) --- include/boost/math/special_functions/acosh.hpp | 1 + include/boost/math/special_functions/asinh.hpp | 1 + include/boost/math/special_functions/atanh.hpp | 1 + include/boost/math/special_functions/log1p.hpp | 1 + 4 files changed, 4 insertions(+) diff --git a/include/boost/math/special_functions/acosh.hpp b/include/boost/math/special_functions/acosh.hpp index cdc490559..9db69ec91 100644 --- a/include/boost/math/special_functions/acosh.hpp +++ b/include/boost/math/special_functions/acosh.hpp @@ -22,6 +22,7 @@ #include #include #include +#include // This is the inverse of the hyperbolic cosine function. diff --git a/include/boost/math/special_functions/asinh.hpp b/include/boost/math/special_functions/asinh.hpp index e55a35628..3dc1f63f4 100644 --- a/include/boost/math/special_functions/asinh.hpp +++ b/include/boost/math/special_functions/asinh.hpp @@ -23,6 +23,7 @@ #include #include #include +#include // This is the inverse of the hyperbolic sine function. diff --git a/include/boost/math/special_functions/atanh.hpp b/include/boost/math/special_functions/atanh.hpp index 871a465a8..c2d548dd3 100644 --- a/include/boost/math/special_functions/atanh.hpp +++ b/include/boost/math/special_functions/atanh.hpp @@ -22,6 +22,7 @@ #include #include #include +#include // This is the inverse of the hyperbolic tangent function. diff --git a/include/boost/math/special_functions/log1p.hpp b/include/boost/math/special_functions/log1p.hpp index 7126cc819..44b1844e7 100644 --- a/include/boost/math/special_functions/log1p.hpp +++ b/include/boost/math/special_functions/log1p.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # include From 3ecdffc2645ebde52f8845a1fc2dababbbc5248c Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 29 Mar 2021 13:25:09 +0100 Subject: [PATCH 02/21] Make gini calculation serial only for now. See https://github.com/boostorg/math/issues/585 --- .../math/statistics/univariate_statistics.hpp | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/include/boost/math/statistics/univariate_statistics.hpp b/include/boost/math/statistics/univariate_statistics.hpp index b24b1089e..80ae50413 100644 --- a/include/boost/math/statistics/univariate_statistics.hpp +++ b/include/boost/math/statistics/univariate_statistics.hpp @@ -413,6 +413,12 @@ inline auto median(RandomAccessContainer & v) return median(std::execution::seq, std::begin(v), std::end(v)); } +#if 0 +// +// Parallel gini calculation is curently broken, see: +// https://github.com/boostorg/math/issues/585 +// We will fix this at a later date, for now just use a serial implementation: +// template inline auto gini_coefficient(ExecutionPolicy&& exec, RandomAccessIterator first, RandomAccessIterator last) { @@ -445,6 +451,27 @@ inline auto gini_coefficient(ExecutionPolicy&& exec, RandomAccessIterator first, return detail::gini_coefficient_parallel_impl(exec, first, last); } } +#else +template +inline auto gini_coefficient(ExecutionPolicy&& exec, RandomAccessIterator first, RandomAccessIterator last) +{ + using Real = typename std::iterator_traits::value_type; + + if (!std::is_sorted(exec, first, last)) + { + std::sort(exec, first, last); + } + + if constexpr (std::is_integral_v) + { + return detail::gini_coefficient_sequential_impl(first, last); + } + else + { + return detail::gini_coefficient_sequential_impl(first, last); + } +} +#endif template inline auto gini_coefficient(ExecutionPolicy&& exec, RandomAccessContainer & v) From d6e19aa2de722948f7e55f91084b8271a644e691 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Wed, 9 Jun 2021 19:49:17 +0300 Subject: [PATCH 03/21] Add CMakeLists.txt (from current develop) --- CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..a55f9d920 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,50 @@ +# Copyright 2020 Peter Dimov +# Copyright 2021 Matt Borland +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt + +cmake_minimum_required(VERSION 3.5...3.16) + +project(boost_math VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) + +add_library(boost_math INTERFACE) + +add_library(Boost::math ALIAS boost_math) + +target_include_directories(boost_math INTERFACE include) + +include(CMakeDependentOption) + +cmake_dependent_option(BOOST_MATH_STANDALONE "Use Boost.Math in standalone mode" ON "NOT BOOST_SUPERPROJECT_VERSION" OFF) + +message(STATUS "Boost.Math: standalone mode ${BOOST_MATH_STANDALONE}") + +if(BOOST_MATH_STANDALONE) + + target_compile_definitions(boost_math INTERFACE BOOST_MATH_STANDALONE=1) + +else() + + target_link_libraries(boost_math + INTERFACE + Boost::assert + Boost::concept_check + Boost::config + Boost::core + Boost::integer + Boost::lexical_cast + Boost::predef + Boost::random + Boost::static_assert + Boost::throw_exception + ) + +endif() + +# Only enable tests when we're the root project +if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + + include(CTest) + add_subdirectory(test) + +endif() From a7bfb5a914bed5cdeeb826ca06bcbfc317280c95 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sun, 27 Jun 2021 19:38:05 +0100 Subject: [PATCH 04/21] Prep for 1.77: Rework hypergeometric distro equations. Fix up Fibonacci docs. Fix Fibonacci constexpr and noexcept usage and add to testing. Regenerate docs. --- doc/distributions/hypergeometric.qbk | 24 +- doc/equations/hypergeometric6.svg | 686 +++++++++++++++++- doc/html/index.html | 2 +- doc/html/indexes/s01.html | 34 +- doc/html/indexes/s02.html | 10 +- doc/html/indexes/s03.html | 2 +- doc/html/indexes/s04.html | 3 +- doc/html/indexes/s05.html | 82 ++- doc/html/interpolation.html | 1 + doc/html/math_toolkit/bilinear_uniform.html | 144 ++++ doc/html/math_toolkit/conventions.html | 2 +- .../dist_ref/dists/hypergeometric_dist.html | 16 - doc/html/math_toolkit/history1.html | 122 ++-- doc/html/math_toolkit/history2.html | 122 ++-- doc/html/math_toolkit/navigation.html | 2 +- doc/html/math_toolkit/number_series.html | 2 + .../number_series/fibonacci_numbers.html | 198 +++++ .../math_toolkit/number_series/primes.html | 6 +- doc/html/math_toolkit/quintic_hermite.html | 6 +- doc/html/math_toolkit/sf_gamma.html | 6 +- doc/html/quadrature.html | 6 +- doc/html/special.html | 2 + doc/html/standalone_HTML.manifest | 2 + doc/overview/roadmap.qbk | 12 + doc/sf/number_series.qbk | 91 ++- example/Jamfile.v2 | 2 +- example/reciprocal_fibonacci_constant.cpp | 4 + .../math/special_functions/fibonacci.hpp | 16 +- test/Jamfile.v2 | 2 +- test/test_fibonacci.cpp | 16 +- 30 files changed, 1460 insertions(+), 163 deletions(-) create mode 100644 doc/html/math_toolkit/bilinear_uniform.html create mode 100644 doc/html/math_toolkit/number_series/fibonacci_numbers.html diff --git a/doc/distributions/hypergeometric.qbk b/doc/distributions/hypergeometric.qbk index 89b9ce46f..5780c788d 100644 --- a/doc/distributions/hypergeometric.qbk +++ b/doc/distributions/hypergeometric.qbk @@ -229,18 +229,24 @@ gives the required CDF. The median is simply the quantile at 0.5, and the remaining properties are calculated via: -[equation hypergeometric6] +[/ +Requires amsmath and mathtools: + +\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor} +\begin{equation*} +\begin{split} +mean & = \frac{rn}{N} \\ +mode & = \floor*{ \frac{(r+1)(n+1)}{N+2} }\\ +variance & = \frac{r(\frac{n}{N})(1-\frac{n}{N})(N-r)}{(N-1)}\\ +skewness & = \frac{(N-2n)\sqrt{(N-1)}(N-2r)}{\sqrt{rn(N-n)(N-r)}(N-2)}\\ +kertosis\:excess & = \frac{(N-1)N^2(N(N+1)-6r(N-r)-6n(N-n)+6nr(N-r)(N-n)(5N-6)}{nr(N-r)(N-n)(N-2)(N-3)} +\end{split} +\end{equation*} -[note The kurtosis formula above is not quite correct and kurtosis excess is now calculated -from -[@https://www.wolframalpha.com/input/?i=kurtosis+hypergeometric+distribution Wolfram Alpha hypergeometric distribution kurtosis]. -(The hypergeometric distribution kurtosis excess is mentioned in -[@https://mathworld.wolfram.com/HypergeometricDistribution.html Wolfram Hypergeometric distribution] -but coyly only described as ['\"the kurtosis excess is given by a complicated expression.\"]). -This has been found numerically equivalent to the -[@https://en.wikipedia.org/wiki/Hypergeometric_distribution Wikipedia hypergeometric kurtosis excess formula]. ] +[equation hypergeometric6] + [endsect] [/ hypergeometric.qbk diff --git a/doc/equations/hypergeometric6.svg b/doc/equations/hypergeometric6.svg index d53504b33..8be5ec9e6 100644 --- a/doc/equations/hypergeometric6.svg +++ b/doc/equations/hypergeometric6.svg @@ -1,2 +1,684 @@ - -mean=rnNmode=floor((r+1)(n+1)N+2)variance=r(nN)(1nN)(Nr)(N1)skewness=(N2n)(N1)(N2r)rn(Nn)(Nr)(N2)kurtosis excess=(N2(N1)r(N2)(N3)(Nr))(N(N+1)6N(Nr)n(Nn)+3r(Nr)(N+6)N26) \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/html/index.html b/doc/html/index.html index 5f71a8555..c46436556 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -134,7 +134,7 @@ This manual is also available in -

Last revised: June 16, 2021 at 10:35:24 GMT

+

Last revised: June 27, 2021 at 18:26:02 GMT


diff --git a/doc/html/indexes/s01.html b/doc/html/indexes/s01.html index ed5fcc865..818036fcf 100644 --- a/doc/html/indexes/s01.html +++ b/doc/html/indexes/s01.html @@ -24,7 +24,7 @@

-Function Index

+Function Index

1 2 4 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

@@ -123,6 +123,10 @@
  • +

    addition

    + +
  • +
  • add_fn

  • @@ -277,7 +281,10 @@
  • at

    - +
  • atanh

    @@ -1320,6 +1327,10 @@
  • +

    fibonacci

    + +
  • +
  • find_alpha

  • @@ -2060,6 +2071,7 @@
  • -

    means

    - -
  • -
  • means_and_covariance

  • @@ -2720,6 +2728,7 @@
  • Automatic Differentiation

  • Bessel Functions of the First and Second Kinds

  • Empirical Cumulative Distribution Function

  • +
  • Fibonacci Numbers

  • Lanczos Smoothing Derivatives

  • Modified Bessel Functions of the First and Second Kinds

  • tanh_sinh

  • @@ -2765,6 +2774,7 @@
  • +

    set

    + +
  • +
  • set_zero

  • @@ -3631,6 +3649,10 @@
  • +

    unchecked_fibonacci

    + +
  • +
  • unreal

    • Octonion Member Functions

    • diff --git a/doc/html/indexes/s02.html b/doc/html/indexes/s02.html index 117811624..e74284693 100644 --- a/doc/html/indexes/s02.html +++ b/doc/html/indexes/s02.html @@ -24,7 +24,7 @@

    -Class Index

    +Class Index

    A B C D E F G H I K L M N O P Q R S T U V W

    @@ -45,6 +45,10 @@
  • bernoulli_distribution

  • beta_distribution

  • +
  • +

    bilinear_uniform

    + +
  • binomial_distribution

  • @@ -182,6 +186,10 @@
    • +

      fibonacci_generator

      + +
    • +
    • fisher_f_distribution

    • diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index b5a850a11..cc4c2a8c5 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -24,7 +24,7 @@

    -Typedef Index

    +Typedef Index

    A B C D E F G H I K L N P R S T U V W

    diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index e93374726..e60c7717c 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -24,7 +24,7 @@

    -Macro Index

    +Macro Index

    B F

    @@ -308,6 +308,7 @@

    BOOST_MATH_STANDALONE

    diff --git a/doc/html/indexes/s05.html b/doc/html/indexes/s05.html index 6e8b4bbce..33bc41746 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -23,7 +23,7 @@

    -Index

    +Index

    1 2 4 5 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    @@ -375,6 +375,10 @@
  • +

    addition

    + +
  • +
  • add_fn

  • @@ -612,7 +616,10 @@
  • at

    - +
  • atanh

    @@ -818,6 +825,22 @@
  • beta_distribution

  • +

    Bilinear Uniform Interpolation

    + +
  • +
  • +

    bilinear_uniform

    + +
  • +
  • binomial

  • @@ -1221,6 +1244,7 @@

    BOOST_MATH_STANDALONE

    @@ -2404,6 +2428,7 @@
  • Arithmetic-Geometric Mean

  • Automatic Differentiation

  • Barycentric Rational Interpolation

  • +
  • Bilinear Uniform Interpolation

  • Binomial Distribution

  • Binomial Quiz Example

  • Bivariate Statistics

  • @@ -2430,6 +2455,7 @@
  • Exponential Integral Ei

  • Extreme Value Distribution

  • Factorial

  • +
  • Fibonacci Numbers

  • Floating-Point Constant Macros

  • Gauss-Kronrod Quadrature

  • Gauss-Legendre quadrature

  • @@ -4142,6 +4168,7 @@
  • Elliptic Integral Overview

  • F Distribution

  • Factorial

  • +
  • Fibonacci Numbers

  • Find Scale (Standard Deviation) Example

  • Finding Zeros of Bessel Functions of the First and Second Kinds

  • Gamma (and Erlang) Distribution

  • @@ -4232,10 +4259,6 @@
  • -

    F Distribution Examples

    - -
  • -
  • Facets for Floating-Point Infinities and NaNs

  • +

    fibonacci

    + +
  • +
  • +

    Fibonacci Numbers

    + +
  • +
  • +

    fibonacci_generator

    + +
  • +
  • file

    diff --git a/doc/html/math_toolkit/bilinear_uniform.html b/doc/html/math_toolkit/bilinear_uniform.html new file mode 100644 index 000000000..346b4f428 --- /dev/null +++ b/doc/html/math_toolkit/bilinear_uniform.html @@ -0,0 +1,144 @@ + + + +Bilinear Uniform Interpolation + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +

    + + Synopsis +

    +
    #include <boost/math/interpolators/bilinear_uniform.hpp>
    +
    +namespace boost::math::interpolators {
    +
    +template <class RandomAccessContainer>
    +class bilinear_uniform
    +{
    +public:
    +    using Real = typename RandomAccessContainer::value_type;
    +
    +    bilinear_uniform(RandomAccessContainer && fieldData, decltype(fieldData.size()) rows, decltype(fieldData.size()) cols, Real dx = 1, Real dy = 1, Real x0 = 0, Real y0 = 0)
    +
    +    Real operator()(Real x, Real y) const;
    +};
    +
    +

    + + Bilinear + Uniform Interpolation +

    +

    + The bilinear uniform interpolator takes a grid of data points specified by + a linear index and interpolates between each segment using a bilinear function. + Note that "bilinear" does not mean linear-it is the product of two + linear functions. The interpolant is continuous and its evaluation is constant + time. An example usage is as follows: +

    +
    std::vector<double> v{0.1, 0.2, 0.3,
    +                      0.4, 0.5, 0.5};
    +using boost::math::interpolators::bilinear_uniform;
    +int rows = 2;
    +int cols = 3;
    +double dx = 1;
    +double dy = 1;
    +auto bu = bilinear_uniform(std::move(v), rows, cols, dx, dy);
    +// evaluate at a point:
    +double z = bu(0.0, 0.0);
    +
    +

    + Periodically, it is helpful to see what data the interpolator has. This can + be achieved via +

    +
    std::cout << ub << "\n";
    +
    +

    + Note that the interpolator is pimpl'd, so that copying the class is cheap, + and hence it can be shared between threads. (The call operator is threadsafe.) +

    +

    + Note that the layout of the field data follows the convention found in laying + out images: The first value is associated with (x0, y0), and the last value + is associate with (x0 + (cols - 1)dx, y0 + (rows - 1)dy). This matches with + how we think about laying out matrices in C order, but of course there is no + canonical choice and conventions must be made. For example, it is traditional + in image processing the associate the first field value with the center of + the pixel (which would be called a cell-centered field in VTK). This interpolator + is point-centered, in the sense that (x0,y0) is associated with value v[0], + and (x0+dx, y0) associated with v[1]. If you have cell-centered data at (0,0), + then just pass (x0,y0) = (0.5, 0.5) to this interpolator. +

    +

    + Note that this interpolator does not provide the option for a rotation. We + regarded that as too expensive to handle in this class. Rotating the arguments + must be performed by the user. +

    +

    + + Complexity + and Performance +

    +

    + The google/benchmark in reporting/performance/bilinear_uniform_performance.cpp demonstrates + the cost of the call operator for this interpolator: +

    +
    Run on (16 X 4300 MHz CPU s)
    +CPU Caches:
    +  L1 Data 32K (x8)
    +  L1 Instruction 32K (x8)
    +  L2 Unified 1024K (x8)
    +  L3 Unified 11264K (x1)
    +Load Average: 0.92, 0.64, 0.35
    +--------------------------------------
    +Benchmark                      Time
    +--------------------------------------
    +Bilinear<double>/64            13.6 ns
    +Bilinear<double>/128           13.3 ns
    +Bilinear<double>/256           13.9 ns
    +Bilinear<double>/512           13.7 ns
    +Bilinear<double>/1024          13.2 ns
    +Bilinear<double>/2048          13.1 ns
    +Bilinear<double>/4096          13.2 ns
    +Bilinear<double>/8192          13.2 ns
    +
    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/math_toolkit/conventions.html b/doc/html/math_toolkit/conventions.html index 5b815d0c0..f0d0f1943 100644 --- a/doc/html/math_toolkit/conventions.html +++ b/doc/html/math_toolkit/conventions.html @@ -27,7 +27,7 @@ Document Conventions

    - +

    This documentation aims to use of the following naming and formatting conventions. diff --git a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html index 7b11aa984..f204bcf3b 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html @@ -342,22 +342,6 @@

    -
    - - - - - -
    [Note]Note

    - The kurtosis formula above is not quite correct and kurtosis excess is - now calculated from Wolfram - Alpha hypergeometric distribution kurtosis. (The hypergeometric - distribution kurtosis excess is mentioned in Wolfram - Hypergeometric distribution but coyly only described as "the - kurtosis excess is given by a complicated expression."). - This has been found numerically equivalent to the Wikipedia - hypergeometric kurtosis excess formula. -

    diff --git a/doc/html/math_toolkit/history1.html b/doc/html/math_toolkit/history1.html index 3d50c46e6..3ff59e77c 100644 --- a/doc/html/math_toolkit/history1.html +++ b/doc/html/math_toolkit/history1.html @@ -38,6 +38,42 @@

    + Math-3.1.0 + (Boost-1.77) +
    +
      +
    • + This library can now be used entirely standalone, without the rest of Boost: + either use a compiler which supports __has_include + or define BOOST_MATH_STANDALONE + to enable standalone mode. +
    • +
    • + Add Bilinear Uniform Interpolation. +
    • +
    • + Add Fibonacci + Numbers. +
    • +
    • + Fix Hypergeometric Distribution kertosis, see #639. +
    • +
    • + Fix closed Catmull-Rom curves to have the same start/end point. See #636. +
    • +
    • + Correct Bernoulli number caching in multi-threading multiprecision case. +
    • +
    • + Re-enabled the ability to build in environments with no std lib threading + support. See #621. +
    • +
    • + Correct Gini-coefficient parrellel calculation. +
    • +
    +
    + Math-3.0.0 (Boost-1.76)
    @@ -88,7 +124,7 @@
    - + Math-2.13.0 (Boost-1.75)
    @@ -139,7 +175,7 @@
    - + Math-2.12.0 (Boost-1.73)
    @@ -181,7 +217,7 @@
    - + Math-2.11.0 (Boost-1.72)
    @@ -243,7 +279,7 @@
    - + Math-2.10.0 (Boost-1.71)
    @@ -277,7 +313,7 @@
    - + Math-2.9.0 (Boost-1.70)
    @@ -331,7 +367,7 @@
    - + Math-2.8.0 (Boost-1.69)
    @@ -388,7 +424,7 @@
    - + Math-2.7.1 (Boost-1.68)
    @@ -402,7 +438,7 @@
    - + Math-2.7.0 (Boost-1.66)
    @@ -419,7 +455,7 @@
    - + Math-2.6.0 (Boost-1.65)
    @@ -456,7 +492,7 @@
    - + Math-2.5.2 (Boost-1.64)
    @@ -473,7 +509,7 @@
    - + Math-2.5.1 (Boost-1.63)
    @@ -489,7 +525,7 @@
    - + Math-2.5.0 (Boost-1.62)
    @@ -514,7 +550,7 @@
    - + Math-2.4.0 (Boost-1.61)
    @@ -525,7 +561,7 @@ Polynomial arithmetic added to tools.
    - + Math-2.3.0 (Boost-1.60)
    @@ -604,7 +640,7 @@
    - + Math-2.2.1

    @@ -623,7 +659,7 @@

    - + Math-2.2.0 (boost-1.58.0)
    @@ -667,7 +703,7 @@
    - + Math-2.1.0 (boost-1.57.0)
    @@ -693,7 +729,7 @@
    - + Math-2.0.0 (Boost-1.56.0)
    @@ -744,7 +780,7 @@
    - + Math-1.9.1
      @@ -759,7 +795,7 @@
    - + Math-1.9.0
      @@ -826,7 +862,7 @@
    - + Boost-1.55
      @@ -885,7 +921,7 @@ and Accurate Parallel Inversion of the Gamma Distribution, Thomas Luu

      - + Boost-1.54
      @@ -939,7 +975,7 @@
    - + Boost-1.53
      @@ -974,7 +1010,7 @@
    - + Boost-1.52
      @@ -1021,14 +1057,14 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.51

    See Boost-1.52 - some items were added but not listed in time for the release.

    - + Boost-1.50
      @@ -1065,7 +1101,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.49
      @@ -1109,7 +1145,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.48
      @@ -1160,7 +1196,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.47
      @@ -1177,7 +1213,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.46.1
    • @@ -1185,7 +1221,7 @@ by switching to use the Students t distribution (or Normal distribution #5113.
    - + Boost-1.46.0
      @@ -1200,7 +1236,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.45.0
      @@ -1217,7 +1253,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.44.0
      @@ -1231,7 +1267,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.41.0
    • @@ -1239,7 +1275,7 @@ by switching to use the Students t distribution (or Normal distribution its inverse.
    - + Boost-1.40.0
      @@ -1275,7 +1311,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.38.0
      @@ -1287,14 +1323,14 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.37.0
    • Improved accuracy and testing of the inverse hypergeometric functions.
    - + Boost-1.36.0
      @@ -1327,7 +1363,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.35.0: Post Review First Official Release
    @@ -1359,7 +1395,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 4: Second Review Candidate (1st March 2007)
    @@ -1373,7 +1409,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 3: First Review Candidate (31st Dec 2006)
    @@ -1401,7 +1437,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 2: Released September 10th 2006
    @@ -1437,7 +1473,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 1: Released March 31st 2006
    diff --git a/doc/html/math_toolkit/history2.html b/doc/html/math_toolkit/history2.html index 28cb77aac..d62d16317 100644 --- a/doc/html/math_toolkit/history2.html +++ b/doc/html/math_toolkit/history2.html @@ -38,6 +38,42 @@

    + Math-3.1.0 + (Boost-1.77) +
    +
      +
    • + This library can now be used entirely standalone, without the rest of Boost: + either use a compiler which supports __has_include + or define BOOST_MATH_STANDALONE + to enable standalone mode. +
    • +
    • + Add Bilinear Uniform Interpolation. +
    • +
    • + Add Fibonacci + Numbers. +
    • +
    • + Fix Hypergeometric Distribution kertosis, see #639. +
    • +
    • + Fix closed Catmull-Rom curves to have the same start/end point. See #636. +
    • +
    • + Correct Bernoulli number caching in multi-threading multiprecision case. +
    • +
    • + Re-enabled the ability to build in environments with no std lib threading + support. See #621. +
    • +
    • + Correct Gini-coefficient parrellel calculation. +
    • +
    +
    + Math-3.0.0 (Boost-1.76)
    @@ -88,7 +124,7 @@
    - + Math-2.13.0 (Boost-1.75)
    @@ -139,7 +175,7 @@
    - + Math-2.12.0 (Boost-1.73)
    @@ -181,7 +217,7 @@
    - + Math-2.11.0 (Boost-1.72)
    @@ -243,7 +279,7 @@
    - + Math-2.10.0 (Boost-1.71)
    @@ -277,7 +313,7 @@
    - + Math-2.9.0 (Boost-1.70)
    @@ -331,7 +367,7 @@
    - + Math-2.8.0 (Boost-1.69)
    @@ -388,7 +424,7 @@
    - + Math-2.7.1 (Boost-1.68)
    @@ -402,7 +438,7 @@
    - + Math-2.7.0 (Boost-1.66)
    @@ -419,7 +455,7 @@
    - + Math-2.6.0 (Boost-1.65)
    @@ -456,7 +492,7 @@
    - + Math-2.5.2 (Boost-1.64)
    @@ -473,7 +509,7 @@
    - + Math-2.5.1 (Boost-1.63)
    @@ -489,7 +525,7 @@
    - + Math-2.5.0 (Boost-1.62)
    @@ -514,7 +550,7 @@
    - + Math-2.4.0 (Boost-1.61)
    @@ -525,7 +561,7 @@ Polynomial arithmetic added to tools.
    - + Math-2.3.0 (Boost-1.60)
    @@ -604,7 +640,7 @@
    - + Math-2.2.1

    @@ -623,7 +659,7 @@

    - + Math-2.2.0 (boost-1.58.0)
    @@ -667,7 +703,7 @@
    - + Math-2.1.0 (boost-1.57.0)
    @@ -693,7 +729,7 @@
    - + Math-2.0.0 (Boost-1.56.0)
    @@ -744,7 +780,7 @@
    - + Math-1.9.1
      @@ -759,7 +795,7 @@
    - + Math-1.9.0
      @@ -826,7 +862,7 @@
    - + Boost-1.55
      @@ -885,7 +921,7 @@ and Accurate Parallel Inversion of the Gamma Distribution, Thomas Luu

      - + Boost-1.54
      @@ -939,7 +975,7 @@
    - + Boost-1.53
      @@ -974,7 +1010,7 @@
    - + Boost-1.52
      @@ -1021,14 +1057,14 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.51

    See Boost-1.52 - some items were added but not listed in time for the release.

    - + Boost-1.50
      @@ -1065,7 +1101,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.49
      @@ -1109,7 +1145,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.48
      @@ -1160,7 +1196,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.47
      @@ -1177,7 +1213,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.46.1
    • @@ -1185,7 +1221,7 @@ by switching to use the Students t distribution (or Normal distribution #5113.
    - + Boost-1.46.0
      @@ -1200,7 +1236,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.45.0
      @@ -1217,7 +1253,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.44.0
      @@ -1231,7 +1267,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.41.0
    • @@ -1239,7 +1275,7 @@ by switching to use the Students t distribution (or Normal distribution its inverse.
    - + Boost-1.40.0
      @@ -1275,7 +1311,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.38.0
      @@ -1287,14 +1323,14 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.37.0
    • Improved accuracy and testing of the inverse hypergeometric functions.
    - + Boost-1.36.0
      @@ -1327,7 +1363,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Boost-1.35.0: Post Review First Official Release
    @@ -1359,7 +1395,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 4: Second Review Candidate (1st March 2007)
    @@ -1373,7 +1409,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 3: First Review Candidate (31st Dec 2006)
    @@ -1401,7 +1437,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 2: Released September 10th 2006
    @@ -1437,7 +1473,7 @@ by switching to use the Students t distribution (or Normal distribution
    - + Milestone 1: Released March 31st 2006
    diff --git a/doc/html/math_toolkit/navigation.html b/doc/html/math_toolkit/navigation.html index 7748e49df..4bd188e1b 100644 --- a/doc/html/math_toolkit/navigation.html +++ b/doc/html/math_toolkit/navigation.html @@ -27,7 +27,7 @@ Navigation

    - +

    Boost.Math documentation is provided in both HTML and PDF formats. diff --git a/doc/html/math_toolkit/number_series.html b/doc/html/math_toolkit/number_series.html index 2d7be9aaa..77142c368 100644 --- a/doc/html/math_toolkit/number_series.html +++ b/doc/html/math_toolkit/number_series.html @@ -31,6 +31,8 @@ Numbers

    Tangent Numbers
    Prime Numbers
    +
    Fibonacci + Numbers
    diff --git a/doc/html/math_toolkit/number_series/fibonacci_numbers.html b/doc/html/math_toolkit/number_series/fibonacci_numbers.html new file mode 100644 index 000000000..923a2a47d --- /dev/null +++ b/doc/html/math_toolkit/number_series/fibonacci_numbers.html @@ -0,0 +1,198 @@ + + + +Fibonacci Numbers + + + + + + + + +
    + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +

    + Fibonacci numbers + (Fn) follows the linear recurrence Fn=Fn-1+Fn-2 starting with F0=0, F1=1. +

    +
    + + Synopsis +
    +
    #include <boost/math/special_functions/fibonacci.hpp>
    +
    +
    namespace boost { namespace math {
    +
    +template <class T, class Policy>
    +constexpr T fibonacci(unsigned long long n) // Checked version (default policy)
    +
    +template <class T, class Policy>
    +constexpr T fibonacci(unsigned long long n, const Policy &pol) // Checked version (policy for errors etc.)
    +
    +template <typename T>
    +constexpr T unchecked_fibonacci(unsigned long long n) noexcept(std::is_fundamental<T>::value); {  // Unchecked version (no policy).
    +
    +}} // namespaces
    +
    +

    + The functions return Fn for a given input n having type + T. +

    +
    + + Description +
    +

    + The checked versions checks for the overflow before starting the computation. + If n is so large that the result can not be represented + in type T, it then calls overflow_error. + The overflow check is susceptible to off-by-one errors around the overflow + limit. See Binet's Formula below for more details on the check. +

    +

    + These functions are all constexpr + from C++14 onwards, and in addition unchecked_fibonacci + is noexcept when T is a fundamental + type. +

    +

    + The final Policy argument is optional and can + be used to control the behaviour of the function: how it handles errors, + what level of precision to use etc. Refer to the policy + documentation for more details. +

    +

    + If in the checked version, the overflow check succeeds then the unchecked + version is called which computes the desired Fn. Checked version is slower + because of the overhead involved in overflow check. +

    +
    + + Generator +
    +
    #include <boost/math/special_functions/fibonacci.hpp>
    +
    +
    template <typename T>
    +class fibonacci_generator {
    +  // returns consecutive fibonacci number starting from 0, 1, 1, 2, ...
    +  T operator()();
    +  // reset the generator to start from nth fibonacci number
    +  void set(unsigned long long n);
    +}
    +
    +

    + The generator returns consecutive fibonacci numbers starting with 0, 1, 1, + 2... +

    +

    + The state of the generator can be modified using set() + which makes generator return consecutive fibonacci numbers starting from + n[sup th] fibonacci number. +

    +
    boost::math::fibonacci_generator<int> gen;
    +int x = gen(); // x is 0
    +int y = gen(); // y is 1
    +for(int i = 0; i < 5; ++i) // this loop is same as gen.set(7);
    +    gen();
    +int z = gen(); // z is 13 
    +
    +

    + Generator is non-throwing for all fundamental types and will not check for + overflows. +

    +
    + + Type + Requirements +
    +

    + The type must be an arithmetic type supporting +, -, * and can be initialized + from trivial integral types. +

    +
    + + Example +
    +

    + The file reciprocal_fibonacci_constant.cpp + uses fibonacci_generator + to calculate the reciprocal fibonacci constant to 1000 digit precision like + so: +

    +
    #include <boost/math/special_functions/fibonacci.hpp>
    +#include <boost/multiprecision/mpfr.hpp>
    +#include <iomanip>
    +#include <iostream>
    +
    +int main() {
    +    using Real = boost::multiprecision::mpfr_float_1000;
    +    boost::math::fibonacci_generator<Real> gen;
    +    gen.set(1); // start producing values from 1st fibonacci number
    +    Real ans = 0;
    +    const int ITR = 1000;
    +    for (int i = 0; i < ITR; ++i) {
    +        ans += 1.0 / gen();
    +    }
    +    std::cout << std::setprecision(1000) << "Reciprocal fibonacci constant after "
    +              << ITR << " iterations is: " << ans << std::endl;
    +}
    +
    +
    + + Implementation +
    +

    + The time complexity for computing fibonacci number is O(log n), without considering + the time complexities of multiplication and addition (where n + is the input parameter). The implementation is iterative version of Dijkstra's identities + and which simply walks down the bits of n. +

    +
    + + Binet's + Formula +
    +

    + There is a closed form expression for computing fibonacci numbers but since + it suffers from imprecision issues (using floating point computation), it + is not implemented. +

    +

    + However an approximate formula is used for the overflow checking in the checked + version. +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/math_toolkit/number_series/primes.html b/doc/html/math_toolkit/number_series/primes.html index 1c9afbf8b..695bf2128 100644 --- a/doc/html/math_toolkit/number_series/primes.html +++ b/doc/html/math_toolkit/number_series/primes.html @@ -7,7 +7,7 @@ - + @@ -20,7 +20,7 @@

    -PrevUpHomeNext +PrevUpHomeNext

    @@ -83,7 +83,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/math_toolkit/quintic_hermite.html b/doc/html/math_toolkit/quintic_hermite.html index 2b726631c..1897cefe2 100644 --- a/doc/html/math_toolkit/quintic_hermite.html +++ b/doc/html/math_toolkit/quintic_hermite.html @@ -7,7 +7,7 @@ - + @@ -20,7 +20,7 @@

    -PrevUpHomeNext +PrevUpHomeNext

    @@ -236,7 +236,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/math_toolkit/sf_gamma.html b/doc/html/math_toolkit/sf_gamma.html index dbc838805..b10a9e83f 100644 --- a/doc/html/math_toolkit/sf_gamma.html +++ b/doc/html/math_toolkit/sf_gamma.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -54,7 +54,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/quadrature.html b/doc/html/quadrature.html index acbb599d6..f19a0a6d7 100644 --- a/doc/html/quadrature.html +++ b/doc/html/quadrature.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -70,7 +70,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/special.html b/doc/html/special.html index 9243ac2cc..814be1732 100644 --- a/doc/html/special.html +++ b/doc/html/special.html @@ -34,6 +34,8 @@ Numbers
    Tangent Numbers
    Prime Numbers
    +
    Fibonacci + Numbers

  • Gamma Functions
    diff --git a/doc/html/standalone_HTML.manifest b/doc/html/standalone_HTML.manifest index 725bdf12b..94eff5ee8 100644 --- a/doc/html/standalone_HTML.manifest +++ b/doc/html/standalone_HTML.manifest @@ -168,6 +168,7 @@ math_toolkit/number_series.html math_toolkit/number_series/bernoulli_numbers.html math_toolkit/number_series/tangent_numbers.html math_toolkit/number_series/primes.html +math_toolkit/number_series/fibonacci_numbers.html math_toolkit/sf_gamma.html math_toolkit/sf_gamma/tgamma.html math_toolkit/sf_gamma/lgamma.html @@ -326,6 +327,7 @@ math_toolkit/cubic_hermite.html math_toolkit/makima.html math_toolkit/pchip.html math_toolkit/quintic_hermite.html +math_toolkit/bilinear_uniform.html quadrature.html math_toolkit/trapezoidal.html math_toolkit/gauss.html diff --git a/doc/overview/roadmap.qbk b/doc/overview/roadmap.qbk index cecb49540..ef3c2444b 100644 --- a/doc/overview/roadmap.qbk +++ b/doc/overview/roadmap.qbk @@ -8,6 +8,18 @@ All old bug reports including closed ones can be viewed on Trac Recent issues on GitHub [@https://github.com/boostorg/math/issues?utf8=%E2%9C%93&q=is%3Aissue here]. +[h4 Math-3.1.0 (Boost-1.77)] + +* This library can now be used entirely standalone, without the rest of Boost: either use a compiler +which supports `__has_include` or define `BOOST_MATH_STANDALONE` to enable standalone mode. +* Add [link math_toolkit.bilinear_uniform Bilinear Uniform Interpolation]. +* Add [link math_toolkit.number_series.fibonacci_numbers Fibonacci Numbers]. +* Fix Hypergeometric Distribution kertosis, see [@https://github.com/boostorg/math/issues/639 #639]. +* Fix closed Catmull-Rom curves to have the same start/end point. See [@https://github.com/boostorg/math/issues/636 #636]. +* Correct Bernoulli number caching in multi-threading multiprecision case. +* Re-enabled the ability to build in environments with no std lib threading support. See [@https://github.com/boostorg/math/issues/621 #621]. +* Correct Gini-coefficient parrellel calculation. + [h4 Math-3.0.0 (Boost-1.76)] * [*Breaking Change:] C++03 support is now removed, a C++11 or later conformant compiler is now required to use this library. diff --git a/doc/sf/number_series.qbk b/doc/sf/number_series.qbk index 2e0f0ef2c..c47cc877f 100644 --- a/doc/sf/number_series.qbk +++ b/doc/sf/number_series.qbk @@ -261,11 +261,100 @@ This function is `constexpr` only if the compiler supports C++14 constexpr funct [endsect] [/section:primes] +[section:fibonacci_numbers Fibonacci Numbers] + +[@https://en.wikipedia.org/wiki/Fibonacci_number Fibonacci numbers] (F[sub n]) follows the linear recurrence F[sub n]=F[sub n-1]+F[sub n-2] starting with F[sub 0]=0, F[sub 1]=1. + +[h4 Synopsis] + +`` +#include +`` + + namespace boost { namespace math { + + template + constexpr T fibonacci(unsigned long long n) // Checked version (default policy) + + template + constexpr T fibonacci(unsigned long long n, const Policy &pol) // Checked version (policy for errors etc.) + + template + constexpr T unchecked_fibonacci(unsigned long long n) noexcept(std::is_fundamental::value); { // Unchecked version (no policy). + + }} // namespaces + +The functions return F[sub n] for a given input [^n] having type [^T]. + +[h4 Description] +The checked versions checks for the overflow before starting the computation. If [^n] is so large that the result can not +be represented in type [^T], it then calls __overflow_error. The overflow check is susceptible to off-by-one errors around the overflow limit. See Binet's Formula below for more details on the check. + +These functions are all `constexpr` from C++14 onwards, and in addition `unchecked_fibonacci` is `noexcept` when T is a fundamental type. + +[optional_policy] + +If in the checked version, the overflow check succeeds then the unchecked version is called which computes the desired F[sub n]. Checked version is slower because of the overhead involved in overflow check. + +[h4 Generator] + +`` +#include +`` + + template + class fibonacci_generator { + // returns consecutive fibonacci number starting from 0, 1, 1, 2, ... + T operator()(); + // reset the generator to start from nth fibonacci number + void set(unsigned long long n); + } + +The generator returns consecutive fibonacci numbers starting with 0, 1, 1, 2... + +The state of the generator can be modified using [^set()] which makes generator return consecutive fibonacci numbers starting from [^n][sup th] fibonacci number. + + boost::math::fibonacci_generator gen; + int x = gen(); // x is 0 + int y = gen(); // y is 1 + for(int i = 0; i < 5; ++i) // this loop is same as gen.set(7); + gen(); + int z = gen(); // z is 13 + + +Generator is non-throwing for all fundamental types and will not check for overflows. + +[h4 Type Requirements] + +The type must be an arithmetic type supporting +, -, * and can be initialized from trivial integral types. + +[h4 Example] + +The file [@../../example/reciprocal_fibonacci_constant.cpp reciprocal_fibonacci_constant.cpp] uses `fibonacci_generator` to calculate the +reciprocal fibonacci constant to 1000 digit precision like so: + +[import ../../example/reciprocal_fibonacci_constant.cpp] + +[fibonacci_eg] + +[h4 Implementation] + +The time complexity for computing fibonacci number is O(log n), without considering the time complexities of multiplication and addition (where [^n] is the input parameter). +The implementation is iterative version of [@http://www.cs.utexas.edu/users/EWD/ewd06xx/EWD654.PDF Dijkstra's identities] and which simply walks down the bits of [^n]. + +[h4:binet Binet's Formula] + +There is a closed form expression for computing fibonacci numbers but since it suffers from imprecision issues (using floating point computation), it is not implemented. + +However an approximate formula is used for the overflow checking in the checked version. + +[endsect] [/Fibonacci Numbers] + [endsect] [/Number Series] [/ Copyright 2013, 2014 Nikhar Agrawal, Christopher Kormanyos, John Maddock, Paul A. Bristow. - Distributed under the Boost Software License, Version 1.0. + Copyright 2020 Madhur Chauhan. 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). ] diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index fb33e6cdf..72834b561 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -150,7 +150,7 @@ test-suite examples : [ run ooura_fourier_integrals_example.cpp : : : [ requires cxx11_hdr_mutex cxx11_lambdas cxx11_inline_namespaces cxx11_auto_declarations ] ] [ run ooura_fourier_integrals_cosine_example.cpp : : : [ requires cxx11_hdr_mutex cxx11_inline_namespaces cxx11_auto_declarations cxx17_std_apply ] ] [ run ooura_fourier_integrals_multiprecision_example.cpp : : : [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : -lquadmath ] [ requires cxx11_hdr_mutex cxx11_inline_namespaces cxx11_auto_declarations cxx17_std_apply ] ] - + [ run reciprocal_fibonacci_constant.cpp : : : [ check-target-builds ../config//has_mpfr "MPFR Support" : "-lmpfr -lgmp" : no ] ] ; run root_elliptic_finding.cpp /boost/timer : : : release static [ requires cxx11_unified_initialization_syntax cxx11_defaulted_functions ] freebsd:"-lrt" linux:"-lrt -lpthread" ; diff --git a/example/reciprocal_fibonacci_constant.cpp b/example/reciprocal_fibonacci_constant.cpp index 349625fee..7c6405c52 100644 --- a/example/reciprocal_fibonacci_constant.cpp +++ b/example/reciprocal_fibonacci_constant.cpp @@ -8,6 +8,8 @@ // This is an example to calculate Reciprocal Fibonacci Constant (A079586 in the OEIS) // compile with flags: -std=c++11 -lmpfr +//[fibonacci_eg + #include #include #include @@ -25,3 +27,5 @@ int main() { std::cout << std::setprecision(1000) << "Reciprocal fibonacci constant after " << ITR << " iterations is: " << ans << std::endl; } + +//] diff --git a/include/boost/math/special_functions/fibonacci.hpp b/include/boost/math/special_functions/fibonacci.hpp index 09e86122c..7aaf6dd85 100644 --- a/include/boost/math/special_functions/fibonacci.hpp +++ b/include/boost/math/special_functions/fibonacci.hpp @@ -21,14 +21,12 @@ namespace boost { namespace math { namespace detail { -// this should be constexpr in future -const double log_2 = std::log(2.0), - fib_bits_phi = std::log(boost::math::constants::phi()) / log_2, - fib_bits_deno = std::log(5.0) / 2.0 / log_2; + constexpr double fib_bits_phi = 0.69424191363061730173879026; + constexpr double fib_bits_deno = 1.1609640474436811739351597; } // namespace detail template -inline constexpr T unchecked_fibonacci(unsigned long long n) noexcept { +inline BOOST_CXX14_CONSTEXPR T unchecked_fibonacci(unsigned long long n) noexcept(std::is_fundamental::value) { // This function is called by the rest and computes the actual nth fibonacci number // First few fibonacci numbers: 0 (0th), 1 (1st), 1 (2nd), 2 (3rd), ... if (n <= 2) return n == 0 ? 0 : 1; @@ -52,7 +50,7 @@ inline constexpr T unchecked_fibonacci(unsigned long long n) noexcept { } template -T inline fibonacci(unsigned long long n, const Policy &pol) { +T inline BOOST_CXX14_CONSTEXPR fibonacci(unsigned long long n, const Policy &pol) { // check for overflow using approximation to binet's formula: F_n ~ phi^n / sqrt(5) if (n > 20 && n * detail::fib_bits_phi - detail::fib_bits_deno > std::numeric_limits::digits) return policies::raise_overflow_error("boost::math::fibonacci<%1%>(unsigned long long)", "Possible overflow detected.", pol); @@ -60,7 +58,7 @@ T inline fibonacci(unsigned long long n, const Policy &pol) { } template -T inline fibonacci(unsigned long long n) { +T inline BOOST_CXX14_CONSTEXPR fibonacci(unsigned long long n) { return fibonacci(n, policies::policy<>()); } @@ -69,7 +67,7 @@ template class fibonacci_generator { public: // return next fibonacci number - T operator()() noexcept { + T operator()() noexcept(std::is_fundamental::value) { T ret = a; a = b, b = b + ret; // could've simply: swap(a, b), b += a; return ret; @@ -77,7 +75,7 @@ class fibonacci_generator { // after set(nth), subsequent calls to the generator returns consecutive // fibonacci numbers starting with the nth fibonacci number - void set(unsigned long long nth) noexcept { + void set(unsigned long long nth) noexcept(std::is_fundamental::value) { n = nth; a = unchecked_fibonacci(n); b = unchecked_fibonacci(n + 1); diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index f6d2c4aea..2b062bf15 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -495,7 +495,7 @@ test-suite special_fun : [ run test_trig.cpp test_instances//test_instances pch_light ../../test/build//boost_unit_test_framework ] [ run test_zeta.cpp ../../test/build//boost_unit_test_framework test_instances//test_instances pch_light ] [ run test_sinc.cpp ../../test/build//boost_unit_test_framework pch_light ] - [ run test_fibonacci.cpp ../../test/build//boost_unit_test_framework : : : [ requires cxx17_if_constexpr cxx17_std_apply ] ] + [ run test_fibonacci.cpp ../../test/build//boost_unit_test_framework ] ; test-suite distribution_tests : diff --git a/test/test_fibonacci.cpp b/test/test_fibonacci.cpp index 429819a73..fb030c209 100644 --- a/test/test_fibonacci.cpp +++ b/test/test_fibonacci.cpp @@ -94,13 +94,21 @@ BOOST_AUTO_TEST_CASE(generator_check) { } } +#ifndef BOOST_NO_CXX14_CONSTEXPR + BOOST_AUTO_TEST_CASE(constexpr_check) { constexpr int x = boost::math::unchecked_fibonacci(32); - BOOST_TEST(x == 2178309); + static_assert(x == 2178309); constexpr double y = boost::math::unchecked_fibonacci(40); - BOOST_TEST(y == 102334155.0); + static_assert(y == 102334155.0); + + constexpr int xx = boost::math::fibonacci(32); + static_assert(xx == 2178309); + + constexpr double yy = boost::math::fibonacci(40); + static_assert(yy == 102334155.0); - // checked fibonacci can't be constexpr because of non-constexpr - // dependency in detail::log_2, detail::fib_bits_phi, detail::fib_bits_deno } + +#endif From 63b5fe85acd19b898c041ba40b0c2837e0ec54c1 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 28 Jun 2021 19:39:21 +0100 Subject: [PATCH 05/21] Fix up static_asserts in test case. --- test/test_fibonacci.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/test_fibonacci.cpp b/test/test_fibonacci.cpp index fb030c209..1a5120b24 100644 --- a/test/test_fibonacci.cpp +++ b/test/test_fibonacci.cpp @@ -98,16 +98,16 @@ BOOST_AUTO_TEST_CASE(generator_check) { BOOST_AUTO_TEST_CASE(constexpr_check) { constexpr int x = boost::math::unchecked_fibonacci(32); - static_assert(x == 2178309); + static_assert(x == 2178309, "constexpr check 1"); constexpr double y = boost::math::unchecked_fibonacci(40); - static_assert(y == 102334155.0); + static_assert(y == 102334155.0, "constexpr check 2"); constexpr int xx = boost::math::fibonacci(32); - static_assert(xx == 2178309); + static_assert(xx == 2178309, "constexpr check 3"); constexpr double yy = boost::math::fibonacci(40); - static_assert(yy == 102334155.0); + static_assert(yy == 102334155.0, "constexpr check 4"); } From 8fa1be8e5ecf4797ec7451799f85bb23656733f5 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 28 Jun 2021 19:51:30 +0100 Subject: [PATCH 06/21] Doc update: correct hypergeometric equation (again). Add section on standalone usage. --- doc/distributions/hypergeometric.qbk | 3 +- doc/equations/hypergeometric6.svg | 440 +++++++++--------- doc/html/backgrounders.html | 4 +- doc/html/constants.html | 4 +- doc/html/cstdfloat.html | 4 +- doc/html/dist.html | 4 +- doc/html/extern_c.html | 4 +- doc/html/filters.html | 4 +- doc/html/gcd_lcm.html | 4 +- doc/html/index.html | 8 +- doc/html/indexes.html | 4 +- doc/html/indexes/s01.html | 4 +- doc/html/indexes/s02.html | 4 +- doc/html/indexes/s03.html | 4 +- doc/html/indexes/s04.html | 5 +- doc/html/indexes/s05.html | 9 +- doc/html/internals.html | 4 +- doc/html/interpolation.html | 4 +- doc/html/inverse_complex.html | 4 +- doc/html/math_toolkit/acknowledgement.html | 2 +- doc/html/math_toolkit/acknowledgements.html | 2 +- doc/html/math_toolkit/acos.html | 2 +- doc/html/math_toolkit/acosh.html | 2 +- doc/html/math_toolkit/airy.html | 2 +- doc/html/math_toolkit/airy/ai.html | 2 +- doc/html/math_toolkit/airy/aip.html | 2 +- doc/html/math_toolkit/airy/airy_root.html | 2 +- doc/html/math_toolkit/airy/bi.html | 2 +- doc/html/math_toolkit/airy/bip.html | 2 +- doc/html/math_toolkit/anderson_darling.html | 2 +- doc/html/math_toolkit/archetypes.html | 2 +- doc/html/math_toolkit/asin.html | 2 +- doc/html/math_toolkit/asinh.html | 2 +- doc/html/math_toolkit/atan.html | 2 +- doc/html/math_toolkit/atanh.html | 2 +- doc/html/math_toolkit/autodiff.html | 2 +- doc/html/math_toolkit/bad_guess.html | 2 +- doc/html/math_toolkit/bad_roots.html | 2 +- doc/html/math_toolkit/barycentric.html | 2 +- doc/html/math_toolkit/bessel.html | 2 +- .../bessel/bessel_derivatives.html | 2 +- .../math_toolkit/bessel/bessel_first.html | 2 +- doc/html/math_toolkit/bessel/bessel_over.html | 2 +- doc/html/math_toolkit/bessel/bessel_root.html | 2 +- doc/html/math_toolkit/bessel/mbessel.html | 2 +- doc/html/math_toolkit/bessel/sph_bessel.html | 2 +- doc/html/math_toolkit/bilinear_uniform.html | 2 +- .../math_toolkit/bivariate_statistics.html | 2 +- doc/html/math_toolkit/brent_minima.html | 2 +- doc/html/math_toolkit/building.html | 2 +- doc/html/math_toolkit/c99.html | 2 +- doc/html/math_toolkit/cardinal_cubic_b.html | 2 +- .../math_toolkit/cardinal_quadratic_b.html | 2 +- doc/html/math_toolkit/cardinal_quintic_b.html | 2 +- .../math_toolkit/cardinal_trigonometric.html | 2 +- doc/html/math_toolkit/catmull_rom.html | 2 +- doc/html/math_toolkit/comp_compilers.html | 2 +- doc/html/math_toolkit/comparisons.html | 2 +- doc/html/math_toolkit/compilers_overview.html | 2 +- doc/html/math_toolkit/complex_history.html | 2 +- .../math_toolkit/complex_implementation.html | 2 +- doc/html/math_toolkit/cond.html | 2 +- doc/html/math_toolkit/config_macros.html | 2 +- doc/html/math_toolkit/constants.html | 2 +- doc/html/math_toolkit/constants_faq.html | 2 +- doc/html/math_toolkit/constants_intro.html | 2 +- doc/html/math_toolkit/contact.html | 2 +- doc/html/math_toolkit/conventions.html | 4 +- doc/html/math_toolkit/create.html | 2 +- doc/html/math_toolkit/credits.html | 2 +- doc/html/math_toolkit/cubic_hermite.html | 2 +- doc/html/math_toolkit/daubechies.html | 2 +- doc/html/math_toolkit/daubechies_filters.html | 2 +- doc/html/math_toolkit/diff.html | 2 +- doc/html/math_toolkit/diff0.html | 2 +- doc/html/math_toolkit/directories.html | 2 +- doc/html/math_toolkit/dist_concept.html | 2 +- doc/html/math_toolkit/dist_ref.html | 2 +- .../dist_ref/dist_algorithms.html | 2 +- doc/html/math_toolkit/dist_ref/dists.html | 2 +- .../dist_ref/dists/arcine_dist.html | 2 +- .../dist_ref/dists/bernoulli_dist.html | 2 +- .../dist_ref/dists/beta_dist.html | 2 +- .../dist_ref/dists/binomial_dist.html | 2 +- .../dist_ref/dists/cauchy_dist.html | 2 +- .../dist_ref/dists/chi_squared_dist.html | 2 +- .../dist_ref/dists/empirical_cdf.html | 2 +- .../math_toolkit/dist_ref/dists/exp_dist.html | 2 +- .../dist_ref/dists/extreme_dist.html | 2 +- .../math_toolkit/dist_ref/dists/f_dist.html | 2 +- .../dist_ref/dists/gamma_dist.html | 2 +- .../dist_ref/dists/geometric_dist.html | 2 +- .../dist_ref/dists/hyperexponential_dist.html | 2 +- .../dist_ref/dists/hypergeometric_dist.html | 2 +- .../dists/inverse_chi_squared_dist.html | 2 +- .../dist_ref/dists/inverse_gamma_dist.html | 2 +- .../dist_ref/dists/inverse_gaussian_dist.html | 2 +- .../dists/kolmogorov_smirnov_dist.html | 2 +- .../dist_ref/dists/laplace_dist.html | 2 +- .../dist_ref/dists/logistic_dist.html | 2 +- .../dist_ref/dists/lognormal_dist.html | 2 +- .../dist_ref/dists/nc_beta_dist.html | 2 +- .../dist_ref/dists/nc_chi_squared_dist.html | 2 +- .../dist_ref/dists/nc_f_dist.html | 2 +- .../dist_ref/dists/nc_t_dist.html | 2 +- .../dists/negative_binomial_dist.html | 2 +- .../dist_ref/dists/normal_dist.html | 2 +- .../math_toolkit/dist_ref/dists/pareto.html | 2 +- .../dist_ref/dists/poisson_dist.html | 2 +- .../math_toolkit/dist_ref/dists/rayleigh.html | 2 +- .../dist_ref/dists/skew_normal_dist.html | 2 +- .../dist_ref/dists/students_t_dist.html | 2 +- .../dist_ref/dists/triangular_dist.html | 2 +- .../dist_ref/dists/uniform_dist.html | 2 +- .../dist_ref/dists/weibull_dist.html | 2 +- doc/html/math_toolkit/dist_ref/nmp.html | 2 +- doc/html/math_toolkit/double_exponential.html | 2 +- .../double_exponential/de_caveats.html | 2 +- .../double_exponential/de_exp_sinh.html | 2 +- .../double_exponential/de_levels.html | 2 +- .../double_exponential/de_overview.html | 2 +- .../double_exponential/de_refes.html | 2 +- .../double_exponential/de_sinh_sinh.html | 2 +- .../double_exponential/de_tanh_sinh.html | 2 +- .../de_tanh_sinh_2_arg.html | 2 +- .../double_exponential/de_thread.html | 2 +- .../double_exponential/de_tol.html | 2 +- doc/html/math_toolkit/ellint.html | 2 +- doc/html/math_toolkit/ellint/ellint_1.html | 2 +- doc/html/math_toolkit/ellint/ellint_2.html | 2 +- doc/html/math_toolkit/ellint/ellint_3.html | 2 +- .../math_toolkit/ellint/ellint_carlson.html | 2 +- doc/html/math_toolkit/ellint/ellint_d.html | 2 +- .../math_toolkit/ellint/ellint_intro.html | 2 +- .../math_toolkit/ellint/heuman_lambda.html | 2 +- doc/html/math_toolkit/ellint/jacobi_zeta.html | 2 +- doc/html/math_toolkit/error_handling.html | 2 +- doc/html/math_toolkit/exact_typdefs.html | 2 +- doc/html/math_toolkit/examples.html | 2 +- doc/html/math_toolkit/exp.html | 2 +- doc/html/math_toolkit/expint.html | 2 +- doc/html/math_toolkit/expint/expint_i.html | 2 +- doc/html/math_toolkit/expint/expint_n.html | 2 +- doc/html/math_toolkit/factorials.html | 2 +- .../math_toolkit/factorials/sf_binomial.html | 2 +- .../factorials/sf_double_factorial.html | 2 +- .../math_toolkit/factorials/sf_factorial.html | 2 +- .../factorials/sf_falling_factorial.html | 2 +- .../factorials/sf_rising_factorial.html | 2 +- doc/html/math_toolkit/fastest_typdefs.html | 2 +- doc/html/math_toolkit/float128.html | 2 +- .../math_toolkit/float128/exp_function.html | 2 +- .../math_toolkit/float128/overloading.html | 2 +- doc/html/math_toolkit/float128/typeinfo.html | 2 +- doc/html/math_toolkit/float128_hints.html | 2 +- doc/html/math_toolkit/float_comparison.html | 2 +- doc/html/math_toolkit/fourier_integrals.html | 2 +- doc/html/math_toolkit/fp_facets.html | 2 +- doc/html/math_toolkit/fp_facets/examples.html | 2 +- .../math_toolkit/fp_facets/facets_intro.html | 2 +- .../math_toolkit/fp_facets/portability.html | 2 +- .../math_toolkit/fp_facets/rationale.html | 2 +- .../math_toolkit/fp_facets/reference.html | 2 +- doc/html/math_toolkit/fpclass.html | 2 +- doc/html/math_toolkit/future.html | 2 +- doc/html/math_toolkit/gauss.html | 2 +- doc/html/math_toolkit/gauss_kronrod.html | 2 +- doc/html/math_toolkit/getting_best.html | 2 +- doc/html/math_toolkit/greatest_typdefs.html | 2 +- doc/html/math_toolkit/hankel.html | 2 +- doc/html/math_toolkit/hankel/cyl_hankel.html | 2 +- doc/html/math_toolkit/hankel/sph_hankel.html | 2 +- doc/html/math_toolkit/high_precision.html | 2 +- .../math_toolkit/high_precision/e_float.html | 2 +- .../math_toolkit/high_precision/float128.html | 2 +- .../math_toolkit/high_precision/use_mpfr.html | 2 +- .../high_precision/use_multiprecision.html | 2 +- .../math_toolkit/high_precision/use_ntl.html | 2 +- .../high_precision/using_test.html | 2 +- .../high_precision/why_high_precision.html | 2 +- doc/html/math_toolkit/hints.html | 2 +- doc/html/math_toolkit/history1.html | 2 +- doc/html/math_toolkit/history2.html | 2 +- doc/html/math_toolkit/hypergeometric.html | 2 +- .../hypergeometric/hypergeometric_0f1.html | 2 +- .../hypergeometric/hypergeometric_1f0.html | 2 +- .../hypergeometric/hypergeometric_1f1.html | 2 +- .../hypergeometric/hypergeometric_2f0.html | 2 +- .../hypergeometric/hypergeometric_pfq.html | 2 +- .../hypergeometric/hypergeometric_refs.html | 2 +- doc/html/math_toolkit/internals.html | 2 +- doc/html/math_toolkit/internals/agm.html | 2 +- .../centered_continued_fraction.html | 2 +- doc/html/math_toolkit/internals/cf.html | 2 +- .../internals/cohen_acceleration.html | 2 +- .../internals/engel_expansion.html | 2 +- .../math_toolkit/internals/error_test.html | 2 +- .../internals/luroth_expansion.html | 2 +- doc/html/math_toolkit/internals/minimax.html | 2 +- .../math_toolkit/internals/recurrence.html | 2 +- .../internals/series_evaluation.html | 2 +- .../internals/simple_continued_fraction.html | 2 +- .../math_toolkit/internals/test_data.html | 2 +- doc/html/math_toolkit/internals/tuples.html | 2 +- doc/html/math_toolkit/internals_overview.html | 2 +- doc/html/math_toolkit/interp.html | 2 +- doc/html/math_toolkit/intro_pol_overview.html | 2 +- doc/html/math_toolkit/inv_hyper.html | 2 +- doc/html/math_toolkit/inv_hyper/acosh.html | 2 +- doc/html/math_toolkit/inv_hyper/asinh.html | 2 +- doc/html/math_toolkit/inv_hyper/atanh.html | 2 +- .../inv_hyper/inv_hyper_over.html | 2 +- doc/html/math_toolkit/issues.html | 2 +- doc/html/math_toolkit/jacobi.html | 2 +- doc/html/math_toolkit/jacobi/jac_over.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_cd.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_cn.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_cs.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_dc.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_dn.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_ds.html | 2 +- .../math_toolkit/jacobi/jacobi_elliptic.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_nc.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_nd.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_ns.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_sc.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_sd.html | 2 +- doc/html/math_toolkit/jacobi/jacobi_sn.html | 2 +- doc/html/math_toolkit/jacobi_theta.html | 2 +- .../jacobi_theta/jacobi_theta1.html | 2 +- .../jacobi_theta/jacobi_theta2.html | 2 +- .../jacobi_theta/jacobi_theta3.html | 2 +- .../jacobi_theta/jacobi_theta4.html | 2 +- .../jacobi_theta/jacobi_theta_overview.html | 2 +- doc/html/math_toolkit/lambert_w.html | 2 +- doc/html/math_toolkit/lanczos.html | 2 +- doc/html/math_toolkit/linear_regression.html | 2 +- doc/html/math_toolkit/ljung_box.html | 2 +- doc/html/math_toolkit/logs_and_tables.html | 2 +- .../logs_and_tables/all_table.html | 2 +- .../math_toolkit/logs_and_tables/logs.html | 2 +- doc/html/math_toolkit/macros.html | 2 +- doc/html/math_toolkit/main_faq.html | 2 +- doc/html/math_toolkit/main_intro.html | 2 +- doc/html/math_toolkit/main_tr1.html | 2 +- doc/html/math_toolkit/makima.html | 2 +- doc/html/math_toolkit/mem_typedef.html | 2 +- doc/html/math_toolkit/minimum_typdefs.html | 2 +- doc/html/math_toolkit/multiprecision.html | 2 +- doc/html/math_toolkit/naive_monte_carlo.html | 2 +- doc/html/math_toolkit/namespaces.html | 8 +- doc/html/math_toolkit/navigation.html | 4 +- doc/html/math_toolkit/new_const.html | 2 +- doc/html/math_toolkit/next_float.html | 2 +- .../next_float/float_advance.html | 2 +- .../next_float/float_distance.html | 2 +- .../math_toolkit/next_float/float_next.html | 2 +- .../math_toolkit/next_float/float_prior.html | 2 +- .../math_toolkit/next_float/nextafter.html | 2 +- doc/html/math_toolkit/next_float/ulp.html | 2 +- doc/html/math_toolkit/norms.html | 2 +- doc/html/math_toolkit/number_series.html | 2 +- .../number_series/bernoulli_numbers.html | 2 +- .../number_series/fibonacci_numbers.html | 2 +- .../math_toolkit/number_series/primes.html | 2 +- .../number_series/tangent_numbers.html | 2 +- doc/html/math_toolkit/oct_create.html | 2 +- doc/html/math_toolkit/oct_header.html | 2 +- doc/html/math_toolkit/oct_history.html | 2 +- doc/html/math_toolkit/oct_mem_fun.html | 2 +- doc/html/math_toolkit/oct_non_mem.html | 2 +- doc/html/math_toolkit/oct_overview.html | 2 +- doc/html/math_toolkit/oct_specialization.html | 2 +- doc/html/math_toolkit/oct_synopsis.html | 2 +- doc/html/math_toolkit/oct_tests.html | 2 +- doc/html/math_toolkit/oct_todo.html | 2 +- doc/html/math_toolkit/oct_trans.html | 2 +- doc/html/math_toolkit/oct_typedefs.html | 2 +- doc/html/math_toolkit/oct_value_ops.html | 2 +- doc/html/math_toolkit/octonion.html | 2 +- doc/html/math_toolkit/overview_tr1.html | 2 +- doc/html/math_toolkit/owens_t.html | 2 +- doc/html/math_toolkit/pchip.html | 2 +- doc/html/math_toolkit/perf_over1.html | 2 +- doc/html/math_toolkit/perf_over2.html | 2 +- doc/html/math_toolkit/perf_test_app.html | 2 +- doc/html/math_toolkit/pol_overview.html | 2 +- doc/html/math_toolkit/pol_ref.html | 2 +- .../pol_ref/assert_undefined.html | 2 +- .../pol_ref/discrete_quant_ref.html | 2 +- .../pol_ref/error_handling_policies.html | 2 +- .../pol_ref/internal_promotion.html | 2 +- .../math_toolkit/pol_ref/iteration_pol.html | 2 +- .../math_toolkit/pol_ref/namespace_pol.html | 2 +- .../math_toolkit/pol_ref/pol_ref_ref.html | 2 +- .../math_toolkit/pol_ref/policy_defaults.html | 2 +- .../math_toolkit/pol_ref/precision_pol.html | 2 +- doc/html/math_toolkit/pol_tutorial.html | 2 +- .../pol_tutorial/ad_hoc_dist_policies.html | 2 +- .../pol_tutorial/ad_hoc_sf_policies.html | 2 +- .../changing_policy_defaults.html | 2 +- .../pol_tutorial/namespace_policies.html | 2 +- .../pol_tutorial/policy_tut_defaults.html | 2 +- .../pol_tutorial/policy_usage.html | 2 +- .../pol_tutorial/understand_dis_quant.html | 2 +- .../pol_tutorial/user_def_err_pol.html | 2 +- .../pol_tutorial/what_is_a_policy.html | 2 +- doc/html/math_toolkit/polynomials.html | 2 +- doc/html/math_toolkit/powers.html | 2 +- doc/html/math_toolkit/powers/cbrt.html | 2 +- doc/html/math_toolkit/powers/cos_pi.html | 2 +- doc/html/math_toolkit/powers/ct_pow.html | 2 +- doc/html/math_toolkit/powers/expm1.html | 2 +- doc/html/math_toolkit/powers/hypot.html | 2 +- doc/html/math_toolkit/powers/log1p.html | 2 +- doc/html/math_toolkit/powers/powm1.html | 2 +- doc/html/math_toolkit/powers/rsqrt.html | 2 +- doc/html/math_toolkit/powers/sin_pi.html | 2 +- doc/html/math_toolkit/powers/sqrt1pm1.html | 2 +- doc/html/math_toolkit/quat.html | 2 +- doc/html/math_toolkit/quat_header.html | 2 +- doc/html/math_toolkit/quat_history.html | 2 +- doc/html/math_toolkit/quat_mem_fun.html | 2 +- doc/html/math_toolkit/quat_non_mem.html | 2 +- doc/html/math_toolkit/quat_overview.html | 2 +- doc/html/math_toolkit/quat_synopsis.html | 2 +- doc/html/math_toolkit/quat_tests.html | 2 +- doc/html/math_toolkit/quat_todo.html | 2 +- doc/html/math_toolkit/quintic_hermite.html | 2 +- doc/html/math_toolkit/rational.html | 2 +- doc/html/math_toolkit/rationale.html | 2 +- doc/html/math_toolkit/real_concepts.html | 2 +- doc/html/math_toolkit/refs.html | 2 +- doc/html/math_toolkit/relative_error.html | 2 +- doc/html/math_toolkit/remez.html | 2 +- doc/html/math_toolkit/result_type.html | 8 +- doc/html/math_toolkit/root_comparison.html | 2 +- .../root_comparison/cbrt_comparison.html | 2 +- .../root_comparison/elliptic_comparison.html | 2 +- .../root_comparison/root_n_comparison.html | 2 +- .../math_toolkit/root_finding_examples.html | 2 +- .../root_finding_examples/5th_root_eg.html | 2 +- .../root_finding_examples/cbrt_eg.html | 2 +- .../root_finding_examples/elliptic_eg.html | 2 +- .../root_finding_examples/lambda.html | 2 +- .../multiprecision_root.html | 2 +- .../root_finding_examples/nth_root.html | 2 +- doc/html/math_toolkit/roots_deriv.html | 2 +- doc/html/math_toolkit/roots_noderiv.html | 2 +- .../math_toolkit/roots_noderiv/TOMS748.html | 2 +- .../math_toolkit/roots_noderiv/bisect.html | 2 +- .../roots_noderiv/bracket_solve.html | 2 +- .../math_toolkit/roots_noderiv/brent.html | 2 +- .../roots_noderiv/implementation.html | 2 +- .../roots_noderiv/root_termination.html | 2 +- doc/html/math_toolkit/rounding.html | 2 +- doc/html/math_toolkit/rounding/modf.html | 2 +- doc/html/math_toolkit/rounding/round.html | 2 +- doc/html/math_toolkit/rounding/trunc.html | 2 +- doc/html/math_toolkit/runs_test.html | 2 +- doc/html/math_toolkit/sf_beta.html | 2 +- .../math_toolkit/sf_beta/beta_derivative.html | 2 +- .../math_toolkit/sf_beta/beta_function.html | 2 +- .../math_toolkit/sf_beta/ibeta_function.html | 2 +- .../sf_beta/ibeta_inv_function.html | 2 +- doc/html/math_toolkit/sf_erf.html | 2 +- .../math_toolkit/sf_erf/error_function.html | 2 +- doc/html/math_toolkit/sf_erf/error_inv.html | 2 +- doc/html/math_toolkit/sf_gamma.html | 2 +- doc/html/math_toolkit/sf_gamma/digamma.html | 2 +- .../sf_gamma/gamma_derivatives.html | 2 +- .../math_toolkit/sf_gamma/gamma_ratios.html | 2 +- doc/html/math_toolkit/sf_gamma/igamma.html | 2 +- .../math_toolkit/sf_gamma/igamma_inv.html | 2 +- doc/html/math_toolkit/sf_gamma/lgamma.html | 2 +- doc/html/math_toolkit/sf_gamma/polygamma.html | 2 +- doc/html/math_toolkit/sf_gamma/tgamma.html | 2 +- doc/html/math_toolkit/sf_gamma/trigamma.html | 2 +- doc/html/math_toolkit/sf_implementation.html | 2 +- doc/html/math_toolkit/sf_poly.html | 2 +- .../sf_poly/cardinal_b_splines.html | 2 +- doc/html/math_toolkit/sf_poly/chebyshev.html | 2 +- doc/html/math_toolkit/sf_poly/gegenbauer.html | 2 +- doc/html/math_toolkit/sf_poly/hermite.html | 2 +- doc/html/math_toolkit/sf_poly/jacobi.html | 2 +- doc/html/math_toolkit/sf_poly/laguerre.html | 2 +- doc/html/math_toolkit/sf_poly/legendre.html | 2 +- .../sf_poly/legendre_stieltjes.html | 2 +- doc/html/math_toolkit/sf_poly/sph_harm.html | 2 +- doc/html/math_toolkit/sign_functions.html | 2 +- doc/html/math_toolkit/signal_statistics.html | 2 +- doc/html/math_toolkit/sinc.html | 2 +- doc/html/math_toolkit/sinc/sinc_overview.html | 2 +- doc/html/math_toolkit/sinc/sinc_pi.html | 2 +- doc/html/math_toolkit/sinc/sinhc_pi.html | 2 +- doc/html/math_toolkit/spec.html | 2 +- doc/html/math_toolkit/special_tut.html | 2 +- .../special_tut/special_tut_impl.html | 2 +- .../special_tut/special_tut_test.html | 2 +- doc/html/math_toolkit/specified_typedefs.html | 2 +- doc/html/math_toolkit/stat_tut.html | 2 +- .../math_toolkit/stat_tut/dist_params.html | 2 +- doc/html/math_toolkit/stat_tut/overview.html | 2 +- .../stat_tut/overview/complements.html | 2 +- .../stat_tut/overview/generic.html | 2 +- .../stat_tut/overview/headers.html | 2 +- .../stat_tut/overview/objects.html | 2 +- .../stat_tut/overview/parameters.html | 2 +- .../stat_tut/overview/summary.html | 2 +- doc/html/math_toolkit/stat_tut/variates.html | 2 +- doc/html/math_toolkit/stat_tut/weg.html | 2 +- .../math_toolkit/stat_tut/weg/binom_eg.html | 2 +- .../stat_tut/weg/binom_eg/binom_conf.html | 2 +- .../stat_tut/weg/binom_eg/binom_size_eg.html | 2 +- .../binom_eg/binomial_coinflip_example.html | 2 +- .../weg/binom_eg/binomial_quiz_example.html | 2 +- .../math_toolkit/stat_tut/weg/c_sharp.html | 2 +- doc/html/math_toolkit/stat_tut/weg/cs_eg.html | 2 +- .../stat_tut/weg/cs_eg/chi_sq_intervals.html | 2 +- .../stat_tut/weg/cs_eg/chi_sq_size.html | 2 +- .../stat_tut/weg/cs_eg/chi_sq_test.html | 2 +- .../stat_tut/weg/dist_construct_eg.html | 2 +- .../math_toolkit/stat_tut/weg/error_eg.html | 2 +- doc/html/math_toolkit/stat_tut/weg/f_eg.html | 2 +- .../math_toolkit/stat_tut/weg/find_eg.html | 2 +- .../weg/find_eg/find_location_eg.html | 2 +- .../weg/find_eg/find_mean_and_sd_eg.html | 2 +- .../stat_tut/weg/find_eg/find_scale_eg.html | 2 +- .../stat_tut/weg/geometric_eg.html | 2 +- .../stat_tut/weg/inverse_chi_squared_eg.html | 2 +- .../stat_tut/weg/nag_library.html | 2 +- .../math_toolkit/stat_tut/weg/nccs_eg.html | 2 +- .../stat_tut/weg/nccs_eg/nccs_power_eg.html | 2 +- .../stat_tut/weg/neg_binom_eg.html | 2 +- .../weg/neg_binom_eg/neg_binom_conf.html | 2 +- .../weg/neg_binom_eg/neg_binom_size_eg.html | 2 +- .../negative_binomial_example1.html | 2 +- .../negative_binomial_example2.html | 2 +- .../stat_tut/weg/normal_example.html | 2 +- .../weg/normal_example/normal_misc.html | 2 +- doc/html/math_toolkit/stat_tut/weg/st_eg.html | 2 +- .../stat_tut/weg/st_eg/paired_st.html | 2 +- .../weg/st_eg/tut_mean_intervals.html | 2 +- .../stat_tut/weg/st_eg/tut_mean_size.html | 2 +- .../stat_tut/weg/st_eg/tut_mean_test.html | 2 +- .../weg/st_eg/two_sample_students_t.html | 2 +- doc/html/math_toolkit/t_test.html | 2 +- doc/html/math_toolkit/threads.html | 2 +- doc/html/math_toolkit/tr1_ref.html | 2 +- doc/html/math_toolkit/tradoffs.html | 2 +- doc/html/math_toolkit/trans.html | 2 +- doc/html/math_toolkit/trapezoidal.html | 2 +- doc/html/math_toolkit/tuning.html | 2 +- doc/html/math_toolkit/tutorial.html | 2 +- doc/html/math_toolkit/tutorial/non_templ.html | 2 +- doc/html/math_toolkit/tutorial/templ.html | 2 +- doc/html/math_toolkit/tutorial/user_def.html | 2 +- doc/html/math_toolkit/ulps_plots.html | 2 +- .../math_toolkit/univariate_statistics.html | 2 +- doc/html/math_toolkit/value_op.html | 2 +- doc/html/math_toolkit/vector_barycentric.html | 2 +- doc/html/math_toolkit/wavelet_transforms.html | 2 +- doc/html/math_toolkit/whittaker_shannon.html | 2 +- doc/html/math_toolkit/z_test.html | 2 +- doc/html/math_toolkit/zetas.html | 2 +- doc/html/math_toolkit/zetas/zeta.html | 2 +- doc/html/octonions.html | 4 +- doc/html/overview.html | 7 +- doc/html/perf.html | 4 +- doc/html/policy.html | 4 +- doc/html/poly.html | 4 +- doc/html/quadrature.html | 4 +- doc/html/quaternions.html | 4 +- doc/html/root_finding.html | 4 +- doc/html/special.html | 4 +- doc/html/standalone_HTML.manifest | 1 + doc/html/statistics.html | 4 +- doc/html/status.html | 4 +- doc/html/using_udt.html | 4 +- doc/html/utils.html | 4 +- doc/html/vector_functionals.html | 4 +- doc/math.qbk | 3 +- doc/overview/standalone.qbk | 29 ++ 483 files changed, 792 insertions(+), 731 deletions(-) create mode 100644 doc/overview/standalone.qbk diff --git a/doc/distributions/hypergeometric.qbk b/doc/distributions/hypergeometric.qbk index 5780c788d..b9c2181fa 100644 --- a/doc/distributions/hypergeometric.qbk +++ b/doc/distributions/hypergeometric.qbk @@ -239,10 +239,9 @@ mean & = \frac{rn}{N} \\ mode & = \floor*{ \frac{(r+1)(n+1)}{N+2} }\\ variance & = \frac{r(\frac{n}{N})(1-\frac{n}{N})(N-r)}{(N-1)}\\ skewness & = \frac{(N-2n)\sqrt{(N-1)}(N-2r)}{\sqrt{rn(N-n)(N-r)}(N-2)}\\ -kertosis\:excess & = \frac{(N-1)N^2(N(N+1)-6r(N-r)-6n(N-n)+6nr(N-r)(N-n)(5N-6)}{nr(N-r)(N-n)(N-2)(N-3)} +kurtosis & = \frac{((N - 1) N^2 ((3 r (N - r) (n^2 (-N) + (n - 2) N^2 + 6 n (N - n)))/N^2 - 6 n (N - n) + N (N + 1)))}{(r n (N - 3) (N - 2) (N - r) (N - n))} \end{split} \end{equation*} - ] [equation hypergeometric6] diff --git a/doc/equations/hypergeometric6.svg b/doc/equations/hypergeometric6.svg index 8be5ec9e6..f20e28ffa 100644 --- a/doc/equations/hypergeometric6.svg +++ b/doc/equations/hypergeometric6.svg @@ -1,5 +1,5 @@ - + @@ -45,10 +45,13 @@ - + - + + + + @@ -69,13 +72,10 @@ - + - - - - + @@ -102,583 +102,607 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/doc/html/backgrounders.html b/doc/html/backgrounders.html index e763145c8..e0c8ba987 100644 --- a/doc/html/backgrounders.html +++ b/doc/html/backgrounders.html @@ -4,8 +4,8 @@ Chapter 23. Backgrounders - - + + diff --git a/doc/html/constants.html b/doc/html/constants.html index 761952066..9fa206656 100644 --- a/doc/html/constants.html +++ b/doc/html/constants.html @@ -4,8 +4,8 @@ Chapter 4. Mathematical Constants - - + + diff --git a/doc/html/cstdfloat.html b/doc/html/cstdfloat.html index 0f1c0bbcc..da8771794 100644 --- a/doc/html/cstdfloat.html +++ b/doc/html/cstdfloat.html @@ -4,8 +4,8 @@ Chapter 3. Specified-width floating-point typedefs - - + + diff --git a/doc/html/dist.html b/doc/html/dist.html index e781104d2..3190fd96a 100644 --- a/doc/html/dist.html +++ b/doc/html/dist.html @@ -4,8 +4,8 @@ Chapter 5. Statistical Distributions and Functions - - + + diff --git a/doc/html/extern_c.html b/doc/html/extern_c.html index f8da01640..22c3e6f5b 100644 --- a/doc/html/extern_c.html +++ b/doc/html/extern_c.html @@ -4,8 +4,8 @@ Chapter 9. TR1 and C99 external "C" Functions - - + + diff --git a/doc/html/filters.html b/doc/html/filters.html index d3d6a9501..88afa7208 100644 --- a/doc/html/filters.html +++ b/doc/html/filters.html @@ -4,8 +4,8 @@ Chapter 14. Filters - - + + diff --git a/doc/html/gcd_lcm.html b/doc/html/gcd_lcm.html index 5f58283b6..9c2b560f7 100644 --- a/doc/html/gcd_lcm.html +++ b/doc/html/gcd_lcm.html @@ -4,8 +4,8 @@ Chapter 18. Integer Utilities (Greatest Common Divisor and Least Common Multiple) - - + + diff --git a/doc/html/index.html b/doc/html/index.html index c46436556..602f649c5 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,10 +1,10 @@ -Math Toolkit 3.0.0 +Math Toolkit 3.1.0 - + @@ -22,7 +22,7 @@

    -Math Toolkit 3.0.0

    +Math Toolkit 3.1.0

    1 2 4 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    diff --git a/doc/html/indexes/s02.html b/doc/html/indexes/s02.html index e74284693..450fe78f2 100644 --- a/doc/html/indexes/s02.html +++ b/doc/html/indexes/s02.html @@ -4,7 +4,7 @@ Class Index - + @@ -24,7 +24,7 @@

    -Class Index

    +Class Index

    A B C D E F G H I K L M N O P Q R S T U V W

    diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index cc4c2a8c5..ae124f384 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -4,7 +4,7 @@ Typedef Index - + @@ -24,7 +24,7 @@

    -Typedef Index

    +Typedef Index

    A B C D E F G H I K L N P R S T U V W

    diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index e60c7717c..a519679c6 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -4,7 +4,7 @@ Macro Index - + @@ -24,7 +24,7 @@

    -Macro Index

    +Macro Index

    B F

    @@ -309,6 +309,7 @@ diff --git a/doc/html/indexes/s05.html b/doc/html/indexes/s05.html index 33bc41746..b02f3f712 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -4,7 +4,7 @@ Index - + @@ -23,7 +23,7 @@

    -Index

    +Index

    1 2 4 5 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    @@ -1245,6 +1245,7 @@ @@ -8957,6 +8958,10 @@
  • +

    Standalone Usage

    + +
  • +
  • standard_deviation

    • Find Location (Mean) Example

    • diff --git a/doc/html/internals.html b/doc/html/internals.html index b5935d985..5a19ba125 100644 --- a/doc/html/internals.html +++ b/doc/html/internals.html @@ -4,8 +4,8 @@ Chapter 19. Internal Details: Series, Rationals and Continued Fractions, Testing, and Development Tools - - + + diff --git a/doc/html/interpolation.html b/doc/html/interpolation.html index 6dc9bf242..b818892ef 100644 --- a/doc/html/interpolation.html +++ b/doc/html/interpolation.html @@ -4,8 +4,8 @@ Chapter 12. Interpolation - - + + diff --git a/doc/html/inverse_complex.html b/doc/html/inverse_complex.html index eac02969c..5377b05a2 100644 --- a/doc/html/inverse_complex.html +++ b/doc/html/inverse_complex.html @@ -4,8 +4,8 @@ Chapter 15. Complex Number Functions - - + + diff --git a/doc/html/math_toolkit/acknowledgement.html b/doc/html/math_toolkit/acknowledgement.html index a0841619a..d7274ff34 100644 --- a/doc/html/math_toolkit/acknowledgement.html +++ b/doc/html/math_toolkit/acknowledgement.html @@ -4,7 +4,7 @@ Acknowledgements - + diff --git a/doc/html/math_toolkit/acknowledgements.html b/doc/html/math_toolkit/acknowledgements.html index bab5b5706..a25b1b232 100644 --- a/doc/html/math_toolkit/acknowledgements.html +++ b/doc/html/math_toolkit/acknowledgements.html @@ -4,7 +4,7 @@ Acknowledgements - + diff --git a/doc/html/math_toolkit/acos.html b/doc/html/math_toolkit/acos.html index 9db0b9455..bed5f0754 100644 --- a/doc/html/math_toolkit/acos.html +++ b/doc/html/math_toolkit/acos.html @@ -4,7 +4,7 @@ acos - + diff --git a/doc/html/math_toolkit/acosh.html b/doc/html/math_toolkit/acosh.html index e8dbcd7cc..1af08d725 100644 --- a/doc/html/math_toolkit/acosh.html +++ b/doc/html/math_toolkit/acosh.html @@ -4,7 +4,7 @@ acosh - + diff --git a/doc/html/math_toolkit/airy.html b/doc/html/math_toolkit/airy.html index 681f9fa6f..fd37ba771 100644 --- a/doc/html/math_toolkit/airy.html +++ b/doc/html/math_toolkit/airy.html @@ -4,7 +4,7 @@ Airy Functions - + diff --git a/doc/html/math_toolkit/airy/ai.html b/doc/html/math_toolkit/airy/ai.html index ceaca7558..7617a2415 100644 --- a/doc/html/math_toolkit/airy/ai.html +++ b/doc/html/math_toolkit/airy/ai.html @@ -4,7 +4,7 @@ Airy Ai Function - + diff --git a/doc/html/math_toolkit/airy/aip.html b/doc/html/math_toolkit/airy/aip.html index f28bf6d93..a822811f8 100644 --- a/doc/html/math_toolkit/airy/aip.html +++ b/doc/html/math_toolkit/airy/aip.html @@ -4,7 +4,7 @@ Airy Ai' Function - + diff --git a/doc/html/math_toolkit/airy/airy_root.html b/doc/html/math_toolkit/airy/airy_root.html index 527da3632..01a0a3d48 100644 --- a/doc/html/math_toolkit/airy/airy_root.html +++ b/doc/html/math_toolkit/airy/airy_root.html @@ -4,7 +4,7 @@ Finding Zeros of Airy Functions - + diff --git a/doc/html/math_toolkit/airy/bi.html b/doc/html/math_toolkit/airy/bi.html index c53e79336..59e9ab29c 100644 --- a/doc/html/math_toolkit/airy/bi.html +++ b/doc/html/math_toolkit/airy/bi.html @@ -4,7 +4,7 @@ Airy Bi Function - + diff --git a/doc/html/math_toolkit/airy/bip.html b/doc/html/math_toolkit/airy/bip.html index 0590ea279..7c83a6b66 100644 --- a/doc/html/math_toolkit/airy/bip.html +++ b/doc/html/math_toolkit/airy/bip.html @@ -4,7 +4,7 @@ Airy Bi' Function - + diff --git a/doc/html/math_toolkit/anderson_darling.html b/doc/html/math_toolkit/anderson_darling.html index 707e6727b..6e92513e9 100644 --- a/doc/html/math_toolkit/anderson_darling.html +++ b/doc/html/math_toolkit/anderson_darling.html @@ -4,7 +4,7 @@ The Anderson-Darling Test - + diff --git a/doc/html/math_toolkit/archetypes.html b/doc/html/math_toolkit/archetypes.html index 809b31c8a..7b3854834 100644 --- a/doc/html/math_toolkit/archetypes.html +++ b/doc/html/math_toolkit/archetypes.html @@ -4,7 +4,7 @@ Conceptual Archetypes for Reals and Distributions - + diff --git a/doc/html/math_toolkit/asin.html b/doc/html/math_toolkit/asin.html index d8b87881a..2bc3eb854 100644 --- a/doc/html/math_toolkit/asin.html +++ b/doc/html/math_toolkit/asin.html @@ -4,7 +4,7 @@ asin - + diff --git a/doc/html/math_toolkit/asinh.html b/doc/html/math_toolkit/asinh.html index fcdefc0dd..5d48a7d70 100644 --- a/doc/html/math_toolkit/asinh.html +++ b/doc/html/math_toolkit/asinh.html @@ -4,7 +4,7 @@ asinh - + diff --git a/doc/html/math_toolkit/atan.html b/doc/html/math_toolkit/atan.html index 2bb85b1f6..c6313efd6 100644 --- a/doc/html/math_toolkit/atan.html +++ b/doc/html/math_toolkit/atan.html @@ -4,7 +4,7 @@ atan - + diff --git a/doc/html/math_toolkit/atanh.html b/doc/html/math_toolkit/atanh.html index 684422d81..3ec16b9a8 100644 --- a/doc/html/math_toolkit/atanh.html +++ b/doc/html/math_toolkit/atanh.html @@ -4,7 +4,7 @@ atanh - + diff --git a/doc/html/math_toolkit/autodiff.html b/doc/html/math_toolkit/autodiff.html index 4a5c24ca7..61b757e5e 100644 --- a/doc/html/math_toolkit/autodiff.html +++ b/doc/html/math_toolkit/autodiff.html @@ -4,7 +4,7 @@ Automatic Differentiation - + diff --git a/doc/html/math_toolkit/bad_guess.html b/doc/html/math_toolkit/bad_guess.html index 79e2a0b0d..5c1316315 100644 --- a/doc/html/math_toolkit/bad_guess.html +++ b/doc/html/math_toolkit/bad_guess.html @@ -4,7 +4,7 @@ The Effect of a Poor Initial Guess - + diff --git a/doc/html/math_toolkit/bad_roots.html b/doc/html/math_toolkit/bad_roots.html index f9417521c..d5c459476 100644 --- a/doc/html/math_toolkit/bad_roots.html +++ b/doc/html/math_toolkit/bad_roots.html @@ -4,7 +4,7 @@ Examples Where Root Finding Goes Wrong - + diff --git a/doc/html/math_toolkit/barycentric.html b/doc/html/math_toolkit/barycentric.html index 8ac6e284f..5620deffe 100644 --- a/doc/html/math_toolkit/barycentric.html +++ b/doc/html/math_toolkit/barycentric.html @@ -4,7 +4,7 @@ Barycentric Rational Interpolation - + diff --git a/doc/html/math_toolkit/bessel.html b/doc/html/math_toolkit/bessel.html index db297d06f..2c99618fa 100644 --- a/doc/html/math_toolkit/bessel.html +++ b/doc/html/math_toolkit/bessel.html @@ -4,7 +4,7 @@ Bessel Functions - + diff --git a/doc/html/math_toolkit/bessel/bessel_derivatives.html b/doc/html/math_toolkit/bessel/bessel_derivatives.html index ef7b15bb8..58e5cafc1 100644 --- a/doc/html/math_toolkit/bessel/bessel_derivatives.html +++ b/doc/html/math_toolkit/bessel/bessel_derivatives.html @@ -4,7 +4,7 @@ Derivatives of the Bessel Functions - + diff --git a/doc/html/math_toolkit/bessel/bessel_first.html b/doc/html/math_toolkit/bessel/bessel_first.html index 3319e4e81..e6d5e010b 100644 --- a/doc/html/math_toolkit/bessel/bessel_first.html +++ b/doc/html/math_toolkit/bessel/bessel_first.html @@ -4,7 +4,7 @@ Bessel Functions of the First and Second Kinds - + diff --git a/doc/html/math_toolkit/bessel/bessel_over.html b/doc/html/math_toolkit/bessel/bessel_over.html index b731383be..00f8c7b25 100644 --- a/doc/html/math_toolkit/bessel/bessel_over.html +++ b/doc/html/math_toolkit/bessel/bessel_over.html @@ -4,7 +4,7 @@ Bessel Function Overview - + diff --git a/doc/html/math_toolkit/bessel/bessel_root.html b/doc/html/math_toolkit/bessel/bessel_root.html index 4f24924d5..cb2e011c6 100644 --- a/doc/html/math_toolkit/bessel/bessel_root.html +++ b/doc/html/math_toolkit/bessel/bessel_root.html @@ -4,7 +4,7 @@ Finding Zeros of Bessel Functions of the First and Second Kinds - + diff --git a/doc/html/math_toolkit/bessel/mbessel.html b/doc/html/math_toolkit/bessel/mbessel.html index 93b994b0c..14c7b1f81 100644 --- a/doc/html/math_toolkit/bessel/mbessel.html +++ b/doc/html/math_toolkit/bessel/mbessel.html @@ -4,7 +4,7 @@ Modified Bessel Functions of the First and Second Kinds - + diff --git a/doc/html/math_toolkit/bessel/sph_bessel.html b/doc/html/math_toolkit/bessel/sph_bessel.html index a2dda60dd..a1510fce2 100644 --- a/doc/html/math_toolkit/bessel/sph_bessel.html +++ b/doc/html/math_toolkit/bessel/sph_bessel.html @@ -4,7 +4,7 @@ Spherical Bessel Functions of the First and Second Kinds - + diff --git a/doc/html/math_toolkit/bilinear_uniform.html b/doc/html/math_toolkit/bilinear_uniform.html index 346b4f428..21a0a71dd 100644 --- a/doc/html/math_toolkit/bilinear_uniform.html +++ b/doc/html/math_toolkit/bilinear_uniform.html @@ -4,7 +4,7 @@ Bilinear Uniform Interpolation - + diff --git a/doc/html/math_toolkit/bivariate_statistics.html b/doc/html/math_toolkit/bivariate_statistics.html index 08ef45607..16b8484bc 100644 --- a/doc/html/math_toolkit/bivariate_statistics.html +++ b/doc/html/math_toolkit/bivariate_statistics.html @@ -4,7 +4,7 @@ Bivariate Statistics - + diff --git a/doc/html/math_toolkit/brent_minima.html b/doc/html/math_toolkit/brent_minima.html index 84ae621db..b57510a81 100644 --- a/doc/html/math_toolkit/brent_minima.html +++ b/doc/html/math_toolkit/brent_minima.html @@ -4,7 +4,7 @@ Locating Function Minima using Brent's algorithm - + diff --git a/doc/html/math_toolkit/building.html b/doc/html/math_toolkit/building.html index 28c23ca56..bb0880307 100644 --- a/doc/html/math_toolkit/building.html +++ b/doc/html/math_toolkit/building.html @@ -4,7 +4,7 @@ If and How to Build a Boost.Math Library, and its Examples and Tests - + diff --git a/doc/html/math_toolkit/c99.html b/doc/html/math_toolkit/c99.html index 621e783c5..0c23b29e6 100644 --- a/doc/html/math_toolkit/c99.html +++ b/doc/html/math_toolkit/c99.html @@ -4,7 +4,7 @@ C99 C Functions - + diff --git a/doc/html/math_toolkit/cardinal_cubic_b.html b/doc/html/math_toolkit/cardinal_cubic_b.html index b48c574e1..b5c8f0d66 100644 --- a/doc/html/math_toolkit/cardinal_cubic_b.html +++ b/doc/html/math_toolkit/cardinal_cubic_b.html @@ -4,7 +4,7 @@ Cardinal Cubic B-spline interpolation - + diff --git a/doc/html/math_toolkit/cardinal_quadratic_b.html b/doc/html/math_toolkit/cardinal_quadratic_b.html index b11cc38fd..7899fa8df 100644 --- a/doc/html/math_toolkit/cardinal_quadratic_b.html +++ b/doc/html/math_toolkit/cardinal_quadratic_b.html @@ -4,7 +4,7 @@ Cardinal Quadratic B-spline interpolation - + diff --git a/doc/html/math_toolkit/cardinal_quintic_b.html b/doc/html/math_toolkit/cardinal_quintic_b.html index 2ad14640b..088b22020 100644 --- a/doc/html/math_toolkit/cardinal_quintic_b.html +++ b/doc/html/math_toolkit/cardinal_quintic_b.html @@ -4,7 +4,7 @@ Cardinal Quintic B-spline interpolation - + diff --git a/doc/html/math_toolkit/cardinal_trigonometric.html b/doc/html/math_toolkit/cardinal_trigonometric.html index 90e7ea19b..69aebbda2 100644 --- a/doc/html/math_toolkit/cardinal_trigonometric.html +++ b/doc/html/math_toolkit/cardinal_trigonometric.html @@ -4,7 +4,7 @@ Cardinal Trigonometric interpolation - + diff --git a/doc/html/math_toolkit/catmull_rom.html b/doc/html/math_toolkit/catmull_rom.html index 6ac4a175a..3899bd362 100644 --- a/doc/html/math_toolkit/catmull_rom.html +++ b/doc/html/math_toolkit/catmull_rom.html @@ -4,7 +4,7 @@ Catmull-Rom Splines - + diff --git a/doc/html/math_toolkit/comp_compilers.html b/doc/html/math_toolkit/comp_compilers.html index 0f8548837..7b4f99802 100644 --- a/doc/html/math_toolkit/comp_compilers.html +++ b/doc/html/math_toolkit/comp_compilers.html @@ -4,7 +4,7 @@ Comparing Different Compilers - + diff --git a/doc/html/math_toolkit/comparisons.html b/doc/html/math_toolkit/comparisons.html index 2aa7f48ea..3302b1f58 100644 --- a/doc/html/math_toolkit/comparisons.html +++ b/doc/html/math_toolkit/comparisons.html @@ -4,7 +4,7 @@ Comparisons to Other Open Source Libraries - + diff --git a/doc/html/math_toolkit/compilers_overview.html b/doc/html/math_toolkit/compilers_overview.html index d5386017a..a6af5f2dc 100644 --- a/doc/html/math_toolkit/compilers_overview.html +++ b/doc/html/math_toolkit/compilers_overview.html @@ -4,7 +4,7 @@ Compilers - + diff --git a/doc/html/math_toolkit/complex_history.html b/doc/html/math_toolkit/complex_history.html index 8d5c26b78..a1eb9ab58 100644 --- a/doc/html/math_toolkit/complex_history.html +++ b/doc/html/math_toolkit/complex_history.html @@ -4,7 +4,7 @@ History - + diff --git a/doc/html/math_toolkit/complex_implementation.html b/doc/html/math_toolkit/complex_implementation.html index 122b1682f..39aea7d31 100644 --- a/doc/html/math_toolkit/complex_implementation.html +++ b/doc/html/math_toolkit/complex_implementation.html @@ -4,7 +4,7 @@ Implementation and Accuracy - + diff --git a/doc/html/math_toolkit/cond.html b/doc/html/math_toolkit/cond.html index 2943058d4..66a81c7f2 100644 --- a/doc/html/math_toolkit/cond.html +++ b/doc/html/math_toolkit/cond.html @@ -4,7 +4,7 @@ Condition Numbers - + diff --git a/doc/html/math_toolkit/config_macros.html b/doc/html/math_toolkit/config_macros.html index 88f013280..bad18f41b 100644 --- a/doc/html/math_toolkit/config_macros.html +++ b/doc/html/math_toolkit/config_macros.html @@ -4,7 +4,7 @@ Configuration Macros - + diff --git a/doc/html/math_toolkit/constants.html b/doc/html/math_toolkit/constants.html index fc7884deb..9b7944a8e 100644 --- a/doc/html/math_toolkit/constants.html +++ b/doc/html/math_toolkit/constants.html @@ -4,7 +4,7 @@ The Mathematical Constants - + diff --git a/doc/html/math_toolkit/constants_faq.html b/doc/html/math_toolkit/constants_faq.html index d28033bec..e4850651e 100644 --- a/doc/html/math_toolkit/constants_faq.html +++ b/doc/html/math_toolkit/constants_faq.html @@ -4,7 +4,7 @@ Math Constants FAQs - + diff --git a/doc/html/math_toolkit/constants_intro.html b/doc/html/math_toolkit/constants_intro.html index 5f7681c7f..e0c513879 100644 --- a/doc/html/math_toolkit/constants_intro.html +++ b/doc/html/math_toolkit/constants_intro.html @@ -4,7 +4,7 @@ Introduction - + diff --git a/doc/html/math_toolkit/contact.html b/doc/html/math_toolkit/contact.html index ab52e9ef0..607811107 100644 --- a/doc/html/math_toolkit/contact.html +++ b/doc/html/math_toolkit/contact.html @@ -4,7 +4,7 @@ Contact Info and Support - + diff --git a/doc/html/math_toolkit/conventions.html b/doc/html/math_toolkit/conventions.html index f0d0f1943..828f5d36e 100644 --- a/doc/html/math_toolkit/conventions.html +++ b/doc/html/math_toolkit/conventions.html @@ -4,7 +4,7 @@ Document Conventions - + @@ -27,7 +27,7 @@ Document Conventions

    - +

    This documentation aims to use of the following naming and formatting conventions. diff --git a/doc/html/math_toolkit/create.html b/doc/html/math_toolkit/create.html index 323fd8ab9..ce1d22c00 100644 --- a/doc/html/math_toolkit/create.html +++ b/doc/html/math_toolkit/create.html @@ -4,7 +4,7 @@ Quaternion Creation Functions - + diff --git a/doc/html/math_toolkit/credits.html b/doc/html/math_toolkit/credits.html index 4930799cc..edcf1495d 100644 --- a/doc/html/math_toolkit/credits.html +++ b/doc/html/math_toolkit/credits.html @@ -4,7 +4,7 @@ Credits and Acknowledgements - + diff --git a/doc/html/math_toolkit/cubic_hermite.html b/doc/html/math_toolkit/cubic_hermite.html index 17e3eac7c..a61ed8705 100644 --- a/doc/html/math_toolkit/cubic_hermite.html +++ b/doc/html/math_toolkit/cubic_hermite.html @@ -4,7 +4,7 @@ Cubic Hermite interpolation - + diff --git a/doc/html/math_toolkit/daubechies.html b/doc/html/math_toolkit/daubechies.html index dd70268e9..3c6ba33ce 100644 --- a/doc/html/math_toolkit/daubechies.html +++ b/doc/html/math_toolkit/daubechies.html @@ -4,7 +4,7 @@ Daubechies Wavelets and Scaling Functions - + diff --git a/doc/html/math_toolkit/daubechies_filters.html b/doc/html/math_toolkit/daubechies_filters.html index efcee342b..bd87e1afa 100644 --- a/doc/html/math_toolkit/daubechies_filters.html +++ b/doc/html/math_toolkit/daubechies_filters.html @@ -4,7 +4,7 @@ Daubechies Filters - + diff --git a/doc/html/math_toolkit/diff.html b/doc/html/math_toolkit/diff.html index ee8cfbbe8..15aae3505 100644 --- a/doc/html/math_toolkit/diff.html +++ b/doc/html/math_toolkit/diff.html @@ -4,7 +4,7 @@ Numerical Differentiation - + diff --git a/doc/html/math_toolkit/diff0.html b/doc/html/math_toolkit/diff0.html index 9226592fe..585679a3e 100644 --- a/doc/html/math_toolkit/diff0.html +++ b/doc/html/math_toolkit/diff0.html @@ -4,7 +4,7 @@ Lanczos Smoothing Derivatives - + diff --git a/doc/html/math_toolkit/directories.html b/doc/html/math_toolkit/directories.html index 3181d9b17..6b903219e 100644 --- a/doc/html/math_toolkit/directories.html +++ b/doc/html/math_toolkit/directories.html @@ -4,7 +4,7 @@ Directory and File Structure - + diff --git a/doc/html/math_toolkit/dist_concept.html b/doc/html/math_toolkit/dist_concept.html index 3196d9ea8..dfbe070aa 100644 --- a/doc/html/math_toolkit/dist_concept.html +++ b/doc/html/math_toolkit/dist_concept.html @@ -4,7 +4,7 @@ Conceptual Requirements for Distribution Types - + diff --git a/doc/html/math_toolkit/dist_ref.html b/doc/html/math_toolkit/dist_ref.html index 9267067a3..c0c45918a 100644 --- a/doc/html/math_toolkit/dist_ref.html +++ b/doc/html/math_toolkit/dist_ref.html @@ -4,7 +4,7 @@ Statistical Distributions Reference - + diff --git a/doc/html/math_toolkit/dist_ref/dist_algorithms.html b/doc/html/math_toolkit/dist_ref/dist_algorithms.html index db9420de9..caa489500 100644 --- a/doc/html/math_toolkit/dist_ref/dist_algorithms.html +++ b/doc/html/math_toolkit/dist_ref/dist_algorithms.html @@ -4,7 +4,7 @@ Distribution Algorithms - + diff --git a/doc/html/math_toolkit/dist_ref/dists.html b/doc/html/math_toolkit/dist_ref/dists.html index 221f456a7..c3b36f00c 100644 --- a/doc/html/math_toolkit/dist_ref/dists.html +++ b/doc/html/math_toolkit/dist_ref/dists.html @@ -4,7 +4,7 @@ Distributions - + diff --git a/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html b/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html index 99772d258..abf654a27 100644 --- a/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html @@ -4,7 +4,7 @@ Arcsine Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html b/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html index 17b804d47..9d1fc3b47 100644 --- a/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html @@ -4,7 +4,7 @@ Bernoulli Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/beta_dist.html b/doc/html/math_toolkit/dist_ref/dists/beta_dist.html index d46789595..64f3815cb 100644 --- a/doc/html/math_toolkit/dist_ref/dists/beta_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/beta_dist.html @@ -4,7 +4,7 @@ Beta Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html b/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html index 2604fbf63..e7d86e834 100644 --- a/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html @@ -4,7 +4,7 @@ Binomial Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html b/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html index aab59d3ef..58ac9fb9b 100644 --- a/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html @@ -4,7 +4,7 @@ Cauchy-Lorentz Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html index 64ab3c4ef..f41a8418e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html @@ -4,7 +4,7 @@ Chi Squared Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html b/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html index 90e41c79f..194f42251 100644 --- a/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html +++ b/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html @@ -4,7 +4,7 @@ Empirical Cumulative Distribution Function - + diff --git a/doc/html/math_toolkit/dist_ref/dists/exp_dist.html b/doc/html/math_toolkit/dist_ref/dists/exp_dist.html index 3c0f6b15d..df92fb561 100644 --- a/doc/html/math_toolkit/dist_ref/dists/exp_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/exp_dist.html @@ -4,7 +4,7 @@ Exponential Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html b/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html index 6cd84356b..2b2d3ad69 100644 --- a/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html @@ -4,7 +4,7 @@ Extreme Value Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/f_dist.html b/doc/html/math_toolkit/dist_ref/dists/f_dist.html index c8f4f076d..d00270401 100644 --- a/doc/html/math_toolkit/dist_ref/dists/f_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/f_dist.html @@ -4,7 +4,7 @@ F Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html b/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html index c9f91abe8..7be764e77 100644 --- a/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html @@ -4,7 +4,7 @@ Gamma (and Erlang) Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html b/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html index 20095b1fb..0a44078ff 100644 --- a/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html @@ -4,7 +4,7 @@ Geometric Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html b/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html index 2fa1cd24f..4f288aece 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html @@ -4,7 +4,7 @@ Hyperexponential Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html index f204bcf3b..5ad0fc3da 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html @@ -4,7 +4,7 @@ Hypergeometric Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html index 284901554..5564581fa 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html @@ -4,7 +4,7 @@ Inverse Chi Squared Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html index dde294419..6c5db196c 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html @@ -4,7 +4,7 @@ Inverse Gamma Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html index 3c18d0fca..e9428aed6 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html @@ -4,7 +4,7 @@ Inverse Gaussian (or Inverse Normal) Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html b/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html index ec98b593e..8b16a8cf8 100644 --- a/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html @@ -4,7 +4,7 @@ Kolmogorov-Smirnov Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html b/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html index b4d083291..bafeb6dbb 100644 --- a/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html @@ -4,7 +4,7 @@ Laplace Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html b/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html index 6fac70297..6dd5bfd83 100644 --- a/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html @@ -4,7 +4,7 @@ Logistic Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html b/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html index 90cb27651..01d19d7c9 100644 --- a/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html @@ -4,7 +4,7 @@ Log Normal Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html index 76d2f12cf..463282d07 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html @@ -4,7 +4,7 @@ Noncentral Beta Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html index ecb088c98..136461aa7 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html @@ -4,7 +4,7 @@ Noncentral Chi-Squared Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html index 807f17505..c759d8289 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html @@ -4,7 +4,7 @@ Noncentral F Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html index 7069f226f..f9de6a8b6 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html @@ -4,7 +4,7 @@ Noncentral T Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html b/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html index f7ebf926e..5244c0a16 100644 --- a/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html @@ -4,7 +4,7 @@ Negative Binomial Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/normal_dist.html b/doc/html/math_toolkit/dist_ref/dists/normal_dist.html index 9d3cd11e1..a61e3d689 100644 --- a/doc/html/math_toolkit/dist_ref/dists/normal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/normal_dist.html @@ -4,7 +4,7 @@ Normal (Gaussian) Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/pareto.html b/doc/html/math_toolkit/dist_ref/dists/pareto.html index b23d4bff8..2b913b87b 100644 --- a/doc/html/math_toolkit/dist_ref/dists/pareto.html +++ b/doc/html/math_toolkit/dist_ref/dists/pareto.html @@ -4,7 +4,7 @@ Pareto Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html b/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html index 61d82f7de..2b019d9c0 100644 --- a/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html @@ -4,7 +4,7 @@ Poisson Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/rayleigh.html b/doc/html/math_toolkit/dist_ref/dists/rayleigh.html index f2654ebb7..9bf74ce05 100644 --- a/doc/html/math_toolkit/dist_ref/dists/rayleigh.html +++ b/doc/html/math_toolkit/dist_ref/dists/rayleigh.html @@ -4,7 +4,7 @@ Rayleigh Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html b/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html index 06de829cc..179d8ff77 100644 --- a/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html @@ -4,7 +4,7 @@ Skew Normal Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html b/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html index eaf547e49..46428c827 100644 --- a/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html @@ -4,7 +4,7 @@ Students t Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html b/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html index 91cbf62de..7aeb40e23 100644 --- a/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html @@ -4,7 +4,7 @@ Triangular Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html b/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html index 1e611cddc..8fd4eab29 100644 --- a/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html @@ -4,7 +4,7 @@ Uniform Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html b/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html index 8e507b4a1..b5e64e979 100644 --- a/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html @@ -4,7 +4,7 @@ Weibull Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/nmp.html b/doc/html/math_toolkit/dist_ref/nmp.html index 7e18dc553..af86193f1 100644 --- a/doc/html/math_toolkit/dist_ref/nmp.html +++ b/doc/html/math_toolkit/dist_ref/nmp.html @@ -4,7 +4,7 @@ Non-Member Properties - + diff --git a/doc/html/math_toolkit/double_exponential.html b/doc/html/math_toolkit/double_exponential.html index 76e4f3051..d7eec9ffe 100644 --- a/doc/html/math_toolkit/double_exponential.html +++ b/doc/html/math_toolkit/double_exponential.html @@ -4,7 +4,7 @@ Double-exponential quadrature - + diff --git a/doc/html/math_toolkit/double_exponential/de_caveats.html b/doc/html/math_toolkit/double_exponential/de_caveats.html index 677fa4976..da847aad2 100644 --- a/doc/html/math_toolkit/double_exponential/de_caveats.html +++ b/doc/html/math_toolkit/double_exponential/de_caveats.html @@ -4,7 +4,7 @@ Caveats - + diff --git a/doc/html/math_toolkit/double_exponential/de_exp_sinh.html b/doc/html/math_toolkit/double_exponential/de_exp_sinh.html index 473d61085..eae51e32e 100644 --- a/doc/html/math_toolkit/double_exponential/de_exp_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_exp_sinh.html @@ -4,7 +4,7 @@ exp_sinh - + diff --git a/doc/html/math_toolkit/double_exponential/de_levels.html b/doc/html/math_toolkit/double_exponential/de_levels.html index a63d1697a..9eb0fb716 100644 --- a/doc/html/math_toolkit/double_exponential/de_levels.html +++ b/doc/html/math_toolkit/double_exponential/de_levels.html @@ -4,7 +4,7 @@ Setting the Maximum Interval Halvings and Memory Requirements - + diff --git a/doc/html/math_toolkit/double_exponential/de_overview.html b/doc/html/math_toolkit/double_exponential/de_overview.html index c1c1f215a..bff0ca859 100644 --- a/doc/html/math_toolkit/double_exponential/de_overview.html +++ b/doc/html/math_toolkit/double_exponential/de_overview.html @@ -4,7 +4,7 @@ Overview - + diff --git a/doc/html/math_toolkit/double_exponential/de_refes.html b/doc/html/math_toolkit/double_exponential/de_refes.html index b4134573c..14f7e9caf 100644 --- a/doc/html/math_toolkit/double_exponential/de_refes.html +++ b/doc/html/math_toolkit/double_exponential/de_refes.html @@ -4,7 +4,7 @@ References - + diff --git a/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html b/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html index b05a68b0f..f11d43305 100644 --- a/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html @@ -4,7 +4,7 @@ sinh_sinh - + diff --git a/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html b/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html index 6a33f4e36..ab85bfd28 100644 --- a/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html @@ -4,7 +4,7 @@ tanh_sinh - + diff --git a/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html b/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html index 76e622df6..3343cfc7b 100644 --- a/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html +++ b/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html @@ -4,7 +4,7 @@ Handling functions with large features near an endpoint with tanh-sinh quadrature - + diff --git a/doc/html/math_toolkit/double_exponential/de_thread.html b/doc/html/math_toolkit/double_exponential/de_thread.html index 87eda685c..78714bdf2 100644 --- a/doc/html/math_toolkit/double_exponential/de_thread.html +++ b/doc/html/math_toolkit/double_exponential/de_thread.html @@ -4,7 +4,7 @@ Thread Safety - + diff --git a/doc/html/math_toolkit/double_exponential/de_tol.html b/doc/html/math_toolkit/double_exponential/de_tol.html index c6c8f589f..b684e1dc4 100644 --- a/doc/html/math_toolkit/double_exponential/de_tol.html +++ b/doc/html/math_toolkit/double_exponential/de_tol.html @@ -4,7 +4,7 @@ Setting the Termination Condition for Integration - + diff --git a/doc/html/math_toolkit/ellint.html b/doc/html/math_toolkit/ellint.html index b69a70e3b..ada266c63 100644 --- a/doc/html/math_toolkit/ellint.html +++ b/doc/html/math_toolkit/ellint.html @@ -4,7 +4,7 @@ Elliptic Integrals - + diff --git a/doc/html/math_toolkit/ellint/ellint_1.html b/doc/html/math_toolkit/ellint/ellint_1.html index 0e2f36d9d..47c1234ca 100644 --- a/doc/html/math_toolkit/ellint/ellint_1.html +++ b/doc/html/math_toolkit/ellint/ellint_1.html @@ -4,7 +4,7 @@ Elliptic Integrals of the First Kind - Legendre Form - + diff --git a/doc/html/math_toolkit/ellint/ellint_2.html b/doc/html/math_toolkit/ellint/ellint_2.html index 80c1b7c6e..9923955de 100644 --- a/doc/html/math_toolkit/ellint/ellint_2.html +++ b/doc/html/math_toolkit/ellint/ellint_2.html @@ -4,7 +4,7 @@ Elliptic Integrals of the Second Kind - Legendre Form - + diff --git a/doc/html/math_toolkit/ellint/ellint_3.html b/doc/html/math_toolkit/ellint/ellint_3.html index 7d2efa460..f24d7b79c 100644 --- a/doc/html/math_toolkit/ellint/ellint_3.html +++ b/doc/html/math_toolkit/ellint/ellint_3.html @@ -4,7 +4,7 @@ Elliptic Integrals of the Third Kind - Legendre Form - + diff --git a/doc/html/math_toolkit/ellint/ellint_carlson.html b/doc/html/math_toolkit/ellint/ellint_carlson.html index ce98e2f80..becb022f7 100644 --- a/doc/html/math_toolkit/ellint/ellint_carlson.html +++ b/doc/html/math_toolkit/ellint/ellint_carlson.html @@ -4,7 +4,7 @@ Elliptic Integrals - Carlson Form - + diff --git a/doc/html/math_toolkit/ellint/ellint_d.html b/doc/html/math_toolkit/ellint/ellint_d.html index f24aba2fd..785a07e07 100644 --- a/doc/html/math_toolkit/ellint/ellint_d.html +++ b/doc/html/math_toolkit/ellint/ellint_d.html @@ -4,7 +4,7 @@ Elliptic Integral D - Legendre Form - + diff --git a/doc/html/math_toolkit/ellint/ellint_intro.html b/doc/html/math_toolkit/ellint/ellint_intro.html index 238f7eaaa..b7f2e829e 100644 --- a/doc/html/math_toolkit/ellint/ellint_intro.html +++ b/doc/html/math_toolkit/ellint/ellint_intro.html @@ -4,7 +4,7 @@ Elliptic Integral Overview - + diff --git a/doc/html/math_toolkit/ellint/heuman_lambda.html b/doc/html/math_toolkit/ellint/heuman_lambda.html index e4f375e9b..ccf01c046 100644 --- a/doc/html/math_toolkit/ellint/heuman_lambda.html +++ b/doc/html/math_toolkit/ellint/heuman_lambda.html @@ -4,7 +4,7 @@ Heuman Lambda Function - + diff --git a/doc/html/math_toolkit/ellint/jacobi_zeta.html b/doc/html/math_toolkit/ellint/jacobi_zeta.html index 881843214..c1372f082 100644 --- a/doc/html/math_toolkit/ellint/jacobi_zeta.html +++ b/doc/html/math_toolkit/ellint/jacobi_zeta.html @@ -4,7 +4,7 @@ Jacobi Zeta Function - + diff --git a/doc/html/math_toolkit/error_handling.html b/doc/html/math_toolkit/error_handling.html index facad0053..9034427e2 100644 --- a/doc/html/math_toolkit/error_handling.html +++ b/doc/html/math_toolkit/error_handling.html @@ -4,7 +4,7 @@ Error Handling - + diff --git a/doc/html/math_toolkit/exact_typdefs.html b/doc/html/math_toolkit/exact_typdefs.html index bfd367887..db4c0a234 100644 --- a/doc/html/math_toolkit/exact_typdefs.html +++ b/doc/html/math_toolkit/exact_typdefs.html @@ -4,7 +4,7 @@ Exact-Width Floating-Point typedefs - + diff --git a/doc/html/math_toolkit/examples.html b/doc/html/math_toolkit/examples.html index ba1a3311a..4d4f50c99 100644 --- a/doc/html/math_toolkit/examples.html +++ b/doc/html/math_toolkit/examples.html @@ -4,7 +4,7 @@ Examples - + diff --git a/doc/html/math_toolkit/exp.html b/doc/html/math_toolkit/exp.html index e57a5dc04..50ae3b8be 100644 --- a/doc/html/math_toolkit/exp.html +++ b/doc/html/math_toolkit/exp.html @@ -4,7 +4,7 @@ The Quaternionic Exponential - + diff --git a/doc/html/math_toolkit/expint.html b/doc/html/math_toolkit/expint.html index 05ed5e45b..ab6939ca2 100644 --- a/doc/html/math_toolkit/expint.html +++ b/doc/html/math_toolkit/expint.html @@ -4,7 +4,7 @@ Exponential Integrals - + diff --git a/doc/html/math_toolkit/expint/expint_i.html b/doc/html/math_toolkit/expint/expint_i.html index 35b60d583..385299372 100644 --- a/doc/html/math_toolkit/expint/expint_i.html +++ b/doc/html/math_toolkit/expint/expint_i.html @@ -4,7 +4,7 @@ Exponential Integral Ei - + diff --git a/doc/html/math_toolkit/expint/expint_n.html b/doc/html/math_toolkit/expint/expint_n.html index 431ff3cf0..8ef2899eb 100644 --- a/doc/html/math_toolkit/expint/expint_n.html +++ b/doc/html/math_toolkit/expint/expint_n.html @@ -4,7 +4,7 @@ Exponential Integral En - + diff --git a/doc/html/math_toolkit/factorials.html b/doc/html/math_toolkit/factorials.html index a4c53c6f3..6287636f9 100644 --- a/doc/html/math_toolkit/factorials.html +++ b/doc/html/math_toolkit/factorials.html @@ -4,7 +4,7 @@ Factorials and Binomial Coefficients - + diff --git a/doc/html/math_toolkit/factorials/sf_binomial.html b/doc/html/math_toolkit/factorials/sf_binomial.html index 18e91f1b9..467721277 100644 --- a/doc/html/math_toolkit/factorials/sf_binomial.html +++ b/doc/html/math_toolkit/factorials/sf_binomial.html @@ -4,7 +4,7 @@ Binomial Coefficients - + diff --git a/doc/html/math_toolkit/factorials/sf_double_factorial.html b/doc/html/math_toolkit/factorials/sf_double_factorial.html index ebfe6075d..d5ed8d6c2 100644 --- a/doc/html/math_toolkit/factorials/sf_double_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_double_factorial.html @@ -4,7 +4,7 @@ Double Factorial - + diff --git a/doc/html/math_toolkit/factorials/sf_factorial.html b/doc/html/math_toolkit/factorials/sf_factorial.html index 7bfcc54aa..12b3c1840 100644 --- a/doc/html/math_toolkit/factorials/sf_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_factorial.html @@ -4,7 +4,7 @@ Factorial - + diff --git a/doc/html/math_toolkit/factorials/sf_falling_factorial.html b/doc/html/math_toolkit/factorials/sf_falling_factorial.html index cd96245d6..e5eb9f42b 100644 --- a/doc/html/math_toolkit/factorials/sf_falling_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_falling_factorial.html @@ -4,7 +4,7 @@ Falling Factorial - + diff --git a/doc/html/math_toolkit/factorials/sf_rising_factorial.html b/doc/html/math_toolkit/factorials/sf_rising_factorial.html index 455705008..d09194640 100644 --- a/doc/html/math_toolkit/factorials/sf_rising_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_rising_factorial.html @@ -4,7 +4,7 @@ Rising Factorial - + diff --git a/doc/html/math_toolkit/fastest_typdefs.html b/doc/html/math_toolkit/fastest_typdefs.html index 368ab817a..5bda9abab 100644 --- a/doc/html/math_toolkit/fastest_typdefs.html +++ b/doc/html/math_toolkit/fastest_typdefs.html @@ -4,7 +4,7 @@ Fastest floating-point typedefs - + diff --git a/doc/html/math_toolkit/float128.html b/doc/html/math_toolkit/float128.html index 33f5bf3bc..f0d309e57 100644 --- a/doc/html/math_toolkit/float128.html +++ b/doc/html/math_toolkit/float128.html @@ -4,7 +4,7 @@ Implementation of Float128 type - + diff --git a/doc/html/math_toolkit/float128/exp_function.html b/doc/html/math_toolkit/float128/exp_function.html index 6e5c5ca6c..dd7a561dc 100644 --- a/doc/html/math_toolkit/float128/exp_function.html +++ b/doc/html/math_toolkit/float128/exp_function.html @@ -4,7 +4,7 @@ Exponential function - + diff --git a/doc/html/math_toolkit/float128/overloading.html b/doc/html/math_toolkit/float128/overloading.html index 252ef8e0d..6acf3996a 100644 --- a/doc/html/math_toolkit/float128/overloading.html +++ b/doc/html/math_toolkit/float128/overloading.html @@ -4,7 +4,7 @@ Overloading template functions with float128_t - + diff --git a/doc/html/math_toolkit/float128/typeinfo.html b/doc/html/math_toolkit/float128/typeinfo.html index 0fc7d44fa..38a78d8e3 100644 --- a/doc/html/math_toolkit/float128/typeinfo.html +++ b/doc/html/math_toolkit/float128/typeinfo.html @@ -4,7 +4,7 @@ typeinfo - + diff --git a/doc/html/math_toolkit/float128_hints.html b/doc/html/math_toolkit/float128_hints.html index 5b429b249..2c34cfb95 100644 --- a/doc/html/math_toolkit/float128_hints.html +++ b/doc/html/math_toolkit/float128_hints.html @@ -4,7 +4,7 @@ Hints on using float128 (and __float128) - + diff --git a/doc/html/math_toolkit/float_comparison.html b/doc/html/math_toolkit/float_comparison.html index 9570abb65..a99bf59dd 100644 --- a/doc/html/math_toolkit/float_comparison.html +++ b/doc/html/math_toolkit/float_comparison.html @@ -4,7 +4,7 @@ Floating-point Comparison - + diff --git a/doc/html/math_toolkit/fourier_integrals.html b/doc/html/math_toolkit/fourier_integrals.html index b12f3a40b..2ec376e0a 100644 --- a/doc/html/math_toolkit/fourier_integrals.html +++ b/doc/html/math_toolkit/fourier_integrals.html @@ -4,7 +4,7 @@ Fourier Integrals - + diff --git a/doc/html/math_toolkit/fp_facets.html b/doc/html/math_toolkit/fp_facets.html index 13a8f55ec..85431ecae 100644 --- a/doc/html/math_toolkit/fp_facets.html +++ b/doc/html/math_toolkit/fp_facets.html @@ -4,7 +4,7 @@ Facets for Floating-Point Infinities and NaNs - + diff --git a/doc/html/math_toolkit/fp_facets/examples.html b/doc/html/math_toolkit/fp_facets/examples.html index 2dcbb53e2..82e4adf50 100644 --- a/doc/html/math_toolkit/fp_facets/examples.html +++ b/doc/html/math_toolkit/fp_facets/examples.html @@ -4,7 +4,7 @@ Examples - + diff --git a/doc/html/math_toolkit/fp_facets/facets_intro.html b/doc/html/math_toolkit/fp_facets/facets_intro.html index 6bfd39151..03864df1e 100644 --- a/doc/html/math_toolkit/fp_facets/facets_intro.html +++ b/doc/html/math_toolkit/fp_facets/facets_intro.html @@ -4,7 +4,7 @@ Introduction - + diff --git a/doc/html/math_toolkit/fp_facets/portability.html b/doc/html/math_toolkit/fp_facets/portability.html index a539ffc84..dee020dba 100644 --- a/doc/html/math_toolkit/fp_facets/portability.html +++ b/doc/html/math_toolkit/fp_facets/portability.html @@ -4,7 +4,7 @@ Portability - + diff --git a/doc/html/math_toolkit/fp_facets/rationale.html b/doc/html/math_toolkit/fp_facets/rationale.html index b332dd489..9d534950f 100644 --- a/doc/html/math_toolkit/fp_facets/rationale.html +++ b/doc/html/math_toolkit/fp_facets/rationale.html @@ -4,7 +4,7 @@ Design Rationale - + diff --git a/doc/html/math_toolkit/fp_facets/reference.html b/doc/html/math_toolkit/fp_facets/reference.html index 877dc3c28..124c202b4 100644 --- a/doc/html/math_toolkit/fp_facets/reference.html +++ b/doc/html/math_toolkit/fp_facets/reference.html @@ -4,7 +4,7 @@ Reference - + diff --git a/doc/html/math_toolkit/fpclass.html b/doc/html/math_toolkit/fpclass.html index d8912e000..78c7ae953 100644 --- a/doc/html/math_toolkit/fpclass.html +++ b/doc/html/math_toolkit/fpclass.html @@ -4,7 +4,7 @@ Floating-Point Classification: Infinities and NaNs - + diff --git a/doc/html/math_toolkit/future.html b/doc/html/math_toolkit/future.html index 1ee7680ba..dec18d034 100644 --- a/doc/html/math_toolkit/future.html +++ b/doc/html/math_toolkit/future.html @@ -4,7 +4,7 @@ Extras/Future Directions - + diff --git a/doc/html/math_toolkit/gauss.html b/doc/html/math_toolkit/gauss.html index 18b0bc5bb..223f061b4 100644 --- a/doc/html/math_toolkit/gauss.html +++ b/doc/html/math_toolkit/gauss.html @@ -4,7 +4,7 @@ Gauss-Legendre quadrature - + diff --git a/doc/html/math_toolkit/gauss_kronrod.html b/doc/html/math_toolkit/gauss_kronrod.html index cdaddd51d..e37f3e677 100644 --- a/doc/html/math_toolkit/gauss_kronrod.html +++ b/doc/html/math_toolkit/gauss_kronrod.html @@ -4,7 +4,7 @@ Gauss-Kronrod Quadrature - + diff --git a/doc/html/math_toolkit/getting_best.html b/doc/html/math_toolkit/getting_best.html index ee82c64f6..bfde476e4 100644 --- a/doc/html/math_toolkit/getting_best.html +++ b/doc/html/math_toolkit/getting_best.html @@ -4,7 +4,7 @@ Getting the Best Performance from this Library: Compiler and Compiler Options - + diff --git a/doc/html/math_toolkit/greatest_typdefs.html b/doc/html/math_toolkit/greatest_typdefs.html index 0e45351c7..ddc295afb 100644 --- a/doc/html/math_toolkit/greatest_typdefs.html +++ b/doc/html/math_toolkit/greatest_typdefs.html @@ -4,7 +4,7 @@ Greatest-width floating-point typedef - + diff --git a/doc/html/math_toolkit/hankel.html b/doc/html/math_toolkit/hankel.html index f5903a232..4ef67cef3 100644 --- a/doc/html/math_toolkit/hankel.html +++ b/doc/html/math_toolkit/hankel.html @@ -4,7 +4,7 @@ Hankel Functions - + diff --git a/doc/html/math_toolkit/hankel/cyl_hankel.html b/doc/html/math_toolkit/hankel/cyl_hankel.html index 1c01518f2..317db40d6 100644 --- a/doc/html/math_toolkit/hankel/cyl_hankel.html +++ b/doc/html/math_toolkit/hankel/cyl_hankel.html @@ -4,7 +4,7 @@ Cyclic Hankel Functions - + diff --git a/doc/html/math_toolkit/hankel/sph_hankel.html b/doc/html/math_toolkit/hankel/sph_hankel.html index 153c5988c..fd863fed5 100644 --- a/doc/html/math_toolkit/hankel/sph_hankel.html +++ b/doc/html/math_toolkit/hankel/sph_hankel.html @@ -4,7 +4,7 @@ Spherical Hankel Functions - + diff --git a/doc/html/math_toolkit/high_precision.html b/doc/html/math_toolkit/high_precision.html index fbd76684e..fa241f763 100644 --- a/doc/html/math_toolkit/high_precision.html +++ b/doc/html/math_toolkit/high_precision.html @@ -4,7 +4,7 @@ Using Boost.Math with High-Precision Floating-Point Libraries - + diff --git a/doc/html/math_toolkit/high_precision/e_float.html b/doc/html/math_toolkit/high_precision/e_float.html index 8f5d848f0..badcf84c1 100644 --- a/doc/html/math_toolkit/high_precision/e_float.html +++ b/doc/html/math_toolkit/high_precision/e_float.html @@ -4,7 +4,7 @@ Using e_float Library - + diff --git a/doc/html/math_toolkit/high_precision/float128.html b/doc/html/math_toolkit/high_precision/float128.html index 127ca8f71..b168cfc66 100644 --- a/doc/html/math_toolkit/high_precision/float128.html +++ b/doc/html/math_toolkit/high_precision/float128.html @@ -4,7 +4,7 @@ Using with GCC's __float128 datatype - + diff --git a/doc/html/math_toolkit/high_precision/use_mpfr.html b/doc/html/math_toolkit/high_precision/use_mpfr.html index 95b71c40e..da8865384 100644 --- a/doc/html/math_toolkit/high_precision/use_mpfr.html +++ b/doc/html/math_toolkit/high_precision/use_mpfr.html @@ -4,7 +4,7 @@ Using With MPFR or GMP - High-Precision Floating-Point Library - + diff --git a/doc/html/math_toolkit/high_precision/use_multiprecision.html b/doc/html/math_toolkit/high_precision/use_multiprecision.html index 3e0838417..8e1c5ce00 100644 --- a/doc/html/math_toolkit/high_precision/use_multiprecision.html +++ b/doc/html/math_toolkit/high_precision/use_multiprecision.html @@ -4,7 +4,7 @@ Using Boost.Multiprecision - + diff --git a/doc/html/math_toolkit/high_precision/use_ntl.html b/doc/html/math_toolkit/high_precision/use_ntl.html index 0506ac509..b63d02365 100644 --- a/doc/html/math_toolkit/high_precision/use_ntl.html +++ b/doc/html/math_toolkit/high_precision/use_ntl.html @@ -4,7 +4,7 @@ Using NTL Library - + diff --git a/doc/html/math_toolkit/high_precision/using_test.html b/doc/html/math_toolkit/high_precision/using_test.html index 582944fc9..82ae97bf5 100644 --- a/doc/html/math_toolkit/high_precision/using_test.html +++ b/doc/html/math_toolkit/high_precision/using_test.html @@ -4,7 +4,7 @@ Using without expression templates for Boost.Test and others - + diff --git a/doc/html/math_toolkit/high_precision/why_high_precision.html b/doc/html/math_toolkit/high_precision/why_high_precision.html index 5e1c5cae5..a1999386d 100644 --- a/doc/html/math_toolkit/high_precision/why_high_precision.html +++ b/doc/html/math_toolkit/high_precision/why_high_precision.html @@ -4,7 +4,7 @@ Why use a high-precision library rather than built-in floating-point types? - + diff --git a/doc/html/math_toolkit/hints.html b/doc/html/math_toolkit/hints.html index 55a103b3f..669c87a58 100644 --- a/doc/html/math_toolkit/hints.html +++ b/doc/html/math_toolkit/hints.html @@ -4,7 +4,7 @@ Other Hints and tips - + diff --git a/doc/html/math_toolkit/history1.html b/doc/html/math_toolkit/history1.html index 3ff59e77c..332e953dc 100644 --- a/doc/html/math_toolkit/history1.html +++ b/doc/html/math_toolkit/history1.html @@ -4,7 +4,7 @@ History and What's New - + diff --git a/doc/html/math_toolkit/history2.html b/doc/html/math_toolkit/history2.html index d62d16317..f3e670913 100644 --- a/doc/html/math_toolkit/history2.html +++ b/doc/html/math_toolkit/history2.html @@ -4,7 +4,7 @@ History and What's New - + diff --git a/doc/html/math_toolkit/hypergeometric.html b/doc/html/math_toolkit/hypergeometric.html index 1b7f84c67..afe09a920 100644 --- a/doc/html/math_toolkit/hypergeometric.html +++ b/doc/html/math_toolkit/hypergeometric.html @@ -4,7 +4,7 @@ Hypergeometric Functions - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html index 34c6b23c0..663a9033e 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html @@ -4,7 +4,7 @@ Hypergeometric 0F1 - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html index 2fd484cc8..4f46efa05 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html @@ -4,7 +4,7 @@ Hypergeometric 1F0 - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html index 15fcba1c9..53948ef8a 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html @@ -4,7 +4,7 @@ Hypergeometric 1F1 - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html index 1b3aeb0ac..ee5f076b1 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html @@ -4,7 +4,7 @@ Hypergeometric 2F0 - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html index 48b792b54..7959307d3 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html @@ -4,7 +4,7 @@ Hypergeometric pFq - + diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html index 621465cc2..d0905865a 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html @@ -4,7 +4,7 @@ Hypergeometric References - + diff --git a/doc/html/math_toolkit/internals.html b/doc/html/math_toolkit/internals.html index 2ca76d4f3..1baa96df6 100644 --- a/doc/html/math_toolkit/internals.html +++ b/doc/html/math_toolkit/internals.html @@ -4,7 +4,7 @@ Internal tools - + diff --git a/doc/html/math_toolkit/internals/agm.html b/doc/html/math_toolkit/internals/agm.html index 5827e5720..1f697f6d6 100644 --- a/doc/html/math_toolkit/internals/agm.html +++ b/doc/html/math_toolkit/internals/agm.html @@ -4,7 +4,7 @@ Arithmetic-Geometric Mean - + diff --git a/doc/html/math_toolkit/internals/centered_continued_fraction.html b/doc/html/math_toolkit/internals/centered_continued_fraction.html index de808b95a..696bed8c5 100644 --- a/doc/html/math_toolkit/internals/centered_continued_fraction.html +++ b/doc/html/math_toolkit/internals/centered_continued_fraction.html @@ -4,7 +4,7 @@ Centered Continued Fractions - + diff --git a/doc/html/math_toolkit/internals/cf.html b/doc/html/math_toolkit/internals/cf.html index 5b84395c3..9971df0cc 100644 --- a/doc/html/math_toolkit/internals/cf.html +++ b/doc/html/math_toolkit/internals/cf.html @@ -4,7 +4,7 @@ Continued Fraction Evaluation - + diff --git a/doc/html/math_toolkit/internals/cohen_acceleration.html b/doc/html/math_toolkit/internals/cohen_acceleration.html index 39d522417..cbbee13ae 100644 --- a/doc/html/math_toolkit/internals/cohen_acceleration.html +++ b/doc/html/math_toolkit/internals/cohen_acceleration.html @@ -4,7 +4,7 @@ Cohen Acceleration - + diff --git a/doc/html/math_toolkit/internals/engel_expansion.html b/doc/html/math_toolkit/internals/engel_expansion.html index 919e915bc..3eb42f699 100644 --- a/doc/html/math_toolkit/internals/engel_expansion.html +++ b/doc/html/math_toolkit/internals/engel_expansion.html @@ -4,7 +4,7 @@ Engel Expansion - + diff --git a/doc/html/math_toolkit/internals/error_test.html b/doc/html/math_toolkit/internals/error_test.html index 7e9f718eb..beb856548 100644 --- a/doc/html/math_toolkit/internals/error_test.html +++ b/doc/html/math_toolkit/internals/error_test.html @@ -4,7 +4,7 @@ Relative Error and Testing - + diff --git a/doc/html/math_toolkit/internals/luroth_expansion.html b/doc/html/math_toolkit/internals/luroth_expansion.html index 45381dd14..77b26c8b5 100644 --- a/doc/html/math_toolkit/internals/luroth_expansion.html +++ b/doc/html/math_toolkit/internals/luroth_expansion.html @@ -4,7 +4,7 @@ Luroth Expansions - + diff --git a/doc/html/math_toolkit/internals/minimax.html b/doc/html/math_toolkit/internals/minimax.html index 7d84e201c..1c2b11573 100644 --- a/doc/html/math_toolkit/internals/minimax.html +++ b/doc/html/math_toolkit/internals/minimax.html @@ -4,7 +4,7 @@ Minimax Approximations and the Remez Algorithm - + diff --git a/doc/html/math_toolkit/internals/recurrence.html b/doc/html/math_toolkit/internals/recurrence.html index aaf3cac86..0558b6104 100644 --- a/doc/html/math_toolkit/internals/recurrence.html +++ b/doc/html/math_toolkit/internals/recurrence.html @@ -4,7 +4,7 @@ Tools For 3-Term Recurrence Relations - + diff --git a/doc/html/math_toolkit/internals/series_evaluation.html b/doc/html/math_toolkit/internals/series_evaluation.html index 444b3bea7..a9bc23f67 100644 --- a/doc/html/math_toolkit/internals/series_evaluation.html +++ b/doc/html/math_toolkit/internals/series_evaluation.html @@ -4,7 +4,7 @@ Series Evaluation - + diff --git a/doc/html/math_toolkit/internals/simple_continued_fraction.html b/doc/html/math_toolkit/internals/simple_continued_fraction.html index 4c583354a..f64250347 100644 --- a/doc/html/math_toolkit/internals/simple_continued_fraction.html +++ b/doc/html/math_toolkit/internals/simple_continued_fraction.html @@ -4,7 +4,7 @@ Simple Continued Fractions - + diff --git a/doc/html/math_toolkit/internals/test_data.html b/doc/html/math_toolkit/internals/test_data.html index 0683c2ea1..800f99ef2 100644 --- a/doc/html/math_toolkit/internals/test_data.html +++ b/doc/html/math_toolkit/internals/test_data.html @@ -4,7 +4,7 @@ Graphing, Profiling, and Generating Test Data for Special Functions - + diff --git a/doc/html/math_toolkit/internals/tuples.html b/doc/html/math_toolkit/internals/tuples.html index efd076cbc..23b81f80a 100644 --- a/doc/html/math_toolkit/internals/tuples.html +++ b/doc/html/math_toolkit/internals/tuples.html @@ -4,7 +4,7 @@ Tuples - + diff --git a/doc/html/math_toolkit/internals_overview.html b/doc/html/math_toolkit/internals_overview.html index 20237a9ad..3f353dc6b 100644 --- a/doc/html/math_toolkit/internals_overview.html +++ b/doc/html/math_toolkit/internals_overview.html @@ -4,7 +4,7 @@ Overview - + diff --git a/doc/html/math_toolkit/interp.html b/doc/html/math_toolkit/interp.html index 1415f3e49..ded5ed7b5 100644 --- a/doc/html/math_toolkit/interp.html +++ b/doc/html/math_toolkit/interp.html @@ -4,7 +4,7 @@ Interpreting these Results - + diff --git a/doc/html/math_toolkit/intro_pol_overview.html b/doc/html/math_toolkit/intro_pol_overview.html index 2b98ca177..94a43f61a 100644 --- a/doc/html/math_toolkit/intro_pol_overview.html +++ b/doc/html/math_toolkit/intro_pol_overview.html @@ -4,7 +4,7 @@ Policies - + diff --git a/doc/html/math_toolkit/inv_hyper.html b/doc/html/math_toolkit/inv_hyper.html index 948e7ee0b..d91cfa9d8 100644 --- a/doc/html/math_toolkit/inv_hyper.html +++ b/doc/html/math_toolkit/inv_hyper.html @@ -4,7 +4,7 @@ Inverse Hyperbolic Functions - + diff --git a/doc/html/math_toolkit/inv_hyper/acosh.html b/doc/html/math_toolkit/inv_hyper/acosh.html index 2f694f95f..7e888aff4 100644 --- a/doc/html/math_toolkit/inv_hyper/acosh.html +++ b/doc/html/math_toolkit/inv_hyper/acosh.html @@ -4,7 +4,7 @@ acosh - + diff --git a/doc/html/math_toolkit/inv_hyper/asinh.html b/doc/html/math_toolkit/inv_hyper/asinh.html index 2305ace7b..3ad5ae6fa 100644 --- a/doc/html/math_toolkit/inv_hyper/asinh.html +++ b/doc/html/math_toolkit/inv_hyper/asinh.html @@ -4,7 +4,7 @@ asinh - + diff --git a/doc/html/math_toolkit/inv_hyper/atanh.html b/doc/html/math_toolkit/inv_hyper/atanh.html index 2e8f23a2f..0494c1575 100644 --- a/doc/html/math_toolkit/inv_hyper/atanh.html +++ b/doc/html/math_toolkit/inv_hyper/atanh.html @@ -4,7 +4,7 @@ atanh - + diff --git a/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html b/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html index 383fb1ee2..38ce41c38 100644 --- a/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html +++ b/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html @@ -4,7 +4,7 @@ Inverse Hyperbolic Functions Overview - + diff --git a/doc/html/math_toolkit/issues.html b/doc/html/math_toolkit/issues.html index 819a547a2..0bcfca511 100644 --- a/doc/html/math_toolkit/issues.html +++ b/doc/html/math_toolkit/issues.html @@ -4,7 +4,7 @@ Known Issues, and TODO List - + diff --git a/doc/html/math_toolkit/jacobi.html b/doc/html/math_toolkit/jacobi.html index 2d83af0a9..36e0da92a 100644 --- a/doc/html/math_toolkit/jacobi.html +++ b/doc/html/math_toolkit/jacobi.html @@ -4,7 +4,7 @@ Jacobi Elliptic Functions - + diff --git a/doc/html/math_toolkit/jacobi/jac_over.html b/doc/html/math_toolkit/jacobi/jac_over.html index 7ef978789..9b5faec28 100644 --- a/doc/html/math_toolkit/jacobi/jac_over.html +++ b/doc/html/math_toolkit/jacobi/jac_over.html @@ -4,7 +4,7 @@ Overview of the Jacobi Elliptic Functions - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_cd.html b/doc/html/math_toolkit/jacobi/jacobi_cd.html index b97de98f7..81869abb7 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cd.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function cd - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_cn.html b/doc/html/math_toolkit/jacobi/jacobi_cn.html index d6dd37a29..93112ed68 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cn.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function cn - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_cs.html b/doc/html/math_toolkit/jacobi/jacobi_cs.html index 181a84e1d..8929f6e31 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cs.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cs.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function cs - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_dc.html b/doc/html/math_toolkit/jacobi/jacobi_dc.html index adaa874f1..5158c8371 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dc.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function dc - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_dn.html b/doc/html/math_toolkit/jacobi/jacobi_dn.html index 3bc4afbbd..21f7c50ab 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dn.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function dn - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_ds.html b/doc/html/math_toolkit/jacobi/jacobi_ds.html index 05367d3bc..217693228 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ds.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ds.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function ds - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_elliptic.html b/doc/html/math_toolkit/jacobi/jacobi_elliptic.html index 6f15c63a1..2ca08f100 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_elliptic.html +++ b/doc/html/math_toolkit/jacobi/jacobi_elliptic.html @@ -4,7 +4,7 @@ Jacobi Elliptic SN, CN and DN - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_nc.html b/doc/html/math_toolkit/jacobi/jacobi_nc.html index 28ff267fc..64bddb330 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nc.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function nc - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_nd.html b/doc/html/math_toolkit/jacobi/jacobi_nd.html index 984c4fd7e..c0d2e0d61 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nd.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function nd - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_ns.html b/doc/html/math_toolkit/jacobi/jacobi_ns.html index c2e4e80d8..3fa6476b5 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ns.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ns.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function ns - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_sc.html b/doc/html/math_toolkit/jacobi/jacobi_sc.html index b9b2bc536..863828905 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sc.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function sc - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_sd.html b/doc/html/math_toolkit/jacobi/jacobi_sd.html index fd47eb439..df00bda90 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sd.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function sd - + diff --git a/doc/html/math_toolkit/jacobi/jacobi_sn.html b/doc/html/math_toolkit/jacobi/jacobi_sn.html index 0c414b79d..fd51d560d 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sn.html @@ -4,7 +4,7 @@ Jacobi Elliptic Function sn - + diff --git a/doc/html/math_toolkit/jacobi_theta.html b/doc/html/math_toolkit/jacobi_theta.html index 0734573e1..85d67641d 100644 --- a/doc/html/math_toolkit/jacobi_theta.html +++ b/doc/html/math_toolkit/jacobi_theta.html @@ -4,7 +4,7 @@ Jacobi Theta Functions - + diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html index dcdcc1039..960c30c77 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html @@ -4,7 +4,7 @@ Jacobi Theta Function θ1 - + diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html index 5fb211ab4..951822ea8 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html @@ -4,7 +4,7 @@ Jacobi Theta Function θ2 - + diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html index f9d789ed2..c3f6d45f8 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html @@ -4,7 +4,7 @@ Jacobi Theta Function θ3 - + diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html index a10270539..587f5fdb8 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html @@ -4,7 +4,7 @@ Jacobi Theta Function θ4 - + diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html index 4427f36f0..d7b8bafe2 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html @@ -4,7 +4,7 @@ Overview of the Jacobi Theta Functions - + diff --git a/doc/html/math_toolkit/lambert_w.html b/doc/html/math_toolkit/lambert_w.html index 1ea59c6c1..5f2303d9d 100644 --- a/doc/html/math_toolkit/lambert_w.html +++ b/doc/html/math_toolkit/lambert_w.html @@ -4,7 +4,7 @@ Lambert W function - + diff --git a/doc/html/math_toolkit/lanczos.html b/doc/html/math_toolkit/lanczos.html index c60b5ce7f..2c37087a3 100644 --- a/doc/html/math_toolkit/lanczos.html +++ b/doc/html/math_toolkit/lanczos.html @@ -4,7 +4,7 @@ The Lanczos Approximation - + diff --git a/doc/html/math_toolkit/linear_regression.html b/doc/html/math_toolkit/linear_regression.html index e8420d077..0bbf15216 100644 --- a/doc/html/math_toolkit/linear_regression.html +++ b/doc/html/math_toolkit/linear_regression.html @@ -4,7 +4,7 @@ Linear Regression - + diff --git a/doc/html/math_toolkit/ljung_box.html b/doc/html/math_toolkit/ljung_box.html index 84294dfbf..67c134ab7 100644 --- a/doc/html/math_toolkit/ljung_box.html +++ b/doc/html/math_toolkit/ljung_box.html @@ -4,7 +4,7 @@ The Ljung-Box Test - + diff --git a/doc/html/math_toolkit/logs_and_tables.html b/doc/html/math_toolkit/logs_and_tables.html index 6e286b241..596b9a4d4 100644 --- a/doc/html/math_toolkit/logs_and_tables.html +++ b/doc/html/math_toolkit/logs_and_tables.html @@ -4,7 +4,7 @@ Error logs and tables - + diff --git a/doc/html/math_toolkit/logs_and_tables/all_table.html b/doc/html/math_toolkit/logs_and_tables/all_table.html index dc7c96688..2a2f94e7d 100644 --- a/doc/html/math_toolkit/logs_and_tables/all_table.html +++ b/doc/html/math_toolkit/logs_and_tables/all_table.html @@ -4,7 +4,7 @@ Tables of Error Rates for all Functions - + diff --git a/doc/html/math_toolkit/logs_and_tables/logs.html b/doc/html/math_toolkit/logs_and_tables/logs.html index fb1991419..0a9629e0a 100644 --- a/doc/html/math_toolkit/logs_and_tables/logs.html +++ b/doc/html/math_toolkit/logs_and_tables/logs.html @@ -4,7 +4,7 @@ Error Logs For Error Rate Tables - + diff --git a/doc/html/math_toolkit/macros.html b/doc/html/math_toolkit/macros.html index ace70bd99..2cd12a9df 100644 --- a/doc/html/math_toolkit/macros.html +++ b/doc/html/math_toolkit/macros.html @@ -4,7 +4,7 @@ Floating-Point Constant Macros - + diff --git a/doc/html/math_toolkit/main_faq.html b/doc/html/math_toolkit/main_faq.html index 85d0dff7f..a7434c596 100644 --- a/doc/html/math_toolkit/main_faq.html +++ b/doc/html/math_toolkit/main_faq.html @@ -4,7 +4,7 @@ Boost.Math Frequently Asked Questions (FAQs) - + diff --git a/doc/html/math_toolkit/main_intro.html b/doc/html/math_toolkit/main_intro.html index e7fa08bd9..a77880d53 100644 --- a/doc/html/math_toolkit/main_intro.html +++ b/doc/html/math_toolkit/main_intro.html @@ -4,7 +4,7 @@ About the Math Toolkit - + diff --git a/doc/html/math_toolkit/main_tr1.html b/doc/html/math_toolkit/main_tr1.html index 8a6767f8d..6c60eb35c 100644 --- a/doc/html/math_toolkit/main_tr1.html +++ b/doc/html/math_toolkit/main_tr1.html @@ -4,7 +4,7 @@ C99 and TR1 C Functions Overview - + diff --git a/doc/html/math_toolkit/makima.html b/doc/html/math_toolkit/makima.html index 9d140ae1e..4aff13e06 100644 --- a/doc/html/math_toolkit/makima.html +++ b/doc/html/math_toolkit/makima.html @@ -4,7 +4,7 @@ Modified Akima interpolation - + diff --git a/doc/html/math_toolkit/mem_typedef.html b/doc/html/math_toolkit/mem_typedef.html index 263a54cf1..fd50530cf 100644 --- a/doc/html/math_toolkit/mem_typedef.html +++ b/doc/html/math_toolkit/mem_typedef.html @@ -4,7 +4,7 @@ Quaternion Member Typedefs - + diff --git a/doc/html/math_toolkit/minimum_typdefs.html b/doc/html/math_toolkit/minimum_typdefs.html index 3960a92f1..8492d3ce1 100644 --- a/doc/html/math_toolkit/minimum_typdefs.html +++ b/doc/html/math_toolkit/minimum_typdefs.html @@ -4,7 +4,7 @@ Minimum-width floating-point typedefs - + diff --git a/doc/html/math_toolkit/multiprecision.html b/doc/html/math_toolkit/multiprecision.html index 3cb07f959..37a57d112 100644 --- a/doc/html/math_toolkit/multiprecision.html +++ b/doc/html/math_toolkit/multiprecision.html @@ -4,7 +4,7 @@ Cost of High-Precision Non-built-in Floating-point - + diff --git a/doc/html/math_toolkit/naive_monte_carlo.html b/doc/html/math_toolkit/naive_monte_carlo.html index ef491bb10..d49bb6952 100644 --- a/doc/html/math_toolkit/naive_monte_carlo.html +++ b/doc/html/math_toolkit/naive_monte_carlo.html @@ -4,7 +4,7 @@ Naive Monte Carlo Integration - + diff --git a/doc/html/math_toolkit/namespaces.html b/doc/html/math_toolkit/namespaces.html index a263cf9c0..f03cd3dd2 100644 --- a/doc/html/math_toolkit/namespaces.html +++ b/doc/html/math_toolkit/namespaces.html @@ -4,10 +4,10 @@ Namespaces - + - + @@ -20,7 +20,7 @@


    -PrevUpHomeNext +PrevUpHomeNext

    @@ -100,7 +100,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/math_toolkit/navigation.html b/doc/html/math_toolkit/navigation.html index 4bd188e1b..271309f7e 100644 --- a/doc/html/math_toolkit/navigation.html +++ b/doc/html/math_toolkit/navigation.html @@ -4,7 +4,7 @@ Navigation - + @@ -27,7 +27,7 @@ Navigation

    - +

    Boost.Math documentation is provided in both HTML and PDF formats. diff --git a/doc/html/math_toolkit/new_const.html b/doc/html/math_toolkit/new_const.html index 77a045b4a..eeff0f0d5 100644 --- a/doc/html/math_toolkit/new_const.html +++ b/doc/html/math_toolkit/new_const.html @@ -4,7 +4,7 @@ Defining New Constants - + diff --git a/doc/html/math_toolkit/next_float.html b/doc/html/math_toolkit/next_float.html index 9618ed95f..4c9abbf91 100644 --- a/doc/html/math_toolkit/next_float.html +++ b/doc/html/math_toolkit/next_float.html @@ -4,7 +4,7 @@ Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values - + diff --git a/doc/html/math_toolkit/next_float/float_advance.html b/doc/html/math_toolkit/next_float/float_advance.html index dcee74a62..a4509ea5c 100644 --- a/doc/html/math_toolkit/next_float/float_advance.html +++ b/doc/html/math_toolkit/next_float/float_advance.html @@ -4,7 +4,7 @@ Advancing a floating-point Value by a Specific Representation Distance (ULP) float_advance - + diff --git a/doc/html/math_toolkit/next_float/float_distance.html b/doc/html/math_toolkit/next_float/float_distance.html index 8e4627678..7decb3df6 100644 --- a/doc/html/math_toolkit/next_float/float_distance.html +++ b/doc/html/math_toolkit/next_float/float_distance.html @@ -4,7 +4,7 @@ Calculating the Representation Distance Between Two floating-point Values (ULP) float_distance - + diff --git a/doc/html/math_toolkit/next_float/float_next.html b/doc/html/math_toolkit/next_float/float_next.html index 65e44a545..8ac5fe5e4 100644 --- a/doc/html/math_toolkit/next_float/float_next.html +++ b/doc/html/math_toolkit/next_float/float_next.html @@ -4,7 +4,7 @@ Finding the Next Greater Representable Value (float_next) - + diff --git a/doc/html/math_toolkit/next_float/float_prior.html b/doc/html/math_toolkit/next_float/float_prior.html index f868529c5..9d2656038 100644 --- a/doc/html/math_toolkit/next_float/float_prior.html +++ b/doc/html/math_toolkit/next_float/float_prior.html @@ -4,7 +4,7 @@ Finding the Next Smaller Representable Value (float_prior) - + diff --git a/doc/html/math_toolkit/next_float/nextafter.html b/doc/html/math_toolkit/next_float/nextafter.html index b99195304..7fbcd0c2d 100644 --- a/doc/html/math_toolkit/next_float/nextafter.html +++ b/doc/html/math_toolkit/next_float/nextafter.html @@ -4,7 +4,7 @@ Finding the Next Representable Value in a Specific Direction (nextafter) - + diff --git a/doc/html/math_toolkit/next_float/ulp.html b/doc/html/math_toolkit/next_float/ulp.html index 7a1fda005..58819f8e6 100644 --- a/doc/html/math_toolkit/next_float/ulp.html +++ b/doc/html/math_toolkit/next_float/ulp.html @@ -4,7 +4,7 @@ Obtaining the Size of a Unit In the Last Place - ULP - + diff --git a/doc/html/math_toolkit/norms.html b/doc/html/math_toolkit/norms.html index 33edbf5ce..3023af86f 100644 --- a/doc/html/math_toolkit/norms.html +++ b/doc/html/math_toolkit/norms.html @@ -4,7 +4,7 @@ Norms - + diff --git a/doc/html/math_toolkit/number_series.html b/doc/html/math_toolkit/number_series.html index 77142c368..595622cae 100644 --- a/doc/html/math_toolkit/number_series.html +++ b/doc/html/math_toolkit/number_series.html @@ -4,7 +4,7 @@ Number Series - + diff --git a/doc/html/math_toolkit/number_series/bernoulli_numbers.html b/doc/html/math_toolkit/number_series/bernoulli_numbers.html index 0cf4fc0ce..648c1611e 100644 --- a/doc/html/math_toolkit/number_series/bernoulli_numbers.html +++ b/doc/html/math_toolkit/number_series/bernoulli_numbers.html @@ -4,7 +4,7 @@ Bernoulli Numbers - + diff --git a/doc/html/math_toolkit/number_series/fibonacci_numbers.html b/doc/html/math_toolkit/number_series/fibonacci_numbers.html index 923a2a47d..eeeb81fd7 100644 --- a/doc/html/math_toolkit/number_series/fibonacci_numbers.html +++ b/doc/html/math_toolkit/number_series/fibonacci_numbers.html @@ -4,7 +4,7 @@ Fibonacci Numbers - + diff --git a/doc/html/math_toolkit/number_series/primes.html b/doc/html/math_toolkit/number_series/primes.html index 695bf2128..f8ac13c9f 100644 --- a/doc/html/math_toolkit/number_series/primes.html +++ b/doc/html/math_toolkit/number_series/primes.html @@ -4,7 +4,7 @@ Prime Numbers - + diff --git a/doc/html/math_toolkit/number_series/tangent_numbers.html b/doc/html/math_toolkit/number_series/tangent_numbers.html index 69b87495b..c17fe2247 100644 --- a/doc/html/math_toolkit/number_series/tangent_numbers.html +++ b/doc/html/math_toolkit/number_series/tangent_numbers.html @@ -4,7 +4,7 @@ Tangent Numbers - + diff --git a/doc/html/math_toolkit/oct_create.html b/doc/html/math_toolkit/oct_create.html index dbdd8c70d..f3bd6d676 100644 --- a/doc/html/math_toolkit/oct_create.html +++ b/doc/html/math_toolkit/oct_create.html @@ -4,7 +4,7 @@ Octonion Creation Functions - + diff --git a/doc/html/math_toolkit/oct_header.html b/doc/html/math_toolkit/oct_header.html index 4d883331a..1de0e2641 100644 --- a/doc/html/math_toolkit/oct_header.html +++ b/doc/html/math_toolkit/oct_header.html @@ -4,7 +4,7 @@ Header File - + diff --git a/doc/html/math_toolkit/oct_history.html b/doc/html/math_toolkit/oct_history.html index 0004f85df..8ec2fd3d8 100644 --- a/doc/html/math_toolkit/oct_history.html +++ b/doc/html/math_toolkit/oct_history.html @@ -4,7 +4,7 @@ History - + diff --git a/doc/html/math_toolkit/oct_mem_fun.html b/doc/html/math_toolkit/oct_mem_fun.html index d0ebcc241..e2815fb0f 100644 --- a/doc/html/math_toolkit/oct_mem_fun.html +++ b/doc/html/math_toolkit/oct_mem_fun.html @@ -4,7 +4,7 @@ Octonion Member Functions - + diff --git a/doc/html/math_toolkit/oct_non_mem.html b/doc/html/math_toolkit/oct_non_mem.html index 1fb5f9c3e..5bec7435c 100644 --- a/doc/html/math_toolkit/oct_non_mem.html +++ b/doc/html/math_toolkit/oct_non_mem.html @@ -4,7 +4,7 @@ Octonion Non-Member Operators - + diff --git a/doc/html/math_toolkit/oct_overview.html b/doc/html/math_toolkit/oct_overview.html index cff04969e..5f7604974 100644 --- a/doc/html/math_toolkit/oct_overview.html +++ b/doc/html/math_toolkit/oct_overview.html @@ -4,7 +4,7 @@ Overview - + diff --git a/doc/html/math_toolkit/oct_specialization.html b/doc/html/math_toolkit/oct_specialization.html index c3c52b2f4..2e7503e0b 100644 --- a/doc/html/math_toolkit/oct_specialization.html +++ b/doc/html/math_toolkit/oct_specialization.html @@ -4,7 +4,7 @@ Octonion Specializations - + diff --git a/doc/html/math_toolkit/oct_synopsis.html b/doc/html/math_toolkit/oct_synopsis.html index 356e06b11..0b9268545 100644 --- a/doc/html/math_toolkit/oct_synopsis.html +++ b/doc/html/math_toolkit/oct_synopsis.html @@ -4,7 +4,7 @@ Synopsis - + diff --git a/doc/html/math_toolkit/oct_tests.html b/doc/html/math_toolkit/oct_tests.html index 7acd33a2e..542c74c5e 100644 --- a/doc/html/math_toolkit/oct_tests.html +++ b/doc/html/math_toolkit/oct_tests.html @@ -4,7 +4,7 @@ Test Program - + diff --git a/doc/html/math_toolkit/oct_todo.html b/doc/html/math_toolkit/oct_todo.html index 852339cf1..aaa1216dc 100644 --- a/doc/html/math_toolkit/oct_todo.html +++ b/doc/html/math_toolkit/oct_todo.html @@ -4,7 +4,7 @@ To Do - + diff --git a/doc/html/math_toolkit/oct_trans.html b/doc/html/math_toolkit/oct_trans.html index e37c8410a..96a415591 100644 --- a/doc/html/math_toolkit/oct_trans.html +++ b/doc/html/math_toolkit/oct_trans.html @@ -4,7 +4,7 @@ Octonions Transcendentals - + diff --git a/doc/html/math_toolkit/oct_typedefs.html b/doc/html/math_toolkit/oct_typedefs.html index 6ef0dae67..0ff36aee7 100644 --- a/doc/html/math_toolkit/oct_typedefs.html +++ b/doc/html/math_toolkit/oct_typedefs.html @@ -4,7 +4,7 @@ Octonion Member Typedefs - + diff --git a/doc/html/math_toolkit/oct_value_ops.html b/doc/html/math_toolkit/oct_value_ops.html index 7162c7228..6fa38d91c 100644 --- a/doc/html/math_toolkit/oct_value_ops.html +++ b/doc/html/math_toolkit/oct_value_ops.html @@ -4,7 +4,7 @@ Octonion Value Operations - + diff --git a/doc/html/math_toolkit/octonion.html b/doc/html/math_toolkit/octonion.html index fd9a44f12..918c5e5f5 100644 --- a/doc/html/math_toolkit/octonion.html +++ b/doc/html/math_toolkit/octonion.html @@ -4,7 +4,7 @@ Template Class octonion - + diff --git a/doc/html/math_toolkit/overview_tr1.html b/doc/html/math_toolkit/overview_tr1.html index f8eb498cd..90153f0b8 100644 --- a/doc/html/math_toolkit/overview_tr1.html +++ b/doc/html/math_toolkit/overview_tr1.html @@ -4,7 +4,7 @@ C99 and C++ TR1 C-style Functions - + diff --git a/doc/html/math_toolkit/owens_t.html b/doc/html/math_toolkit/owens_t.html index a3bef51e0..d55ea65b9 100644 --- a/doc/html/math_toolkit/owens_t.html +++ b/doc/html/math_toolkit/owens_t.html @@ -4,7 +4,7 @@ Owen's T function - + diff --git a/doc/html/math_toolkit/pchip.html b/doc/html/math_toolkit/pchip.html index 3573d2ed9..489e02f90 100644 --- a/doc/html/math_toolkit/pchip.html +++ b/doc/html/math_toolkit/pchip.html @@ -4,7 +4,7 @@ PCHIP interpolation - + diff --git a/doc/html/math_toolkit/perf_over1.html b/doc/html/math_toolkit/perf_over1.html index 866172fa6..f42349491 100644 --- a/doc/html/math_toolkit/perf_over1.html +++ b/doc/html/math_toolkit/perf_over1.html @@ -4,7 +4,7 @@ Performance - + diff --git a/doc/html/math_toolkit/perf_over2.html b/doc/html/math_toolkit/perf_over2.html index 4859ca1f5..2c94f6615 100644 --- a/doc/html/math_toolkit/perf_over2.html +++ b/doc/html/math_toolkit/perf_over2.html @@ -4,7 +4,7 @@ Performance Overview - + diff --git a/doc/html/math_toolkit/perf_test_app.html b/doc/html/math_toolkit/perf_test_app.html index d4c061941..15a198fd6 100644 --- a/doc/html/math_toolkit/perf_test_app.html +++ b/doc/html/math_toolkit/perf_test_app.html @@ -4,7 +4,7 @@ The Performance Test Applications - + diff --git a/doc/html/math_toolkit/pol_overview.html b/doc/html/math_toolkit/pol_overview.html index 296dbe1f3..a125a3c0e 100644 --- a/doc/html/math_toolkit/pol_overview.html +++ b/doc/html/math_toolkit/pol_overview.html @@ -4,7 +4,7 @@ Policy Overview - + diff --git a/doc/html/math_toolkit/pol_ref.html b/doc/html/math_toolkit/pol_ref.html index e9e4df7cd..f6e827063 100644 --- a/doc/html/math_toolkit/pol_ref.html +++ b/doc/html/math_toolkit/pol_ref.html @@ -4,7 +4,7 @@ Policy Reference - + diff --git a/doc/html/math_toolkit/pol_ref/assert_undefined.html b/doc/html/math_toolkit/pol_ref/assert_undefined.html index 95f8f7d95..813578d9d 100644 --- a/doc/html/math_toolkit/pol_ref/assert_undefined.html +++ b/doc/html/math_toolkit/pol_ref/assert_undefined.html @@ -4,7 +4,7 @@ Mathematically Undefined Function Policies - + diff --git a/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html b/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html index e32afe635..ba4a11fc1 100644 --- a/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html +++ b/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html @@ -4,7 +4,7 @@ Discrete Quantile Policies - + diff --git a/doc/html/math_toolkit/pol_ref/error_handling_policies.html b/doc/html/math_toolkit/pol_ref/error_handling_policies.html index 9ec172595..3b276cc2f 100644 --- a/doc/html/math_toolkit/pol_ref/error_handling_policies.html +++ b/doc/html/math_toolkit/pol_ref/error_handling_policies.html @@ -4,7 +4,7 @@ Error Handling Policies - + diff --git a/doc/html/math_toolkit/pol_ref/internal_promotion.html b/doc/html/math_toolkit/pol_ref/internal_promotion.html index 6627fb6f9..bc2a2148b 100644 --- a/doc/html/math_toolkit/pol_ref/internal_promotion.html +++ b/doc/html/math_toolkit/pol_ref/internal_promotion.html @@ -4,7 +4,7 @@ Internal Floating-point Promotion Policies - + diff --git a/doc/html/math_toolkit/pol_ref/iteration_pol.html b/doc/html/math_toolkit/pol_ref/iteration_pol.html index f4efade08..2c8adce4f 100644 --- a/doc/html/math_toolkit/pol_ref/iteration_pol.html +++ b/doc/html/math_toolkit/pol_ref/iteration_pol.html @@ -4,7 +4,7 @@ Iteration Limits Policies - + diff --git a/doc/html/math_toolkit/pol_ref/namespace_pol.html b/doc/html/math_toolkit/pol_ref/namespace_pol.html index a8150a4d6..ce9c7f39d 100644 --- a/doc/html/math_toolkit/pol_ref/namespace_pol.html +++ b/doc/html/math_toolkit/pol_ref/namespace_pol.html @@ -4,7 +4,7 @@ Setting Polices at Namespace Scope - + diff --git a/doc/html/math_toolkit/pol_ref/pol_ref_ref.html b/doc/html/math_toolkit/pol_ref/pol_ref_ref.html index 52f853407..8d0465de8 100644 --- a/doc/html/math_toolkit/pol_ref/pol_ref_ref.html +++ b/doc/html/math_toolkit/pol_ref/pol_ref_ref.html @@ -4,7 +4,7 @@ Policy Class Reference - + diff --git a/doc/html/math_toolkit/pol_ref/policy_defaults.html b/doc/html/math_toolkit/pol_ref/policy_defaults.html index e2756b32d..02c3fdcba 100644 --- a/doc/html/math_toolkit/pol_ref/policy_defaults.html +++ b/doc/html/math_toolkit/pol_ref/policy_defaults.html @@ -4,7 +4,7 @@ Using Macros to Change the Policy Defaults - + diff --git a/doc/html/math_toolkit/pol_ref/precision_pol.html b/doc/html/math_toolkit/pol_ref/precision_pol.html index e8e691690..681a6c6be 100644 --- a/doc/html/math_toolkit/pol_ref/precision_pol.html +++ b/doc/html/math_toolkit/pol_ref/precision_pol.html @@ -4,7 +4,7 @@ Precision Policies - + diff --git a/doc/html/math_toolkit/pol_tutorial.html b/doc/html/math_toolkit/pol_tutorial.html index 238e6739b..6f15c1b57 100644 --- a/doc/html/math_toolkit/pol_tutorial.html +++ b/doc/html/math_toolkit/pol_tutorial.html @@ -4,7 +4,7 @@ Policy Tutorial - + diff --git a/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html b/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html index cb5dd21df..106b9c2e0 100644 --- a/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html @@ -4,7 +4,7 @@ Setting Policies for Distributions on an Ad Hoc Basis - + diff --git a/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html b/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html index a99551f20..3a341bf74 100644 --- a/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html @@ -4,7 +4,7 @@ Changing the Policy on an Ad Hoc Basis for the Special Functions - + diff --git a/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html b/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html index ed2138130..0f26e36fe 100644 --- a/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html @@ -4,7 +4,7 @@ Changing the Policy Defaults - + diff --git a/doc/html/math_toolkit/pol_tutorial/namespace_policies.html b/doc/html/math_toolkit/pol_tutorial/namespace_policies.html index a2d592bbc..3c9717845 100644 --- a/doc/html/math_toolkit/pol_tutorial/namespace_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/namespace_policies.html @@ -4,7 +4,7 @@ Setting Policies at Namespace or Translation Unit Scope - + diff --git a/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html b/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html index 3949d96aa..b277730b0 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html @@ -4,7 +4,7 @@ Policies Have Sensible Defaults - + diff --git a/doc/html/math_toolkit/pol_tutorial/policy_usage.html b/doc/html/math_toolkit/pol_tutorial/policy_usage.html index afdbf71fa..a9bf0edbd 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_usage.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_usage.html @@ -4,7 +4,7 @@ So How are Policies Used Anyway? - + diff --git a/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html b/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html index 0d40f12f9..8af1b8a01 100644 --- a/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html +++ b/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html @@ -4,7 +4,7 @@ Understanding Quantiles of Discrete Distributions - + diff --git a/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html b/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html index 3f61b8250..546be5375 100644 --- a/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html +++ b/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html @@ -4,7 +4,7 @@ Calling User Defined Error Handlers - + diff --git a/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html b/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html index 4e199b62c..909adb2d4 100644 --- a/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html +++ b/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html @@ -4,7 +4,7 @@ So Just What is a Policy Anyway? - + diff --git a/doc/html/math_toolkit/polynomials.html b/doc/html/math_toolkit/polynomials.html index be11a2de1..10ed3d5b2 100644 --- a/doc/html/math_toolkit/polynomials.html +++ b/doc/html/math_toolkit/polynomials.html @@ -4,7 +4,7 @@ Polynomials - + diff --git a/doc/html/math_toolkit/powers.html b/doc/html/math_toolkit/powers.html index 59448bc14..b7b3685e0 100644 --- a/doc/html/math_toolkit/powers.html +++ b/doc/html/math_toolkit/powers.html @@ -4,7 +4,7 @@ Basic Functions - + diff --git a/doc/html/math_toolkit/powers/cbrt.html b/doc/html/math_toolkit/powers/cbrt.html index 03f8feef6..a7dc62913 100644 --- a/doc/html/math_toolkit/powers/cbrt.html +++ b/doc/html/math_toolkit/powers/cbrt.html @@ -4,7 +4,7 @@ cbrt - + diff --git a/doc/html/math_toolkit/powers/cos_pi.html b/doc/html/math_toolkit/powers/cos_pi.html index a91057c2d..82bbb4441 100644 --- a/doc/html/math_toolkit/powers/cos_pi.html +++ b/doc/html/math_toolkit/powers/cos_pi.html @@ -4,7 +4,7 @@ cos_pi - + diff --git a/doc/html/math_toolkit/powers/ct_pow.html b/doc/html/math_toolkit/powers/ct_pow.html index 5ef2f9463..7a1082f5d 100644 --- a/doc/html/math_toolkit/powers/ct_pow.html +++ b/doc/html/math_toolkit/powers/ct_pow.html @@ -4,7 +4,7 @@ Compile Time Power of a Runtime Base - + diff --git a/doc/html/math_toolkit/powers/expm1.html b/doc/html/math_toolkit/powers/expm1.html index a4d759f76..0bee6a3de 100644 --- a/doc/html/math_toolkit/powers/expm1.html +++ b/doc/html/math_toolkit/powers/expm1.html @@ -4,7 +4,7 @@ expm1 - + diff --git a/doc/html/math_toolkit/powers/hypot.html b/doc/html/math_toolkit/powers/hypot.html index c65a22dcb..5432a2f89 100644 --- a/doc/html/math_toolkit/powers/hypot.html +++ b/doc/html/math_toolkit/powers/hypot.html @@ -4,7 +4,7 @@ hypot - + diff --git a/doc/html/math_toolkit/powers/log1p.html b/doc/html/math_toolkit/powers/log1p.html index d6af4fd73..d1db80906 100644 --- a/doc/html/math_toolkit/powers/log1p.html +++ b/doc/html/math_toolkit/powers/log1p.html @@ -4,7 +4,7 @@ log1p - + diff --git a/doc/html/math_toolkit/powers/powm1.html b/doc/html/math_toolkit/powers/powm1.html index 7801795f3..2d892e9d3 100644 --- a/doc/html/math_toolkit/powers/powm1.html +++ b/doc/html/math_toolkit/powers/powm1.html @@ -4,7 +4,7 @@ powm1 - + diff --git a/doc/html/math_toolkit/powers/rsqrt.html b/doc/html/math_toolkit/powers/rsqrt.html index 670661085..33a8a79e7 100644 --- a/doc/html/math_toolkit/powers/rsqrt.html +++ b/doc/html/math_toolkit/powers/rsqrt.html @@ -4,7 +4,7 @@ Reciprocal square root - + diff --git a/doc/html/math_toolkit/powers/sin_pi.html b/doc/html/math_toolkit/powers/sin_pi.html index b6025e72e..38bdce6f3 100644 --- a/doc/html/math_toolkit/powers/sin_pi.html +++ b/doc/html/math_toolkit/powers/sin_pi.html @@ -4,7 +4,7 @@ sin_pi - + diff --git a/doc/html/math_toolkit/powers/sqrt1pm1.html b/doc/html/math_toolkit/powers/sqrt1pm1.html index ab8f50a63..494945fa3 100644 --- a/doc/html/math_toolkit/powers/sqrt1pm1.html +++ b/doc/html/math_toolkit/powers/sqrt1pm1.html @@ -4,7 +4,7 @@ sqrt1pm1 - + diff --git a/doc/html/math_toolkit/quat.html b/doc/html/math_toolkit/quat.html index 6a66b3d28..7abaf27a5 100644 --- a/doc/html/math_toolkit/quat.html +++ b/doc/html/math_toolkit/quat.html @@ -4,7 +4,7 @@ Template Class quaternion - + diff --git a/doc/html/math_toolkit/quat_header.html b/doc/html/math_toolkit/quat_header.html index 55423cfd6..73359c99d 100644 --- a/doc/html/math_toolkit/quat_header.html +++ b/doc/html/math_toolkit/quat_header.html @@ -4,7 +4,7 @@ Header File - + diff --git a/doc/html/math_toolkit/quat_history.html b/doc/html/math_toolkit/quat_history.html index c94ca6119..4fba9abf7 100644 --- a/doc/html/math_toolkit/quat_history.html +++ b/doc/html/math_toolkit/quat_history.html @@ -4,7 +4,7 @@ History - + diff --git a/doc/html/math_toolkit/quat_mem_fun.html b/doc/html/math_toolkit/quat_mem_fun.html index 90f09b654..4bb0428a1 100644 --- a/doc/html/math_toolkit/quat_mem_fun.html +++ b/doc/html/math_toolkit/quat_mem_fun.html @@ -4,7 +4,7 @@ Quaternion Member Functions - + diff --git a/doc/html/math_toolkit/quat_non_mem.html b/doc/html/math_toolkit/quat_non_mem.html index d2f0f9ca0..1179f8f8c 100644 --- a/doc/html/math_toolkit/quat_non_mem.html +++ b/doc/html/math_toolkit/quat_non_mem.html @@ -4,7 +4,7 @@ Quaternion Non-Member Operators - + diff --git a/doc/html/math_toolkit/quat_overview.html b/doc/html/math_toolkit/quat_overview.html index cd42c421e..9a6ed6fda 100644 --- a/doc/html/math_toolkit/quat_overview.html +++ b/doc/html/math_toolkit/quat_overview.html @@ -4,7 +4,7 @@ Overview - + diff --git a/doc/html/math_toolkit/quat_synopsis.html b/doc/html/math_toolkit/quat_synopsis.html index c949f878b..f0900ffc6 100644 --- a/doc/html/math_toolkit/quat_synopsis.html +++ b/doc/html/math_toolkit/quat_synopsis.html @@ -4,7 +4,7 @@ Synopsis - + diff --git a/doc/html/math_toolkit/quat_tests.html b/doc/html/math_toolkit/quat_tests.html index d2d677934..5eb4fb86a 100644 --- a/doc/html/math_toolkit/quat_tests.html +++ b/doc/html/math_toolkit/quat_tests.html @@ -4,7 +4,7 @@ Test Program - + diff --git a/doc/html/math_toolkit/quat_todo.html b/doc/html/math_toolkit/quat_todo.html index 2688abae2..b77c64365 100644 --- a/doc/html/math_toolkit/quat_todo.html +++ b/doc/html/math_toolkit/quat_todo.html @@ -4,7 +4,7 @@ To Do - + diff --git a/doc/html/math_toolkit/quintic_hermite.html b/doc/html/math_toolkit/quintic_hermite.html index 1897cefe2..257a48efa 100644 --- a/doc/html/math_toolkit/quintic_hermite.html +++ b/doc/html/math_toolkit/quintic_hermite.html @@ -4,7 +4,7 @@ Quintic Hermite interpolation - + diff --git a/doc/html/math_toolkit/rational.html b/doc/html/math_toolkit/rational.html index 35398ca8d..76fa1edd8 100644 --- a/doc/html/math_toolkit/rational.html +++ b/doc/html/math_toolkit/rational.html @@ -4,7 +4,7 @@ Polynomial and Rational Function Evaluation - + diff --git a/doc/html/math_toolkit/rationale.html b/doc/html/math_toolkit/rationale.html index 7bd62bad0..7e90bbebd 100644 --- a/doc/html/math_toolkit/rationale.html +++ b/doc/html/math_toolkit/rationale.html @@ -4,7 +4,7 @@ Rationale - + diff --git a/doc/html/math_toolkit/real_concepts.html b/doc/html/math_toolkit/real_concepts.html index ae21cb12e..2f6bc60f7 100644 --- a/doc/html/math_toolkit/real_concepts.html +++ b/doc/html/math_toolkit/real_concepts.html @@ -4,7 +4,7 @@ Conceptual Requirements for Real Number Types - + diff --git a/doc/html/math_toolkit/refs.html b/doc/html/math_toolkit/refs.html index 82a9d0a1b..4791c6f82 100644 --- a/doc/html/math_toolkit/refs.html +++ b/doc/html/math_toolkit/refs.html @@ -4,7 +4,7 @@ References - + diff --git a/doc/html/math_toolkit/relative_error.html b/doc/html/math_toolkit/relative_error.html index 1d6f4ebba..e71a31234 100644 --- a/doc/html/math_toolkit/relative_error.html +++ b/doc/html/math_toolkit/relative_error.html @@ -4,7 +4,7 @@ Relative Error - + diff --git a/doc/html/math_toolkit/remez.html b/doc/html/math_toolkit/remez.html index f733a299e..249e5986e 100644 --- a/doc/html/math_toolkit/remez.html +++ b/doc/html/math_toolkit/remez.html @@ -4,7 +4,7 @@ The Remez Method - + diff --git a/doc/html/math_toolkit/result_type.html b/doc/html/math_toolkit/result_type.html index bfa18a3c7..df92a9ef7 100644 --- a/doc/html/math_toolkit/result_type.html +++ b/doc/html/math_toolkit/result_type.html @@ -4,9 +4,9 @@ Calculation of the Type of the Result - + - + @@ -20,7 +20,7 @@


    -PrevUpHomeNext +PrevUpHomeNext

    @@ -179,7 +179,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/math_toolkit/root_comparison.html b/doc/html/math_toolkit/root_comparison.html index 61d561285..c2d415050 100644 --- a/doc/html/math_toolkit/root_comparison.html +++ b/doc/html/math_toolkit/root_comparison.html @@ -4,7 +4,7 @@ Comparison of Root Finding Algorithms - + diff --git a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html index 7ac6fd526..ea656bb33 100644 --- a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html +++ b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html @@ -4,7 +4,7 @@ Comparison of Cube Root Finding Algorithms - + diff --git a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html index 0ac002977..2a129f035 100644 --- a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html +++ b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html @@ -4,7 +4,7 @@ Comparison of Elliptic Integral Root Finding Algorithms - + diff --git a/doc/html/math_toolkit/root_comparison/root_n_comparison.html b/doc/html/math_toolkit/root_comparison/root_n_comparison.html index d85e731fa..c812c639f 100644 --- a/doc/html/math_toolkit/root_comparison/root_n_comparison.html +++ b/doc/html/math_toolkit/root_comparison/root_n_comparison.html @@ -4,7 +4,7 @@ Comparison of Nth-root Finding Algorithms - + diff --git a/doc/html/math_toolkit/root_finding_examples.html b/doc/html/math_toolkit/root_finding_examples.html index 64d10a0d4..e0503b1f0 100644 --- a/doc/html/math_toolkit/root_finding_examples.html +++ b/doc/html/math_toolkit/root_finding_examples.html @@ -4,7 +4,7 @@ Examples of Root-Finding (with and without derivatives) - + diff --git a/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html b/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html index a9be17b96..7d74e9435 100644 --- a/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html @@ -4,7 +4,7 @@ Computing the Fifth Root - + diff --git a/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html b/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html index 307971d97..b7fe277da 100644 --- a/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html @@ -4,7 +4,7 @@ Finding the Cubed Root With and Without Derivatives - + diff --git a/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html b/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html index dd0377896..057bbc86d 100644 --- a/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html @@ -4,7 +4,7 @@ A More complex example - Inverting the Elliptic Integrals - + diff --git a/doc/html/math_toolkit/root_finding_examples/lambda.html b/doc/html/math_toolkit/root_finding_examples/lambda.html index a5d484b08..4e6acfb71 100644 --- a/doc/html/math_toolkit/root_finding_examples/lambda.html +++ b/doc/html/math_toolkit/root_finding_examples/lambda.html @@ -4,7 +4,7 @@ Using C++11 Lambda's - + diff --git a/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html b/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html index fb62f5f30..8e27ad018 100644 --- a/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html +++ b/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html @@ -4,7 +4,7 @@ Root-finding using Boost.Multiprecision - + diff --git a/doc/html/math_toolkit/root_finding_examples/nth_root.html b/doc/html/math_toolkit/root_finding_examples/nth_root.html index b40fb8da9..e00bd3cf7 100644 --- a/doc/html/math_toolkit/root_finding_examples/nth_root.html +++ b/doc/html/math_toolkit/root_finding_examples/nth_root.html @@ -4,7 +4,7 @@ Generalizing to Compute the nth root - + diff --git a/doc/html/math_toolkit/roots_deriv.html b/doc/html/math_toolkit/roots_deriv.html index 8830d31d1..ca451dc94 100644 --- a/doc/html/math_toolkit/roots_deriv.html +++ b/doc/html/math_toolkit/roots_deriv.html @@ -4,7 +4,7 @@ Root Finding With Derivatives: Newton-Raphson, Halley & Schröder - + diff --git a/doc/html/math_toolkit/roots_noderiv.html b/doc/html/math_toolkit/roots_noderiv.html index c17a2b624..2ed6c9742 100644 --- a/doc/html/math_toolkit/roots_noderiv.html +++ b/doc/html/math_toolkit/roots_noderiv.html @@ -4,7 +4,7 @@ Root Finding Without Derivatives - + diff --git a/doc/html/math_toolkit/roots_noderiv/TOMS748.html b/doc/html/math_toolkit/roots_noderiv/TOMS748.html index f0b47a6a1..300f47a73 100644 --- a/doc/html/math_toolkit/roots_noderiv/TOMS748.html +++ b/doc/html/math_toolkit/roots_noderiv/TOMS748.html @@ -4,7 +4,7 @@ Algorithm TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions - + diff --git a/doc/html/math_toolkit/roots_noderiv/bisect.html b/doc/html/math_toolkit/roots_noderiv/bisect.html index 07add7d4c..330908fb5 100644 --- a/doc/html/math_toolkit/roots_noderiv/bisect.html +++ b/doc/html/math_toolkit/roots_noderiv/bisect.html @@ -4,7 +4,7 @@ Bisection - + diff --git a/doc/html/math_toolkit/roots_noderiv/bracket_solve.html b/doc/html/math_toolkit/roots_noderiv/bracket_solve.html index 3e3ca0939..f4d018f4e 100644 --- a/doc/html/math_toolkit/roots_noderiv/bracket_solve.html +++ b/doc/html/math_toolkit/roots_noderiv/bracket_solve.html @@ -4,7 +4,7 @@ Bracket and Solve Root - + diff --git a/doc/html/math_toolkit/roots_noderiv/brent.html b/doc/html/math_toolkit/roots_noderiv/brent.html index a23e02c15..a79f543ea 100644 --- a/doc/html/math_toolkit/roots_noderiv/brent.html +++ b/doc/html/math_toolkit/roots_noderiv/brent.html @@ -4,7 +4,7 @@ Brent-Decker Algorithm - + diff --git a/doc/html/math_toolkit/roots_noderiv/implementation.html b/doc/html/math_toolkit/roots_noderiv/implementation.html index ddcf5a6d9..4e9dc7103 100644 --- a/doc/html/math_toolkit/roots_noderiv/implementation.html +++ b/doc/html/math_toolkit/roots_noderiv/implementation.html @@ -4,7 +4,7 @@ Implementation - + diff --git a/doc/html/math_toolkit/roots_noderiv/root_termination.html b/doc/html/math_toolkit/roots_noderiv/root_termination.html index 7e6e79c3b..9dcf693bc 100644 --- a/doc/html/math_toolkit/roots_noderiv/root_termination.html +++ b/doc/html/math_toolkit/roots_noderiv/root_termination.html @@ -4,7 +4,7 @@ Termination Condition Functors - + diff --git a/doc/html/math_toolkit/rounding.html b/doc/html/math_toolkit/rounding.html index fa4a38e4e..cb1424a81 100644 --- a/doc/html/math_toolkit/rounding.html +++ b/doc/html/math_toolkit/rounding.html @@ -4,7 +4,7 @@ Rounding Truncation and Integer Conversion - + diff --git a/doc/html/math_toolkit/rounding/modf.html b/doc/html/math_toolkit/rounding/modf.html index 6967e8372..aebfa0454 100644 --- a/doc/html/math_toolkit/rounding/modf.html +++ b/doc/html/math_toolkit/rounding/modf.html @@ -4,7 +4,7 @@ Integer and Fractional Part Splitting (modf) - + diff --git a/doc/html/math_toolkit/rounding/round.html b/doc/html/math_toolkit/rounding/round.html index 677d0ffce..708fec648 100644 --- a/doc/html/math_toolkit/rounding/round.html +++ b/doc/html/math_toolkit/rounding/round.html @@ -4,7 +4,7 @@ Rounding Functions - + diff --git a/doc/html/math_toolkit/rounding/trunc.html b/doc/html/math_toolkit/rounding/trunc.html index eeeb56a0c..085c09447 100644 --- a/doc/html/math_toolkit/rounding/trunc.html +++ b/doc/html/math_toolkit/rounding/trunc.html @@ -4,7 +4,7 @@ Truncation Functions - + diff --git a/doc/html/math_toolkit/runs_test.html b/doc/html/math_toolkit/runs_test.html index 9ce29f93b..1ec54944c 100644 --- a/doc/html/math_toolkit/runs_test.html +++ b/doc/html/math_toolkit/runs_test.html @@ -4,7 +4,7 @@ Runs tests - + diff --git a/doc/html/math_toolkit/sf_beta.html b/doc/html/math_toolkit/sf_beta.html index f23c83027..e51e39861 100644 --- a/doc/html/math_toolkit/sf_beta.html +++ b/doc/html/math_toolkit/sf_beta.html @@ -4,7 +4,7 @@ Beta Functions - + diff --git a/doc/html/math_toolkit/sf_beta/beta_derivative.html b/doc/html/math_toolkit/sf_beta/beta_derivative.html index 7b503e90d..aa3a51c54 100644 --- a/doc/html/math_toolkit/sf_beta/beta_derivative.html +++ b/doc/html/math_toolkit/sf_beta/beta_derivative.html @@ -4,7 +4,7 @@ Derivative of the Incomplete Beta Function - + diff --git a/doc/html/math_toolkit/sf_beta/beta_function.html b/doc/html/math_toolkit/sf_beta/beta_function.html index fb1308fb4..07896c383 100644 --- a/doc/html/math_toolkit/sf_beta/beta_function.html +++ b/doc/html/math_toolkit/sf_beta/beta_function.html @@ -4,7 +4,7 @@ Beta - + diff --git a/doc/html/math_toolkit/sf_beta/ibeta_function.html b/doc/html/math_toolkit/sf_beta/ibeta_function.html index 114a4ce6a..892c33316 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_function.html @@ -4,7 +4,7 @@ Incomplete Beta Functions - + diff --git a/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html b/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html index e04915e63..2a667fb60 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html @@ -4,7 +4,7 @@ The Incomplete Beta Function Inverses - + diff --git a/doc/html/math_toolkit/sf_erf.html b/doc/html/math_toolkit/sf_erf.html index 223ac0ff9..5b83e84b5 100644 --- a/doc/html/math_toolkit/sf_erf.html +++ b/doc/html/math_toolkit/sf_erf.html @@ -4,7 +4,7 @@ Error Functions - + diff --git a/doc/html/math_toolkit/sf_erf/error_function.html b/doc/html/math_toolkit/sf_erf/error_function.html index f6fd45624..15012ea41 100644 --- a/doc/html/math_toolkit/sf_erf/error_function.html +++ b/doc/html/math_toolkit/sf_erf/error_function.html @@ -4,7 +4,7 @@ Error Function erf and complement erfc - + diff --git a/doc/html/math_toolkit/sf_erf/error_inv.html b/doc/html/math_toolkit/sf_erf/error_inv.html index d178f5d80..948a3c16c 100644 --- a/doc/html/math_toolkit/sf_erf/error_inv.html +++ b/doc/html/math_toolkit/sf_erf/error_inv.html @@ -4,7 +4,7 @@ Error Function Inverses - + diff --git a/doc/html/math_toolkit/sf_gamma.html b/doc/html/math_toolkit/sf_gamma.html index b10a9e83f..66343d492 100644 --- a/doc/html/math_toolkit/sf_gamma.html +++ b/doc/html/math_toolkit/sf_gamma.html @@ -4,7 +4,7 @@ Gamma Functions - + diff --git a/doc/html/math_toolkit/sf_gamma/digamma.html b/doc/html/math_toolkit/sf_gamma/digamma.html index d3669b923..e61c0238d 100644 --- a/doc/html/math_toolkit/sf_gamma/digamma.html +++ b/doc/html/math_toolkit/sf_gamma/digamma.html @@ -4,7 +4,7 @@ Digamma - + diff --git a/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html b/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html index fc9c23fd5..cc9c63903 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html @@ -4,7 +4,7 @@ Derivative of the Incomplete Gamma Function - + diff --git a/doc/html/math_toolkit/sf_gamma/gamma_ratios.html b/doc/html/math_toolkit/sf_gamma/gamma_ratios.html index 784a1238b..a64bc905e 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_ratios.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_ratios.html @@ -4,7 +4,7 @@ Ratios of Gamma Functions - + diff --git a/doc/html/math_toolkit/sf_gamma/igamma.html b/doc/html/math_toolkit/sf_gamma/igamma.html index 1bc2bc4a9..40d183736 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma.html +++ b/doc/html/math_toolkit/sf_gamma/igamma.html @@ -4,7 +4,7 @@ Incomplete Gamma Functions - + diff --git a/doc/html/math_toolkit/sf_gamma/igamma_inv.html b/doc/html/math_toolkit/sf_gamma/igamma_inv.html index 3fe98ba4c..fc4a5ffcb 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma_inv.html +++ b/doc/html/math_toolkit/sf_gamma/igamma_inv.html @@ -4,7 +4,7 @@ Incomplete Gamma Function Inverses - + diff --git a/doc/html/math_toolkit/sf_gamma/lgamma.html b/doc/html/math_toolkit/sf_gamma/lgamma.html index 9a93300b5..6a6f50815 100644 --- a/doc/html/math_toolkit/sf_gamma/lgamma.html +++ b/doc/html/math_toolkit/sf_gamma/lgamma.html @@ -4,7 +4,7 @@ Log Gamma - + diff --git a/doc/html/math_toolkit/sf_gamma/polygamma.html b/doc/html/math_toolkit/sf_gamma/polygamma.html index 36d79f069..42df52943 100644 --- a/doc/html/math_toolkit/sf_gamma/polygamma.html +++ b/doc/html/math_toolkit/sf_gamma/polygamma.html @@ -4,7 +4,7 @@ Polygamma - + diff --git a/doc/html/math_toolkit/sf_gamma/tgamma.html b/doc/html/math_toolkit/sf_gamma/tgamma.html index 36705d2ce..7829c804c 100644 --- a/doc/html/math_toolkit/sf_gamma/tgamma.html +++ b/doc/html/math_toolkit/sf_gamma/tgamma.html @@ -4,7 +4,7 @@ Gamma - + diff --git a/doc/html/math_toolkit/sf_gamma/trigamma.html b/doc/html/math_toolkit/sf_gamma/trigamma.html index 3b19b06e4..d516f8b88 100644 --- a/doc/html/math_toolkit/sf_gamma/trigamma.html +++ b/doc/html/math_toolkit/sf_gamma/trigamma.html @@ -4,7 +4,7 @@ Trigamma - + diff --git a/doc/html/math_toolkit/sf_implementation.html b/doc/html/math_toolkit/sf_implementation.html index 34c364e53..b39453ea2 100644 --- a/doc/html/math_toolkit/sf_implementation.html +++ b/doc/html/math_toolkit/sf_implementation.html @@ -4,7 +4,7 @@ Additional Implementation Notes - + diff --git a/doc/html/math_toolkit/sf_poly.html b/doc/html/math_toolkit/sf_poly.html index 4e56ebb9b..01a3c51d0 100644 --- a/doc/html/math_toolkit/sf_poly.html +++ b/doc/html/math_toolkit/sf_poly.html @@ -4,7 +4,7 @@ Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html b/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html index 0b764c7c5..fc6cfd6e4 100644 --- a/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html +++ b/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html @@ -4,7 +4,7 @@ Cardinal B-splines - + diff --git a/doc/html/math_toolkit/sf_poly/chebyshev.html b/doc/html/math_toolkit/sf_poly/chebyshev.html index 316010ad0..6e5155958 100644 --- a/doc/html/math_toolkit/sf_poly/chebyshev.html +++ b/doc/html/math_toolkit/sf_poly/chebyshev.html @@ -4,7 +4,7 @@ Chebyshev Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/gegenbauer.html b/doc/html/math_toolkit/sf_poly/gegenbauer.html index feaa71740..813361e5f 100644 --- a/doc/html/math_toolkit/sf_poly/gegenbauer.html +++ b/doc/html/math_toolkit/sf_poly/gegenbauer.html @@ -4,7 +4,7 @@ Gegenbauer Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/hermite.html b/doc/html/math_toolkit/sf_poly/hermite.html index 31df71384..1417c51f6 100644 --- a/doc/html/math_toolkit/sf_poly/hermite.html +++ b/doc/html/math_toolkit/sf_poly/hermite.html @@ -4,7 +4,7 @@ Hermite Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/jacobi.html b/doc/html/math_toolkit/sf_poly/jacobi.html index 8946635fc..6b313e270 100644 --- a/doc/html/math_toolkit/sf_poly/jacobi.html +++ b/doc/html/math_toolkit/sf_poly/jacobi.html @@ -4,7 +4,7 @@ Jacobi Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/laguerre.html b/doc/html/math_toolkit/sf_poly/laguerre.html index 25bbf3dd5..ea4135e95 100644 --- a/doc/html/math_toolkit/sf_poly/laguerre.html +++ b/doc/html/math_toolkit/sf_poly/laguerre.html @@ -4,7 +4,7 @@ Laguerre (and Associated) Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/legendre.html b/doc/html/math_toolkit/sf_poly/legendre.html index ddf6977c9..8329b2c4b 100644 --- a/doc/html/math_toolkit/sf_poly/legendre.html +++ b/doc/html/math_toolkit/sf_poly/legendre.html @@ -4,7 +4,7 @@ Legendre (and Associated) Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html b/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html index 3bb9064c7..7569ecc15 100644 --- a/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html +++ b/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html @@ -4,7 +4,7 @@ Legendre-Stieltjes Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/sph_harm.html b/doc/html/math_toolkit/sf_poly/sph_harm.html index 057d12245..4bf7a628b 100644 --- a/doc/html/math_toolkit/sf_poly/sph_harm.html +++ b/doc/html/math_toolkit/sf_poly/sph_harm.html @@ -4,7 +4,7 @@ Spherical Harmonics - + diff --git a/doc/html/math_toolkit/sign_functions.html b/doc/html/math_toolkit/sign_functions.html index ebe2c3666..1ff99d139 100644 --- a/doc/html/math_toolkit/sign_functions.html +++ b/doc/html/math_toolkit/sign_functions.html @@ -4,7 +4,7 @@ Sign Manipulation Functions - + diff --git a/doc/html/math_toolkit/signal_statistics.html b/doc/html/math_toolkit/signal_statistics.html index 7c7d939ec..60609b6cf 100644 --- a/doc/html/math_toolkit/signal_statistics.html +++ b/doc/html/math_toolkit/signal_statistics.html @@ -4,7 +4,7 @@ Signal Statistics - + diff --git a/doc/html/math_toolkit/sinc.html b/doc/html/math_toolkit/sinc.html index c45629616..0a56d7b49 100644 --- a/doc/html/math_toolkit/sinc.html +++ b/doc/html/math_toolkit/sinc.html @@ -4,7 +4,7 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions - + diff --git a/doc/html/math_toolkit/sinc/sinc_overview.html b/doc/html/math_toolkit/sinc/sinc_overview.html index 3b87340b8..54ab0d104 100644 --- a/doc/html/math_toolkit/sinc/sinc_overview.html +++ b/doc/html/math_toolkit/sinc/sinc_overview.html @@ -4,7 +4,7 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview - + diff --git a/doc/html/math_toolkit/sinc/sinc_pi.html b/doc/html/math_toolkit/sinc/sinc_pi.html index e13dd995c..a77e33108 100644 --- a/doc/html/math_toolkit/sinc/sinc_pi.html +++ b/doc/html/math_toolkit/sinc/sinc_pi.html @@ -4,7 +4,7 @@ sinc_pi - + diff --git a/doc/html/math_toolkit/sinc/sinhc_pi.html b/doc/html/math_toolkit/sinc/sinhc_pi.html index 1b5a637d1..4502b439a 100644 --- a/doc/html/math_toolkit/sinc/sinhc_pi.html +++ b/doc/html/math_toolkit/sinc/sinhc_pi.html @@ -4,7 +4,7 @@ sinhc_pi - + diff --git a/doc/html/math_toolkit/spec.html b/doc/html/math_toolkit/spec.html index 5234cb64d..94aa1fda8 100644 --- a/doc/html/math_toolkit/spec.html +++ b/doc/html/math_toolkit/spec.html @@ -4,7 +4,7 @@ Quaternion Specializations - + diff --git a/doc/html/math_toolkit/special_tut.html b/doc/html/math_toolkit/special_tut.html index e2752c3a3..407712b38 100644 --- a/doc/html/math_toolkit/special_tut.html +++ b/doc/html/math_toolkit/special_tut.html @@ -4,7 +4,7 @@ Tutorial: How to Write a New Special Function - + diff --git a/doc/html/math_toolkit/special_tut/special_tut_impl.html b/doc/html/math_toolkit/special_tut/special_tut_impl.html index 72ea4d7cf..ba7403f1a 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_impl.html +++ b/doc/html/math_toolkit/special_tut/special_tut_impl.html @@ -4,7 +4,7 @@ Implementation - + diff --git a/doc/html/math_toolkit/special_tut/special_tut_test.html b/doc/html/math_toolkit/special_tut/special_tut_test.html index 0a1c6b3f6..cf36290b5 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_test.html +++ b/doc/html/math_toolkit/special_tut/special_tut_test.html @@ -4,7 +4,7 @@ Testing - + diff --git a/doc/html/math_toolkit/specified_typedefs.html b/doc/html/math_toolkit/specified_typedefs.html index 79323cdb3..0f8197eee 100644 --- a/doc/html/math_toolkit/specified_typedefs.html +++ b/doc/html/math_toolkit/specified_typedefs.html @@ -4,7 +4,7 @@ Overview - + diff --git a/doc/html/math_toolkit/stat_tut.html b/doc/html/math_toolkit/stat_tut.html index 789d763d0..71f3f3a9b 100644 --- a/doc/html/math_toolkit/stat_tut.html +++ b/doc/html/math_toolkit/stat_tut.html @@ -4,7 +4,7 @@ Statistical Distributions Tutorial - + diff --git a/doc/html/math_toolkit/stat_tut/dist_params.html b/doc/html/math_toolkit/stat_tut/dist_params.html index fe8c27d3b..81875e042 100644 --- a/doc/html/math_toolkit/stat_tut/dist_params.html +++ b/doc/html/math_toolkit/stat_tut/dist_params.html @@ -4,7 +4,7 @@ Discrete Probability Distributions - + diff --git a/doc/html/math_toolkit/stat_tut/overview.html b/doc/html/math_toolkit/stat_tut/overview.html index ae976e845..dce8fb335 100644 --- a/doc/html/math_toolkit/stat_tut/overview.html +++ b/doc/html/math_toolkit/stat_tut/overview.html @@ -4,7 +4,7 @@ Overview of Statistical Distributions - + diff --git a/doc/html/math_toolkit/stat_tut/overview/complements.html b/doc/html/math_toolkit/stat_tut/overview/complements.html index ba9d4db95..bac855d70 100644 --- a/doc/html/math_toolkit/stat_tut/overview/complements.html +++ b/doc/html/math_toolkit/stat_tut/overview/complements.html @@ -4,7 +4,7 @@ Complements are supported too - and when to use them - + diff --git a/doc/html/math_toolkit/stat_tut/overview/generic.html b/doc/html/math_toolkit/stat_tut/overview/generic.html index 33479632f..e66eec82b 100644 --- a/doc/html/math_toolkit/stat_tut/overview/generic.html +++ b/doc/html/math_toolkit/stat_tut/overview/generic.html @@ -4,7 +4,7 @@ Generic operations common to all distributions are non-member functions - + diff --git a/doc/html/math_toolkit/stat_tut/overview/headers.html b/doc/html/math_toolkit/stat_tut/overview/headers.html index 989f1344d..d7eb1ce9c 100644 --- a/doc/html/math_toolkit/stat_tut/overview/headers.html +++ b/doc/html/math_toolkit/stat_tut/overview/headers.html @@ -4,7 +4,7 @@ Headers and Namespaces - + diff --git a/doc/html/math_toolkit/stat_tut/overview/objects.html b/doc/html/math_toolkit/stat_tut/overview/objects.html index 86f70b7ad..162324ae8 100644 --- a/doc/html/math_toolkit/stat_tut/overview/objects.html +++ b/doc/html/math_toolkit/stat_tut/overview/objects.html @@ -4,7 +4,7 @@ Distributions are Objects - + diff --git a/doc/html/math_toolkit/stat_tut/overview/parameters.html b/doc/html/math_toolkit/stat_tut/overview/parameters.html index 7bdaea613..2f1b66fa0 100644 --- a/doc/html/math_toolkit/stat_tut/overview/parameters.html +++ b/doc/html/math_toolkit/stat_tut/overview/parameters.html @@ -4,7 +4,7 @@ Parameters can be calculated - + diff --git a/doc/html/math_toolkit/stat_tut/overview/summary.html b/doc/html/math_toolkit/stat_tut/overview/summary.html index 7e7c21147..67151f83b 100644 --- a/doc/html/math_toolkit/stat_tut/overview/summary.html +++ b/doc/html/math_toolkit/stat_tut/overview/summary.html @@ -4,7 +4,7 @@ Summary - + diff --git a/doc/html/math_toolkit/stat_tut/variates.html b/doc/html/math_toolkit/stat_tut/variates.html index c41a3a5eb..39174e33f 100644 --- a/doc/html/math_toolkit/stat_tut/variates.html +++ b/doc/html/math_toolkit/stat_tut/variates.html @@ -4,7 +4,7 @@ Random Variates and Distribution Parameters - + diff --git a/doc/html/math_toolkit/stat_tut/weg.html b/doc/html/math_toolkit/stat_tut/weg.html index 180c94a44..7e96a497c 100644 --- a/doc/html/math_toolkit/stat_tut/weg.html +++ b/doc/html/math_toolkit/stat_tut/weg.html @@ -4,7 +4,7 @@ Worked Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg.html index beb9a6386..0211de208 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg.html @@ -4,7 +4,7 @@ Binomial Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html index bce8e3c6a..8cd649b3a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html @@ -4,7 +4,7 @@ Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution - + diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html index e57739694..cc4ef0615 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html @@ -4,7 +4,7 @@ Estimating Sample Sizes for a Binomial Distribution. - + diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html index f560add21..e34736f75 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html @@ -4,7 +4,7 @@ Binomial Coin-Flipping Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html index aae5a3de2..c16dfd23f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html @@ -4,7 +4,7 @@ Binomial Quiz Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/c_sharp.html b/doc/html/math_toolkit/stat_tut/weg/c_sharp.html index 97d9caebe..94f834da7 100644 --- a/doc/html/math_toolkit/stat_tut/weg/c_sharp.html +++ b/doc/html/math_toolkit/stat_tut/weg/c_sharp.html @@ -4,7 +4,7 @@ Using the Distributions from Within C# - + diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg.html index 754edd536..767a7ba8f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg.html @@ -4,7 +4,7 @@ Chi Squared Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html index f28f3d06e..372e6fbd4 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html @@ -4,7 +4,7 @@ Confidence Intervals on the Standard Deviation - + diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html index c2c1c478c..2c8d2bd2b 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html @@ -4,7 +4,7 @@ Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation - + diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html index f3c424f9f..e082d1933 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html @@ -4,7 +4,7 @@ Chi-Square Test for the Standard Deviation - + diff --git a/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html b/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html index aa181dcba..bf1b013d6 100644 --- a/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html @@ -4,7 +4,7 @@ Distribution Construction Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/error_eg.html b/doc/html/math_toolkit/stat_tut/weg/error_eg.html index 1d21343c4..265f81973 100644 --- a/doc/html/math_toolkit/stat_tut/weg/error_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/error_eg.html @@ -4,7 +4,7 @@ Error Handling Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/f_eg.html b/doc/html/math_toolkit/stat_tut/weg/f_eg.html index fc83336e8..a10c1c149 100644 --- a/doc/html/math_toolkit/stat_tut/weg/f_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/f_eg.html @@ -4,7 +4,7 @@ F Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg.html index b6d708580..43185ee89 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg.html @@ -4,7 +4,7 @@ Find Location and Scale Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html index 23d80dd91..445b5647a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html @@ -4,7 +4,7 @@ Find Location (Mean) Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html index 2afdb3ad1..2b830d714 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html @@ -4,7 +4,7 @@ Find mean and standard deviation example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html index ee884dbea..7443de631 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html @@ -4,7 +4,7 @@ Find Scale (Standard Deviation) Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html b/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html index 04fa236e5..664ed682f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html @@ -4,7 +4,7 @@ Geometric Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html b/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html index 44157db87..2f1ba5a15 100644 --- a/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html @@ -4,7 +4,7 @@ Inverse Chi-Squared Distribution Bayes Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/nag_library.html b/doc/html/math_toolkit/stat_tut/weg/nag_library.html index 05f7bc289..67502970a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nag_library.html +++ b/doc/html/math_toolkit/stat_tut/weg/nag_library.html @@ -4,7 +4,7 @@ Comparison with C, R, FORTRAN-style Free Functions - + diff --git a/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html b/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html index 77a570557..003a79b3c 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html @@ -4,7 +4,7 @@ Non Central Chi Squared Example - + diff --git a/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html b/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html index 79a0d813c..5ff550b6c 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html @@ -4,7 +4,7 @@ Tables of the power function of the chi2 test. - + diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html index 5659810e6..3c6b7f27f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html @@ -4,7 +4,7 @@ Negative Binomial Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html index 7564cddf6..6c4874408 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html @@ -4,7 +4,7 @@ Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution - + diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html index dc9ba2c01..dfc0abd2f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html @@ -4,7 +4,7 @@ Estimating Sample Sizes for the Negative Binomial. - + diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html index 40469ede0..3cac0eab9 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html @@ -4,7 +4,7 @@ Negative Binomial Sales Quota Example. - + diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html index 2279feaf3..40c615d91 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html @@ -4,7 +4,7 @@ Negative Binomial Table Printing Example. - + diff --git a/doc/html/math_toolkit/stat_tut/weg/normal_example.html b/doc/html/math_toolkit/stat_tut/weg/normal_example.html index 4708cae67..5528be04d 100644 --- a/doc/html/math_toolkit/stat_tut/weg/normal_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/normal_example.html @@ -4,7 +4,7 @@ Normal Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html b/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html index 4a8a11314..c0d4257a5 100644 --- a/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html +++ b/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html @@ -4,7 +4,7 @@ Some Miscellaneous Examples of the Normal (Gaussian) Distribution - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg.html b/doc/html/math_toolkit/stat_tut/weg/st_eg.html index 6a3203f04..5da8ad61c 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg.html @@ -4,7 +4,7 @@ Student's t Distribution Examples - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html index 820a06aac..3578ca4bf 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html @@ -4,7 +4,7 @@ Comparing two paired samples with the Student's t distribution - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html index bfcf907e4..c0b8efbcc 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html @@ -4,7 +4,7 @@ Calculating confidence intervals on the mean with the Students-t distribution - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html index fabdb51be..2d6e0e2d9 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html @@ -4,7 +4,7 @@ Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html index 906c8203a..2a172e2ca 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html @@ -4,7 +4,7 @@ Testing a sample mean for difference from a "true" mean - + diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html index 2fdff6059..093216e84 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html @@ -4,7 +4,7 @@ Comparing the means of two samples with the Students-t test - + diff --git a/doc/html/math_toolkit/t_test.html b/doc/html/math_toolkit/t_test.html index 818feae85..248cbeadf 100644 --- a/doc/html/math_toolkit/t_test.html +++ b/doc/html/math_toolkit/t_test.html @@ -4,7 +4,7 @@ t-tests - + diff --git a/doc/html/math_toolkit/threads.html b/doc/html/math_toolkit/threads.html index 1d11c3fe9..790da205a 100644 --- a/doc/html/math_toolkit/threads.html +++ b/doc/html/math_toolkit/threads.html @@ -4,7 +4,7 @@ Thread Safety - + diff --git a/doc/html/math_toolkit/tr1_ref.html b/doc/html/math_toolkit/tr1_ref.html index 5c108ed47..fca958773 100644 --- a/doc/html/math_toolkit/tr1_ref.html +++ b/doc/html/math_toolkit/tr1_ref.html @@ -4,7 +4,7 @@ TR1 C Functions Quick Reference - + diff --git a/doc/html/math_toolkit/tradoffs.html b/doc/html/math_toolkit/tradoffs.html index aeada9956..d827c8d3c 100644 --- a/doc/html/math_toolkit/tradoffs.html +++ b/doc/html/math_toolkit/tradoffs.html @@ -4,7 +4,7 @@ Trading Accuracy for Performance - + diff --git a/doc/html/math_toolkit/trans.html b/doc/html/math_toolkit/trans.html index a930d1d0d..f5e10fae0 100644 --- a/doc/html/math_toolkit/trans.html +++ b/doc/html/math_toolkit/trans.html @@ -4,7 +4,7 @@ Quaternion Transcendentals - + diff --git a/doc/html/math_toolkit/trapezoidal.html b/doc/html/math_toolkit/trapezoidal.html index 42e5374ed..6099925c7 100644 --- a/doc/html/math_toolkit/trapezoidal.html +++ b/doc/html/math_toolkit/trapezoidal.html @@ -4,7 +4,7 @@ Trapezoidal Quadrature - + diff --git a/doc/html/math_toolkit/tuning.html b/doc/html/math_toolkit/tuning.html index 459663cc6..175513a45 100644 --- a/doc/html/math_toolkit/tuning.html +++ b/doc/html/math_toolkit/tuning.html @@ -4,7 +4,7 @@ Performance Tuning Macros - + diff --git a/doc/html/math_toolkit/tutorial.html b/doc/html/math_toolkit/tutorial.html index 6044e616b..a1b46e459 100644 --- a/doc/html/math_toolkit/tutorial.html +++ b/doc/html/math_toolkit/tutorial.html @@ -4,7 +4,7 @@ Tutorial - + diff --git a/doc/html/math_toolkit/tutorial/non_templ.html b/doc/html/math_toolkit/tutorial/non_templ.html index fe5512fdc..4584c72b6 100644 --- a/doc/html/math_toolkit/tutorial/non_templ.html +++ b/doc/html/math_toolkit/tutorial/non_templ.html @@ -4,7 +4,7 @@ Use in non-template code - + diff --git a/doc/html/math_toolkit/tutorial/templ.html b/doc/html/math_toolkit/tutorial/templ.html index eb0dade58..536ea634f 100644 --- a/doc/html/math_toolkit/tutorial/templ.html +++ b/doc/html/math_toolkit/tutorial/templ.html @@ -4,7 +4,7 @@ Use in template code - + diff --git a/doc/html/math_toolkit/tutorial/user_def.html b/doc/html/math_toolkit/tutorial/user_def.html index 103bc9cb5..08b87e24e 100644 --- a/doc/html/math_toolkit/tutorial/user_def.html +++ b/doc/html/math_toolkit/tutorial/user_def.html @@ -4,7 +4,7 @@ Use With User-Defined Types - + diff --git a/doc/html/math_toolkit/ulps_plots.html b/doc/html/math_toolkit/ulps_plots.html index 268225d74..56f4fe0b5 100644 --- a/doc/html/math_toolkit/ulps_plots.html +++ b/doc/html/math_toolkit/ulps_plots.html @@ -4,7 +4,7 @@ ULPs Plots - + diff --git a/doc/html/math_toolkit/univariate_statistics.html b/doc/html/math_toolkit/univariate_statistics.html index 18fa3560b..0bcb5826c 100644 --- a/doc/html/math_toolkit/univariate_statistics.html +++ b/doc/html/math_toolkit/univariate_statistics.html @@ -4,7 +4,7 @@ Univariate Statistics - + diff --git a/doc/html/math_toolkit/value_op.html b/doc/html/math_toolkit/value_op.html index 1b9c4c66f..ee481dfbd 100644 --- a/doc/html/math_toolkit/value_op.html +++ b/doc/html/math_toolkit/value_op.html @@ -4,7 +4,7 @@ Quaternion Value Operations - + diff --git a/doc/html/math_toolkit/vector_barycentric.html b/doc/html/math_toolkit/vector_barycentric.html index ba1ddbd83..98fd7f7a9 100644 --- a/doc/html/math_toolkit/vector_barycentric.html +++ b/doc/html/math_toolkit/vector_barycentric.html @@ -4,7 +4,7 @@ Vector-valued Barycentric Rational Interpolation - + diff --git a/doc/html/math_toolkit/wavelet_transforms.html b/doc/html/math_toolkit/wavelet_transforms.html index a7c5ad84d..de7266acf 100644 --- a/doc/html/math_toolkit/wavelet_transforms.html +++ b/doc/html/math_toolkit/wavelet_transforms.html @@ -4,7 +4,7 @@ Wavelet Transforms - + diff --git a/doc/html/math_toolkit/whittaker_shannon.html b/doc/html/math_toolkit/whittaker_shannon.html index 1479be852..67cd9b75c 100644 --- a/doc/html/math_toolkit/whittaker_shannon.html +++ b/doc/html/math_toolkit/whittaker_shannon.html @@ -4,7 +4,7 @@ Whittaker-Shannon interpolation - + diff --git a/doc/html/math_toolkit/z_test.html b/doc/html/math_toolkit/z_test.html index 73c0c2bb2..73aaec992 100644 --- a/doc/html/math_toolkit/z_test.html +++ b/doc/html/math_toolkit/z_test.html @@ -4,7 +4,7 @@ z-tests - + diff --git a/doc/html/math_toolkit/zetas.html b/doc/html/math_toolkit/zetas.html index 47e96e5ac..6fe8b457c 100644 --- a/doc/html/math_toolkit/zetas.html +++ b/doc/html/math_toolkit/zetas.html @@ -4,7 +4,7 @@ Zeta Functions - + diff --git a/doc/html/math_toolkit/zetas/zeta.html b/doc/html/math_toolkit/zetas/zeta.html index fee5f003d..d67595fe5 100644 --- a/doc/html/math_toolkit/zetas/zeta.html +++ b/doc/html/math_toolkit/zetas/zeta.html @@ -4,7 +4,7 @@ Riemann Zeta Function - + diff --git a/doc/html/octonions.html b/doc/html/octonions.html index 48d77f09d..8b0ffdd6b 100644 --- a/doc/html/octonions.html +++ b/doc/html/octonions.html @@ -4,8 +4,8 @@ Chapter 17. Octonions - - + + diff --git a/doc/html/overview.html b/doc/html/overview.html index 9dc6ddfbd..078ae5c2a 100644 --- a/doc/html/overview.html +++ b/doc/html/overview.html @@ -4,9 +4,9 @@ Chapter 1. Overview - - - + + + @@ -34,6 +34,7 @@
    Other Hints and tips
    Directory and File Structure
    Namespaces
    +
    Standalone Usage
    Calculation of the Type of the Result
    Error Handling
    diff --git a/doc/html/perf.html b/doc/html/perf.html index 933c825d6..997cad7fd 100644 --- a/doc/html/perf.html +++ b/doc/html/perf.html @@ -4,8 +4,8 @@ Chapter 22. Performance - - + + diff --git a/doc/html/policy.html b/doc/html/policy.html index 4fcc2ca14..8ec0597c5 100644 --- a/doc/html/policy.html +++ b/doc/html/policy.html @@ -4,8 +4,8 @@ Chapter 21. Policies: Controlling Precision, Error Handling etc - - + + diff --git a/doc/html/poly.html b/doc/html/poly.html index 1e154981c..9af007042 100644 --- a/doc/html/poly.html +++ b/doc/html/poly.html @@ -4,8 +4,8 @@ Chapter 11. Polynomials and Rational Functions - - + + diff --git a/doc/html/quadrature.html b/doc/html/quadrature.html index f19a0a6d7..b41bdfef2 100644 --- a/doc/html/quadrature.html +++ b/doc/html/quadrature.html @@ -4,8 +4,8 @@ Chapter 13. Quadrature and Differentiation - - + + diff --git a/doc/html/quaternions.html b/doc/html/quaternions.html index c75a730a1..7765a3629 100644 --- a/doc/html/quaternions.html +++ b/doc/html/quaternions.html @@ -4,8 +4,8 @@ Chapter 16. Quaternions - - + + diff --git a/doc/html/root_finding.html b/doc/html/root_finding.html index bd67796af..46be64647 100644 --- a/doc/html/root_finding.html +++ b/doc/html/root_finding.html @@ -4,8 +4,8 @@ Chapter 10. Root Finding & Minimization Algorithms - - + + diff --git a/doc/html/special.html b/doc/html/special.html index 814be1732..a39a6cfe6 100644 --- a/doc/html/special.html +++ b/doc/html/special.html @@ -4,8 +4,8 @@ Chapter 8. Special Functions - - + + diff --git a/doc/html/standalone_HTML.manifest b/doc/html/standalone_HTML.manifest index 94eff5ee8..858b8e651 100644 --- a/doc/html/standalone_HTML.manifest +++ b/doc/html/standalone_HTML.manifest @@ -6,6 +6,7 @@ math_toolkit/conventions.html math_toolkit/hints.html math_toolkit/directories.html math_toolkit/namespaces.html +math_toolkit/standalone.html math_toolkit/result_type.html math_toolkit/error_handling.html math_toolkit/compilers_overview.html diff --git a/doc/html/statistics.html b/doc/html/statistics.html index 154966c57..309c1972d 100644 --- a/doc/html/statistics.html +++ b/doc/html/statistics.html @@ -4,8 +4,8 @@ Chapter 6. Statistics - - + + diff --git a/doc/html/status.html b/doc/html/status.html index 79b250411..4f26130c6 100644 --- a/doc/html/status.html +++ b/doc/html/status.html @@ -4,8 +4,8 @@ Chapter 24. Library Status - - + + diff --git a/doc/html/using_udt.html b/doc/html/using_udt.html index 2874de87c..ac2f067d5 100644 --- a/doc/html/using_udt.html +++ b/doc/html/using_udt.html @@ -4,8 +4,8 @@ Chapter 20. Use with User-Defined Floating-Point Types - Boost.Multiprecision and others - - + + diff --git a/doc/html/utils.html b/doc/html/utils.html index d097ec8fb..d83cde7f4 100644 --- a/doc/html/utils.html +++ b/doc/html/utils.html @@ -4,8 +4,8 @@ Chapter 2. Floating Point Utilities - - + + diff --git a/doc/html/vector_functionals.html b/doc/html/vector_functionals.html index 3b8ca944e..11466aec5 100644 --- a/doc/html/vector_functionals.html +++ b/doc/html/vector_functionals.html @@ -4,8 +4,8 @@ Chapter 7. Vector Functionals - Norms - - + + diff --git a/doc/math.qbk b/doc/math.qbk index d5f1525e0..8f1695254 100644 --- a/doc/math.qbk +++ b/doc/math.qbk @@ -9,7 +9,7 @@ ] [authors [Agrawal, Nikhar], [Bikineev, Anton], [Borland, Matthew], [Bristow, Paul A.], [Holin, Hubert], [Guazzone, Marco], [Kormanyos, Christopher], [Lalande, Bruno], [Maddock, John], [Miller, Evan], [Murphy, Jeremy W.], [Pulver, Matthew], [Råde, Johan], [Sobotta, Benjamin], [Sewani, Gautam], [Thompson, Nicholas], [van den Berg, Thijs], [Walker, Daryle], [Zhang, Xiaogang]] [/last-revision $Date$] - [version 3.0.0] + [version 3.1.0] ] [template mathpart[id title] @@ -554,6 +554,7 @@ and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22. [mathpart overview Overview] [include overview/overview.qbk] [include overview/structure.qbk] [/getting about, directory and file structure.] +[include overview/standalone.qbk] [include overview/result_type_calc.qbk] [include overview/error_handling.qbk] diff --git a/doc/overview/standalone.qbk b/doc/overview/standalone.qbk new file mode 100644 index 000000000..135aff30e --- /dev/null +++ b/doc/overview/standalone.qbk @@ -0,0 +1,29 @@ +[section:standalone Standalone Usage] + +This library is able to be used completely standalone - which is to say without any of the rest of the Boost libraries present on your system. +In order to do this you must either: + +* Be using a compiler which supports `__has_include()` in which case the presence or absence of the other Boost libraries is determined automatically, and/or: +* Define `BOOST_MATH_STANDALONE` on the compiler command line. This will force the library into standalone mode even when other Boost headers are present. + +Note that once the library is in standalone mode, you must have a conforming C++11 compiler as no allowances will be made for possible compiler defects +which would otherwise be detected by Boost.Config. In addition, if you use a section of the library which makes (possibly optionsal) use of features from +later C++ standards, then support for that later standard version becomes pretty much mandatory. In other words, if you hit issues, try upping your compiler's +conformance level to C++17 if you can. + +Latest tarballs of this library can be obtained from: + +Latest [@https://github.com/boostorg/math/releases official releases] (including full Boost releases). + +[@https://github.com/boostorg/math/archive/refs/heads/master.zip Latest stable code] (master branch). + +[@https://github.com/boostorg/math/archive/refs/heads/develop.zip Latest bleeding edge code] (develop branch). + +[endsect] [/section:standalone] + +[/ + Copyright 2006 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). +] From 37e48d03e3ba95e8ae8feb7fbfe9ed8ae50fee06 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Sun, 4 Jul 2021 17:26:02 +0300 Subject: [PATCH 07/21] Fix warning in naive monte carlo include test --- test/compile_test/quad_naive_monte_carlo_incl_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/compile_test/quad_naive_monte_carlo_incl_test.cpp b/test/compile_test/quad_naive_monte_carlo_incl_test.cpp index 505a1b6f4..f02fdde2f 100644 --- a/test/compile_test/quad_naive_monte_carlo_incl_test.cpp +++ b/test/compile_test/quad_naive_monte_carlo_incl_test.cpp @@ -17,7 +17,7 @@ using boost::math::quadrature::naive_monte_carlo; void compile_and_link_test() { - auto g = [&](std::vector const & x) + auto g = [&](std::vector const &) { return 1.873; }; From eba915ae1e69722db28f0f4e654c036dc99362b4 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Sun, 4 Jul 2021 12:35:59 -0500 Subject: [PATCH 08/21] Add GCC11 to CI (#654) * Add GCC11 to CI * Change std::views to std::ranges::views * Remove g++5 and clang-5. Remove testing of ranges in GCC11 --- .github/workflows/ci.yml | 8 ++++---- test/test_hyperexponential_dist.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4831831e..9a6ad5599 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - compiler: [ g++-9, g++-10, clang++-10 ] + compiler: [ g++-9, g++-10, g++-11, clang++-10 ] standard: [ c++11, c++14, c++17, c++2a ] suite: [ float128_tests, special_fun, distribution_tests, misc, quadrature, mp, interpolators, autodiff, ../example//examples, ../tools ] steps: @@ -47,7 +47,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt install g++-9 g++-10 clang-9 clang-10 libgmp-dev libmpfr-dev libfftw3-dev + run: sudo apt install g++-9 g++-10 g++-11 clang-9 clang-10 libgmp-dev libmpfr-dev libfftw3-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep @@ -82,7 +82,7 @@ jobs: strategy: fail-fast: false matrix: - compiler: [ g++-5, g++-6, clang++-5.0, clang++-6.0, g++-7, g++-8, clang++-7, clang++-8 ] + compiler: [ g++-6, clang++-6.0, g++-7, g++-8, clang++-7, clang++-8 ] standard: [ c++11, c++14, c++17 ] suite: [ float128_tests, special_fun, distribution_tests, misc, quadrature, mp, interpolators, autodiff, ../example//examples, ../tools ] steps: @@ -111,7 +111,7 @@ jobs: if: steps.retry1.outcome=='failure' run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test" - name: Install packages - run: sudo apt install g++-5 g++-6 g++-7 g++-8 clang-5.0 clang-6.0 clang-7 clang-8 libgmp-dev libmpfr-dev libfftw3-dev + run: sudo apt install g++-6 g++-7 g++-8 clang-6.0 clang-7 clang-8 libgmp-dev libmpfr-dev libfftw3-dev - name: Checkout main boost run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root - name: Update tools/boostdep diff --git a/test/test_hyperexponential_dist.cpp b/test/test_hyperexponential_dist.cpp index 13843a3bf..1f6562c4d 100644 --- a/test/test_hyperexponential_dist.cpp +++ b/test/test_hyperexponential_dist.cpp @@ -389,6 +389,8 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(error_cases, RealT, test_types) // Test C++20 ranges (Currently only GCC10 has full support to P0896R4) #if (__cplusplus > 202000L || _MSVC_LANG > 202000L) && __has_include() && __GNUC__ >= 10 + // Support for ranges is broken using gcc 11.1 + #if __GNUC__ != 11 #include #include @@ -396,9 +398,10 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(error_cases, RealT, test_types) std::array rates_array {1,2,3}; BOOST_MATH_CHECK_THROW(dist_t(std::ranges::begin(probs_array), std::ranges::end(probs_array), std::ranges::begin(rates_array), std::ranges::end(rates_array)), std::domain_error); - const auto probs_range = probs_array | std::views::all; - const auto rates_range = rates_array | std::views::all; + const auto probs_range = probs_array | std::ranges::views::all; + const auto rates_range = rates_array | std::ranges::views::all; BOOST_MATH_CHECK_THROW(dist_t(probs_range, rates_range), std::domain_error); #endif + #endif } From fab3df9592691a0f7f7bee96567e4794d6efa383 Mon Sep 17 00:00:00 2001 From: Jan Blumschein Date: Mon, 5 Jul 2021 23:20:58 +0200 Subject: [PATCH 09/21] nonfinite_num_get facet fix: honour "legacy" flag to enable "nanq" and "nans" (#640) Fix 16c57be3 "Fixes for compile tests" (make compiler happy, but lose flag semantics) as well as the original implementation from e3e838da (obvious intention, but wrong operator). --- include/boost/math/special_functions/nonfinite_num_facets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/math/special_functions/nonfinite_num_facets.hpp b/include/boost/math/special_functions/nonfinite_num_facets.hpp index 81a552dc8..4ff702b30 100644 --- a/include/boost/math/special_functions/nonfinite_num_facets.hpp +++ b/include/boost/math/special_functions/nonfinite_num_facets.hpp @@ -414,7 +414,7 @@ namespace boost { switch(peek_char(it, end, ct)) { case 'q': case 's': - if(flags_) + if(flags_ & legacy) ++it; break; // "nanq", "nans" From 9bd0f5631a4e175db9bed60710f32045e9323a1f Mon Sep 17 00:00:00 2001 From: Matheus Castanho Date: Wed, 7 Jul 2021 16:10:34 -0300 Subject: [PATCH 10/21] Fix build on platforms with "double-double" long double type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since commit 01f3b7d7721fd most tests started to fail on platforms that use a "double-double" for long double, like powerpc64le: ../../../boost/math/tools/precision.hpp:148:137: error: expected primary-expression before ‘long’ 148 | inline constexpr long double epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double) ../../../boost/math/tools/precision.hpp:148:137: error: expected ‘)’ before ‘long’ 148 | inline constexpr long double epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double) ../../../boost/math/tools/precision.hpp:148:137: error: expected initializer before ‘long’ 148 | inline constexpr long double epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double) Fix this by replacing the noexcept expression with the contents of BOOST_MATH_NOEXCEPT, which was the intention of commit 01f3b7d7721fd. --- include/boost/math/tools/precision.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/math/tools/precision.hpp b/include/boost/math/tools/precision.hpp index f0a4c80a0..1bc35d9ae 100644 --- a/include/boost/math/tools/precision.hpp +++ b/include/boost/math/tools/precision.hpp @@ -145,7 +145,7 @@ inline constexpr T epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMP #if defined(__GNUC__) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) template <> -inline constexpr long double epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double) +inline constexpr long double epsilon(const std::true_type& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(std::is_floating_point::value) { // numeric_limits on Darwin (and elsewhere) tells lies here: // the issue is that long double on a few platforms is From 5f54d7df9aa74658230d8d0bba27e73da814edc0 Mon Sep 17 00:00:00 2001 From: Daniel Scharrer Date: Wed, 28 Jul 2021 19:56:31 +0200 Subject: [PATCH 11/21] Fix #include inside boost namespace The existing code fails to build if was not already included. --- include/boost/math/tools/mp.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/math/tools/mp.hpp b/include/boost/math/tools/mp.hpp index 35565646f..dc8440988 100644 --- a/include/boost/math/tools/mp.hpp +++ b/include/boost/math/tools/mp.hpp @@ -13,6 +13,7 @@ #include #include +#include namespace boost { namespace math { namespace tools { namespace meta_programming { @@ -338,7 +339,6 @@ using mp_remove_if_q = mp_remove_if; // Index sequence // Use C++14 index sequence if available #if defined(__cpp_lib_integer_sequence) && (__cpp_lib_integer_sequence >= 201304) -#include template using index_sequence = std::index_sequence; From 90f102ac148745317f992ebcfd0598cbacb2a1dd Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 2 Aug 2021 18:33:03 +0100 Subject: [PATCH 12/21] Fix duplicate typedef in mp.hpp --- include/boost/math/tools/mp.hpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/boost/math/tools/mp.hpp b/include/boost/math/tools/mp.hpp index dc8440988..3100a0bb6 100644 --- a/include/boost/math/tools/mp.hpp +++ b/include/boost/math/tools/mp.hpp @@ -426,9 +426,6 @@ struct make_integer_sequence_impl template using make_integer_sequence = typename detail::make_integer_sequence_impl::type; -template -using index_sequence = integer_sequence; - template using make_index_sequence = make_integer_sequence; From 5222ce249c814025773a63e0d64f55a0cc063bdf Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 12 Mar 2022 16:02:18 +0000 Subject: [PATCH 13/21] Regenerate docs, add missing files. [CI SKIP] --- doc/html/index.html | 2 +- doc/html/indexes/s01.html | 2 +- doc/html/indexes/s02.html | 2 +- doc/html/indexes/s03.html | 2 +- doc/html/indexes/s04.html | 2 +- doc/html/indexes/s05.html | 2 +- doc/html/math_toolkit/conventions.html | 2 +- .../math_toolkit/internals/color_maps.html | 170 ++++++++++++++++++ doc/html/math_toolkit/navigation.html | 2 +- doc/html/math_toolkit/powers/logaddexp.html | 166 +++++++++++++++++ doc/html/math_toolkit/quartic_roots.html | 88 +++++++++ 11 files changed, 432 insertions(+), 8 deletions(-) create mode 100644 doc/html/math_toolkit/internals/color_maps.html create mode 100644 doc/html/math_toolkit/powers/logaddexp.html create mode 100644 doc/html/math_toolkit/quartic_roots.html diff --git a/doc/html/index.html b/doc/html/index.html index 42df72f19..8d51e7ffe 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -134,7 +134,7 @@ This manual is also available in -

    Last revised: March 08, 2022 at 16:03:29 GMT

    +

    Last revised: March 12, 2022 at 15:44:15 GMT


    diff --git a/doc/html/indexes/s01.html b/doc/html/indexes/s01.html index 616dcb911..956566265 100644 --- a/doc/html/indexes/s01.html +++ b/doc/html/indexes/s01.html @@ -24,7 +24,7 @@

    -Function Index

    +Function Index

    1 2 4 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    diff --git a/doc/html/indexes/s02.html b/doc/html/indexes/s02.html index 0580ea017..cc8984f38 100644 --- a/doc/html/indexes/s02.html +++ b/doc/html/indexes/s02.html @@ -24,7 +24,7 @@

    -Class Index

    +Class Index

    A B C D E F G H I K L M N O P Q R S T U V W

    diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index f9cd0c910..b656b949f 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -24,7 +24,7 @@

    -Typedef Index

    +Typedef Index

    A B C D E F G H I K L N P R S T U V W

    diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index 4f65f61b4..3c5f6a5f4 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -24,7 +24,7 @@

    -Macro Index

    +Macro Index

    B F

    diff --git a/doc/html/indexes/s05.html b/doc/html/indexes/s05.html index 9fba74a98..e808a68a1 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -23,7 +23,7 @@

    -Index

    +Index

    1 2 4 5 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    diff --git a/doc/html/math_toolkit/conventions.html b/doc/html/math_toolkit/conventions.html index e725bfc12..11f88a46b 100644 --- a/doc/html/math_toolkit/conventions.html +++ b/doc/html/math_toolkit/conventions.html @@ -27,7 +27,7 @@ Document Conventions

    - +

    This documentation aims to use of the following naming and formatting conventions. diff --git a/doc/html/math_toolkit/internals/color_maps.html b/doc/html/math_toolkit/internals/color_maps.html new file mode 100644 index 000000000..febbba121 --- /dev/null +++ b/doc/html/math_toolkit/internals/color_maps.html @@ -0,0 +1,170 @@ + + + +Color Maps + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +


    +
    +PrevUpHomeNext +
    +
    + +
    + + Synopsis +
    +
    #include <boost/math/tools/color_maps.hpp>
    +
    +namespace boost::math::tools {
    +
    +template<typename Real>
    +std::array<Real, 3> viridis(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> plasma(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> black_body(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> inferno(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> smooth_cool_warm(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> kindlmann(Real x);
    +
    +template<typename Real>
    +std::array<Real, 3> extended_kindlmann(Real x);
    +
    +template<typename Real>
    +std::array<uint8_t, 4> to_8bit_rgba(std::array<Real, 3> const & color);
    +
    +} // namespaces
    +
    +
    + + Description +
    +

    + Abstractly, a color map is any function which maps [0, 1] -> [0, 1]^3. + As stated, this definition is too broad to be useful, so in Boost, we restrict + our attention to the subset of color maps which are useful for the understanding + of scientific data. Much + research has demonstrated that color maps differ wildly in their + usefulness for interpreting quantitative data; see here + for details. In addition, different color maps are useful in different contexts. + For example, the smooth_cool_warm + color map is useful for examining surfaces embedded in 3-space which have + scalar fields defined on them, whereas the inferno + color map is better for understanding 2D data. +

    +

    + Despite the fact that a color map, per our definition, has a domain of [0, + 1], we nonetheless do not throw an exception if the value provided falls + outside this range. This is for two reasons: First, visualizations are themselves + amazing debuggers, and if we threw an exception the calculation would not + complete and visual debugging would be inaccessible. Second, often small + changes in floating point rounding cause the value provided to be only slightly + below zero, or just slightly above 1. Hence, we make a call to std::clamp + before interpolating into the color table. +

    +

    + For an example of how to use these facilites please refer to example/color_maps_example.cpp Note: To compile the examples directly + you will need to have lodepng. + An example of the viridis color map using the + newton fractal is shown below: +

    +

    + +

    +

    + Swatches of each are listed below: +

    +

    + +

    +
    • + Smooth cool warm* +
    +

    + +

    +
    • + Viridis* +
    +

    + +

    +
    • + Plasma* +
    +

    + +

    +
    • + Black body* +
    +

    + +

    +
    • + Inferno* +
    +

    + +

    +
    • + Kindlmann* +
    +

    + +

    +
    • + Extended Kindlmann* +
    +
    + + References +
    +
    • + Ken Moreland. Why We Use Bad Color Maps and What You Can Do + About it . +
    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/math_toolkit/navigation.html b/doc/html/math_toolkit/navigation.html index a3f71c46c..c874d6c9a 100644 --- a/doc/html/math_toolkit/navigation.html +++ b/doc/html/math_toolkit/navigation.html @@ -27,7 +27,7 @@ Navigation

    - +

    Boost.Math documentation is provided in both HTML and PDF formats. diff --git a/doc/html/math_toolkit/powers/logaddexp.html b/doc/html/math_toolkit/powers/logaddexp.html new file mode 100644 index 000000000..774cac660 --- /dev/null +++ b/doc/html/math_toolkit/powers/logaddexp.html @@ -0,0 +1,166 @@ + + + +logaddexp and logsumexp + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +


    +
    +PrevUpHomeNext +
    +
    + +
    + + Synopsis +
    +
    #include <boost/math/special_functions/logaddexp.hpp>
    +
    +namespace boost { namespace math {
    +
    +template <typename Real>
    +Real logaddexp (Real x1, Real x2);
    +
    +}} // namespaces
    +
    +#include <boost/math/special_functions/logsumexp.hpp>
    +
    +namespace boost { namespace math {
    +
    +template <typename ForwardIterator, typename Real = std::iterator_traits<ForwardIterator>::value_type>
    +Real logsumexp (ForwardIterator first, ForwardIterator last);
    +
    +template <typename ForwardContainer, typename Real = ForwardContainer::value_type>
    +Real logsumexp (const ForwardContainer& c);
    +
    +template <typename... Args, typename Real = typename std::common_type<Args...>::type>
    +Real logsumexp(Args&& ...args)
    +
    +}} // namespace
    +
    +

    + The function logaddexp(x1, x2) computes log(exp(x1) + exp(x2)). The function + logsumexp(x1, x2, ...) is + generalized to compute log(exp(x1) + exp(x2) + ...). This function is useful + in statistics where the calculated probabilities of events may be so small + as to exceed the range of normal floating point numbers. In such cases the + logarithm of the calculated probability is stored. +

    +

    + The use is +

    +
    using std::log;
    +
    +double x1 = log(1e-50);
    +double x2 = log(2.5e-50);
    +double x3 = log(3e-50);
    +std::vector<double> x = {x1, x2, x3};
    +
    +double probability1 = boost::math::logaddexp(x1, x2);
    +double probability2 = boost::math::logsumexp(x1, x2, x3);
    +double probability3 = boost::math::logsumexp(x);
    +double probability4 = boost::math::logsumexp(x.begin(), x.end());
    +
    +

    + Performance Data: +

    +
    Running ./logaddexp_performance
    +Run on Apple M1 Pro
    +CPU Caches:
    +  L1 Data 64 KiB (x10)
    +  L1 Instruction 128 KiB (x10)
    +  L2 Unified 4096 KiB (x5)
    +Load Average: 2.23, 1.89, 1.88
    +-----------------------------------------------------------------------------
    +Benchmark                                   Time             CPU   Iterations
    +-----------------------------------------------------------------------------
    +logaddexp_performance<float>             1.05 ns         1.05 ns    597983940
    +logaddexp_performance<double>            1.03 ns         1.03 ns    672682369
    +
    +
    Running ./logsumexp_performance
    +Run on Apple M1 Pro
    +CPU Caches:
    +  L1 Data 64 KiB (x10)
    +  L1 Instruction 128 KiB (x10)
    +  L2 Unified 4096 KiB (x5)
    +Load Average: 1.56, 1.67, 1.81
    +-----------------------------------------------------------------------------------------------
    +Benchmark                                                     Time             CPU   Iterations
    +-----------------------------------------------------------------------------------------------
    +logsumexp_performance<float>/64/real_time                   388 ns          388 ns      1797191
    +logsumexp_performance<float>/128/real_time                  761 ns          761 ns       890017
    +logsumexp_performance<float>/256/real_time                 1513 ns         1513 ns       460217
    +logsumexp_performance<float>/512/real_time                 3026 ns         3026 ns       231454
    +logsumexp_performance<float>/1024/real_time                6043 ns         6043 ns       113901
    +logsumexp_performance<float>/2048/real_time               12084 ns        12084 ns        57590
    +logsumexp_performance<float>/4096/real_time               24240 ns        24240 ns        28835
    +logsumexp_performance<float>/8192/real_time               48326 ns        48323 ns        14478
    +logsumexp_performance<float>/16384/real_time              96645 ns        96642 ns         7181
    +logsumexp_performance<float>/32768/real_time             193351 ns       193351 ns         3607
    +logsumexp_performance<float>/65536/real_time             386537 ns       386538 ns         1810
    +logsumexp_performance<float>/131072/real_time            774055 ns       774056 ns          894
    +logsumexp_performance<float>/262144/real_time           1548913 ns      1548847 ns          451
    +logsumexp_performance<float>/524288/real_time           3092771 ns      3092770 ns          226
    +logsumexp_performance<float>/1048576/real_time          6188087 ns      6188089 ns          112
    +logsumexp_performance<float>/real_time_BigO                5.90 N          5.90 N
    +logsumexp_performance<float>/real_time_RMS                    0 %             0 %
    +logsumexp_performance<double>/64/real_time                  388 ns          388 ns      1806669
    +logsumexp_performance<double>/128/real_time                 770 ns          770 ns       898340
    +logsumexp_performance<double>/256/real_time                1534 ns         1534 ns       454768
    +logsumexp_performance<double>/512/real_time                3063 ns         3063 ns       228057
    +logsumexp_performance<double>/1024/real_time               6126 ns         6126 ns       112667
    +logsumexp_performance<double>/2048/real_time              12243 ns        12243 ns        56963
    +logsumexp_performance<double>/4096/real_time              24476 ns        24476 ns        28485
    +logsumexp_performance<double>/8192/real_time              48979 ns        48978 ns        14215
    +logsumexp_performance<double>/16384/real_time             97929 ns        97929 ns         7070
    +logsumexp_performance<double>/32768/real_time            195826 ns       195826 ns         3560
    +logsumexp_performance<double>/65536/real_time            391855 ns       391835 ns         1787
    +logsumexp_performance<double>/131072/real_time           784119 ns       784110 ns          882
    +logsumexp_performance<double>/262144/real_time          1566408 ns      1566386 ns          446
    +logsumexp_performance<double>/524288/real_time          3151649 ns      3150955 ns          223
    +logsumexp_performance<double>/1048576/real_time         6300578 ns      6299027 ns          110
    +logsumexp_performance<double>/real_time_BigO               6.01 N          6.01 N
    +
    +
    + + References +
    +
    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/math_toolkit/quartic_roots.html b/doc/html/math_toolkit/quartic_roots.html new file mode 100644 index 000000000..8cccd2d1a --- /dev/null +++ b/doc/html/math_toolkit/quartic_roots.html @@ -0,0 +1,88 @@ + + + +Roots of Quartic Polynomials + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +

    + + Synopsis +

    +
    #include <boost/math/roots/quartic_roots.hpp>
    +
    +namespace boost::math::tools {
    +
    +// Solves ax⁴ + bx³ + cx² + dx + e = 0.
    +std::array<Real,3> quartic_roots(Real a, Real b, Real c, Real d, Real e);
    +
    +}
    +
    +

    + + Background +

    +

    + The quartic_roots function + extracts all real roots of a quartic polynomial ax⁴+ bx³ + cx² + dx + e. + The result is a std::array<Real, 4>, which has length four, irrespective of + the number of real roots the polynomial possesses. (This is to prevent the + performance overhead of allocating a vector, which often exceeds the time to + extract the roots.) The roots are returned in nondecreasing order. If a root + is complex, then it is placed at the back of the array and set to a nan. +

    +

    + The algorithm uses the classical method of Ferrari, and follows Graphics + Gems V, with an additional Halley iterate for root polishing. A typical + use of a quartic real-root solver is to raytrace a torus. +

    +

    + + Performance + and Accuracy +

    +

    + On a consumer laptop, we observe extraction of the roots taking ~90ns. The + file reporting/performance/quartic_roots_performance.cpp allows determination of the speed on + your system. +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + From 2b9927871fd86312f753e4bcbdb82236022c5856 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 10 Mar 2022 19:33:51 +0000 Subject: [PATCH 14/21] Added further color table example. --- doc/images/extended_kindlmann_1F1.png | Bin 0 -> 305902 bytes doc/internals/color_maps.qbk | 7 +- example/color_maps_sf_example.cpp | 606 ++++++++++++++++++++++++++ 3 files changed, 612 insertions(+), 1 deletion(-) create mode 100644 doc/images/extended_kindlmann_1F1.png create mode 100644 example/color_maps_sf_example.cpp diff --git a/doc/images/extended_kindlmann_1F1.png b/doc/images/extended_kindlmann_1F1.png new file mode 100644 index 0000000000000000000000000000000000000000..5780e2a8c4ad3c3f26bf664e1c1e060dafa5d4cc GIT binary patch literal 305902 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
      5s9G-ryg0u z)8jtHw$J!M#Ogj<3$Yys)>rJ=np81oi!vRl#dh zr<3u~(B%I8<+Vqv^VL-@=xyCJqxnQ9*G?vt+XpHw`c&k0_RR3*k$vKHeNn}FFR3d< zd;C>-^vpH8s{?F)h|RyC4Qjl9t~=`fK7M6wm%3}AoJ8=`$W@OlGi?5DT%(o7Ch^+l zS#!<2-2K8w<&!_;cU?R3^9E7aNe)wRFW+F zflUj3gx-8Od)?98>kociNqEl|TDV3>jAOmRC(ed+hINcLf7}00k##IwtxzcPM(=}x zTZ(%iW2dD@Cv2SfQLDbLUih z!x)hh?^r%Ce3C0z@AywyW}Wq(ouxnCZI%|-Vp z6{#Z`vF6{TJ-WFJm5|dc&#n5Sw3~gS<3`rB+|^vnXQZx)pE>aG#;Qdru8t?0`k_bshwk5KIxgQ4+WPe;>xt9uTUJ%h9O5RV-wgGsEG-jVr{yqjrIp;n!WCBA)@U;oMb(!vw)?|WF?QjU*EPhnS8P2 zGp$HE?xYnnc~aLD$sdz6x?9aEM0pEJC+xN>xSQZy=>LGxR>w|q!wt=Zn8(3$m=CWM zb>-wSejS^m**Ed#GBzpWM=sARb{`k8Y`?ZCOx$wCAC9k&=NQE;+SJRVV3xS?iLS<> z^rtBwm#{m1XNox-9bnQFpV1J1Oiq8dn0aio_VSRU%sORUV!PRz@)50GMBhG2qMt01(*5U2&_UYE6bNKN)#aqXZjR!6^KRQ>R60o0r zRT69WO}B&{p4Ppb5_wbBZ)Kfm{$VF0WSLs@E(g{h79S#Hw~NVn^OR0M`1os?=(mq^ zx%$M}k9F7f30KIp%y)ZLct^o>Mz+nIwQR?2bLLg?vF_$l_-H0qJJopJF)@X8Tz%6u zn&lNO=5e+dJ}%x9R$60Op|kn+no!x*c|Yg8vXEBr&$njoKdKlgD=vD%kM;8AE611( z_@*Au-rFb5U+H_*@Y6I=Mw4j*Oy5r@t-BxjUi(2|T=3z@j!&hH$3JEGuUnu0I9~4O zjOTx*sTRx$R!mPUTEN45^+ecO{489X<#k`vhEHs|a#X79^>y;o{V&h)K& zsv_pSsGI&GcCY)!sA(dirh+znOed1KR93&8#uoZ zc-fg0hl$KtId!$-##OmGsfFjNn50DH9q%!|yUNm)FZ1u@X6Aph-!a<1Pz(6u@Zifd zi@@s-4K>7e2#W9@e9L3u!!2U2q1~PMBzo(yX?jKJg}bML7ZllF<1)w$>9CxrIq%yP z{z>Aw`avIO8Z5|@e0Rvx+@k)8 z@nhKGHd|;o`LSau`?Oz`h^coKa zH5|XS+OX~T##GmHtCUzy{kN}vFQ$ER)3frw{{us_zrMOx{e9oO;%9RbkGUnM7&q@c zF)fGx@Yyt;YaV-U*fg+oh{qk^?+};c<*(a1!NJ4hgp{6>M+f^nT>&!*#nT+oY-cmr zq|e3Fq@8*J$Bz}2jrVu_P%_%I>e{QVyNs7?)zY6B85%jW@aIwcfAim# z&v|;>=;=n*{^?FrcDEhp*ZtU2DZlR3tn?4|cITJpH=k;=-}p#hNsKA4Mrp<&yQom- zua*MS=5715S#4F^iNqX+qn)Cz>*eMpeALZZpR_*FP_1-hm{9sPVNQc>3pO18w4iL- zr5jAg5A@u!NHh;!y76GsG#0k0ZPxo+&OPCqU%bukw9eL&(-S0&7erKxEniTv;(OV_ z^*=Zp)BApO9XMaq?ccqHxjUugx^fthz%3c&g)9{Lm@9I_uqT)m_U>*Me>a zv?_MAwqN>t-|qiLm;bEvTdm`!FDUZ5@a@eLD*IU*XTMp)GeO2(T+2s!+dltKy^%la zBz64awI3R2U9hlfJ9hQ@^QS)LpE*2gv~1jrZH_rr#8~&Q_&0f>pIP%C(J9BbE~wHy z^_WAhnpv(|S}wWaxY5CcyOHZO`tSC9`VsS?;xprc$KS8+dZbt?fA6d5x|N-|2|AB! z=l+tOeVWswZ|lO`_p{esY&d*c&87R3-nIiPKk53}c3;$P`7Us0Q9IXmj&H)Zjt4Qf zaqxLxtvd8c+s@p;Ez#a!y@?&GlyhJE(Mu;brX1X?rfxfZ8?Rrq!)~*HIaOlOtCE(l znXzTn52Y1d_G%y5%?^D3!zcffS8wm(qie%Nm4n2Jzv$d+{9$q6Q8$a&dCl(hgpHZ5 zjfb}J3yLjH3NDNnJ#6Vv_*7GmZS&>>8yMSX>U$E;}!xNwT?P7&Yx2V1@d*)k}b}DVEzllWlj0x7~no}Q_Zk+9QO=829s{Nab zYeaW1&Jr$MHuqZ6lkW@i_pq`}b=|RN!R-^j>UMs9{-&d?Ja};}+pcu39A+tJ$A^~Z zA1|uk#5*hTR@jdtT#H3~*2kx9SUbb&)Hjj42R}#L4zsxYd&b7Cu1vEx{|S&g`SL#J zyyIeLX8mrJm$rGf*VendcwPIqyZ2MCA6<8>vDIUDLb@jNkI4l%?+{K8h(x+b~=3I zv9O!Yd-P<(3}634KNl1(y{l#HUmz$J9&&V=d*Q2Ko2Ey42Ocqs+-La2^LlK0MQ-kmDlH~poJUdb;R*1C>4k3;e=Y?M)4rgF2ZLB6*w>fW-sw+hZQ zKHShN%r3(F!`TRY>Q~9*a#R*Hl`w4V59qV~e_@It-1J8G`6a(Pw|^u@Z{pN;00^m z8gyknW6_BIuwz+8b@;sF<#%oBuKQ-&UGP8VUhuc2_U|pG$-x~tQb3P=r;_Om`QeNZp``|b6L-$x#oujl)by60fNRzQvNfq!e) zYS<+N31|B!9aL*NHgnPr{y1ai&SdY-U3Xoy71m902x>m2{lzBPIdd;tHt0%K`;dk? zA6&O~>umN46cFcPxwT5UPax9&VxMwqd##ql?v#Y6sNoKiXb!)fV z4XgEhf=^PoCOi)Pyg)jhv#W>ktBlj_woBED>7{1E=M!8MH@{@~XtdR}?ff&tv&n0M zpTE#b379UW^L>8nqICx)zGg7(RXl8xpzzYJ_T57fw|PPgW}jCu@*exX^2~uJAC;FL zsNJ(MCGBV4JQKY`*Ou0@ddNHe6H}?cul+r~BlFxD=}Q;; z!e?sjidp%%FJj^wtq&Em4<=u`o2nJ=E4BVbZ1b7+8zyxguafV5HqSL}v?|}eahc9F z0m(q#sEqKC(}!6d46Afmb}Uw52%BQGgZ&sg$2U%mcR{~7j~sk$lO)Y`lA(yNu2xy# z+#3z8Q;+6tKf&X3F7acG!tUQeV)~mGO<0_@DD}L~?1hEhysq7wELIg;oGsI2-S#{3 z`G>0lH`XcZ?XuW#cbWIzE_2U>-Le0lPdZRGaZ$w885fH*SHw2YsxUhdyX)?+t!WG& zb!75*6OOkA%t+TifBv%6Qw(~M^>o9diW62dC+{k~ zqGkBr#Z5Lylbd(b%Z)YxJqxER9(I*bovOG$ZuwrHW3S%4IAnO=ZRrX*$CN5V(-+s}ZzW8; z_&0Eq=0d544h17F0c(xsOMj$#+TXizHh#IX?ZmMo498gxo8~v3IlO@5O6lt7(1L4vG932 zEG*vGY<#Qsn{%zsvinUneQ|*@O}7%cbJ`lpnrBrkKCmH7c>0v18x|H`&3nYbYM6eD zeGcQ{;@`6q3Sgv)v3;?7kTtVhm;352gv zKhkt4d3iqE=HC_ZM{YyS=zU7WZ7 z`DLl3;NBTa1ZIkMtZ^*o`m;P$GM#e?Z(Z8{l|0Q}TfV3BMylS*{^3; zFu&~^Ys$hDzjb)sRT_m@?Vp7;IO$@?*O|6%vVt8RQ<^+>Pbkss@}$;%n+84FlH2swPv zxR)dBv1aNKt&Uih?zP9{c`9t!+oKN_aB}H?G`90AJ)`!bI%&i1MfRU8D?U!Lln!LJ z_-B!1yIOax;7aYz(nNuuBF>FTo(_fVC*(eu3;dV*u)lG3xBR1{oB96Vd?)>;Cf)`UA*riR?jxdJ-A%_>_KO<8{; z8J=|77WrE($ztkkC`#p;mGSo7l@oJvG~2#+d=6lIRT!(5V4Edb@OYYZNJ?|rK` zsa7a_+g|?STM0q)_Fb%8%CO(i(XBL3e&6*603_lw81%0pHwA7}{wSQ)o6VY$a53BQ_& zhN~t`)XrUc!NBd{EhWyQ8on=5_-dXf%-~d6*O+qB%CxG!s@gBWM)2HoKe5)-vuBoz zdVb;yGZ9kQG|SII=W=^;%#XFU9_FPoZmzY97RXJxe$%1loc*45hZN&y-`^}ao7Z+* zf9o_wmN?$@)Khl1E*x!23`q4pDW=?de6~vcTfXc@4bz6pOwoP4t1EMge<+$RetzY6 z&GPvV|2*G)`n~ew1yMgEGa2iX=7_IYnUXwVHrr-vmfM|zLdxG%^c)`vY4|B_d>R|m zbi_MH-D{fgwT%Zd55AkWs;5{XCcIJnv{I(_{CAIM3Ww+vCwfV*ns;>9%wtRJBpN<4 zbeAh`xGT(bUgm?Y`yat~A0oFOyn66qP_<~et;W5IraJad!3^ga_zu2dQsLVstiifz z^PbM^f*Hn+uOpcEPko%0XmDGh_zFwTmK7Rx*Mhw-Rj+$mk)p8sqobLMVaQ&cjpvr+ zzDWx?vUrljHr7^^RZ08XPedQ6@9o>)C0~2xq5a;P*7%#;aTQ+V`DPoo5o1TC9SL2#;xsnnY88$Q3MNj#pb4RE~;`_(nbHeza zfO~-QY7TY_6vMu7oX{!$KhO4PaA{jwJXfW=?fO+qwtn6aX20A)T*}8dQe17_%HYR= z_0LY4Ivo7;qIPThVpAs>ZQU*MUzS~P=s2*6Wy77sFFt)!PtAy%t60zTK|+u9RPFoJ zmP5B5IeBZg|K-uTv9VV*czIn;c;}|W2bSdU-fmgd=pA@La^msLFKhyyUv|9S6l7M* zuhyIKI_B5ZiA@bx_*u!4#LP(!Yh}1++Wc zHBS{!6W;1jwrtXlMS9yF6r624WPTtqD_a zkN67yF+CAy6pH`4@5qhDJmwrHUgvh3j@X0KZ)}-vaOJSh!P~dYxS7s3Cz~C3Xq7Tg z^Wv;rjXs9VJ?o>^ncdoCAk|dY5Lt1{^p9`CrYUVZj1zRc0&@-|)iXR{yHv|uvcGTo z`MQq(KW=LOS-bamH(!NzQ#1Rw>IZ53GASFT-*8H~y|{@{q&|`dY*`RrrODW`i5gEK?h~PezT01Wm35 zNdBx-V7t18A;qw9QlOyYO9`jtnIldrMye-VqNLn zsk5e^{O4)Qvs6Rw&sKF;PUEA6JNUHXm-sAmUn4bdTVaSc|9ZPQ&WW-gAMDV-#M^hm z>^B3IrP z=k+F+uZfEB`7M+bKQPl$wa9z(HrL)iH*{sA?Elu*`tLlPeN9ZIU%hs{Dp!!^o#$Z; zyFa9ScYNK)ctlKQ8jHx{B-=oaqVO=O(}iUsK^qrNV3IL&+&JYlL#A}fq!dS~y3>y~ zZHW#(A^HCEt*XSPihXknulll14%SV|ayDeydRuUZLZRyeWv2VL1nRrQe-!OMdU@~R zrw0?azjxgDc|Ox0nFqlQ(-qWrbLQ}_<}}mjSQ*cqa3e(Yd_+*nfpSKdbvL7?OuHF3 zNp`(XUHE4+v1uD@m;|Ez)w%1A6c6B$0t-QZYa=KnJ}v>f+ty$n`d_8>j_V6 znb=M@{SM9evuWz@(1Krk_uL9!!%zuMO|#yu;k>-JOFJgWR5dcQVO33Qt*y?w)w6ON za-3gn`KUcbC;@Twdf|(=`=eYtxRc^+3Qzw zS>5zEnd9G>EcH9+f{w?OTWkf_Zl|Qxf7v%}((NBMhEuNHcYZ$oMXl#jpJgiZPbQn> zNq*|BteMl!_0&K?mF^oFw|c1Gm`p$eWWwmw_0RX2tG-OPPr zjnl@Zp0iiInO3q{K5KG?U*OqO*UA}Bcnef&#yne;dT!N(Xs57iYz|2?tPb9BUL<2D zk+37jRFP9o<0tI(}Z+^y7uMRD8&Bn zs(WQ|cvJA{!*)K|TJ?Kmmjpe1dOYi?-eR^-R~oKyrK#~|hIfd}eRg{9eWA4q*@90e z%yswrIoWNuh}7pKlV_K6gYL+ePfT(xzxmEN>r@Wwepa(9;!LVrcd+iwmGG}%-Ob+m zf{|x|b!epVti5JV@6KFe7T6oRdR1&>pzgTYtpjLE_}FS;Sn>DYnnA;$%W_T1-z-GwgAh~a@Tg*9+$mPeo z9trJSn;G-&mRISl+O^#_?V=r3A682_*rvxUPR@1p%5a+`#o%e+_S#%)(Y!AGc&QnA z0qp#z9z=7jW8J}4ApOp9t=PNx&?~=LgnpmeBp!HrXZS`5hDa63jEP1!d_|9aw6ys5 zlyOSTjK(Py>3W>oro3(5xc<}WsZ)w{Cmdl>*L_gl$@OlX)v0Mh!D;h$rA!d{x!`$$ z_yn#QuFaDd<~@)*!24p|#}?UnmIt?QJEC9zSyJ!kd8XU_jO7Oa76mdUzjf-{M6*bmXTFGnm=CSVco_bK#qUKZsv-b9z&P|7pJ0vIXKXX;Z zE!TLt-n1j0ag%lmFYU`X0y^Qzkxo^5#<+3g0g*rBUsoC^l?~{)6VL7|c&3!)SwqMNi zJ3jkZZ$HkR#NE;RwJBrgvCzYtmda>qxGh;Crzxwve69DQIN{r=;F(fXfnPyX@4Frk}&?n1?a)4B@R8}_h0VYP{0aGPUS?}H659p4?~ z{FYaBH@M(6%l0oj8XxG|#vOb-m7(7In+1=fK_a`DGLQUOmOIOY8NTe3t?KY)?z(ns z&Dwd(53kmr8tHB_+mhKk`rwz9wu@5>wyz7wb5zW8+`j1O;+bqx8nw!wXGuG{UH+Z% z!`3YEH6O!K)f1B^&;2K1KlK!2r`9^{$&K7bj%J@p6?P`-?__nhLZO+}9yO!1M zOWgOfx0Wm{3~ow4b>4LC@kLgNOvy^u8|pbH#veYr^!Vx3eDzOXnf|-A_CdCO#oNwo z#<~K5KPOMGzj(6#I{&+$|JDm1>i0Uut1`Q8zvG+ptCl}eXBJH2w>y!OpubnvLUY4( zmCbj$R8PkwtPgIk+IpvxoqE0xOSj3?wax5wwbYq4^&B*Jk&j4 zeq)#Uj}qk{t=jGTe>^(RARf;+`*hub7VAGE|8)PHQop_O&XP@WGi41frY?83yAc?0 zXR*)|!?hRFL_dGGG)VIOX*F5>`y|FGQ#0=++ir_{18MOm-Mnt=@Ss|}z?^w&(UZc{ z_x=5T{3&9Q*e9-0!}Ve9!Mnzd_rJ^#64|D>p10*T&$i6{ww>EO117j8EcpLg@guK7KEs}t6Z{X&o6a%b zHQQswSubp27w{{UP1K;eqQ>F>F8)<#q&f1Iy0eJO{F!q4?2n!MS9Bk(+0Pdp(bRTa z>~2xY_a`0i{=NA|JSC@=bXDnIoHW*}depc-v%2U#onlelhDns6u4a^xoTF z5|$NRoMy1w#fo8Xl+X^gC!#I-zdzM7mq;J1)828jYR}!OKkwc({J;4A+gHyv`AZ7IDar8;6$?8@epnbLE#@2)@2@O1HlPk+pcPS)hU;OWb2{76yV zX#S12E78#UnIVhc!NN^*4yJI+bTf8M{=PxMP$)u&(?BBequqf=*$nF$e@fkpJ*@5U zW^UWDgL+L|a{RAn94KVx3=?XepUrUc#qxLk1&otlg=oc=gf$pNxVaW@_!{xMCHP2m z`PE!Y_YIbMXTAzBv7M4!msuTN_HVa0)5Ojjzbg*ByOou^Vf9P}gN1w3-Ip4u?)!go z;~Ck{s~Dzr9N6S@>QO+Lf7mZ6J^%TIOoxRU(_I)MMOxCBCb?dfl$&C^ASY|amBh>1 zlXs;GGkjr~v)ya2xX7Bc2aL>T4ls00{UMwxkhJoOAIC-wO%CH%j@fP8lO)wSUU}SM zD&jt9+A#Yb*NKxN#}kzgK3b)Jn%}SB#+S`*>&)fWo5}v;`}U)beUH$==$FiuckeM& zb9`I0CR}Ls)RmSpY&M6S9~eXmSzi3+vQhj;#@0i8ag}qs+M<)9BR#l!Be{gawuMW7 z-mugy==+;Dwv(L_D2zn zZF_J&ZmPfC&i`ww!|pbxT_`*JsHr&X*OR#U!FN8-sJ7S`I`ML2;hs|#W{)neohX{J z4puY06IRe~SyZI6up%QN;_Y(kO$Qb4mt+|WV=&Drm2WCCzky5W$GuX#kzk|nGPJ6J6>(| zOh(|R;lanhU+7J1dZqi<_e=ie<`l8?W!(}BW(rS|ewfQL)6%H(#@+ZzhvKFywe@y$ zx`ki#+8ju|S;Rj%^Y)(b#=>3kZXFk&Te5t;=NqPe?DU!RM->_i_Au&x{(oso;gl<@ zO&u)QPp%PYI@UA!pEYbkdRiGlNiDGku8Pin{>_No71n}J8I^<-S5M((jSWa zKSK3?Y!u%k_~01xb~}wO_w#u(nJl#O-|Bt7>38KvK#td6v*ZggfyS;)Ujv?;^nH6* zH~4_7(BFVm8Rw=I8hx83M5iWtonw*KX51=vnwxt?DDwna#tA$3oUvPXZMA7k_W6d7 zUMua@S5{SYusFTFa*sKg{pJ5dI?FXR3ij_|Ep&Xal6jtW`}~_s|DXL+uK8BgeERQp zhVQl$4HFJ?g<5AW3NvEeB z+OkSwjed}ajYg;U>3t7kWezyA^sW~*scSvQ${JPiw#jO3u`SOxy@p4Ob{E=?Gb_l2 zo{(UwSy|f=nwIlMXm)J*w&Xd*3|D^#N#9pDv3(aY?``!*+1ls3Ipj-wo=stMS$0)? zTGL8*jvJ>soWB@EHbi9lbY49Xa*)|oiPe6_;g^BFGAra4_6eSKZ#%CnYH((Soc7b% z2R1%oUhFn^_SNQ_zXHNJe7xbr0GgRk0$ z%9h6uWBjf^3Nf&p6JU9JRl~`XS86WStxsK`CUvinO)mPINX!DKdBIYf%Z%@a>MFNh z)(;UBXDpNyn%v4LmQ^e)`B;W0z=Au=JK^*_ljoBTOl6*D{b;%Qk^QgMf4F&DcV3)z z&L4lKKTIY5jBF7#3#T4k$Jdp4CgnuU-LFdn7nj^TJfURLinfF$CK-VZ$9=e`9myjYfXT z!zJ%jlV;dlVZO-V%W-3QVhKyl$~9_24{S8%2(Fx^8g>3*QH=c71If9w4HJ)e&Fz_K z^_TD0!6buOJR+;#3Tm_kNi5c%Z@c{Z!W_9b&3PIX&i(f%^6l3?kj=QxwcxgD*CP(l zG(aZX(KyDq`PV;OP1mXxoAF;PY9`N-QzP$HZF4+_Ms}XZ;X-AhvPO3+6ky+ZhG4wYhc}X)H^u4vsqauHB2> zXzI(?-d>M81-G6HdT^X8l=RTQ~0#<)FUa8d5p(Q^kQ@?V$Uvmq*D4(C}9p`Y=}bs%NsLu(?cb$ z>uB~kR6OFnkkfE?QLby2d*D6wB*$d$%$SWUBpM6zml|5#gslY#RJ34dz7?^KaS!8@ z;~#2_f5xh1CBIKPdTYbIKqd{jY0M67O(!02ON?E4Rlu2JX7JCcyEJoxrM9!odd%ti zrM4{mo~!XMyQ|0F3oGpFPIF>`il?DjQcnl-{$>&Vrsvl%le4j(Uo6Y+Kx44ZdlLKw|M_5 z+1WSv=Zdg}WNcq*5+4@8(d3Co&qIqN6JWqfyCn)43BA4=}hUAm?kYIbD@%FU1LZ}F}v z+Kj@T__wDk0C`^ZD)bP>I)XP2N8F67s;QKqzw8+Ze6nJIW?{k-=NE zdZTl-j%-+NaBk|s$04;g%gyY*WIYxz$mD2K|D?>3|8TpoMjqqw#k(qQw6mxsH=S(0 z6|w&pi`?=olf|!-%QsiGMK{ zUU$;Ub|5iy%2tMfXoh9$ZM=81e+D45@jNg=&eRbjL*vi_fav_4JV9u)U z&ABK3_64t~d9ze*u5!=KznVF6+c_sCOl1oR+uyz7+YHegMOkw<7w~T=n!LsL=_0U&NJ!UW85u}GWpbI3EfvotPRE)J!}Ormd{u=FP2dfj|!e7(R+TM zE7z>x6*+tRmrjZkdXuN9Q5Vj;YqCfLXh?n5wJl6fOy>q&pTpGi{J{HK?Vj_jZSR@* z<}*yZnen=8)~O#G9g^qVoW&He&ZLdE^?B3%v$ulJupXGq=AZ1G7{fb9JvILEqE|OI zt$HC;A+x7&Kn^#n5`1;vBI{(3L zRsZ?=^>hB6o&KZnykiP)%HusuoOZ{yh2^rD7}q5P&#-ZP_Hb{}0-b5@l}uBO8`M~L zqu<}Yr+mq0}g4cDpvZfz+bYgkF`A`6 z>5JnVrQ4iKt_kmS-^iz{#wZni>Jbm0dP79ow}TDGe{r4SF)-UWqv^!f^r{-OhBy24 z9iRT#?p^o!NVtrk)!F?M7x2A(;+M@e)7H3qzLR5O*kR5zLyoN5iyw<9T$^`vwo71* zzhrfD{9u*vIcBlv!e0Iq;SJm6Mn>9 zJtn3wFIdj}m#lO^WKiqJzy~{)SZrIPbuTSURM4O-V8acD6CMmj0mr6>9ItaLy|c(g zyYVrXxE@4UJe|rT<$t?YL%;TsbUnv{A5wDqt{-@(ERtw`>vCc>qhZkP zP8Pn!DYlA{JKtnCRItgYn^rN(%|FKCB_O#W^w+igb4}0d&dxdbYwy>+j*Dy0y_z#? z=Dq`gsq;i$UkKV8*>w1#*{u&d*k&ekbGaRSV>Tz@BcHHFosh%FaOp?>yJYv>VR!x5 zctf`1ZR3p+>k0Rneh487QR~^+i<))%Ys{Galv%$ z{o<#SD>={1Wj!6{HqV1==Z4SaN^7SiTTRve853OzU36hqQ1id>eOKw9ov$wJW;;^O z+qYDAfl2x;j`WWv$97&lcFTFwf}NU&o`}UKpV8=!PWTj5`Z2cQaqGd4Q3pRJ9WCq* zZS6n!@kQYt{s%v#CQKLDGpFI>4=Ejum^TY8^TN4yC?e^8J)f2WS2hOTCP`t4n&3vwKuJo=n+;K{V)=NBdv zyxTWv^K?t^L!ZvF&X1j>A1-}-!i|dopvDS&&C8DZV{bn^t?N!_Z|`nCe6;aKnPaHV ze1<gceJz-b#U#Ko+#s*`{Can`-FUu!BDzns!~lB~Fi zwd1vd<+<#G#@2s+X#wjt(1YW}tb0SOkXRw|ipl+&1P(`~A;ul0en z;2y>Tn6W~@=)CcE)1!*$CE@r*B+Z#RlJ+-|({<=|U4i#?uuy5{nB`tEAdsf zA6-S7B5B^I+ttIOJbQ&$UvGYwVRq-G%_q$XpKTnLmz1S;&Wh-1S{<=#ZDwxZ`b=Mb zyR{5I50?Jx=}OtUYKOIl4Rh0HzU;pb(vkP01X;IXF zkC(!{^EM?e^>;oXpzE{<~9-<$Kp7bES&a z4uv8o^bS0*jF|IVc<~GWIny_9JGDcUi~HHtBUc+rdLQgy>pySGxkn_dXK8xRv0~Ly z-)D2L$i^`Ac~_=2Y?6JW*M5Y@>(P~}q;7^TNe9D5eVLD+8Aa@^HC}i2-Due#7y3u@ zfHuQ)hVlbt+f!=HDkRYrgaLzmF>YBk=H}GiP6T(~16L z&n4J2*q*)BjQVti>4|FWtE7fKOT6`_G5w5q-Sscj=tqu2@?PCdJ2F06$?0g{`}SeR z{gkZ75rsDSk%mo4ypu!~&gp6|t2JWoPhIxi<~ncG!;iDh)%MDrDxJ4^T}JCkT>(qm zGM?{K8=lx$`}>*}W~72l;iEBiW$x~t*Tfaax^T#I@dl?v%7I}LZRo?-{%?%pBisnGui!4;PZ7qpYS}l zby}%&{2Ir}s@1Hnscg$de!FjKI=|I)&oWcnRa=;zw9k3cvgW;0<(@Cqd-zW!KVdLG zdpfH>BPxQYf9>~8Z#3^kSJ*6f`4+1BDe%J&y_$YipDew`M;Z?E+K$^rzAJiKD5mjV zSHZsRgYTPiA0NBpQgYTyP3C>HzV@M_;pEbUO5YDVlIr#xdffi8@?CUojreiSaUTwxRIwWJ9$4INijzmwS4DSBSdNxP_R=iim@60yO@nF8;d9#Sg474Rk+uU30(E@`wrk=z%>}dx!PEk+U?v(sGqMOmw z>||GNlI5nF3CgE>i>JEl7VKz~H&r>ubVJj_CNki_Hx0Mgz(2?Dh{c!QzE}0=LbU%I zHrI{vZ`Ai4$gpqZZn%AKwZ$h*J(g|SRbsF6Ti6-8Cx34dJW~8l{P85Qa~lu*Xt^eI zKCpV8!~wr)^QxD9nXvQH3lWbV776uQ*+|Y$zi;k}yFBaOd2oYrz4-5a^~-lARIdHK z=`HW7&!@I2X>(7bEiT6!SD!=`2 z@}#4!3wezd3R4y)YV}|KeyLLEb=RU#5jVp!Dr_PGBR_Vyy8d8e{KJp8V&e9{ z-dp=`XG22h{BXacI_`U}Gflee)qXTB~S z3j;*rxeJ;ZI(Y+RZu@q;^q0Bm*RfE+ji-C@`S4qPyLL%vX!kT48L&-T-NSf#p3>iV z#>1EH{F$|1{aniQT`5d<=L6(qaswx7bha;#VBai#^+@9EFk$}nd)*D44R*_k*spDP zlaLJYb0{pTDf6kjlay*W zeMUj#M5pr?nRf9<)HtnGTYiPf{afUcpjEtYzpcn;obhPd7TNic7g;~H+pm#H%vD{N z>D#Zimf>fup7T@Ny8T3IE9FOfj3v zwv0LT-is-Rw)r%!Sy-Hts5pb^xv%5rIOh*lO~;fi`1Z{`H7%*em)S1U;0%+FnQgz| z&!)N)AAT&147U;a`Z4)WYsLNjVyX8SEVP~%iGGrCx#n8Rsj~eFZ<5dK>66zrZnP{%GVdRJ*5TbABgowbL6q?aNRJ+|IsezdyMX_PbjN?T7j?4tZT?FAfBQN7$NW5-f6{;0v(vx(#NIGno9SCVJFMZ) zh2I-5ZM%QwlvU40rJ(I{+n*$h8SC7=SM}~%Zt?T182ze;C-;OetxS5nnTyxDclVx` zV!RwS%PuyjsryX1TjAa7Yf^G_VndS18~X_+K9k*ERm^$V%(K+ZEkNYr(fw3* zYAk(@SlnOpX{G=pKbps#XmN;KB&!qr{bU@i~rtA&XPxA&pyU&+jM=) zvhT*ACWvTl&+JEYRu*5aGuD3Izf`18dv89clDu#K`NUr2mEmU#*im!B4=aY8?JEraj=5%zG^n!9UFd=NW8RD=b+z7cWgH^Le8#=J3c;)iC?OcDCO03l;Jb@G3EeBD2x z`nSg(zvin@ZffS=_v88jM;VtghHV0z&H9@H*JoGV(S2;X_T^zuZHKy!)cFdpKBO+& zwl!g!m`9#XnV^T+xs}pqf~=qEZIj=F5H-12hri(HS+rnbYo6m@^DaQb4GB;1u@vgk-b_Pz`qyYQdY zU4Lh8lAm=fdsA=7g*hi0tDoLjCS6|{TpQ-P_Q6LEffbIuDzC4Fd8=z~@Kh8Z4;pA5eVJItQGvGT4+_{u|xrTbRw?UcOTsmyd+R`|-g z$j%z2dxvU1Z`(O%(NSUU4rBhT>Cpj87~iVh?zEV3SG2L8qo&&Vk4^cHocqm>y8R;k zd$tM3C-S72ujsrhb|Yd!gm$OyYt930M^Bp13l@;)ZI3?qVPe3JRZjCF?YrFzn*~qp z4PCItrexECv{hG}j&N=hZe_T)C~EP=9y{6fD!ehdH~dQU760WwVxRx+qxc>3A7`5% zOyzH$!gPnD;71{UC#$u?w!ilc_9*-9ZA+(Uip#eAU6?TI%)uvb zZm47*-gsPYdcn$w&?`m^wQs)d+>?{BeZ!@Dfm{z8V`tS|OqgQTDJ#&&1+unM$Qo^8~v)26OtP89pidFLa^Y@pFvIRRNZd|3+ zKhcXND&^tx$XV`O3PlWu9TY2MlXiF7{yO(_fs$Wshp(t1Pkho7$Jc3lI|BoG!WlN& zA1XS;l@|U*?^un(ZXua@!TjA@niDfw4m}T1zQ2-{_4Ijp?z671WmIcsYWGO~6wZ!V zbM;8{v93q`oHganebd`)OxORo|4zl87Y)*acd8ylH5~rRHlaJvx5vl#%`){U z#-xcEe2#a@;@dBtFJ6ACO7{AeWugl84?f(;T5Gg)qKn+)^E$5ki?(W^reR7fn!_SvJLI~j;8tvNZ8#x z$0AX!YAN4$`9eih`U&le{EIH0n!xm88pEcuze9hq>9C)_6uW~>Rv}!$u4!`k#ivO- zmOR#OPi>kaXu9!JOb2K05uT{0iR>v_qRoqbsUNz!?NKeuy7IrX?}aX~wwrL@;ewf) z)!y|9o*j$CKA7(dGJ3G`;Rct29qdPIW)7>GG+q0}@ZVR8tzGm~RSko{M*4|8qduXGGQKOuC0PeD z9sU=gVe{Nu=dD)~H`{HmM`ab+^Hwt&ZQsWf=CJoi-jtc?&hOr=ob1J^DyiT%;l-Eb zx57mC-g`sbPNxMdylrt|GQg?ga}>I~~0 z;=VM@h<=dNaCo*cLlU>xbmlu3xvJ9VE|(P0XE<@Rq15z+4ST;dqv7;3jP1i ze1J}`~0_ymlRZXt#jj@ZWs}-kk1grb$imwbdyCg!fmFl z8+C2V3+s2idtAD-C~eF7c(JWED;q+cr@bn@^M3N*lV&S&UrkN^u=}4)@Z*TR@w;qT zPIpUPh_$%SI6=MPjp8Ss3H}a0Wuz;4%YR5c%6~BDfOW#-hI5SP81FIq{YrIT!2Q=X z$l=&EDJQL|hFdvLbL5+-Xszteba?#cW5_nW<1d=0l{`PkYs&I{<&s*Rh_4T8^XI)R z{?zw={+V-GihMJ;gQi!poOgT}Vt8la!JtJ8#PT>J!ugZbT`OYv63V;eH@{`J=5=;ejgRMXTf6S zRz+>Gwn;2yFOQfkm}^>WAn4;zE#jXWeK5hY@J0M?+k%Qt^LOhX#P9nfSa*Xnu8RHr z{I7QRcY8m0Jzp;Lh*D?MjUfL1uz~}7x+2Omk{xue)oSa0|1|5`v`^s41=Fp|&eqhP z+i7-ar_J$hfiSmbbOaI`#VCiVS$Le6? z-%kfQt+@E!Y?nRsNsfvA;5@?usbwq5+5R}(GiB|yZ;#+T#vu~2dx3lTc0caai2C`e z^WVpuO`P}g^Zn<~ch(E1IpjnY`=Q zi1z5U?q8Z4B`K3X+4aBs+f@gjdVLcN`d&Hz+)0irUM%7|`@Pw2oMO?M;^p!r z%X~9SF6$vSmkOnwvu0c|?#XbtpR#+Y z$-1UTE}b%sPiI#5=$aa6JAA*gp!C>2wfzr;4-{PVdY!1%rJ8yDynS%c%PD7h+C39z zc&~|Uw##?#PwL9cGVEd~YWNYoU^io4{KNSAU-6Ig?{MsT=Y61_HmjDO!EE>-D*>y7%3m+`;Z|BL!;obj7Y zO8NVih{yv@hYik7H{*!BF|RZ%;>Cvz7j_2zJet#?cKfj5OO3TDzt=wgoV>XvWzms~ zmCffjRPK4ja_OG@+RJtQTZ~`cTy4V2BU`%Yb?KrHDm4N1RYqNhFYFfZ*ki{t!#eQw zqK?@cZ7-M?uKbz%PwQow%5#HlyOj#HRA)u z0$VGk?+>>go>uopAb*Pc<7sae?`6Khx#4xy`eWS!fB#N8p!(~&HdDBYo!W<~%<~RE z6yl36*pvG;Rm|t$52M@MS?^N+gqQ1`m?5X znOMcyqv^K$Uf)TYsN%lw{Ga!Smwn#&ar5aj=DM}>7K({4{9e zL+=PDUp06#-LC(hea`FncBPr$Hu2B*mg!ht+n{Ij(wn`l!HJ`RM|#3RyY^L=E_HdS zIPUgwD05NJKj(XrJ*&$r>iCrgsp(GJB;VgK`JW@F{a^5dZnVvGIr;Jcr!K~0SqZDn zUg)$o-g~&UndjfiB8FYe1r^*of8PGF`TT$XKgZ%eJlfEF!o6Ytq4g(N|7CG(P_5xE zxzE1Kmud4HrihK7F3K5jy!DtllP#Vl!tBbVOSXa1HWS)@J4?Oij11uNetGV}q3Ad3 z65iMH&YDvoXLc=k&6TogP3@|#U3t#S-`?4G){8IqD)WoHhO^l_PXFir|9x^j`<@>{ zH|iL7c`HQh_+wNr_#=b4PwxIyt5lhkOi3Td=3RAp3{S2&^k!F8oPRLu8mJX(|3&`E ztLMkKJh)`}7V@g+K8RwNuX7-ZHLm!a^{PflhvBU3oSS5$)D&2jiUcD^mP0-xM`#r1$#2NIM_S{SSQ1yP{*9XZf z6`NN*@idrs+klDVWI}1~hP@185wj=lXRz78`c04X#nyxuPxk$OWE8&WT2qyNc zq&-Cp!WtxsIKuqR8}=~$`CeH4QEa`w^`CE-ZR>8vKW1l$t2+3VZAamOM0E?9U)HZ4 zpOs^;Y&`sobQV>J|0PTKVyb%`4`!bJi=aQRQB{No5{qsI_IDxb{S5Hj6d4 z*4|;>!}x>E`aAEw8%+Og?T)5z|F5*+H^+?_hCKFNx(DK4oi5nVfBx}o7O~w4h6i`# zsB}I71(K8x}GtJ*ESujnvIdSV5 zCIK`1c*}UMUAFEv?FOFmd*h5461e|m?O3g_e(4EWm54&=JI_Bq2$qOpIdJ02=9ymN z+=?3}#&>DmdhGDwNA@R@`A|eEj~(q;TemhjykdG&prnQdQJtrJxMs6C(?` z&;w#J=dK*$;#2o}C?im=EFpJ|v!C}5hnKF0P1`x|PdP>jG7g(=ZTF2Yt-Ek9e+~b8 zV~gWI4RsW>@6M@Q?q%Y1J9$>$@f)#wy4AGqAN-hm|La}T8}Hv)-#!04@o~B+m&Tbr z2UQQ=5psOCB`q8vt$+eHn%O0*1n35x-cKZk~ZyGN@tB%lx<0)woyjJp}C1*|r zH&?1oI8**dM|$Z_Nr6LLhf;mJzjvMunK54}@mlX2#+{5G#3qP;c*hIc7b5s(d(-Q+ z$IY$#|EHJt?yve#aglL7>khGly$ru!Cww=$v8SU)OwYM!p`QwjBn*FzvtZSYihgo z%3daK-DQhjS$xY_oj+4_$Ox zeup*uQC!j|KC$R}+kxYZ4`VoULMJsmjSLH7R(43>oUa(p;vWz(&FP^@mZzs^&RXfy zN$L#ETgTO7QUd-9SLkHiS=~8xzfvm8X1&Iv!3*THN(*@k%mroAw&iC( z>EHfzf~EC-Ctc|$j;$t7CV8#)6I(Zbaqo{Cw_ew{AO9>{uWr|nU1@jJ+}|o(R>^$9 z$Axy2?pQHv1w^o9&OGBU)E8z~C_ZO$p-AxjPYhi%LzW-RowcfKX6&?+3uisESnVQU zc~`vonViGzP~pud)e|*z+0OcSJF&7|*1T%4V8PNpZ3kXC(HS{>_YO8(eEwq3bgz$< z=R-QD96F^LttOs-;=#SW>;=3hq&eEOj!Z zTGN#=!Lf4xc(}#AUXQ0z^#?+7IGUFKbUlYwNcx>rkeRr`|R`|E9L8$w*OUU z(%ARrwAX${JE=eWN&`+PRD0Cyf9$wx$sP&Y)20@3?^NZduf6!!?y()J>u{hQf{Xz=wjV4sr7eqV{HC*9-{~o7Md1vmC2luU=9?eQU zl5i;^h*zGsW22Ad9LB^cp$E^tdRX0XWZK*#KKmYr9C2@WWEm0r;1Gy_lo6R?BGbHminCmp$ z51G2A|KJxnO^Y&3lVeL7{ARygdw2EHh95EW4rCWsY z)Romu-rd}EVt%CCf-@`i&wCcyg!T4_o(eqRos}VTU=vfG?Vh=P3w;!%yzb_N?PLto zj+^&H@<72`8R!0aC$~9wgiQzwG+BK)PIWu$VxeMT?OB`MgmQ2Aq=hA?YB1@1ceZ0} zm}y|qb|~Z<36}GWHaX3Yf@Er{=$xAYH~9`k>^m;e_?)#_Vj64rhJgF}3@7%imwL4& zjPJ6Y!^@vu@sT{Nvlt$4IjiO2$}8i-Ytir~efL|5H75?;7wz;nKVZK{`QM+}&ny0& z6+iHdzhQQNRlphD2WAJ{XKPBRi1J)(R9b9dt9rZhP-)L9T~CKiPtLbI&D9a*?z&a$ zuN@Hgbl&-Si+4Ux@`aQrdzL9rdj8C2LPU7k<_Q%6Za$3nY?AyF``tu8a{6q%<` zkoDe7vnTMQxSP-(-nU+l&ICQ0=UAwluN^UO^X!Z;k?Yf^KgkakeXcMg^l4#is*jk| z$-sM)%nQ#Ruh29QV-~4C68uZ;Xh@E`V!<@oR;G=&CLIcr+^xK@kZtbPr>>vmq*T%m zR8-i^T-+bLE4t{=#`nq>o><$kzyI*&d4T-qGxJ|eC}1xPTY^wc_6cThVqIvuT`?0F06>kYdrmP z=cO!zw&O|R<%^@t`rVJZ)XqGzxUL&0BCTM-c&PL?Cu?JNnb6Am z{LNom7+sGk$XPIpY6yPaV|vc;JTho{yVvyU zL4%%uMcd+;?;R1oX_N2TyCz!tkY{g><0M8E_X(B_DV#??HEea&>{exX{L(_p!iF*3 zVEgF{rQScJ=o0qvHx9%efeL(dHe4@c=SQ`z+aXV>0BcDjq0KSHvhhzYdF?n z`>BqSY zk1Z#x-qoRFQuAEo*wkXV=dnFZ0&Yk5OR$;D<1Cr}^y`T|_r;tav&i&c{=emtMOgKc ztb2}y;;aXhmF*Kx-@c(3E^WPKW$#@c3%|WRv8-~FPlp^|zU_0==XJgxcE2u~|N2eL z`o9;i9}E&dfB4Cs?40K_&)F?^b7NEy|6bg*Hh4nZ*GiXKHb0NvNl&B`3XaT($TnoH zm>6;}B*2pS^s6&bTi8yn_FkgoER~hKbs>X@rt$aAEq5HbpXYCAIyPf-uY{QYTdlqJ z!6M3m!pbW;O*NK1n6_{GT!;4ipAMKeKW$OjcZ5rbC?Nk_s&ObdDn zcQ-N~<@<5#&z#_inaL#{$E1U_HHyEgh_0F4VAS<HLMzU z9+m23FdvO{*tcxY$?rAGwI1(oIJUy!anq%Wu+p5H!AlOhc+EQ|>{Iqo(@*s9v|BT{ zUbuB7--27*uCaiL;bs^AB*$nKYaX}citTV z>7Skr@eS`*u^$atV8NZXd~e6Z1Bns~B#bZo5OJ6@M?RxsZD`ZA3z=L~EP0>kwC+q2 z{gL@Ld+qD=tk&c36CZ+S+4O8YWAy$}-F=pBQ3F3+O&Q*Vp04u3hIuo2;}7n)*t+6E z!FHCZjmn|NSWjfH>baQb{ZV1T$5@uV-PilWrKTS!s@$;>kO86vDNX9%8Foc)eT zX1h%JeBYzT+4|)d{i=9tcPDW7!9Vv39rlW8bBpz5H=ei|neJHho^`h6T%)=l*#?rG zRy$dyZ1p!vaG%(5V0Od-$>j9=vo`uSb5CjGEo!KdYfzXLyJFR8W1VS?$t#gzmmnL-DK!J=#+Zyx3*wp z^}eiEiOJHgC(EDds;e2;uyXa@3O%_iPoB^C%(fSbA5|MyFHrk;ukA;1MU(!z?G;sT z3kqL9_`uKbN2DNJL7(AW!`)@yHQTr{rr+|3IQ4Lnyy58w+hwK94<(u%c(nMfuTIAt zo!JVNZizPGQ#OZipXRcKEWxbweg5*_HmBsb$!ivV6!?&L?RZ7bS&xHlylVw-#Ppro`Lv z+_+%Qs)pwW3RhW}O+CyglQ+*(G`=ltbh6v< zdCu>>KMvUa-ns8^?dooS%WWB{3l)kySBEy8&`8qhWJ*fC?t49wGeJl!ty_D>9d;4# zD_2+-$kdGl~n*!dqhGqqdaXnd_?(G!CC9r{wg1D%>P=yDgzi+{^b*D|21u_M`82?>pjdE^V{3 z^u}AxPs1@QoYdj)ONL$tT?uXFb-zShW6E$HT(u`z8sSl-Zhy zc?af1hUjoMgl}0bAj)9Hwo^=JU$lSn9_y`!J?C#S^rbTD*s+;xKB)G1FZ=P$UCH)8 zrTRgnbbsT=q=KBtP?rxkK3TY(+;)iJ_}bH_)+v28^?O)&@$rope`Hu~-Z9A8mmK)< zk2%M#>HLmm3+*yL`kdQ+@!Lc(7rCwvv)FuAitTWxk>ssQOp|q8R|U8+ zO;r|K*dHE0rBy77@4eJJU%kI?Z#8aIN&KLcu;zPk0W_ctSu2CpUYT-OR^>D74h?$AomiU}#E=}ggLKf?kJTmpq zf6>k7J;e|;xkpANU1qgoW~9WYRI^=)&dDpoZrH56;^lu>E#Z#Dk-m@X=S#5!P1Sa( zG_Za3&mitv?hf8YSvAv-!9w#b9(>R5tY28&bUttUj$MU2ZV2B#EP7x*!wI&ty z8vAarseXJAJf}*;`f%7HmR8;$w|RPk3#=b6x8?5D{+)KP@UYSJd);kUTP!D?JhV4# zQh>-dZ$^vtFa3V;L94*H@`v*37W1aD2C73$5!04EsPG9nE_p&XDqzFA^q3IY z?{mexOW#ajcycJECF=N#eGK>7x%%Z7|Egf!-@iIJ^g@*H?X*7=bUW@`U%G8+t7yl0 zrjwd3-5qhSI8Hy=9MWLK6>#&_reI;GZFjdDUXC#8-F4A@I;(096X>=jpE6-75oL`| zQ4PC*0`7yREc&h=qz+EL@%`1qdy^x4{2!etQer%OD@%#}u+ZvO?gJ6e8a@hMkl=lA zqvZ>4!A{j3ajW;X?py3FP-%6H>s4sAGq=q3h8bt3KeySwaH`3=Xveo%i6@pyoK|E# z5IBeZSy)`vwCf90?iB_I3(H$R&}RR0=^4}geK#N8e9JbyI%&JQ*+1ikc%~Y*9o_=W z8uv6j-sFUS401SQ`CxXwwXB5vZ1u=zPSsP3Bi2TIUvy!EOXAagxts;3TF)Pub#2-+ z$b_Ki>Q%c!UAg+Vh8~r885JEG@nFZ*RgYvGKL*@Oiw->yBEqe`;QFSm8)}-p!$gf2 z?3@+v{D5`evCRj5`q}hFHyVnq>dR#{QugRcJ^0aQ=|&Z;N4qzy-VuGZkgZ>Mcb8?t z9!-~rcI~fjNXoAK-Ev%hQR-3WUwJhQ^JkY=*xaAKyQ@KPb*`Ae_J*f|QC(q{n-Y_1 zZeC*AkgI!3T@|2rZjQq9{n z_305)mirwK&N6f|$}nlzX#~t!)nR=(X_3qpy>F`1Qnen5TTP+zJCvMankiGIH=+hcar-vdui`m)&Iaz$9m0lnG-`jL# zH$&%qp&wTm|KFJQL%ChMrsj6EU(B1%yNwF_m_Jw^u$v&e*r7~HWVzf?zO4zRAC1Hg zBsui&D4DaW(yyUj#@g+_<* z{5uv^`o^~+=95(#SBYdb-*YpuHEc&V>u9T4#C)?ZV++{U^kknC$nD!R;@R_xs^BlkMDSK%hZDWTB)JDqMOybb)SyW!Q*$MxTp zgtQ|9GIDfG99Dc%zBcbj?OL-+;qPU_LRStoWmoJGd!Soo|H!ss@B8fSC$pRku2mG* z9TC%TJK1j$E_QuSS7Vz(`N=wwZ?ChfbWHpX7P@}Un(sXAaFQm&>!kua`6j*neP>_i z(;n8e*yMa=JHzX`C%VHddhWDo&(ode{79GmH0L+QHynSCwEeieVx1Hsbv95N&=B*nZ7Ot|% zYdpSony9u-UCjH#)pp-%Gnai9yl?%yhV8Z2GYO^T2@%du_W7kG=>}Gx`Y8k zvXs6mUdwtosc8pCm-vB4x9k$)5^J~&@-|Lfq1n57fq3fbF4e53R$HFsNCwZA(07%; z=CtLQ~ zuHo)C2a6iU2gVKljB#K79nsV1a(9qV$Xy@VxN+@< zi2d=||8B)rY8gDcnbmK)HWPCC-Z}PQi_157Ww%V)wbY~jO!&svpLWmi_F4I6dRF_H zcLiDJA73h;Qgk)fG5Pi8YugU~^4q$yVr}&2)X0*bM|ZG4%h47veUV-HDoo;9QI+o( zfs<$cPCoe9rXy}kZHQd-f=HzUIR~ExR`$rr8P7Srsqw;xiWveDzDx@eWfwNC=b9#- zzkPb}(?YJc=qbmwZR++ve46}sOAX8QPlkWvj<;Own$~$l$l{va^*?=pvSg||++knx+P3pPALHu_+8z8S z6bt#=as$?^Rr6Y4v3<4%>)OeS->9Yi?c}c9l-k+&La4Q{@MlCq&#p;3r5gBCj~2>q z+?H^2+NM)^-17Dn8dJYdS)!ZS9KUzYs#e{OJ6xTy0Ya}C%KV#V{n*L;@4>Vm$#;cq z(Ob3F7B+P5Rs$LH_X;(dXy}Bbm`}_PdYz|eiL{6D8!%S{r6LZ z)ZpuB5| z>ib7GpU!&!(XeCPwY!;j^~<)aF`p0mv9Ils#p^t!cTwjw=5)@Qbo2S?iAj}Bmue5} zk&v4%qAw+Kyz5C5d*KJ0Z495^Y+~$}P0r>@FFCeq-tmZsACq&N>{7lO%K!XY>9aDX zbbIKl<4!4mZ7w^7wry>_sW zHIC(U=h+wDdu#=slrz*_suotR5Z$(q%*HcI(c_LA2d83+VvoQ+<=+pAYxI7< z+56u+bnVoiMkh|3(O25HBV}Fa*YLlhilJ*`CQjU0^z_teasPcE>(U;)tAAD`yy?{h z!`?01jD;thVVgYf<`b`#5gT%henc*h-6t=3wDs^Pzobqkd0Qj|n|(lUqUxp5K`A3Qk zN1U02<|i2@Iz9>(IqIOQajZH-bhkOL$ojoyp<12HX5mXU&NU=)PB|InyGDLpcKoBg z4B--cJMDv}3GXl1apd%Ey$y4Ih&A}neR||-hNWWlgCeiE?b;5HVuY+?*O&V-N>qOc zz3D6Q_4Qk|EQL*5<&vWUGA7U1?pYbLYx1&&4I%OmzZZu;Z~JO~>*p2a*I`kWYnC!T zVK09_J4-C50X@TYCf30*@U zxy0`w%fB_QlHP83!(Hu3>@ro!ZOe;qy#Ak^;JB-r|AuB?ka?=uHOBh?GljMZGi+u3 zdj8_J4{LQ(^9-L%wFvoc?LW!)kI+?iXVb&m=CZELHkx$U-=J7t@y4o}NZl`cF6Y*1 zyn5XJt@<>x^{TE3+q2?+#d>+>+&yLTXi>kzCWD**=WGcL)iqf+S6ppf^rS0C8BCtK z-bvm#)55}{ru%4p1=Eqm{|y$*`I_wT=Fo-!&po%=B{EG5uPv6StnOsbwG}*YFYChT zxA%@*+x6)2dY1OouMrz|@4Dr2^xE__>N*m8j+GtqGTAfzXwjofsvD{m4=k7caQu6d zeO*mo_;za>YYx3WS-rldzWK~QY}$^9TR(S?$uA6QrKwRX=>W3eqo_>hBTENA% zp7l@>n}CkG%u{~TRo*`*nNPUmrM=c>-6e)k&DuS0<2M@IJ;(ZlnZ^41t;+{fCT`?C zu5(wW!Lg_C9dkq9dT5NMw zc;=ZV;nE1^iZwE#x%MgR*Y@pR_V&s>CB+wQv*a0agq3!umPGR}b3XVXb?3%RuY+&= zFK_j){l`>Rt7;}I(jWTp;6L+g&dWXeZ?o*(|6#@n-{^?LxBDtI9vEG?m0CH)Nz603 z?xfFRmVCdrf37Z5_e@iX=j_i`wDjM#t9FLMH^usE!8f8Rvu;nXQ;kN{mHEh zHhupv`KMpuImOpsUbi<*n$*@P#ij50dc~E!Ul=|L9^q|>W^L1b|4@!Y z1;5FU^h%pvvt#X#lyhZH(S9)&0X3=zKKp&}YIy&S_5YabP`*2~*}q50f5liu@=Uo02? ziZ1+65WVM{S>pxy$GKLa0&KkeQ`|q@z85ckjs4)#&wgPJPwrIeG5Tz?Z(e== z=bX*^c>m^TtkG4g$?g>7yMJkAn_xBH_Ybyh)%W@ekf%B6T|+e_^$DvGiT-W^Q>d;_DzU*V!c^?bP~ z%R{UEvsco_Tgx2^#eU>%oUvlVtO;BJb7IyBi9Ek|I(81X_Icr*i+5X9F8dtFT>W_6 zspDdb_RAiuIQSzhDwE--CQ}OEG2RT$9I<~-TkF|E*w{{SOl{}X5^fIG40e8c&M59_ z&MB=n&euGP)DOH)eG|0miC&1df0(4#$<@y~HT>geI&Acs^6Vb>pIGb*+r;7)h!i*~%si_xd z8PvT!u$!%4{&m@D_FeJzYy8|a?boqROpgd+Iy&{cVA!13hVQzrt`-(><4CfV?l>Bh zv~5zurbz~qFS6E$#2s6)dD;oh_I8F#eCbSwAKIuqV=nDV(&kLy6}ZRLtSd0*+w5(O z2F4Gji)ke5hC~~mzae)|QA14rQ(9x;4)d=c7!t))j(>}&)3|@|llr_povGi{_6a?h z$)In2aJ$um_#5$$_+#TAEuJmAE|2y1<8+7b#SME}P8cU_n)RaWz~;I6#(_Zsv$Y;> zIb^}#;=ExF!x6EPxNP&l$sf+;>}Qmif4a=cFGP5L$@!_dXLmfZ(XLYo*E!GA!?#TJ zg@{QRs5CZdxN}N#>Enx$j5-H5@ckA$qw(tByF)(54zgT*t&l7&B*9jwCGE&>{`SEq zrWsq4B;``X-tS%U;ZV`G>tD%~Jz(&% zpRdSV#dB%#^9DZVn04<8J=AQ~B}$y8Zw{JPHT`(e1i`d7&#b-&q%(=Hx@)IkKlxIn z`R%SB?N@o`F(1e|c4E@^@^!r@{e5;u@E)-f>G=_`A@y>`ox66sx7SMF(2cwhk>AhT zxpP@{Y>xO+Jzj@`7v_5!qTU+LVLP;Ndx5+|VqOS0Kj#POD9L7dMNtOxa&0CHeGLZ5m6$1h3@QZ&4Bw z`H7Vb{e@e^u67*LJjWyZu1ssm{Cn?R=ja=L2x>TA-c8NBv&b9R{$0M~njaRg%o^|GX zTzgR{>20BY>#N^BG1H@Xug`D3!_c`_TerC`_SKxFR{pISB0F8TuibKqp-B67y}&)U zS4kaw$7&mFoRc|U^&Y4`9&z=I!iwvsc_;cFOX|Ov{4r)(^Eqer2TLNp{R=VL=kU^p zb%v{RD!)Oy!mUb1_6?G3Ibw!aP9CiGTscGdfTYKMqn2Yc!vo(=Y`(Uj%T}@>b$_2$ z#>d9W53w6k7N(orpFiz|@!zL=8*+dByI1#l`uyE@?$zwQFXPkKq|MsXY?ZWW^M$u; zSN#q?Svi;Kq>*p-1f4vFEk5tvm!DyD|H7x|Tveh_=JaNV!_#w(DGP(&T;P4bgn!=g z@N+Ydxf|%-xTrey;HT~3m#r1QecqKa=ly}tex@_1v^+)Tsx#8a_zp; zneV&*zSpjtXY=6xr+vkH+#4#Y8ay@2Di5ERF_LyqHu2#Rlyr#rHBIo8-Xj0T2R%kR zrj+QhHf9T7?EUJ~@X+LktQq4&qYt{3zpwoeabFx1;^Y29`5Mpt4HD~CW}fr^8JJ-& z>ypj5k#)NHp@fLTo1gTp&st;C-TU3@T@t6n>lxmE4SSlWS-2bY@Lw@(c%<}8lCOWG ztNPP&>^1{P{E0gSmQ^cQrd-hBZAr8+WAitJ3m2Tkn;ZY<*|5q`dfPRl*wm zCyDhZnvWi|)czp6$>RA_i!~yu-KbSH+}Hg|k-?zLtVJOpn55A1V5xu#tDSuf$u&OnE79mgUYIvfH*F zD3Y`5pR1*{!iROrRfcrdnJX6*>)TfGG&G$$P*^AWb>CrwL-9Hd6(9L!LQh*SyuNYv zgHLhGtY$v%UH`>~{rL65ikGd-7sd1LsUCazmuJaRjtQTg`yyrL?GaUZK4r2$qtN}U z-?M)8{Qi^6621G^wZi#r`=*5%h8=IacVOAA@)PR4ubmIfZaMI=dfC0?jpZ7R548Fd zrS8wKT)Ot^wO=~C$V%)BUY=)XNIlBi(^Yt675h`6qdK-4?hbtnd<}OJUfg>q zSyi)zx$gC*!}WhA+cWO`W18?^=7y!k8QFr}%`v`a!g?p>#ZP_9awwCxVKl07fZm3yTVrB>+^e2vwKje`=lt!f$_!pxajavA={@}PYqH_R$7X65 zw$5gp?h+Rx71R2jcYUb$*BhbeT0L z8Rfj2j2cxU8RrHWP7jiJUA5{)YM=ct!)p?J4*%I~{_X!!J^x?npVvRw>@Aqyvpte+ z+`xrY&A` zU$#r0(YkJYTtd6gK1?oKWW%=`$!`laMcZ$5+8t774f`(1`k}=)dZB}!?(`RLIz#mj z{*>;D{_=vMkiUG1JgZs}!>;H*zJIRsHf_1&rOm6bebd8jl~2kRRI{zv&H2X8?nU-lrV#j=kc|J56cS9PQ??Hrf6uqciJ1IYP$hG}knus1&zGggvd+|R zcE8SN*b%l~NTHf{_4Dr43yscIZH>CH}v- zJ*VqlEhk(UCE;Ajzi2u81@;N%4Drl|zZX=0G`(jh{o()K9Y^a8V;=vu{czSHhW`NX zUFXM#SG<_NCbfz|mW`*#de)_rydF!9metpAE5F}q;?dV&G$HJIbivIT>z{RUP7^*} zyrnNlM49!4_O}qz7ru^3Cy%&E_spx9UVi>NOW$gRji$#MW~Q$7i$B+=wB=5B?&oO} zyUx7{>{C{lCcU7#x%Rth-9M%u@Av=AJ@MI|E5?R-m$ygxMTQg2{V$?3L3v(Y%R$aa z;K#o%$A?@D?;vJ zzJB@N$~MJHE(>mz^Fq&9=AN5;U(uh|MXQPqgN`L!#{L)JNL>mNvE(?;O8r zO`GAS{FmjpZQ%`Jb8+T-aeP1iJ!SmwTi-4J?LaoudyhK;J5&p5p66tEoOepwRQodY zu8?%GkC=_Rx!mP{MmBbb!)G#VO!PnKx>SF|>tqL++i#aXEczuO7N+$yGD~<*x|U+f z(W&#lmMcUq4tn-`*WtT{I@7k!4N~%Hc!<@ySy}FD>$Fm|6usJ@4$!H<_E?H zABwQ7Tc0jszGTY5m6f*{4S5!DuL>fw{uIS&4?}-JDAe#PsU!G8)Jo+|YE8 zONqbWRWffUbHMHD%auRR4r6t-X=wQS+E2BZ}>xb%|=8!iHfrdPHm@3#mWb+i+9_OibmnlDz z=zix-=l0!l_B$*d)W56#Q=t&Yf55a+TBu#lVo$Wlk-b%O<>fAa`ykh(GKFXV{(w?D z4#D!T4;nmd{p}6omRM~Qx~ur{fV1tL2{D&kKjvyg6t8*qXUEd8QW-k|!OPF>?ABb< z_+)(C?6d!mp9$|PqHPXppFbP2{Co)C@+*g}Oa1EAFTiKboq_)dZ8C_jJv%T6!Qz-WSrlt9G1d#WK;0-;OG4@6PL}&T{<;P$|3J* z%Wu8=>^ybx6LyHPNq?R+;l`Z(m!g#B)Nh((!PvE$p~%a(hvkdz!N+UgtGm9Jia2AU z5VzRu+ceIpM>$zHvi3W-Ze;Iizqxn@A6L)Z{nASf{$*`hG~+$ zmF26r%d<{>#+e73QzQSc;g}}C_WM+NKuv{=(h^CF-&)Tz<&=&Vb4+m6J_dh*_q9Gk@{ zPi1>r6K?IdK4%O{EI;rJ|`>_cTjt}I#4|(!-FV4Ktsh-RKZDm=&@rw+FoNFBq)n^zU z*s^YdkCBHbLkimji^*RKquf7Al!zN&lUpntvTnmV54rtGE1TaNJ)E1nqVRe^MYMF< zJ4FYxg-a?ML(GKOB>05Ar!j0i!FWJ$u1ulok*N&fvL9aheYibc_TSn0HBH?AG*A2s zUQlhO)!A-%QpK*wA;K|HP$=44?-|o)acwt&5?b=#@!JH({)UnQkFPptB7NKQNWk*U9N)2knP z3uC!&%jwxntr2Cp}^9>&4adBP0vVQY| z4GsCZcb(ae6&~8XQX(e?NS+UnI1v@9vhd@iFL^D;8ZXVrcc@`4`@2RZ ziKCadx=V4xVhJAq$F8|KKP0-p87#ABF%6L5H@>rR;YX>8KX#L6+Lmp&tx$1$`}^M( zYno5rx@xh|?jFa)tx}PWMvY9z^(}e}I)VG-~rGrS6To_Q+%6XMtCep-53prB-fE{D$6O~0;a ziKb~?ICJ2^hlQJ``+a-CaEXb9voD^T`|uN;c~Ae;U6^38W554|9}2=Mav!4D{^-hl z{L5J3`{)+qquYrgLjGEhPEM}~68z4lFz;UVM2Y6#c8_fryIx!P%3|yHH}_T2i%eB{ zxEW0@Zo)?VfK6qehyucrRLQywz!!a0kgB~GS2 zF6}&S@*X{c400-RH6AvHA2Lo*E>rk+=wfHwvHhq0J_I$)zsvdW(oy3-%<*=IuRi2= zF01HLH}A^P z?|eNEe@ni8xZ-)RM7x8y#o6;WvbHZhn{dv5bx(GVrddRY$il)6YgQWgY4qCKC$k-> zDEKC_chmA6rCE4A-5GV_x{3(pm7J@|O{ z-#PrgwSV^QonhaxZq}Uri$xkU_?3>oO%iy!dSdSWR6RSfYu9Jx>ho~(8tN6ydSdi! z`k@1U&dfQHZ_H{A=v>s}TWhT2x>-C~Bej%enkxJBhf8gF9_#VWTsuRHbN0dx<+dk> z|DSj`wY>P>lTTe2e=zCzT$T+FX%~C`-OJPFZoX>Whufz!Obe$7io};Q@0%u9Kbv`< zOv84q#JdkIW<`9N!|-v5!n39=ybd-Bxw?kG#b5un7XHaI!||Z@0Z{~FJI@S3>IO_M2ASWBIcXLawDLy4YmBvyMFJwNih;pp=%Gc{C~pWYMY`SMxi zLcO|x(#QAbtl+a%V7B6UAtG~+@y5v&Ds^g2{Z*71C{s>*DmEKg% z*zs9)-@X1#k53B-sW*IJ=}Fa9;CoP@Rk$Sb{;A6^CvLgq#e8Dz9aERM;BfAR+P65g zle=Xk%%0tyt;+h&F?CMUNq#n|+X*uwt-DOU9t%0>X-p7RNlWoIlsI6~a$@0pL*@jT zsE~|;8r}!GC)PXeWG&~((L8o;`AQ?d8zE~LkB59V)!|bt;^=SO63QAK@zwF*+?!>V?Z2g0&U)^c!+0<$=A|lYHLq$x)t4JTFBMHy-1wh$@9zkf zj#Arni8tC^cmG~4Jk2Pq5mzMeg-Is0<;ZrU2Xh7DPYK?aZpi0|DK^=-L$)Eg!Ceo2 zF2H*py(#>K>qU+T>-4=*V~UvbS!v!HO{Fu(SmvE>NH$o1n=dArJACsN$#X?-yq6UV zHa)qsgZ=9))>A7pPd{43GCkOR`%~MRF5`W7)+z<<_@uMuOjKSKU-aMkB0AR+BD6a= z8{fO$No;5^mblk#{J2o-5x1a?_=8aOAMfHmh__GwaqYG3y1aV17j=S{YM&^4Jo-X- z|NY(t7F%XbVE84K5Fzw6l67Oqs<*2rP2YCOOM5M7)O%&%ciYuH=hM7D9&|`v6CkCW z>@3KXr2N23?TB||RL*DfG{2cSOwXhIA9wv)bZf_x?3jr>=e@hqE2Zx<%@BH2%X>=j za9`uC9bz)iMUH1?cWqd=#$sFO@dKH4$9cch{ znz(~iNx8FIEkDUqds=vN$^owr?ktO2c&&L@UZtosZaSRt<#QgV3HxIHUdiUC9sfIw zBoi6tD4*D~#zpAktcd-3@1LFU*%^8vCDTOlqYUH8qAf=k+_bC=Hl=e+! z%uhM+-SWZmBX3-56bdDn9As41yk2KX?&A#YZbbFwFv$6W5NJ8`FK+uHXF z7BaN5p0HVT;E}0JbJEAJUmJQ7Dnj_JuWn#IY@M)1I6=QjTX2uSgUNm$vc;S3@2%}T zfA3vE>1WFewdE~G?ush#36)RQ-kqYrNfR*XaB0~FIIfL@|(y9U5z76r{Zo4$V4|tu>DxO=Ju0Jo;!1I-T0>Wt+rR! zx?9mOf9)fS=_>1w-QKapB#ygp>;8|tN=HAYcwf}q8pJ8%FB{3PAbszcW6_>HkACEZ z9M|>9{=InWu6U1I?`Pd%oF-o+W~1G~vqV?7DC>!dhgfwS!!3aW52a@Cq?Q`qJ(j${ z=G=#e8_y&*uq-+(67h|pkjWr=LgmaQf0^%mH1vM_q~nlN|H+F1g4$0vFr5-qX`Ac+ zK;wWQb6)EXu}9foekeAYLn4JoS8apJs?E7-FA_HdSg!fonrm8kDoAPKi)n>-_t?+8 zR@?SKV#UU_9S;jxHbzvlocJW5@wji^-UUKOS9e4{FO>=k*vT*@SX!0;A>W47jLe0} zQ>VzQ2whoe?-}9OQ&2I-{@_DSk@CD;r{viGLIheB|W(Z;f{%OWw{u-vUzrE>X-K53hO8y3Dx4wSc#JOBLm z&$Duu3}?vA*q0|2`uVfK&GnC8m_}~d*TCMR!e~-D=b(nc#zdpg7^e%uhV5KWFBC=o z)-Y~*5OgeZ;a1k53l@bB`)_%C6+C$8U`|`xu{}5Am>RQgux4GEaASA=uJ+}Ajy4H3 zwp@h_g~~^wd433XURP9To4+QHBjm_5_Kj^v;}+dwk&xSzU=hpz`rp|@%?Zyo#-9_n zyl%$YANfUIFUEHdvmN_n-W@ty9eH|>J?xZ=<5cN*8OV0~d)3l?&Y~ah7@o3;D`2?c z7iDfCW5x6+Z_|_+3pOwxQR<#mq2J`q-f91e<^HP%`})Gp_^RU8{&nR$cGYs0>}NS~ zd_tt>8-iprP1uIm{-l`gP%KEn*#>Z?Ife(; z!7}-*$JL%3wbkfzzQN7>V-Z7RZ^Qd@YqfL)_FUa|C_sL;+;PqZnZ}g8^9(HSu}nCg zw>Uq%usN{ukJORt3FbX>uQABzzk2Moo9nxmcj=l3hQ^+sBz#`?X-nDEmE6|!FOlEh z|6V0`f103o-95MFZZ2(ZX`$tcMJ(;=-rP&w{8mq^ogkB&CFXb2z>eg9C~kzC#R(RSh|Wj+VPQ(BMa?2_29M)6h1v1fbdOpOW@ODJTN`7L1C z5VfW;Zsqk^tNmY{iD#Zv9B%V^@4Yj()-2xi@KkjlUo0cv>}x{DN?6)zGuAxZpkZP2 zpS7XlqmtMg#u&~IYnbiC4sI_$uwUi;$Ib8cK0JzTKYiGH!SBB2Bj=Mq4Lb(0>=#;X zb6wmlbtZk5^K(q({-)OVc5>s!t7fMAr;6EbhgALMHtRArpIW6Pc-bS=)_1|2O-pvj z_dk{iFuQeqRo`lxzKI|7?=f_7=U!7iu6;9fibIiX%)aWYh5V0Z1jz1Zd)mu%y!%iE z+sTEctwGY8XQ=4EFFnIMO*G@f56{Dof8Sl!zSJ)7X`;i6PbE@HhqJOBo|pvat)A#S zLC59I#2%C2Puq1p^rthPl6znDJ>O6vdxgz6xBKZ#_Li4Br(QMp>gmp`sZ|OSz1(nA zQRUs;*BJ_?Opmg8esmp?*5P`j+{k<^rDXEiBPqHU#jhMrT(s+FWA35u8(Z2=sm@J4 z7Hkn9ah>ULvBTplC2Qi=F&@9nKhM)=dZ3E2-2%Vehg|qu{XViy<6ZFmP5LZbUCDqR z7LC3G20RvLBzewrJz@~(X6$gk%~{C#+Rek}r{MojaUZPz7T1*RJ^pz%pLlz?!*_0F zm1(Pw<|S>H{=dYV;gQ2v?KUn8_O89(6RWuu?z8LIu^Z$m{JiIP60+)qZOVHIx%C0E z(H|nXa*N8uA}i*woQf8DqWWsmf*Txn{rx7e=Y&fhe?K!sOxj?ksNHdC;m0pa)A#o2 zUj2A7?)di2*FR=N7RoXwKP?0W@x(=^f@P-*KYf}5O6OL$Z!UOKTlanW*6{4oW2?WM znChd>Ifq-|Ci|&O(;_JqWdp})e-tM$o|4m;C-h8mgXvc9Ln#$YeJw3@rW9qYNZi2R z!F+oOiwd9U5nH#}ozVi<751rp6bqiT>tp^$`DN2r=;dlZbbfdtEUEF(!@pb3g)K7S z_gLLMc|p0df!X!rT&0DgCVXqPm^K{c`Z0B7@)o|F9gkGjXqFVrZ#}8{^s}t6rshrW z5Qj&SJj^ebluGd>&*Zy$m`y=UXWtQP$-N!=hE9*B&wa3&??>?Tru+Nq8pE$!+w6Y3 z!M={K#Gd_xyPe9rvc-QQ${O#wY-i$2R@T_oP;jiiVzT+i>ZYTY9uz|Rlizv!wWmd| zwOPk{y2F+~kh_1Qklf=rA0*0RuQ2l7HmjJ!bd;Z8uAcYQS*CVt_PWxhJ$^ss<{y23 zW82ylt;c!TY|Ja}B)q?yH~G%(@`>#Ks%@4&zU|k%o$u?EkQ0#|IUBBiDUnlg-@iEh zFNDu1$yImvhZO z#Ew|A{5$M0VL_j=?U^bwn8erx7su?n+>vR7MQ zROduwocT~uuuW9hV_r>vzTvH~J(3SM>YPgE?b3{~x+oM8Eb*b@Tj`kt$>%2}E&e2t z@!^MI?&>YIcl(aIi>S?Uov8C+jp{XrC!B>BOAiHSJrUq_Rj}-kjwsy_@v(t->fxg^ zqiqAlIV8E)OaD2?q7bK0AR)oV4pga>XZ&J_W;9qDLLHCdNvs_`Bx^DOb5~*wG@ocb6|$a&5!a!w;|2++MYa z<&dARdej-A&RxbU%KmwI=om~nd~AzXnmALEzitmJi~nV%y1y^nZK?$0wLJc;68^Jr z?}PX!#x;d|kAHs6H+{RTRSo+D|HgMeSEx+;`=k6}(4(21uXl0TKPssEQzxy$_v+s4 zSrVNr<)ZvvDW`W{Tr?{zD)Z^bscaMEt8e}i__y(U+x25TtHX0Nr~2P@xRyFc@0S9* z_k~xxmb?<`%5A%yaUeseGPHaH5A#t|?|tVQR(hF`4-+~@=q8yu6;FEF7GoB`_xpy*;OiUe+wM{w@c)) z+@h<8-z7ffXczzbA$sl%J~o+S9EIuGodN=fw@up6P+;XKd;Xd0oFEbAa*nRXHN380 zZk{>geN}bp(d@*JvlPFWZm7^^nQR=_Tj?}=Yu6(o1-2yCkC)=A1+tG8__^+h@a>5^ zQqA7sZvW_F)+70y0)I~4KAQFD(FY!-`;5E#6&Fpqc2aIfQQQ%YN+IU-t+PEen|)0S zmVW&9csnDj)HeJN5t1;pfbnsAA6Y zc4=xvU~XjBi+i&hlXkvXb!^?o#Fq`HFKwU2xanPSYyHx5yS|_7d9AYiWm*!yO-#j~ z#HP#bzboan*5t=7-u*`NHOq!5W+fpm7@+hWsUx@kB zt~1868>Yz{+P*D#Wa<;Ze!uy~rz`UBi;f5$;q54A$=mRQx4obukjMC~bx(w0PUC|M z=@u;qHB~=)a=zZ+=R4;}?HPCTY=w`1swVwyv14BL^S!Xpd|`ppwz0pxO3xghHt~PK ztLxEi-g%8j=6+JTruAqq^O5s&t{ypGa^U@&bsxB|Pp_!F{P30AhR53(e;$hT)etS* z&OGmF$PqS%z9~m7oF7@m^55}%WVJr_rOb^Nt~%=T_&;4ZKmD3CD45ShOF7i>Tt6h_ zvh7&Zy2cZa*w1Gx7;U{ifAaT$7$w{6oe7fsO8&Q3yjuK|<8{hM$9ZA~#e2H%_lmM5 zM1;idI=#CjN_E4Y3zDTmGmC99C$D*{sm}cJXZGuaj-`5gZq2+`zI?y@-oI0R0y4cCC!=b_r5E_q>U-MYZu@Z-q+BQHK>pNmUiPIV=8Lcu>fF_+9>fkKcR!{?&at z@~!8o+^p*TrLiX~na)qIXgaZTcc1LKfL4ApAHQ1p*M6rL9e??9$EqoF_)gfz%yC;& zG4HU%!w-x{wlW{y&atQM<>7}1fATN4X>EEK)L*_kPRL8fQv)pl_kjgwgo7R@ng=<@$yU*D$t3vUB z`rHT8zc<-mwm+VJz1n8~%#b7Zw}u{>KDnwQNT{9jwbp_SQ*_jd3U)kktZ7=c<64yx z)0U~v4{Lfo^fj<3p6AiM1~e(kzuu(b&xGoeYgU|YeDc6n)cWk!<&V0LR&HWB_qleu zQT3O3A~BAKe=v#;8xy!AzLnnN>BOcdrc?&>po@!jSic$ z@8?*RXIXFiylgM;oL52X7s&~gH1Ke3TfJc7HSH_HjYs&`KHST`VXlqE46&t*g^Ig> z-_~C=@x#mmC0hzUPT%~mNMg^j*}IP2U!>ADKmPhXwwiVSPZQ+n@m?v1|gr23kC)%C&)r*ApOeDu`h3Uxb`I<*6* z{XV#||C!m%{ipf;x(^?}@`anrTKzG)P|G#(d4mt<>oTpx*h5K9MFJMQy{bXX?OqRh zJzr0{u$`qf_^sA?)|(Y;PD{!y@px%*|5Jl&6hq1NMnCPfTZ*19Wqi_pWBYo><16J7 zT=ggJtQJpPWv*J>yG?TC{ke0Ft~vPEc4nlldXDL{-q&JR&(8V79dbC5O?E}@VXN5p zy6c}@3|N(Z{&4uTBa#<4ooZ8z3SZ@Wwt7WFr0Ry*qQ^ocyANd^d}Fw#`f;4}_q`S@ zxofO;-F4sYJ@;%&NnUKTZvNutOEZ=|+_u{L#Lb?!PZ>P;6Z`w#8(b*mvRHM+dix87 zb?10@eT%a#Nc^!{<=kqUg1*uVuJUKtKFK}#X7=@CdwRTL|C5L(H|?7lH>|1-lie#W zza{g^>8`!O`GyA{^`$ck3K!N0H#@s^zHplV@TA)#vBvEMD}>T`THAY)e#j(PwC&#_ zd}VFR{?#FewR2RrIX#>dwd0ud&3X+%DXAqQhrTMzIGTD|;bz;#=mimHL%rTTSQQ#P z|CD``f}g$&=jKZ{EN-O+iRrI;G?(e9^~bmBW#=aUNb-uf&bZ#?!(7`ByAN~Me9Y?? zzb;#LxV-TlcgG$EE7p!wbG;?C9m@Pkp3RA@O{zJ`j)~kd`AkP0q7vsYADg*t)3Y1r z58glYQQzYIPsQ|>BfS#$y%TS5U%RD9e<|aW z{=l336-)<(O3E{~YVLi%K=_QV!p`E{ScbLtt3PkK6|r4Dq?)}k{e}(8=~sE*7DY|7 z%oTdR%V0&k!mfGZuNs%{&x~VtO z-uvzpXZ=F+>(s|z4Vunmm&Nw}yKvmIaMR8UPDzF5mw)De#?#Et$M8LHlV!B#87U2) z!~POwMpjH|mv$;LwiKVf!t~Ho>)};{87uE=K24vqeeZ>?2UZL*kGDo~*K)7FljJ(F z`PkMEuR~Upif`D#(4|^x)^4~hsLREDBHQs-Jd+dKj>^86bj3G8;@)p=!5GdDo0#{# zV5xtX)o=gnY;nz>vi83pw3QX!#r1GK@?(6IK8<~2-P=hEB9s*7Y?`uy^@!@$4=Yc; zG~#zmd0H6vMf2Rjr^W{#X57BdE|a%mGicF2!_KM2UoC@;=2!=*L>tN(e?BU}apg$& zym+Of;t~~ey?dw-6{a%R)Rn*tg4@(Jf`SWqv>Hec{iu!7~8 zzT5Y@c{oH*FJanVEM%p}73ZUss8wOZ_?T0R{c;S`H`mlRhtmT&-+OGm_w(vm_2UV1 zOkUlsT7IN5FY1NRi;e6rgbsW1`#9^F zLgFWx*pI9{6%(HpsC$}c)luHWd3~=AK76NW7$fyl@7k)o*>ehRWYxMQ@n#s3F4og=iHHde4_f4JS= z`DDkMZfS=PRkt~oCFU>N$I{R^Cu)YPb^D8{YUe)Nx1W4*l;MKVP5S`$eJ#9)eNN17 zOiq+7ep_U)gQamh!-KUORx@mUm;GbXoCR8Z%@xaf+?oQ*tTH$Ka9`A6HF>FfJELsJ z-k#1^-;7n*=9M;u%YHareK6jtrbU0>&E(_vTT13L?tZ?wYR7Hn>w1oNyJIHp5)}CT z>VaOOao|ro_7-o?mrKk9?-ka10~@aB-ChKW#-)r;!tSNl7fgRYGgZ`P z&*NP(7Ta#+Fq{|qX29&xBcQdKUpU*Yd4~C_=}%2Fw71-1U-dMgl*f54kMq%-eg0P^ zFWkxruG5$3scimU*LFtAp!zb`3oU~=bG}WJK9+mIA!7T&%WauEe72rd3wg#g*^uGQ zbo(z1{S5p!J~qg%Z~O;dA5vm)lkrJrRL8x&eGZXVyP3s=W5lc$`0z~F*k`1Dr|P2f z{G%_ItMB(ITre}TAjbH_fvn$(%{!Ob+5L^K@whu@x5t9=`33c_(+jt?uL>4y-=5{! za7W7FjrycyKIXF@f^IwbgbA?gbUx~fuxYftA~{)DW|Ff$4#3PsE~U@C(0_N|fZ^lnbB+%T5@W>~9`emwB=P9_Yy*ph zQq#^Hp17Iek&KGm@>JbFwwjuExeQ{W)h+J--16(s#A99ZMVWFZKoh^8f_47i{r^uo zSAEN;#0hi6VsdZQ+DOM_ZM>GOEiQ3&vhJq3S@(ZN-+1W$!hiQWyG@r8zew!8^QHFP zO7vM$dSeiKQUaf!LQJ|>9OzuxFtu)V>1gWiMRm%FY#d^PaP zpEKG$+de#Z-m%5;!>Stf3?1=(LO*~0GQBMpvS{j*lt};8-zLVp*_=J}=c!_SUhKDR z-In%&%U|u~xthcyIpe~URB<_wQb$&smqJ_J1)=bwEmS^xKQNf z-1&E3)Yw$sc=<%#`&rJ++IMODt*_QSzuNh{Kiv4Pk z*DOEY(5#)@E;Q*R`=^;ZOXKdG+%|We-L&sF%68Xzn7y9#=RdBuFspGawQzt*2CL6b1W24&CW4}U97)E;kd^^`Ppdi}h^^O|nPN(*e>hC+N z?%Bj&$=%TWK&ZicLhD{@@AA|0S;8wh*L}GhP|k91MfR2MpofK7mD8e5xvUJ7OuN#) z>Dql0^Ywa_(`Mvyx&ObmBuagy8h5zZ&hyri!sc~h`<5G~7|3X{wax0hY9GDw_EeFc+Ox@4W@%($&ZbWhPw#AAVZW{N z(cD?jJ9cUHe3q}+@-tnUDHF0{DAoJtzw_^GcOB7d+4IHCSNHwP>!JtO-=E#JVBL*^ za?w9q8(#3tdVS#irgJuTma^7_J1218V7tA6i^YG#HKqfFb5m-~donND75Feb-r=Y6 z&``V~iC=DZK!xWr^(-kdg>MNT=S<3IJbY<)in=pPs;P`v==IKu1!he8PC21PQL_^TjGHM;T4dwXR%#Y=89h`W5HjKkck}*1jS4J7<5i=aY4<+cqa8RqWe1 z&+@tMber{zM`phZ6$@!IaMMU?VXCSW5=)rZw(IwVnRPcBIkmLSV{d)!I3)iu?_`~a zvEviQ2ZBx89XW)WGgS_Jsn}j{fVR~fQg zonIWTT3ySO_q6S#`17O3wX|=!g!gTAzUz9fdg-KUtDmdi{W@q9rlK>`apS!8_hvU# zY!VL+OR{Nb-pnWcPc3g<-iNE7yc@5SF@cd-PWUyZ!YD{|O&i21Zxop0DO*Gu!GQq%d5&pSD1_P)Heq$}p7 zZjM9pNx1`)EboNbO|#{cJ1u!`=J&Eq+a5fVD}#*heY(8kTkS1(g&XaMOrBky@NP}Z zA%g>(*v^=4FwY6!ct*`2Cg88p?9}t~?s2uBJ#VSkayKf>B;fnM@9j2+@;_NP?yA{v{6b0ol$KRGwX%vY3Oc@d@hxX% zXXig<)s4H~ZEk3DABmN_vg?9dg7agp9dBCQ zJLdoNT68Xcp4<{S#xH^otdk|T%C}{%6&LWCQ2BmR@|!!qpX#~zzm;i7^SskL>4RlU zhQnO*Y_>Tkqw=rzawV;7hz*=Nr|j9O+Bt96>^T_C8Eo|Lh^B(f)6Wa0&rdoTZm89E zlKFsiLq6j_j@s{{eBwvWvVQ!v>iGQ~yAIY@TRb|>{2@(YUAhO4O!b2L!L7aVi-)g8XJ3S}f<|&`X)a4CxB;Ma!{Hp%4nCYjV5z22syYhBU{mwsO z{`Z3t-dAqAE)WyAZ7Y9@%OQq&a&}{p7v~(-joUk?>DZ3$8OCoWyX@&|uqx zjhsD+t2=cw<}@8$cx#8qxAl!Dp7R;YJMXyabm;S2{>=SXANTP3?a2G_`BeW(CD+Y5 zHWnw;YGLOBco_*)tqe|?G1Gr$MLV-;Qv~bV$SjVUInHd?uU}Yo`0V#7=gmsyF`nmH zFf&Bge}V8v#KIrCR+ zxM;9&Gvnl?6Ik@wXEG`~MkMVz73CCm;L%j)ckgEiUQa)v7wOI7U=hUqyR*0PpsK%J zUzkuqf<(S!9cP*Oi}E9d?lRwwoSj#(`TfV{Zsvc-|24?-9>`|8&g|~M^PqsGkA1Gl zoNe13KV&Z0!BQ|i)9vfauj|7__UlLVEShyAT#?`LZi0{g zT#n8?UCo*27gun8b-fuF@hXX5B0Iz8x+hC{_XTs-US@$cQ_ouSb9jHSEPqve|;*2s^8Z{tNFi}vAg?SE^olPdDB{bGdp@XP~Ou1s7J*H@c7^HYYOrp5F36C}Rze|@|pc4zH_ zusw^_?yV2wIW2kaKv(6KTi1W^9=AJuWPwB0{uQl-EHC=R_pttunj+03YgpoNU$C}a zP~d&X?Yj-ze>2+Oll{1#$Nf*n1CEZlO+Tg``PlKXUrNZ|V1}GZ8bi;@1s@+UrXE!4 z7Z8>)_7wT*n)abTSZqyfM8F;6uxs8GGX4oSt;2+m7q0zuqj`t4&0c2HqF6PSjd~Ym zDpwq?4B0fT@`TM+sb5Bs>JJNVpQ>b@51E2eFMoTRUt9F3p-S9i*Ew638@%SRe`MW$ z^y$mr0b=R88d?uFsw^z>i|r9^*qG|N(dT#Po1hOn+LxM%vG%009qaki$huF}wfEEw zrt^=tgskXf4v^98R&6_?xwLS@Ti5C?8A*nj-J$ovP%*rD*uM>*y@J(cGV>>7G*f;XZ3A-Ax|9dqO zbR<`-Sy;%Z^E%f>g3roy<%4THmCJUoII=Q6_dw4L>uWw75*25S*q=?Bx5=>OvttQs z3HL*p_pe?}U~qLcIHOuNm;Z-i!(lH?8|R0rD-8->PdRj5Vco$zn|8M6KMYQAw6${z zlpoosoL9zt?=9P(l=36-a#epa6z=U%DK(eSRpVoSRI!2aql{$Hv1@WF%Rbg^P}s!T zcX#8-7O8n`J9Ph=&C|4Lemd1?rpqVAcJ`9X({v~Dx;&}v*|W8KsnN7k?J5s9MW%k> zs!w)4x?fj!{hVt((&ulUoiOe7`QIPnrpBmUoSw53)TLqAIrVC)dBvyc)`4QrZ%LFs z+vWXwEyJ!gAtJ|LJ+fvw=6OCz;@=U?33Gxa4*L|Ti%z()ZT*L}T0xhEeu^#6(R8Y~ zV|`-{qmgpP9%F|>PO0gk$CK38o_0(=lJ$69P_9l^9Iweb*5kZ#_Um$UFMRy?#=5d) z|7T~LePNaBxkHNfR(0_79NuT@(sx_8&@m-j@Z&^QmF|OnO4$tM6X$KSWu0tVqS$Qa zS38IK+`aD(4}R)6dQ5COwMb#(kxtg&g%P|ladufP6NMO*=coEiuwR&A*j5H&isNms)1MNjHJV?Y>3ZiLBU; z0~?ndG(1u%f4b|wZ_iF@O_%d!{5On$1E77_(d5kpQfHsxH&h`U$J?mi5PotIb+M# zKRrtqnD{v+uU|cj@%Xjhe&vn}94c#G@#ml2=f5lZpFYX0*b^pK zv_5;Pd&QdTPLDSob(K>3{dz_73FErJtS3wEZ^~#0XP=aQyye3D$gS!^29gVJMgFvK zHVTuw9Czt+isa07Kg0Z1%4}L!5Op*AhhqN?fy!?&eU`U>+*3WYRiT(={+HzF#@s(w zG`FTt6%6?`_4%&bVr!Ij1lEKeyz*|ZZO7u~Ltj`n&(VE(XI9Fu;s%M+zZDsdES@yO zf~%mQ;YY0bgX5PTujggnC)KcBCC}i{!@~?R?SZy6EEoJINHpFzsO9dAkleGP+u35x zYXPRDW#6Tk3--t~woP?Oi49~r@$hQ9+J&pvdsKGJ_ES+)*z`|_cS@vJ;4YRPA-U~W z`sWE9*>dez)6{a^n?>%Eeg(gpvU~2Dh@Epdd7|Ght(n{5wxaF2fZ;k-BbIb`ZC-iE za)lhtyASSf*fdSVqPyO3!IX2F0yUdX{g`uM#zBpvQL3N4GUl|LnC7+f*y$fKUXQ2D z-a@Oe_-0xW18JvE9^G=Y{`2fdR(($&Zbo-{+?~WrW`11 zUUA3kHOH2q?g`xmk*|L3HdN7bPHDLi>Z1C=IAODn!E{ECZ*QzKbLOTvY}(G_Yt521 z&v}*A$9)~V)26G`UN)+He_e2B-In<) zMQ-|)&GFwNc2a4bZT7tL2^M7wQ%=Ke+iBW#oLaIo-Yqt8pbK^&9P-e)1_t*Fi&} zRga&RFK3^=_Hp9b*k;a-ITcgyY|M($RNXOYIx(xjQu*T4S$~y8*OVTf z8?jBNnr(LHqob{n5i-42zIFjkj4h2GXC8N!b6CIpA*f_)HQi{_RO1%YwU8B5>#x^@ zU$AIf@}Kx!79_&>iD&uQ24}kKayuhPWSqZZ`L!U&dgGfWP9w$(8;{d*u0$U z(bBv?gXaxJJpHv(i@wyV@uzQHD;Tlu!KOzUyBZ^G&Ma6J)N;7&+7YXX3g^oNy>802 zpA+kObm3{m#RW68_&b*?xg{7gE|n=;?=GpU#wS~-%p7;R;r+(r{v4n#PT#9Uy#k9* z^2b)F@f|D(a+Nud^jB``0gDjHaOdP7S;-;?4bOCRd!`ogsjT0*YiZ2Q=I%A;ly?1` z;lud!%I_aXriol!R_^M3U!_P|L)w3fwR&x(=*9ytj;l2q_S&iDddvypYyWGUtg_r^ zR{hJ3%p1iYF&&6Iwx3&Y&zpw)w=DG^UkUC1`Si2c`7It>z)K5LlV3)p`!}}O7YQjy ze-q(sI3v1Y#|#Vom0Wr{!H+X@)_s3>-XZ3!5s&~Rkm&Ia67Sju8!n{&1&vbb8Paub9E|oK34bM&`7LhXc2UN zAJutth5>TaP@l^$B*Aae8A{c*K1pd+*zQGc*s(%w=qs9V#gi!G}(RF9or-G4Mh z^1Z<7*5Xx*aK}FY0u6RTY|=H#6_4jANko+AWtDJ_+kQ50Z&K`OWKfY^LqOMc+5ZIU+)n%Q_oME!bBZXq6Hfh5_TUiTwy0CpnlBTMpj>|&(vaGTcmGS@+^gLpZ;Wd z7WIRLER&9gsm3vYTHHUII7*B2jrWZ${>(zpN3x65`uUK$;Kwn?>=dGBJ`osq43 z4(tmR*m>xZ6LZ+ZJt3E_DX~r}J!H#$Vwuoa)vL$U0=|i!x^P;v;>?*m{=0#De}|?R zPxPCosxwz3rj{=^ke|8jdjU)P^zS?(M_b-o+w7I!5aHuO5;+q#caS3O?C zWO*-cW$V$^lOHb(DvkMOZ8txb)p%7hx7_uWeMe{Lt?awpaO0cRwuWLpo%LU>_zrGw zI~=W}EoGCp@Y&&eZkfM#Pp#J9s`X@&{HD9dX7wo+t*Z6w?b*=FeymB?eA0_nb~C{$ zw%-CFt9!rxRdw?-X}uuSV8yNH{ya*>E9FJleFEVTe5*E>3G8-Kpx@xXj_K^9(#p)URj=^j&Uk(zIeo*dkP~Bqrho$@bvvM@99Z2$?JBQ`?#6uSBJ=`0@ZwFVr&7O8y z{YsRF&Nt6W@xa(8*^@U-Ua@heg`m#-+I<(xy_pi3`M8bT=cXDO&P$vWAmsmdIwwzc zLqvlu%XB82_bltJ4(h*c+<#&Jk>~l}D(e1ny{J3-U2z`6$9>FtyKY1&F}7`~z`00}71le^Ec)AwZ^cWdadxO zDI%t5Z@|^r(Z?80DsH;?_S4);hH65kPbRjxU1V5om3c2|=G1={8~gH_jo12i9({B2 z@E?Z~!!IqHbe`Y#VOf>Ia6?af?{GdjE1tK&cTsmLO4sEm?|izgf?v6IiRuG`mUCfFnjNk4sw&!91n}+(-icbA|Z$AF{#dYcLEsl<-Hy=6cSTA_pFg;dQW?kcvNQE`8R1MDs z9x7fwRqXH9OQ#-d@G97My;i(_R`^*nw{e>myS%#n4euW^)Aj#a_NS`YY%XdP3|D!0 z`nR?BtIXO*{yx1PerxxX-C{rasPXy7&qog?pSF&;t=!dgTrq@?ab2qN#7#2DhTgXhZ1 ziEDkmn3ASn>Dw9ao7JqyRwl~Wu-I@$>@_)K&h?L{7S58~nX$1!)Y7w~3pMTKp$maRsR?VB-bZBzajCn~Gob4Nbur9A@o6b_wldBrw>7Lx@ zepOC%+NqRhdiT{E1;3($(J%EG&MXS?+v@q`&<8cv#N7o^DnW+r8_dJE|LNSjchXHU z&-(rl^F;?Ahsk|^|FiDO@k@Q@`R)HSy!^FuSMJ?CHZI$yMK7A|+Pj7^_S~(cUGhSl zNz<#A=+0z(wMB_lYJTbV{gFHNX2u-3Q7q9GCBZ1eW_V)BFWJ3q{1X4~9o#<2g2{rX zySAn6@U*Ee53-~VCm!K^W};wryyT+H^QqgX9LStdv3AytU%U*rS4+&y)zj``t~hGC z;QHF)$?P9%8y?+S@z!U z_PY9QGj^14Jqkb99HG8yw>GO`K)!LJW=G?e<%N$zvnJVYEBbVH{nW6ios&UFKki}J zbx)X8=vKsv%FqWpq|~~-MCE)|7kqwl?D9VODQlNLzvYqYo`vbb^4lLj ztgSJ({Jcy4*1mo3pC4Yxwe#AkL%V$SPH4BCaER;OlXJ+aZ|l~h+vKOnP3c}(n4{yk zbNAnzyy-JKPR!0{^gCZH!7ZTXw!^xTSKjd7-G++Qe_I)4EdOO1*!Uz!WJ+_|Gs6OFLqDKytIlS2$Rw2B+PMZ6dnd-(k|CO=6OLl)eb$<7rOVex8w>3SQlsdmK zq%%?9F#0WPe{M>_q29zW-gdboa~Z_>1ojtjJ&M1{{QpxS%aQYWYW$D-8{WAC%y&?AaEeho>TR}MRF+0V%*eSC+APRx==G83;@Ui9j&i_U!da5~!r`6y1tk1P{c z8t*=m`^BbkeX)}5`nka`cUb*;a<%Qm=b}eKr+rrLk7S*HynmYNt#dlg94fcfq&i;h zy;M8T_FQPwd&{pCshr#P#AQeHFKE{}ops2^?yC8YD+gk});@dCVrI0ID?{VpHqI|I zqTVmxR`ucP1#78|b9@$T{#&MhGgpH#;pU~Q6H4z+5!16>ms_XvA;Rv5@`BcX{911u z;!e-zq^O9T~tbX3%=-}t$+8?~{5IcLbsfgT$hQ!nUH-dQ6Ll14)Y?tx>VekV3q0hcG z(>^O5tD4;@WuNq*_RzzZji;(v4yS)qp7u$$#q{m_Pwx&NN}u|tV|#_5`j(gF6PCPN zB`tbnepyreZh=4d-g?)3OY1*e~2lX8uH$glDA^|Pm+t9V}bEip`@ zRndDoN1$f{$GrF#Re_2t6z(r%{@Y>|mVW9s*Qv;3CzoG2*)N-5T5;#p&TsGAlj1M- zt+(2u*gC6tf$+?Sb1L@xu3c1dD2=CWKga7}x1-;VesN6@-SJ%Jg~n6Oo|avuZHJir zRc)H1SexAycxi%)>3q|0Mxp+ep^sDu^R%@`%)B|hb!*nKlx9!5yf#4O`kwT6UUjd22=08mx#p}< zlZ}L*Ol8o9Et7w|5&0;4_<71Lr#FU&9`4nNJ5tT4=lWq2v)yZ!`bR+@p5Lo$@xS+G zgY-Xx4ZoQ#*|HzG>0NRz?$M>coneB}--Nmu=cXJiVAYssy<5|o>-Qc_riWUhg>Rch z?)Ij0yZs7rguP z?j1kiCu=wNc44zvc60JxoqLmX4*h(v(%q?OndAN)e5|JeP_+-5>{{khdMM8nS?5xutM z^XZ#DFIsNyi{8QBwN!p@hoQyQ4;*do{Es*Vxc9wa+5bJKzy8N^{SOys`#0WQ?*!`d zXKk7OqU=B~^AUY3d8T%U2osTSuU{z^_AYhtvYo?xFnUi%u*1%Rb60*bZ|iu^x9Gq& z`{>N4c3#XU_}6~1E?*yXc+!>EYvxVV)a3pvH~E{7*)z`@yJy|%=BihH(;9emrO%2< zk9SRSiVWM5UKF|1!)&eEo$rq~$+!M1_uhX@N^It`=cPX`hpbBec+2POU7NE8nygkg zVz(X4J-y(TTV~po68ST)r)nqiA8cT>Ws_8pxnQk&s4w}%_F{!d=ZNL4Wt|2rb6?LX zTesG9Z?Wvzxg2bI&JQ{^&YgE}XPr|!Ylgpb@$v7EG&io8awfKbtJF{O?%CV9%w4yR z1n^F`{g?Z%z}f3(!Z&~J-`kz;=Z3GBC^UFg6YBh!$0N<*)1TKH*0`A&W~6;eSmoXR z`ZwqEy;;q>w;62fWH`R0kdH}T=7+78>xUF>!FwyS9Y09jf6&PJRsR#`b3ev|(L(3e zHXg8i-5zx6;SD7v*7{;e(PdAACRiAr<P z_de7-5FzhZNI6>In13Z|DA7asTP;O^lQjB@-_yqoX;w|A`j zem_ANh_TM1KL7bV`(q4q%lntrCzWp=zx3^VGuzqd*J_s+Px7vpdm(jN_3y`>ud1KDdQr>H ztipBHebX<&*Mc!ZM|Rrh{@t*mmifo&19428@d>Aelo(r_e?%{3GRslf#*}#G^Qi;o z>5LOMFJSQMO5v2ht6yHgf9F=+a-D4#6SlK4h$rN4b#=*`$-80tq)Lt8pLLTEyxW+@PT6-g}OG;Z|Vl6R>0`I?&2fp>|*?gTD2_^6yRmKYSD3 zQ}z3}!teRaW#=2;CG{-Z$^45?!s@}}a|a)sJD50kMPB1kHJQG9-Mr1=(LM}c_Z>cv zc0N(~f!Mj#SEmUdtiCzx&Bm$4b3tPiUd$)_mzCJp>}yCosKi=Y8glvObm zJ0uls&-PEcvP2BF7C`ayrgazZDzt23>)<`Om2qz7iuvLm((Ji94zDC4ray~*mCx;B zymRhFJFWy{>fEf3*ku$$m zwR4&j`)x5~j1l}F+I)X*LEF)|qQ0Ged%nIb+s&D?`j_X{J@V{Ml>uXQe?*aP zryKv#+1`8QeW~=#i%FZ5LvzJ@N2P`+{{-zg5qvw4ZZa zVEHO(X@|$V^tL_O^}6ovAD&R76@Jsw&p)g=cA9hg*UIyoW7pQz?Yr~5_nX_@Kb1W5 zS9|}sQ@yVLR!~UK#`XtX2cFI_;PSi4&Yt(|_&l$x>`T9VUT~Jp|3bh;byg2$*4BAb z9`vvV2{|9^O;z1`ZbjYdOCRRgEnD8OdP-8^;SXguXXKn~346{E7PMmD>(x5uG5Kqc zW?4H{{q#BFu58rv=$8SXe8`{INeOZd4;f_g8*l4>+%5l?@!$E^jPHMiANXKsP{Z<} z_{*Kg$L~C@uiAWA{^5OgK6|DYJx?rDFKv^*HR0jmX+6DMkJ(k%)K*OTbl{xrg@k7k zU+cU)|6F0cYOUSB*OcFTn@vO~-|0^q|Cj$;S-;+K0%(^Tc&TO-`wy$)$4Ld!R?HW8 zr=R4?3ce72z4F^Bs}Gx+HgfIAzN)Th@M*$!t}l6&`&lNcFdxYFX+NF1@B^2_nx^oo zgKJppCC?i-7Ron15M;6z=wW4<9N%2TT*m!I_Rfo)oLt3i`}6*>G<~h+tv(#S<10(T zjqnMXp)+i+n9uB4E?|6byL5c@w0{K*?+-Jr|D<8}^WT>2PcD7CHt4_8?ho#C4&Ej> zInh;>n((9Xqe6 zE>9A)Ti%de!Elu!ihDuZ>q%Zeq84ZLJon6;9ln0^qrF$09_cpxs9n_?Id6XJ5zYQb zPWyxx*E_C0e?UMeTd}o!YWri2z8CS$$Nx*)|9Ip6qx^~KzH*g&Jd175nKm+8PY_=a z!;o*sxTE~}&K|B59)Xt(de1FnO{PgQtu8EXd=&5WT1-!wr^`(Hv-5t@xH~@gR0Ect z;D6>V_A5;0^~G-@eX-YMt_KyK@OnB^>1%tf_Vc|xpx#5eCa;3M$%8_jh6g+63Er^f z=4pGluVK=q?=A{5nyqWq|9LRP9H}S>p1s9shT5OCjE7l0WUgLkNNq~A_Gj&3k>I-` z_<74G_jw^g7FP40GzW9vXV}5^gY8JTvVvIB4NHYLA%~pJZ#A?ORB$}_z%y|o+p#O3 zzX+r+RpM*6i++_D+s|Z>xAAy8YvfbTx9XX{Uo^jAzxqR>y=8~m$5^e(I8KM^%f<7e ztxYrctesPQ=aOUJg*JDUYxB-JM2N90stjkDcC^3OMeL6HlH>2E{b*n1yTLbj(F2y0 zYy3|aKmEGPIbqGCRjd~G8Fuu>9^JD;r{$ci+tMw~XEz;RGD(f;h7M!Jw~&j8Z48}? zTiE9^dx-v=ue8?coa**TbE+&Dvx*tapSx>J5}oivk#G0@?)CBCel&}(|G59IkiBGw zIdg&YBaa35nU8BfC@@w#FLR+$=Dc@MZ_ENK`<3hWG}m7$ZeZbjed58Klt(d7KE-|6 z>9J($Z_D4)d;GVD{H$0!VNRfyLqYFU?nO&BeA_msAg}Oj<)tSIx-uk5A#R5Ct%vK_m$LCGGgky(5TChA$m84%_X(UoxaS0W`UopXAK1YqG@o67OcIF3*0F(1O#cWEq>L^5rNQ5O+F`i}=n74mb#m2B1Ne7!B=y~Sq z-8Uw{58&x?lRo*;WYF7Vr#HR?(Ze_{BOz)jZKV? z)~Ic1ia7izVM{~0@k2emV*B)nbMma6uC^x>h55@k7Vmo$x~0p~M!&|@DERYL)7>?B zszR1tj4bYwvD)Wdd6$LHjXzkHXJ;O*a@9+FtiHT2MdpALmyzA{=}!45Z?4rxz0HapRfYn$*czk^9j7b(n{FuQr*1GEv(xz2Sg^ui-hx7&9$oIP&yJ68>G?I6_UGT8 z{cDFT^Y@Lm{12_OSU-wsgOOVs!#D0Yz;v8jfR(8C+A+#~w{b1h@{tOmJ zfsKhO2{|k-iyx{?nltC{JA#!IrwUn}5ntV~Y}5M) ziHR--6<0T>9o)3I!q0_ONPE8WgBq@BGF&Hics*<9)pEBx-_Bc=$)MIeQ}6cbPeC55 zwjW3nyK-h{N@dd-8}1JMFFJXRCwjA<8l9MWI$El-b6O{Fqwwd;oi!<8qAO=q+!b_R zW4Nv__b0bcd%BE#$8+{a9}l3kFJD>}@Zuzhichtc-3 z3Z;lU3FaH!1NXRR&I#py{A+_nw(Y|M4`a0+i=`G?yDWR|Ij3jyyT~~Vk6k1897tYm zP#4DaSl;2MjAoB`#U7`JjO+3Z7dCEcJ1A#!PvL`z)oa}gJ5qcZf7BhzXO-DsR`KUr z|J~?7`P0(B_x>_1zHN6?Z$V6iQuzE$H|?KHJuUt9i^C?Bzu$OOy00%cU**m{d9rXf z2KRII$s4B4NHho+*mG>oohoK+hc>ojoBmZg%qU?nw7pvQ z(7>HHY~{ksybU?Jve&;G&3WxIe>3l?x@YTDpWj+oEUVgY5j?xA;-lM)Ghqv~(_@0g zDz;?9QJKrmVc_@;hOlub9GIZvfHxh5SL8IS_2~iOLLp% zJ6EnbeV*#OVi&v0YX@(o#w8Jw()7c>WM_pBR$H`{z%Pt z_+zmDt(m~%U!HUL4t#X5kyWd)@%iz%UHRWPi$}9Ne@INaWGiSf$-?izOG}2NGuwou zfADTx&UTbdOnCOC8_dUEU!8d1f#boH=P_vy_k3GWv~6ps?wk#OK6h2NOw4LyMMYlJ@ zkFEn1+h6SviCDBsE-z4Gxz=MDm323QpB#9fSIsr|h2C(2D_Qoa#&$N3}maVlu zf9BAW)M%446RzBrWYg&OQk%+9q$Qtm#O}hDlPo(OzjA14FSyA!jWMAmfvK|R{9jQ6 zS&@XWfJpT(i$nFT74$w;o^9ODdurp8wK7+IA8rs~jBxFY$>Oaz9k%G(37f~tYwTto z`DJF_(bc%|>7|H;1r?`zfAF06JWJX6_`K84H5(p1Zmf_}tFiO>arI%#e&fC$rq7p@ z^s~$}jP{yUkwCOb(r!(wU zHtADsg?85|T<*`*-&@k~N6vcF<$EmUA9A(24s2(ckzH`Zv3j>nZ)11Ju}=P5EpJvA zoLpTf7mydKaQ$GBn3TBav9%}Pmk8}SI?qYlQmne`_=C(nD=jUaUe!QyV(AN>MXpQLpKLp`D6NlS3*)KT z5rJoFjQ3m%J*_)i^2(`@Ih}$&X?t#8+%sX#nL|%iH_Eed*hur_)^2Qg))lmq^UBi% zqbrfOUo2j8eCPJ36XsszI$dDV`G0T5sbj|{S~fEsoc&hvBTGxggxAlfIownWlVg^! zJIT{2Zt>^!!I8&piFcS&vVwbCPOXc)%!V zH`lu@D>GP+$C$sDVx$)4o z9;wP;?P@72d6n)|z8=v_?^a(H)INFmNyNc5tra~9pQ>zl0$c9HPaT>PP=LnrD|+sAZZt~ZJPKd@o%PTZmWN> z9q#Q35?NK0kPysT%y_74qHzb4nA-j$S%xxw_g!YQB~0PvlV^WaIpag-j1StD58wN% zDaxkpe|VW?&M{V=%f3$LN?&D`F&>@Qb>mQySi(luV;@3}=}FvsHgRgZ7|SYt-H7TL zj7z3z^UAu5D=E)aD{&~gS7=wSbzLs_QjEEe^yZYOOEW*%v=s4XJ#6HY&cE_$-TUY3 zXD+=8Sb>oO&5z>?+BDLeoP|PTRKaV2c0T z81_@QZOdls-7d2VkUY6@;n~KmTGOtdyr!mn%T>)h*E8?QX4f`bo4UJ8m)tvbX-SaV z!_8Y&Pe!^v5jps43pN_-S3WrW*L>sb zX?|AKEw{b(*KaRrsL4O-Yw=uRi`v%0?zu-zuO9P@C^y|&c<%HLwu#1BPh>ajIC*=A zq|EHnu!9>tEe@%lDHAoeXtQybD^@+aakfJK#^oF49ZPzv`6$s!?s#tJ$4i+nXa3yx zM$5|P-NQ%Gx1P)GyPug+cq~77^ID73>N^EX88%LJ{cI%KA@fiqIdkDf$CG}^ho#>t zMCR{gJ9+Wfkxj?VX3W`RTE`Y}&B1)Gy7ZbdhfSe6`u|Raxkxgno-|VN%zNQ;d)gw8 zqBATkMU%gEemmW>b?tO(AAj$5N#?{Hg$V5qWsfz<7HeguEszm=pmC&d#s`ff-;Ey0 z7az)3dm!AnoT0s+k#GL7vlo(#8X}yN!Yz5Y+tyxXc|4=vPv?Y9QTbcV2h5LoWme0# zJ!R)8&FDE))nH?h_eba2{mYlkc(|LTB-vDMx2ZBu+uT#m-?G+}A?Stv^+o-AAN-gz zk3~Prvg*MVZ~eV{wq0WUba!gz?u{{AeKRZnz7;BXc~X|o6JvrU z-?yL036v3M{FLHQbaquz$y%)g{R?X18Vgyv+u5!fUa6Tf`SIDyB}#jASKhlMxFPOD z$+M|%v>t8#_IE|!eWx=&E!1n^R3@6iYQd zW(re{fEOU;tx7WrT zvy0omc$fzn*{|ARUUqW3Vven|e)fhJYtL_VSk`*f&DV#w^QzSf#*IPzw<~f3`T7st z407s7SF}6X5?^pczw?3VnX7(}EEpee`N^Yy@HnY3c^zH0jX%8Mu=(G4ahrJa_4j@$+I)%elWp0N$0uh7OYv`9bi;QFJMYA)uC2-8 z6a6QAFItuS{>}Q<2wA!P=PzA7zV}Pf(;tt!(r;9DexI|l&3(&H&G!u_RzydwDdqWa z>EDUSRKuDHZ*E0bm~XK)6Yq+Z-2LRrr=*$Nqo#U&WBpcor^4L5bdCEbtJq81P8(=u zCh6|^<^6AG+tu02AI@U$$dq8~on*myB;e!huFJ;+`sXsq)QLUX?DK=y?N1V@;m-2G zC$B3pL%TCVb zr1_YGt>Zn*2RjO9TxULG$oDO(Kp|iDAw$~9Eoys?g=$Za`zroTt!TaD7KWsIYhqt7 zogP=Uv-BmyPr2Xux}2Z8Ry{uUQt!>yMA>@_VvqKQ9AEd#V!4&twifl^ISTnF8_p^> zs58uGw)wY(@v$P?G1t>v5>q!_&h*UDa?$RHzxR5FNsZ@@>xvI<-(;_By|0-6$LFWe zaqnMSE4FRuj<5KC-gnP+rk3j;k4)alGqHG@*u?_HgZK3&ykQ7>P%~psuJ@{dvhAjy z0{aZ_FiqROek#i_xeUu*c=fDKF?1dBp>iEun{}(QB+6!!QscA+NlXSnn$8S zN-F-uHH2v$;zzrZ??N+_OMEcFDUw<&R5^H?Y`Q%;%#wD-lpj&h1;>u-1{YF z$>TGZwH~J4Ih1%PkWaZTJNrt4M6uGY^qC(dh3kAD?Oq^O7xlN*QoBvE`C-(josw+Q zUk!pJWU6_WKd@lWo){>c9lD`?f0Tn^z>l~kW+JCc#g%u4MXb4cbnCCvt{a#|-fx?= zgU!V3@tVe@%pK+@S=a6pZ+-t&J}<}S+`hG+nyh^GM`hWHq|bVCf9IWNH&-v5emajY z_VitEef>Zyhkdv8q>N4_OEh$UD!BGu;zKF((#(6CBqMUJZ}zU_k-wAnuu$#0k@S=^ zCDYcbp1A$C{LEVJfG^f@LeF&Tjvw6SBp0r*N5%W&rp(=1DRcPyZ$2z!Uthk9|C3(d z?c2O9)gAwLEfU=M@Yk)76Q%Y~j9lEVony)fR6f5o%JGv`zU;k8Z!1f0&)|~1Dz_;> zvLMd=e8c11YW)fwrKN%MYTx@+%uX*?cid@#ddcg1-Q zHT|6T*|vT#e(v#hOGBc@QUf!FISq+Rt_eyBgkL?Rao~ZQYGKnBsjEj$94!$IkXgT+ zr7O_WPn>^qq;AgCL(|o^X3x3C)1&=)9aFFNWzE*?EoJHt&V@CH@0h&hdgttOvn=Cy zxtNb0SDUnx=?KT1lx#tlV{$p57Sj4F}G&gH%5)a8SHB7E!X=q%wx1``Z34hF|W++ms-Z( zS4}aDt1fu(j_-EYlFzMt{neG#9|GeZn(g13{4MU>*4HlFQR>x|PZZ7XT-vMk#CG4w zRBP`0!Z)My{=N-2-Lx-#s^h0a5)r$KE4OSf_*7YUOuI@reRuDzirA%BOd9vRWDU6T zyYt`DOO>83&lw(>e!H;obe6K=WhOC;w||h@ms6XnFz4m-X>F>@H>wA@Ze(xEE~v<>b#dcSkZY-6_~6*k%pkwS zK5YNF%uD^r`g`}dykz*fZuh#J8Q(75E@+Npi4I=;wpO+CHowSU%kPnWr>ef~`8h{3f>|7l-{#vH#N_x;|8k|0sI5 zF-rfrTxMnZ{!;tvdi&3w>YZkD|5(!VPZxLOr(Wb~p6HaaV2xW`xufrut`vQ*toDVDz&C_=e2u*62`!{o1Qr5~8uo*#dIDqKQ% zpYjLEgH}vt7iE;~AI|ZbQ6@7xydX#UB3rv@!q!zu3z+(@&)>REp-lNUj{@5%&o>Rx znw^g`?*v|NKhj$!G~FR-QJi}9)VusD=Z;_e)cP)@b?pu0mHMF_vy~PtSP_1`Ec?s`KW4u7e@~yWo_W-T>+4;{IcMY5XYh#{ z$L>tI{dR+~?$1MBfA6%t|NHkG*OC>xcCEQ18yWV-izhcS(yzXlXT{65)Eo=;j%8m2 zdk^NeAAesfzw6hI`R;#j#9a%W9==!fx8f$*_;>kDwF;KJp&9SKOiDG6d!q8?efA@j zd~J8JOC=pk1=Od!+hkhfd_KOSQ|gF|sgQlbw|iAl2_GJ5+At?RYJZ^mC#T_qM}msE z{KKBmmevC+og_3_)NG5laC~{T?D>?#4%RYkr|gbY?Q1^#C~?uR5Aqtn1&<%D7Cn+% zx_-HW-qq5!coDw+Q>r4~ec+pNb5~k)=a~<_YgFAja`HR6d@K?UIX4{QXOLrikS+M< z8^fQS%@6FS+&?t`_u23t27gmeJoINg+|T%vfrr0Ars1-|eUCcpno|P5wmI_$tSjpJ zx?;ohxVS|n4K>s6W{duHzZtsZ&g2um-S4(1+TN?`zI>=eaQ$}um%gyI0LO!$uM6$q zIsfL|%dIo5s^)b}esqVWFI(2?tK|7|<_$j2!$a0j_*TwSujDn+@c-GFXWK0+7W_KG z*u*};UqEm|O#jVg1wu>PRwcf+4fwru>bv~glNKF*TqmP{_j0xWJoUdh6?^~cZrK_7 zZf!BQ=%===Dxc)Oy}R+XaFv1kqKYM&drmcmw_m8b$nrF*JkBguE>+-6%Ip{!<(>;Y zzIw}xwRJozjxP|fYqVgK_|sY3mB8D))whN1P-nS8&FKyo(KXAC&pYIEWqCNN->dri&PFFds2WIv}yKU7qEK7mK}QL;Wv>AK&f%aQr`HZht6z`Frbqwsl^q?P%hZD#miugX?&rQ#dC}mCRl>B! znd|l!&r?g3n*R0FlDY+oe0f_sA_Wva2(94xtls`)r^7Cp$GQBs_2)3u#hJ%X3o(zm z-e<`o=(EsTfVZ8+@X*`mViUJ=D~fdFoa^H`ojFa;cmImT)w?fjX}%u!?&J4Y`~TPe zpZE9s&Na5vZ0%X*E~&_9J+`gy(8*1A@9j;!H81zM@Rh0Grk~q+q-)XlTX~C8cXRBL zP+QJ%P419%5$C;whi?&8C1*p|H(pA*cS{kkJWa8B^QUjZ}v zR#~vOHlD6+o4!FvV^8kUMWz*)>0#Qc+>YmqZ^ZCEQnB|}__#=lZ*3sM5q_r{)dTEjUOk-O@xWic zq5k)A{vX%>Kbe2%`ttoUhaWyne0SLQFi%JQo5qKU+uWLhMAQ#+iLHP9ZTEDCUJShv3+!t~rp`D+iv zcs`T`eKomaTH3p|b$l%3Y268xGq+yecyi`WpXsibb!MCpbXZU}tpY4zJ{$H^*rhl~$hACC>eKz=>a*XkZ1%o{&*CP*I z8;PYG!g$0RK4f_+{5SWj`NUsFsMh z9{ONY%e3v|Q~i#crR)Ug~?w>qsQbYB0Uni!ld&s)Cwn z$$qsHcODk%U)uirO{w?)yXB1M#XEg3q`e3U5#*M+|IkEJ_FUHgm){g?eebBsok{hX zT>sPRF*lFPcmKHtd5!zJ^*;z6ncTQfUE??Vu?OXw9*Do~isxsTzm&=B^c|*u(?Sj` zO(`<@AY~%Yx<$B z_nO~=vXkgkz6tNw$n3wwpP{-<&%i06mOnnx_$<$AhqC37p_^v>T$ud z^Ng)GQqO#P@?=f^DxU1Ao4H~pSxpXBe-M;zndQ*K6SC|kzn@`5T;eCTX$J*d3Rxsg+;b^nQl^&eTU?7q`yc@Yi$Yi#JEJ z9h=U&1n@ieHP|>lF|Mkw@*Kv?r7h)_sb`trOZ#PwfpU-T5NYX zeE7cVhR@6LFL#`Hrq6icWy#wdMK!+_PC2(-PaH}O)#sjEJYm*DYwioT7+(IVVV-u@ zqWeOnoS3-V@q~!x7q7M$_?hZ)F1hz$#{`Ltef^j3B)c+Plt~XY_EYd@n9pd#STje_ zWZ%rIXAbksI?k{}++Z)mi$Lbgz{dfPJL2cgP4Ql{`1xAN8)pliob0$E)6zO&roPO( z?*&iSHs8Iz^X}h0HSx#uKklBI6SQoTDD(Lyp+5HY2Fxj!ztv>EcV|uN-&FZ3OaE?a z#paL(rX7YIs()B=);(XhF*%`3YBks0Ia${?=iG46UhR1^pm8_b>6Vv_JxS7iimwt5 zyqv%kVs%+TQsT8{Dr=}~9*doALlnc>JFD0EKGZ3mFjbV}G+W25q@x$Iwg-fsU-mjD z>*lvBXY=x%PoK2aeJyuCerFu_f2p{_$;D=~Whecu^+Y{#>+yxTs56Wk%DX z8es{JOJCF5mU=AzTJT5Hby6%}n99o66{g*nc6XWAYh9VUXo1GOZ5m6yYKPxxbKUD9 z#jC$Q#aF=8*MVn7!GxQPl?(*}SC>Y&rE)H0Ic%i!d48v`SP}E`u^Y1*72>StktvG0yceK z{p)b#s@2Q97k_^F?ZKWKrptGfrtr$D%yo~BzmysBeg1~Oo;y;v1-1*H-riNous?6I zb*yf-L{IJKoOSgL540H=H$71Nv+@q-rh8W>?wPgrO2wp#(swKd%n!7`1hAQit*GF# zDXgnKIj8X67nwT~??k>hKl#lsseP-roS(jC^{#zFbF2=BN0i0>{kLPwHk;~YH*;@S zi|;N?Yb^Ho!WYdM7UEVlL-hBdNh{O@54<=p7~`UOIrE?N{Kn_;kL-W#{V(|c_H)kr zJxztbavSU!f0!QNXRvR0Jpa)DPiN;Jjem0gPEE&3`K(s6&ery@Ux`zz61M$w`^FgL zSLh#~dtR+R&w70U-{vAY!5_{0f6f2K@ca>9WPcL03M&s=wq9PJW&dr1@+;FHeX-$~ zCZ_q>%2syTnJ*$t&W*9^51j<1{5|3pd$l#2y0SE^RiDn@{JhZcKn2I^=!Vx!S=Zmq z(U`ESDXcSb4dd=I+s_+zYzV*p`M`$>4GD$IX6Cjv9-P#Ec<25lrf%m-G(<>CVSBf3KCR$aeH*;=9ZFCOoUfU0o|I~wV6}EL!wb#>7www+ zU#Yxa(DW!v%8;R=L7^dIqd`<-#>T+LN>!PSQUMn}cvTe6`q{el>(%#6D(4z6y!pc8 zFp0@vs*|>&=npMjg>8HIP9C~??ftr|rN^G`aSy4Ry7%JzJC)wK(YvR;WMeQkj;(*j zu<^5-`dxGVxqoz07!E5RP&TMzJ0Abw@%4J~{~z;fyYJfz-S<24nZ-t^;u*sy<`e51 z4zoYFZEvj3cwBMM(G3od65pN{OsSx^%9=!t zSM$=>iH4oaG@J82XO9|a9z5>d4p7c(E?t3dul#5JvJBXBWqW`Hd&hJZK53C{4G~NVaxI;+!dJJMs_<3T3U7G5s#Z8b zM>2E+|E$kk4}bhVdZpOWFzG=o^D#dO@vnkWB1hNj&Uy9WM`@lr|LyzvFZchoV^OL; zp88nYEOMU3>B<00CU4Wg`J2uOoH*t0Qp;aj!^9dt*E~)oXUFPkZZgT8H}7!BdGm$n zU)atzV{YO9)-8u>j&bGoeU=WWDQeh!WZ_+ta?zAf8~c{)r*#YF{g+T(B=so6anFfF z#`7M}J=Hb|ge;qVe%Z@=d(Qlsv}pT^Z)Xn%y`Q?8CqQ(+Y4X-M#tUA_dowQGd$IOG ztbWncYf*VuxaLK+n`M@`nVu2S2>ZKc#k!N}o2%~4u+iqJouPT-#z)RMc1)MgfB13r z{Kw<_i;vXz`Tw}t`6G`>&hj>AFH0YD!5@Y>77g}iuG_3!_dnEi%`K)`_gc0sj-0&L z|90uQ3qjEpI_GBdWm~7p2}H^loIH?nTh3r#-X!Cxyw_`QTsyrsqiW|HqqoPmOow!B z^Pd{bT`zNOZ+prNPxsX;2tqNwDFI-xc=JuozmYA&S9yN)6#T&a&6bw%F~BG`=(~^{c!mq>m4sM&G~&3%}(eB z+LyGR|5e>wdSg*}Tx3T?G>_EM&0Ftt++K0mbfSpM%HcBg5cd@pLN(USRPx>(qi$M$0D(yuaj`xWZ2?*DwpbPwOO z1Nk*;Im%akTRrd5UeLhf_i)g%pT64$x#d%%8z04P6F&WY_VtA-<}sUQGYAFTNwG}a z+vUCCMxbbV<42aj!`wPzK9Qm8m+Nf%CfwAtNkUAHTj}~C?uL!&&4QT>N5aLkf80%S zXMEFstoQD0KE>brN-TbO_09is|I5B_LAN4K>=cuzp1$~5{FT%B5j$j+&O3`K-M)LS zDdpFF_tWe?!3FT|Q1>{}b_NggL zNB=-j?fIf6K83PBZHu4Wc)U#P8Rrw@1L_U-4Syt$wWr(EE7;ZAKAgSY|A+La4tpEH z`+`4A1pQg&ISXA9w!AG|zg?BTS7?$@M3t>Hhg=i;#<~NKJ$$8M(OgpE?#Vsjms3~82 zzr<4K+?mtO@e;4Q#Qs0Z*6Qv(wc|m!&Z45l>FvICWvSkZZmoO7C0?tPDP@F79AA~R z(;<+@Jy0j|cW02&?t^cl`DB7iMQqsjs({S*W zGLU`CoV=TFX+@uo&6Y(or5$cwIh!RcUb@+824_p(p-Um0w#`pDpBS$5KFBmt)r;kY zrfh7oZpz~64_2OvadGCIIq}@-TPX@{r{+1`{I#yip);;%PmJv5J+boMYnMAO-(jp( z%zN(rUe)wkIq$E=uO2+TymhjHK}9IHzqWvyJHzpt;WOql{$cneF2R4~Wurx%!aTW- z_xq(j^4r-w%9m5GF=mvvjP|lA4CG_q`XT+?-kA*To~pAS{*p_bp}+9CDjNsC!rXhz zdtYl^_D)!~{Xm#xXXZthLxodH?p@s1>)t56v2<^3 zsnAQ${t8fabUhN3i}=1A*iv4UU0Nt6@qFsB>c+xHkuh7A-I#LZ(XEh(0H4Ws^!R(i z-#<$5Ok7wPm-yzlIJeCCq#s(3y%%h>xF!-5D3!iD>e93idh9)Sryp3d_xA@er)8kQ zd++_J_Uu)b;+IV-mDROU_SeZeUilT0=4u})G>3;j^l zSF=QVK{3mWon2p3EQ`8U9{KHT>>Jj$xiS5*@>-EIAptYpZrbo0FK)LutL1&=KvBoK zBWh1hxmc}Uo@KjN|L*Z88~?9*vPi)yZuPgzKUSyNPM=(5Suk~GxR=ZEwlMqebN5W& zeM~jrMle@(!i_J1i#}$y9*z+?(WjnRq~ukZ&MGvfHgXN9&%@idPR$zP4KzTl?qR z`o`~-y>a30HPxX-v8`|Now+8?zIxhP;nOAY*hv>Idj4~tEzA{VeB2hm-ucFZS6(G($S3w}wvte1@Mo}Z{J}Uy@UnvsvjOjs3I;#sLMwsu?VR)Z zkL1hw{kU!OXueB=M1`8U!5^NU^WEn+upN+AiQ7IYkUuk6a`oC}tw$yA7Z^?6v#EsF z;B$g1PW=?Ruu$>iT<+f6Q;u2voSS|>;cw6Rt;=t$Hk;%w$>noYi4SqVyCncVL?zN%kfbju$f%%S- zj*1oxlg~I*{FGs5ZDW7*(ct0k!yW%8yZ@IC|XA$5%8SxwCB= zTW)*o)ddzz$1g0X_^qSa7HPG=`+|hVDX$r?WuMp_o%qu8O~&1?!OMNPquEbNuE@#v z@ty9nXYQjp_s-bO`@Ampo5qh@iJ;-^qR*feD_^%|UlXbNamy=N|L0u3N8f%)PJg30 zjirM3fdzA~`PPl^GjnuRO#;3OAMfOD&kfq6Ws&#Auy2=%n2vMIj5XVT3vK-th@t2F%n+J#h{-3hLdK%`p<=_s#6#tWJNBOz zt}|q`pP(&am-JCGjjOHqctMWzL+7LejmHe8iEQ{LBByiC{=gOGv ze%0cC&(57%cFj_@Y@xBy<7bL7ER(svNw)eRm1+AlG~qjbFJP!O$#?k zIp)&-07`C48`fC%P?5sPHp4fGjJz}@v@2@u5y=Si} zt#|Vi*?B=BQfBFTsZetb4~XnvTpK7ZB+-bR1nk1RPSpEJxk_A_5a zS!2$sHd|2xVfjZdPNX;#vUHradU)^=lfg3U^Df`6{^WhG@q|a=PLkyiE5g?HccbH`)`HMkc=bExA29bjiLmsaHSFJ5uqy;qkN$>kmJU zyLY&7s`bs+^K917e;xj+?EXK60{2gQjkmp(v40};X30+ZPh0|(>x5TNR2F&I^hEXC z>V}jf-^A8wNzPkubSuGVLR4(U>2-gix^}3|N?)+a@7VTt&a6851~(f|3n~k-n*Y6f z&jmZ2NIa&G%j{_k-TccbC2zuW!S?OwWEpHuwh zfrp?fQt_jOz+?gSnQK+j3~U}Q_W7}M&Ifnl4}V!~ir5aH=ec)?#c#Q!!1;g~t{Qt* zw(;KJtvhlpPU&KRaj}T;hKgW?(^bAx5+uqBG9JdR&x88#9 zgGJ*}E6;gtr=(<}BV_uskA74Q6Ai8IGPdbkYH+{q{-d39LS>X&kDuJ|hWS`*>7RXv zC+5Xo+`j((_22iFhbdI+u84^{e|qJF;0#IUl$6&`6^u^pJK?~jUVQJwyYi^3x>62C zHrBmOT9Wg+Bqe9$tZV48vfT93SH>~;L*K0mk4xgc?z7bb_e?tUq@?=j)+B@7oBiaS zpI985eDj9ghg9h$bDkEynJK$}<$Rv*BKfdC`E$jm9IiBw(NSTMXnn}9Em9})DBAKN zzuKc{ruiptMoVvctuo>@|yYHS=+v4(XwO1*B_v`QYoTgax?j3{4Pw~mE+!I^5w|b}K%iRI> zlE6tb`}OxlogW*ff42CRu(9&)+7(uD2MmP^<^(@VoBWv3deYOAkz9|BEc_mRoE{>} zEGxJFYwe_cy0yRKpKi?YUvRyCdiHVU-@-3rr{t_J{4=TaXlbo|%I-P*6R(?^tjIc@ zl_JjKT*$rbL-o9H_LH~wgiOs@xN-S4-xaGC`(5k&G3jxt&6L0QJ?@wvU)$LseV>RdZ_KN4=$zjbfJr&KwWWxqBmGj2V3^f_bFtE%qp1{)X?3qpDF11kR6 zaDLP|GTG-xoZ25j^%`r&`HVIbHwQ@=OUOy;sBF+|d9E=(%OZ?J|HF2cj^qQ?iYjKO zeQy3_x~%MMr#RPl+YPR!=$t?=fgPd}%)b{D=0-{!Ej+#H9cS;~y@JcFzTa7^rBFFn zb?Uc;Y*VYB6#b3ZB!4`vsCCp1iX$d^xnRvV)O4WaSu1%`MLhXtVz$mUf3f) zf3=KCobk;#+l6twl6RPtUVmPglDRQy1w(0cuI{!Sb5$D$}Vw)`c&+)MDwJA*@ zzdPMl%#l%d+oNH}cWNKg$|$R*r)f_OpL_E6)g&I3QmyaXb>K!IoBr#Ck-N1G*Fvv2k z$4th7XUV)Hzid7#Y>Zp><9S2U-^j1hY%k=nDgsMu z*nHA{-#ro^@Jd_keQ1O2g&p4M>n|_(=6nIRi0az=z0qMux}H>TS+ip8=|itT;nrXL z>ambTNv5d;Y%RdPvPFBQeOPn&ah#RLo2BxLzsqioS>|QOuO1&e_0EHfa~x7K?#G?f zpT2QRhhb}e_Cm9>TeB{l{5FlHXr5N(LmA5%GH++R?J@r(nwOCqD#t7xv2JHa*VFJW zG4F+q6LtPfo4wszr+2E3+9t2WS%oh94u!~F6iy1TVcq&6OOf%xk_8`(JN%6v`dd6S zXXH3vcWBP!GpxTkc$+tOKHG5cq3Nmh2NGtttYhnF3=y1DGflzp)dGn=_rjWMm0gcY zY}k&r{#xt#rtG%2$FC=hy=B68m^-5zKlXi$y|AN1^)zpTl5|x6ocU+ZrB?0yu>94; zbbZLGp19q~>vCQH$kgn1oZ7bXU1D63jYVR(UnP(Jm!b!SvPR2KJ?1q!ekxgw^Fz_e zk9QJTvsWK5-?)8(#1X4&5|&RlwjIA%5g>Q{K>?@0`^Mv21vVXiyw5+sGJ4mq9n-(p zo%zxF?PqGP&aIFWq4p`O=bgP~`dOvz1j8&{-AlVpU1MUMu;$%u%g{{|xv%TDNd>fp z#VRu`xcKpdjRpKb^bhx#5$08jGAC z$vymf>GW-FS%v+p@)U|B?YIsb)SW1+OuP2>s^`O!Hz#8_9xnN{=*AvC<^|&ClNmQJ zFy#+i`bJQPRU>-iN{zMGw_eWpIr*E_(&*=Tx4Vq<56f=(R$JBoTlf8!8z-zSo2$P+ zZsjvt&%FJ!fw{4KZrzEksh`b6>xyin%X!aEXgsXAY*9{wW}vWiTS)WCMM|dAb3Klw zHLY<-_7u80HOF1Ge4}JO*Um?*rw&;aT{P@biuhk<^0g~KqPxGq!=&9;)`rWl$%0km zkBYEe;}6qLe-=5$r;2B8I#=9!@IIraIl0t8h{I;$#(smO2ic;B;wJ6bTOd*Lr(Mu~ z{e}by3w{CTO2O6N&93%`Z=C4h>G_7|K9A7!X)ApXhdO-xx$4o2N13b3PnOKP>~KQ# zy_NV@x4m~5rh*Fj?YgoG--}wORit<8-usjjwVu7ZxJgu6O7!9CH{5zz3ENpScE8qa zSvBEXN~P{XwKG-UTf#sg^XmAIO}6hBeEM~FZ=H|+{>P_hUe|R z#MzHjUoX|%`sT{!??#~27NF_jZH!xlX1Q)!{M7X3oVy>Z+iumI-~BT?*>0ujk&xTM zi|jXMrmWcJKIiYm4L&DJ6z?sc)7WNVYxVo>#bw@(8M@bhKGox$U$pSPWn%Ex-Kqcc zzTYm^|1NiJFZrsj1F8)0y_b9ifxE#OcE!i3M^NhB`t@`7!r7{z8ryk&ZA|h)Y)cC+xbq`bI zQm%Oma+Dlwk`9&MQeraZiCd%SX7rWYElzaKXP$Y7%KWYeu!=up+<4z$PUXpuuGSK6 ziL)8Fm)RPuQM$h>eZ!jT4&HlT9H|Jb?rh6k%Dyxd@lzIAAaZkv;OI!bCvD(@5|>~zj(j@$kuJk=6mm*b9?&a*xJ1M z&RWl3w-k-I9$scra=p7D+VRt_YAGJ`15bqVH{RR-vD|pIP~UcK)ssbwxoyH&jBoG% zKKaB;e<_YPH=G?JofDW31~VK`KT~(Wf5r#rh6Crtn3BJ7$sN>)oWtJ4DbM!0rLa)Q za+!g|b;d&uvx6+sl@p&I?u>7&4&{D+?fKR4%XzCr_D$+_5oC*JW{FoeyvvtSGxfxy zF8^g^>u2?9XRsd8i3s{u^sjfh`)cTHc6HvLn8uHHw7Vuv2?!PGG@dab`nl2-;e{uQ zoI>-Z(=)<`T=UY(rz6%`#o=^LCb=u!#ND^Onz@Q zd7basb&qMe^}W}>zf9Zq+;l~M^`|{?`zls6{`OsWJ!y8}y203O%8o~3nUi_bx+`$iu1yA^G+?x*aC517a*GkwGCXoDN zj&0-2@c)ZK8Q(M~WQzv+O0`P}F;`zbcw4ffGq>e$oWCs3lbYV|E1KV{e!L@R|1evt zDVbr9{J(jV6V?SS=c+zm>AvZp%b!r&RcX%7TCLwUm$@74wPNh5>;{c4#=YAE8vNb6 zYoUOcP~rOK1yX&JZzxJj1@&@Esvj->x8+>&e$gv0ij~%To_MfttpbO;wOln)^Xu2g{^rh7YqQ=uOvO$QV-n`~B;+>%U8jF7JHI z+S4U&AfunKB<_HEfgcz9qs>kG)LZP2aXv_U&F&U=z%1xW!1gsiT37$L>h)kR!;Vt9 zg4+8D(hH}*Q7rO$u=!zru+z?MrMc>N`M$o7+giZnqrGAJw;c;M#k{L7>oeDn-^ITz z$}h%>-}jW?y}x^Be_cB{X!Xj2HpcA}PT1X=eCDy#&b;0K*Cn4?=kRXnba72th5NVP z=33>L3mNJ+b?*B3Lb`8-f$2=SLvFQ?gAVshIU3RKx<<>gruj!!>cq_1`_4FXO@5xr z6cRUm=AjRZlH%H)zuc@;xzf0aQOlp>Ysw)8CyPXmS5FihuCYE^ck;Cd&nCu{g)U#; zeBfHnye94+--HaCdFjhCJ@)oAbET}#<*@Hxw>vNU$DAF#-A!k=9;w>d_vhDVui2@` zq8ZQFo~h_}_;h-Gc-+m8JK4WGzPw(O{Jr9&bHU%d?RTfV zbho2A3vO_@2(JnK)fR^r|DVV_q#*tqq*VDZz_BG-g}ZIh^Gs9*bF(e${gos};c ze%`ya?{WK!XUePpOJANni+Q4HOk7^UnKS+QS=;!yOHEYbwq0yK{_jIfeG}{1mjycx zc3ql%;#1M%Equ(vZh?8Fn@USlX6gy6tXRmd$j7lD+{|E)Q`(USWufxP%xBmQn)b09 zGDPYYZ}=)Rqb6a`zpwq1e1s(|`XmgpSKQ&6E?!!EY2*1L=`~Lso~>Ewh}iGjH3L$CDGuu;;ns9h*B#v!603 zaF^|^T>5_2l}%E&&Yf=WSjmtQ9Fgt#R#ibfV^d+mY@zA9MfbJtx>}`MI#=6dHN&}{ z_n*G*HPF1Hm)$0lF_r7~Eyn7~ZtE#?>KFe|G7p;|PhOj|{=|w8 zGyGQgsJEo0+RRG3e%5Dh@p1L^dnUK@b->3n z`_g0ITl`OCso*;GQu#o7gFk~DV;%n^>jH*ljWb;8*-9@6>|s#tS$$qGOX`Zv)xfzc zCZ9O-b<3v{WhudnCtW$9ay@cisLf61?(6&WFZE~h=T=udRQd;j#Cuey_XU;h(e zuygoe+OVGCC&L5g4K}Z)vFE%ulXZI6@z&qPR!{8jjfxvZelPwApR_n*bL8{2T?U`0 zS3bMGY35ItKmH=uCSKuwJ|V>>|LDwTZ{73iC#6m@K6CThnVDLu1-FCPdrOa0K8oLQ zX^9|1`s-=!uHUX)zrA&NYvHk{TyY0?UklA?J*~SvMo9KVYk9}?t|+~iyamr~X2))M zWWUBf(x6LmQ*GqB+GB;Uf4A1jFH3LeKk$S3$4~Je-pBuo+5BTo_`_*Y%ld)w3F8xn zf&(WQ|BJK#>Hg7Ef5mzBY431_@0U(@gBHlHP5$wtxODTUyoBpa`%d?6VEtkB*mJMU zlU$aATW+T`to>K_esbFHmyF4!oB7TE@P3+?cA;CHVLszOhEvZYEln6EGsHNo*Ep~` zQ9tR!?jOv02h5vxY+Bha(RlYtc!2f{lRvt zkvOSspB{g@bc%1EmXE@xxTyt`Z1fgbo8|Gxh9!Mz-Ex1w%8#`VsDx)i2+ ze0j&E6$`fQ=F8v7!;tQ5%XC1n>3n9b)|(T#-7PcUFJQj)vX(2w=(Mzl-2M&U7!ES0 zZTKs&;2YDnsfE)cl=XQxo!uR%#P!p<;kHlod8NWDyXCHYT~Hz#_B!+3&A=6}=R{7* zO!R6n<8J+Y+EY-d`uF_E`rP~63A=8(|KPEhn-`orQ+B`Wwy*kECfc5!Yb`6e;BVBs zxYpfl*#K7F5(dx90?V?m4BLoa{WKfM3vrTLG?${*jB zFf6~%^dq?;p83xPr=$lAALjGEy)RfK;XH5g&b!KQrTO>9)SdeJ_y)8ezulj|xIPc|j|5}3JD`rjv!3dY0BC3*C<5^R|Na6DoU=qqL` zU~XS|W#1Kr8x9Y7Mc7r>ABj97?qG8`e(kqV14%blnZ3`V+K)8wcSk!EYHq1sy?h3C$p$hVyZ#;%^<5AlM7|v-ksx=vhKH-{_59;LAlEh%uKuW zW`fS2IqOa{p5JwjZT{i;G8+!0FN;*3a_E-Ba}I-ifhtC$$kI}iyFKm`-Z3%6GHrfz zz(-sl${{l7&8^Mn^O~=BnLC7No;mI0yV&L2yTe-<@_ifk6#r4WTFA&Xf34ZR zg!gNG`ZJmj2ZzSSupbd!THqJxlfSQStvY*s!O-a!v|XH+rVYQNaM%98D5>hH^Mxs_h% z-rmHtw?5`)gU)G-li8__>XTMY`+EKKrn6E?t81?_*sxvc2su++JFD`>wZ)AJQ`v4T zyV9^tATdc*%Yw;9Yk>}D#XQC{%q;DammUZ>Z2q>ORq0 zewX{*nQEyos|9y(X{0qb&6pX-&3&z>B;-iRudeQ(8SV+cSo-!K`uOns$IbU^kJTUZ z|MAn~kHdpbmluYQA{#CrW{{CB{dVcJH>fCE_p$oa4X>1tqpG(%!??S2M7}L7Ofn4IJUwIMY>z!%$2}rt zw7dLgFRExgDjy!7=w+=Fcl=>P@)54bA_BipJz^14-nL)`W3s|>op%RzOy^^J|Nq7* z-@4`hqQ8IAa+Z42a7w(NJ!bWTEIyg#pVKa7JuEJ(c>7&A>iz3yuNQ4TKC9?uZfH_g zAVby4Z4K`-qz`@L{%TUVUD_Z_zKK^Wdzzy3g=;c?huo@u&T)O~v1-n>Qz`sL`qz@= zV&?7EZt~qJ^WSotB=?Vv*Cb=!7^sAr7>8+jGqoJL*EL;$zaznz`&8hb-|4BLY|GRbnkNkP_Kc4RVk;o*+DdXA0;&$$&M?b@{ z{wBdqb~B>hs)jkp+~Qj+w{1ej-er#qcX1lndUHMZQ`u{L&0Bx(o^zKNKkY5uwoEx` z!)(T*zI8`~({`RRknMjm>#K{dL_wor@82WeJm+mtQ@tQ2^23HXx$@3~_Zu7^Ss9oa z+}Ju#BRcSj$gz2{uIIK(R8&qaJpG4{>37}UWx1~czSi}I2&&4l!IaZHn#ZN54b@yy;^ZE(GL;(_e&JiWXE;BVJiEZH z?_28JW4@-kv)^y!zi7Tqk)dkcW{BPGJu{tg~`03T* zoY2#Kx@L%mMb31OIlr>%U-0k1ZRPF^cw)v^)`(OIsoy&Gm`GkAI zFOCn-E$nLgkFQs+`Mp^1|KWE3AN74l%!NO88cWov6>t?)Fd6tB_@OIM)g{4v=I(`M1vx+N^PVGr3dN(8U zYdO!HRJM~_7R0{w56IX5D#qbE>+e+GtvnkUte)&Wu$k#}lkdhgBBzqBoYHYf6(!kO{&VuaSo}Hrg*r{drZu7m{ zVegT7JFnvX#AC}c%cHMFv`}$&xGzLexA_r ztZG?u`r$KMPxnmqW$OF7=S*qD-or1|^Y+HbSbhUn+d-gtvbf8Fxf6a=WhI+GbP(3~ zW@mih##jAqo$r`To~bj;H=FwL07L)hZ6YUaEH2!*71;7p&ZIBoaMPmcg(r9KNb!Hj z`+L!IEnRtOEci!>cdnd-~Kl!|EWlCz`ZNBo@nYpL6CadyK zyt?k#so03A`kUj<$$5y$ntE`Z4PxEmY3K33>2pHS7ul@mTb~y{64pJzT>7N()1Dni z_BYJ#N{OE-BvdCsW$cBT)%fxflWqzp#Q4kn}d zaxCXmzkGg`^2~Yeo?m-TY(3H`WOY5rTkg*^9n~8J>>9QD@Bj8);%M!5*pZ~_xV-(K z&%QY)HWl0{I{kq~fg$l9+vJ+|j}CL>I-c_%dECx()rUCAN9k!lEg*4 za~wCW>hS(1!fBCq@cfPTV+WpQJ)ZWl_|Rp(dB67UeU@A0|LXDe57pl$?4ADFS?p$N zaN)o0PmXyf|NI)!v1UF0{(0-&=Dqd^NskQYRq6IPG_6LPm+j+h<~2t@tkgdE1bYmuT3uK;mRG(Iy z%O@^k-MZx2uJd1c9&jFTpKw1x%FTy8L8jw!qlKM7Kl`J{?Sl1RKJ@G_mHK#=rG`gL z$X}(8TY}A??_qzjebynK=Id)8UaP+}p<=cA>-Z#9M$T19{9Nw?gw*Yx&WkskP+Rf1 zDLHz1(c7u#zVEJMe<9k=xA)7X(`UWePn2K(F}Hv_Lq@x|*Y%jISMqPG%TsapnK$Jvhsm|9uXy*2o}_kA>feSUS$ zlK*Dq|DyNqU3}-6Q%(2#9W}Pqp(j!e_C!YB*yS3!sp*7R%XX&}hm{j&eoy)qa!Gra z*wh05xoh=2*lM0`KEfwqxaVHX{K=(h{6%{{O*+5DVt*!|#_r?Ep=y^8JafJ2!(h3> zMq}xwFzs}kshbmaik2yQo;$uqtFrlc>It4Fj>U;PI3|8yH97n35|O5eog02m{pK;V zdhzSMoX>1Hcq&#UNJ;GZy8PIMdaI-`_Ijp|wiW`H4ZhDj*2u`ke4P1X&5REp4IWPC zcmMPLaYwvwNI-?3)pnfwob{e^wgS>>`ldPIesZ~7gHd%ULU zA!FtG#Fb~5PhGe%Q~ugTwm#`~d;RR!DzX`J>CiG_L_&R zYI_cRTxM1#^zfr`M}LD&>eXYa@yX(1(gAZCQjBF*cdTdaTY2~(U!V1vH&3VjJtnL4 zEqlxVL-8BlUoV)GzxJlqPsQu6=W$MKoUz*N>yDcaPZBn-cANKn9oJ)SN25J0b-Jrk z7H~{1723CqS-SV~nMrTn3#;d)WOWM49=Tk$<{GmBbIQWx@`(*kyS``f8C-ubeThQP z*6`=9k6K!F87wDFGC!1Tz4ldi&C+RKgW?mfEy_EuEOBCAc82h**XG6xC!J7yQhgA- z!pTAM`M+ZfKFmBKY<|pzHUj>KTm0KO_uI&PEI+2{W%m6@kld3j?twhHt{WL2iSF9<{7;ho#U$N{v)SJS3t4k&dCw0mShJ4z`>u=+QufjY z--~8{TQEJY%5phqc2|Lyma-%K{KwSWHA=~qtQzw%4*hf9aQx90Ob|D{mv9rLWWW**l} z%X3HPay<*{=<&6DeJ)z5qi1Prtoy38w3O_P;wtK=--M{{mYySHBlUGt3V*@B8Rkr> z)pOQ-Wz`8e#`eF!B&4?Om|?`dW%&s=J+Fi_r(cje&Z}^?PU@-Q<^$RDg(6q2&41YS zR5w@U#XSDkHcG+^qoX+vq}kn^a^TiRbH87{HjG74_ZRuJ7&xjJvsu(klHjVBar<+z z;K=*_1KYh9StfiIImXlG|M-ozP142*H$wJr^kq?Ikog*z@!KwX?#a1&uPu+9+F5O; zQKqZjP#k*XX|XMPuXic;^;3Bjca&$|W|9AEfoNAtPmBuN!t_*@^JAQf=DbiDd-n%7 zyt|$^KA!X_B05y$t)^C(XyAg<(*9)W6VncUyeF`8I$!_q_kUEc>%RXrXJYt9QmYA)&MeS;|q|D#7HsVU*y1D|ZCvLBGNXcIKxO1xMC5;)=QybDI z$T08jIm#NK_)+rylh|W7Opb@%l9#gxu>2Ns?Ay1ytJGR=?sVQT^TdrfmwPAso@Wc2 zY|~1$Fj)6=Gt0p%{PT`1C~6jS%WRAP>Gxb$1KuIC@(5@fEgbxuC8eO1QZw5+VZ>sGUWa;0}At!IQwH{>h={vG{ zZRhVIdmq&z(UY*X08?)2=dRuSA@0w5zXL`kO7_09{a>oN&Nf(a{cn3g+7i2suKuaw zw^9|NdDn=(PuQf)a5s}PaZz@&nV@#P`B(k$3VYWz6T9DbCruDxZEZZFl`pw1pn@mh zM`V*%gxViQzaQ$tADAU?x~tH?zeqO*kGrh-C)7qxm|lV zPxa{q5+58lTe3$6ovHSG`RdfeUq5B8Kb@DIIQ{F9oeys4-9G)4(WQSMY@P1)AHEk7 zEbL_r)GlYfJ+Q;navtmPVu>Rs9!IDjkDg>*(_^!@X6eSZqt~~tuJB&Lh=Z$(VW;a#`us$};Br3NvLtND^j`n3s(nR^uvWo+Ey z;MyyrRULP*+Og=#j|VFzoo_w)(WL*=yC1rfLXGU=UcXYk=OV7Me793_nk-}0t7OF+ z4HrL3RyU?a=xE!RJ86{>lv6rs=Dadn%R#mp6p^Ce=w>?~4TSECWewp!wz=N?;5 z!?u0LG#MT)7VtNE_}JiKzr`bQ7CXNK$~&Um&cq#J*ADETkF`5e?J)T zOYz0h>C-hpOXV)ExlZEFe&v{=e!&+@2FIQf0r!j;*@2|y|$5&6U{T;d~`PaU!dnP3p z@QM~Kp6Y5;SK6_MVe6))tOBbiPXD&hGcxB!*Ef%O;*&Gx{qk1 zuI~ErJz#Z*j(d>BK3Vt9??-QL<5*`cCVNTZgXh{yOC1-P9Gf?3=JO3Eylu%GZyb}{ z3?vL52~{{$gt7NK%}EL4us_xEKJ}1%(V^|aA7&m1W;nDumSw{&*Pe-55sryRRwb;K z*yi~(X@j@9WbCEz8;l))D-C7zoRbvRtFfK?q_~bLfnUVDPAy>DBB`{K_itMtJkNOS zo6Gbz?w36(llR8dO@6<0dR$(dmBYT{dG}T~9ly0nsr7iL=+S@==4J;hKADF(K5MbD zxi(F7d&}{q(?3|*yqoYw_kDc0{QbJxPkHAr&U1LrC3qxOX8JXks@=lx=7ui+yCNnl zHL&@_ERA=qCw|T8|8{ocmJOx448A$K4SP0891BXC>u-AAe}{Njbj!);H`!vJniTc7 z%jNDfU#hh%)l5rpj)dsORDm!3$y?0CTsq2(ZbuvJ{BUcv-&u>G3)XM+6w*TGvx!7& z$W(G9zZUjUJSWdAV%HhOe!69T@u7T)1cT1>7cE7Ok}@ls7hXBo6VtD((Idk2+NEe^ zmc_Nm`ONK&TrzE8%F&`9KRI97+q#~;^I=W+vU`^EZr^!*ytZxAjd?q6YOgW4m*N{Z z^IGG_(?^!ZZA%xl^?RjR99A>z;Vjh>(bp_+Nw8rC=8gtr@pS;g{D*1ucHqqbKjC=RAe^`C^@%0bU-~Aly zH|1N1-27;LM=UD-@G+${F;&q|>n2b6y1d>*D;k z52~4#7urv_<>hi$({x_LBQ}RUu^UZU4FlMZ)XCoGw`Oj7>Er#1@$G~N-p@SpdEtR~ z3~Gb}YL0DDi@39R&g@ohc!T=xFUu2?Tz(2&^`?-pCeZKxt_1($lCr8%L zxcBh>q$7frsf9%!B~puQ>>vM}x!FHr@}-*|I-zpMR|}O(zul)4tS-IqBO7nqmZPnj z4EH*Ar1#JH!FKpi!ff}H>ecy8p{&B{0_q3Xa2;#0SN!PAaL}KjFJ%pfn}<@nMP|$+ z$sS+ToT&%5ZJ)?|AXW4|pTV9v{>z>Rd!=lb=1aeN__o372ivcv|BzY#Fq`?&nN7Q= z9@+NS;&Q&l?mv>3_1cc?RWF{sV5R(Z=&HcguYBLWiH%+QJBl}VV?!=m#h&!D_x8@2 zn!ow;w;Qen&+l#ic;W}g&c7$#&HX=beaF83_vyRuE&dhptMb7nxqIiT#0l2t zH`i4Kbp&rMI8-2TsDgEM@`|GZlaFvN*5$Bc75JlbL|Lt7^NL1Bo3)&eML3Qv7$Zy zM%L}iAHTl8;qOVtL+lg$Gu84=mNQ-R>rQzly6um*!!^D#YmTb^-#^427J?5Psr-Jx zdyVe7+1K)t1Ml_yky_<>y+F=I&#iP(jzp4h=PoJBGbxI%CTn!gObI=*PrXp@L8s$} z8Ma%lNyr&*+$Q<_SefDFeLSq@wpXVAdARUb;2H-drs+|lJvWw}efBj%;X}s*{+zd6TRQN^H^iS4G7 zao%C(22GtkB{nJ^S!`U(E*zdX;jW9*GcnHl%30Odo`xRRmI~9{cJr3`snRv8=FZk{ z-E#kA>c#IHrc;F+_~%}v^)k1vo_O?_EZ6VsEz zZ=2^F&ztAAS;$hD>G01(&x{j(s@}?~+CA?VqcQ7@q)$mNVq_Ni+)D|3c@kwpw_ z^9&vePZ2i=39?{NmaJsVeh?l0U+Ss8+4%=j9C=$?H5hMuUpeR?%f|eDiNHP8vt92t^Wct>P4;msL7jV?`f0mbL_$hU0ed9}IzE6AD zt|}R=)>hF-N@+VZS?9CZ|Kz~N6>A)=G(K;dGkq=x&mrA{m}iM`*9H16h$w7gyY9_k z*s@^%rKenR?LJmbtmoq13YXuxvoXm2U;I1krSlh;|E|8bIL-an`}uc7Z!e4cJbT@G zr+sQJ_vC7h|Ggo@Q1)8FNSp7*iDP_|ZXWBIx;~|*Yb^qGiz?F{y&59z{>CX!N1vm zFzlFhq*s+;wT{t*_5&vi*G0H&sbE(QWa<8;cmDJB_T5jP6jjAOk8+85C0nER=k8lc zo%9v;*O4@V>xO5>?wX)4IjfMwueaVk6RbDtJPJ1?;a2EMx|Tvtfn8B zDyKj6WW1kR@lS+z`bl05a?!F?91D9jhwE16r3RVgyRI~1I`Ke z+dfDhFy_0gUhs=U$Dne;gsn4;Ii^MausJ#HY$e|d*IwmQ-+bDhTI$;;tlQ7xk5d=NJ5N>Rq5-4`0lPn|AW?N zp8i#N@wDpGn5!R_zV22m+L3PVl#;US==W@`&<{*o&+S>?&3@tW^&fw~F0B(Rx*C73 z$J6S37hiX!))DsUBGT=Jy{zJ;?`OT>-Ms6&1zr$}CwHxj?4Y&p3eZ@aN|itEW^pC9s`l zw_$#4+~D3I@A!v-kMUj?%Y-!tJ{jF*cwQ>8im$24g*UkIiRPYpV*ArpSTk*|ZTq@( zcFA*ADT8z?Tkqu}(Pp1yG}0D2SB152o*o`qwd3=qs*gKUP#XBpZ^qwh<^H&w17_@n#bUfxeY@LAow>iTCNc1t z{P-O=>%&=%N?~pGG=^N`3%Q${I<6j?`7o@yU3SBEzWnS5-<(cV_uXZFtGtM9>HEle z`*gV;w!Pe)P>{OMa@(F$wPCM%-3aArY9*au0Qv$6bkj1^2jIFEc^Aak(M z>);!nZn=9#!Rrqz2A-U?!R66)iN}ei@ujogXixZDvv!u?e&NO|JN0K9EV=ZvX7%^e z@2c-?e`_i;v2M<9~Ns4nx@L4Dr(~th@AH-4s3GbX#=;S6p^i6#ubfmuEOd zELjy}=A+LXb*yl5^709rqcXyObaBT8KUnp*NPPBonG{{dYhgdC+Ad8Ks{ViL{H&`@ z*84-$gZF3c-oU)$-Ma9V**23u=N^^ZP&WORc&kg{*VKx0wo`L+lYj2k-&;R_^^3hl za}Maswr^;6xUP5i&?4yG>h!1c|Ns8~Rq9rk#QsO27n7Fz&-@i!7~xVX>QbujQfix0 zdr@CX%sAE{k>hp&N8(q;0}5J42ME+Wd;h_cnU3KR90Be0pn7d#=Ed z%SZW&XN$dMPrm+Q5_hzzYulEcZF|4YSbRL_{pTO$Uq9a79rt8z-FI=_JLNXt{HHJ5 zwR`!+)ynC+3QvjYS$_R=_)%Va_mvrW^Ibl_DSDLW9~BZoj1Sd$Ub|f zsABIH)&B3(0cI9?hMF0>#e|BI*X%TM3ejNBVKICDGazuf#|?JTz|PJkM;Ny^9kP&G zmU`@Z|K7`c7UZp*Zn;~f_?hKb)tTxuzltvMn>hFL_ce~OGTyCuk-Rn zFFlTkURL5a$55|&y1u{g&a-nB?W@lEFnyOW{Mb6}<$ z^BbRNmnniesY{a9JQeB)zIV(#A*p%Q&pRwVJN-@0A9(8EzxjK$n>SPTCfm^Y9{c>S zT-$jdvQoC=C)>kq<(5Be^4nH93-7+r{y{D$ZvV{l0yfNfveD+PmoEOweE4O~n#gG_ zXE&+jUn_`W&XiWwbGX_0hp9ts3WMnxlLPEmHGB^Dz0A7NJXdJGYG^=Y)BMO2*LTIR zEl6Y7De`>#+QobG(sqh7o|t6DabtJit^6swn?+x($@h)<` zeCn%e^W^t?r`GQ*XNmiz4mybVoR+M@{pkJgA6C2Qvus<@V#v5@?+J;+4-GA5=N421 zvS&+VGk#=CkS$#&((sPYLFYqb;Ubo80+uRgHs8)yEaVjFeiP1PZng2J;eGB_KUt-3 zf8XqP+`sPE*UR6ZUaQ?A&U(5v|7#KF54#iH_X~Mk*NVDXzI@Bnp!)9r^KY>tEd7)2 zC)>RTFb@ z|H|Vtuiam9K3mX@HB&E~uCa4ipjg~+uIFBV_agT$ao?yHIS-A4KFnb~yTa$Z%Ph;% zd_kAn)0Qsii(@|@aNcXB=;x*c=DpboTR3kmVraQ;ynauA`kKwTJH77S)q31kYO;QL z>EE5XdsELp~{M}+57jsgI|h??fvpeX({uQYVE`BTUKve9X7~-gUzlAAW58`)zxu zy!ZaRs>;&V?Y5t}mi^cLuro$o<k^(hz# zGwkK7=Bz`y!$_Y&O8R6Q^M*8LO`&b?XE!8rQumW#JDmT#Z9 z<+59K?iY?IFu2Xa_En0v1rVtDm(-pqGSrT(FJcYU8z?U&|uVatNaCg$eF$m)}r`7%+pUV>u9aL3Mn)YFqXu&d>Am@UMEDJw>eJoM1ZgYsY|1`y@ z#@w6943baI=^CC>h$&hv!lqUc(~#=rFmr1x+d`#$2ev7lVmH>PUzwe2!cgpFyEbN; z@Y~D;or6YGh2Nx}4)Lp+&R-Dyy4Nm6bNb%S+b3qUUSc|ZM?*sJsku-sZSCsTr@vk<%ho;p z)@9e6in@6bcD@So8;kFEbad4;lmOM{3lV$ftJ+MPcYWDic9WX0T!X9mOsBY9HgEWmurMa>lKYIq73V|F zJ-Eo#Y}ES6MDYR3blnYme7G#aeznY6)2O{TBI@t=qA8~@t+k1nnc`n2lkGC6F-w`h znmL`|YXtjF|osYXHcgj;KNZ|uvu&~+{M`BmAsyNb%^ey@6CLZ`Uh(?hk=gu3o6xx1F}`KFzw##Q8R7e9vAXI%SnBrt-q)3$e~+%&#Cb3K)6TG&G3S$Sxu1A@MCI!m`^g>I zO$T>0{FHqlf8Yb}gZmHvJk_rI!}|DjzW$H;|C8VUh`*=z<1j;ww8VYMisT1#8@VOK z+1UIp->7HRd)a5SBzyKx5$5T(N(@CVM-&Aaex7?|UUG8z_kus&D}9xV2OGnz(Liap9WD;>C;$B^UD^i{y};{FhZa?$nZoO`KCrBesQ{4rYE9cRHr0 zLHvbx4C6^t{ZvbVXSZ||o2Zed+n16&b*e4#4FZjp%`0eS2`2R@< ziV4=Q(-!d3aW?V3ctDxI;YVl5O&dKUa>|pLuoGlHrq` zAcLjSqX`@hHR&ItvluR)>1rzSbv`=l&=<8Zug6X^drG|?Uus))f8L^B$7`*98?KwS z+&y^PVuACKbe7!nov=bL+&kbx+ksVoewtwVv&o-_&Aolgk)tNgVdgnyCl>A_;R&M5Z8|MFi)b#)FQ}%!BjUO*({4upr{*1AJ+|)zL zU-rgG9Nu2&KWCM(gGR?joy{|*X6!7R{82^P?&Y+_nT>W;l&I361&BA2jiRr$xQS;-IB9#p8$?qZO+=yp+lQS73>*RJSS9o&3Ws^j*V zYGvte+mI8xx8LsK{F^0E8R_?b`x*6y`Z5ePBJqzQ&*GJj;#S#2*w%HGa4)e(bgQvFrNcf8I_H|8x3t!+f>}(#-Y} z6{+(?52dRt{lLI;zmZYr!21Z+#wFw(1pce-{un{yNw-k9g^3COUIjjoXa_RWnSRIZPBlDdA_Xd({_%imf1cz)OEpx zjOEW;Yx;NIk6zJ#SWI!<`3|kX>Nn>;Ow>y8=*YQUlGA)*r~ansz6Y+Y+cz;Ca+N%~ zq|DMok6|0@q>0sn%zPehFHg=n{ANk}x|Nfp4Jv0wi?sd|=a^qeP2TAn> z4X4zXhHRVCBYOXd)($44sfGM8)3!-CM9-WvHy}SHFXujMfAlr+t-E)p%U*2S7rsyM zgX#C1=WIf=Ir#aa87iXAYt^2(a?r+C%KT+f<)4EoEC=69gdV(q;0J3>5|8?^rz||` z$9}dJ+8N%9msqc_Ebwpkbn`#*>Br{J{HW`z^Zis$xrRawqh2~^ttDf8;~G|(v?m1> ze)F+l}?r2-E z}JpVWlj*Q_{01?KBb>&|}i@ zSAIO5Wh(D%Zli>v%l8(sP1_r2X5_kw<;y;N4>ZC;_dS6^< z@@({JN)>ac|bp2??-sW@%yn7`wc$KRkUfTY&)2)B2g3fr&(2E-h=fvTpAW<)MVxz z*uZe)+1Em$4>u~D*RE=7d=;&2elKcf63dqIm_?jQN_`y+C(6YhPq@&qi8sKM7Tr29&*CQsLh4xZ;g_wCkO8`yJ_D3+HUknB8F(wD9n^hwpPY zbN!rkOWXcQ81JvO`mY2kWe(4u)U5o&<-umQVp6bMX8N6` zlSfWz9p3dRT1Ecax2%9!TK+H3|MXrl=N{jU559T_HhnzlP^u{zbjR60W_)B` zz&(RuncyFzUV$0H0{aB|=PzHvXJ;7a&sIp zamL6;6_0CNZXY*17I>?oS#G7B^$&&e>#hfHtbKbuT|Y4L+^fL(A?H_>b1PMciR^l} zEWK#cmKhS)txSz->Qgq(jSKhN;VwD(Ww`2eF>%uwG5*C@POkpFKTI<@tXkjY&!huJ zQVBN$)h@5JReF9-&|>99i}e%BR=i(!l$Gbho2~iF;|;&x>#Vw7xhh`bL3o`w#}%dn zlbI^MG1tkfryh}Z;M{eIqsG!w+s9!Br>Eo`kwd~f%UId=&vh&PAn%|4=c>U2|K^5+ z4WIbZV%k`m?+f!hyQCkXRcC9!Be6iD@2bnReLgHZ8In@P6{jA#drdHVjp~u|ca_4b z$2T3_AvR;qKDmvRA!6|A_F~h~uTPoZXoc*Y7JF3cs^P2tFK1Uh&aqTG$$duXc(wRf z?ynz@%gNhT_%Bi4$)^0R!!}pvTc~2WW_#n@1s`tx$?@w+cY3lVAv!9dS*r5ZG?^1Q z%}*-#GM!8olAQc=>C-MP%k4X6c%91C+afXN%bx6YR+4Z3xtvp5v!JMq@5q6f?i*|l zr9RDCa9^!LZtr2%lOa>95@cOIyFHt0cVhS5tI`k5gMV31J~;D#+n@O}IP$JMRO8T@ z)g7GvY|61MOY{{aJSES3exACiTj7}H!3V~MasEB={>=X-p8N5-@#ANPn)GAZVyPeA zNb)==dML=2+_GO>Lio7kzJodo4R{Q6W^H0^|NO<(cF&!_6F(dm1-st4QRerU&-h5( zR)gTh_4+?|RPi3^NHuReB-1M(Sm*%io6MH4d0JRIbJjPJWv6yboTk~IT_$?tU1?0^ zmFoTPzu9*=m;T92OqI!Z`O@Ff@%r%Lh1r+$L;Gz{-}Y~fnIEuz`5n``6Jd9+JEc_i zUs`Z^?vnMvy=!uH8`%DoZa;gx)b^WL>jH7nRHFdD1L=47%$_@cZqB#LmW%fyr9>>I zho)4{x!jfbEz<1u!B;0!4p=%lZ@nqCG5B#lbLHEstM=_Ss^}|!9KYFr_-C2c- zDyb8vU;deTP%52+M@*rDW&dWY84}Z3TJ@*cGP- z1M7iGj}PC^7_*$4a`1%XhA;f*uI~Mtup=XppC|pP#H)w5TKaq)c-&oiu84k=Q(3n+ zmFe#_;mUh<0Xf?5mCF(|7CQ8GSg0^5+*eGv!PU>n*v~A-uG78ae6i50$1jX8?mI8` zdcwO|cfO}=ExgK7t-VGk>$V)@#L~L#BHM(yQk8Mn(OPy@mbj>F3Da(YVr=qu{Ed00a*p@SXyDs1KQJ2u$=b)7F&FU8;KjSrP<>g$n zTql2>ySZeU3`e?G!j;4i4PQLFZI8^9$UpMKk@=sG_@Cd6A3vKE%1GpMGVM=p+57xU zrKR`$1ig@hIXb63pKkHrz}ngX8Xkw=+CkdS@Fim$~R6*|@`>J>OOYzu7c# zhpLL1m2%X5<#oNm921n4_&OO*eE+t|?;lI?H>0c94}X+==bN1&kY#u5m!N0L|A)7v zZg<@~UiNmT%!ePA35hbFA79a5H@`pMy{q`|&R_o;?;Vt{)wzBn;)~C+>$}ez`Byvb z-CB3zTHN}!6At&ERAnx7@74KTXYbKweN%3MPO+(v+RihojnleK7vz|2ZrFFz>b?`} zG0VowdIFRGM!vk68X)5L?{C}oJIk-#HK}lYn3L<-cCn@HXd72W5QG2EVhf!dMFkzj z4F~Qwy2XB4!e)1Q1zX)x#`w$w?<)@Y3$vu1yK-Q&C#&-2)(Hj{m#vD|RqHVrT)(o% zQsi2h;HFsHgg3wVms=eO;5~hQ+NbF|O}l+_osRJeUwX^d@psQ%VTV_KQMJii_1Yv1 z-%2i5+-jxS^qroYl^37evM6~% z%q(76Sj@h-=F$%Xx0bc)y)@Y8T5HG>~YfMxpMW;Ql_0tCBEI4xt$=fqMHA7 zE#uwIw?A;jzn%IjaRFO<@7r+Aj=Ax6vu+=qp|K#$#U&?hyTc+|bmhInM zt>0@aUAUkupTDAi`&FYi+Vi&SeKDyuf3(;w+Ey!_`}?zV5COXNXwBJEdXGhUOWzjfPqc_cIQxm-xUQm!ojcz>lY#Exqo5c-)_Q z{Vby$cZ6pYzu=Z<6TimW%lRncOUPOQwr{M5e3urmpV`aD#at_VPIiTa-_QJP?ZD4E z?_$h;>zdk?dj_=~Kz6`=$OFonyF{aX?$b-Z{#?XW#z!HcXFB{(IOI z_|-bv?m*MNTi*`0A9%`AIM02<@=I^S*-qPSW9NyRaxhBv_CkTO&lz9ypWk0n=Bso4 zwe*^Yg}VG748?@14?p0uICJc;mRrScSB57Y9mz@zpXMGlQLy4HJ?`0CVd)!Tp6;QX z8kEnjuJbSKrjgs?pNhE#OZ_v|4S!fQ8XD++o%yPBDc`5vhGOxoZaN8je?7f4^Mr~L zL%7SA&U;apgts2v`%C`v^0&qAM-1)HR#ivNzE_%bbN#_O_uc!sDt%5XehS-RTlq5R z>5W+axEoxziY}RmoqEvK%W{hI?Ix3L=Ppe$U%$OUtL?)MzQ&)welz6W?z{dZJHqiv z-Ts&*=?f-J`88F{RcCU;nxaSMD*NxBe8<=$pYZ2MPrPKs(G_1}*T_`_{#y2ZvN!9O zU-S0IFvPBXx0PYTbny>s6`xq$oW8F0z)`!Szjpby{CGEm!)SV@>%OaUhptt9t#sz7 zv3C6s#<0hgbIn72$?NZ=Tn$VAC5de`jRUoVLB(ge*z+$ImLH8Y?|JIXpTzXECABif zobQLfi|fCGQGS_|cO^6(yZl7SCn)z!XYl1Yc2Dg)#f2z6GT z=JEcHi#sT9pLA)@ie#B&mm{B#t)1U`yLQ6&o7YXXo@6U*+SgvXG*$RwA)~REg3hHa z?Rw@53KEqkPCxO+UupT=6u~n;&&wevi?PiPJN!Hvg+ z3-cN4w7uf$m3CMy zaCQD0U9)L!+^VkXzm3&uea;(eexH2Yvn6(oLYA3;?5g{*4ew1iY?uF1^xo{~#;tj3 zSL!ck+?$dlvO9c^Q=^Pvp$DjAS|MH0c8sNA(y#I;JIVi_O2P_e-g%qmaCVi>M7Kpc zOplKQOD#2-*w1RPOh%4BNkZkb;LXYJ1dAMeWc7QO#BZsP+`J|3g59U1mJD$+pN+2> zUOE1Is;htLzejmhE;8Tm?0P$I9qZ}a+r;mOIi%d({no@Uc@nGHm2FdBvNq^euChIn(vC&a4fX9h4cXu(!H+gSFEw#YnR`2P;?~hd+~f z#k4cjxoP+2*yeAq-m>kQmaf0MjMvs+d-mMKj|SUQ&%O^Ybr)8OfBo||W5Lebj~12- z?U;7`{kej2(;KnImUp-ooSyr0PWP1Aw_pAJ@@9SM;~inLcXmy_x+gsNdQOP%dFGteixd@2L<_8ct4OQO zzra5&+j;M!$yZMc|E%wdtlrpjypE^w(VzR_(noi8m~}Tfbw|#M0P)aw zOm3Ci;v^K`{P;Pq;cb7))(?7W!PeYI-!3|kdOfZ2BHQ-d^|5*ixw)6N?&G{^Gj(15 z`3++CqPSvfWgc(aX*JzAbS-=8QvLPwm+zC~;$faGy8F)ar?=U*%=>iR<8fHzCL8_r z`wT1g9oSkFUHSdQ`(A^Z`}gfO&(!sbd$pr*t&Hl&S%D&Jcg(!RSN@Dc+wbBELBV!V zQQZCi*Zj8T^U8Z_j0xzbNH|`o{^YgluHx=5%JY(F~@IiI&yBfw9sy5V|S^r@)H>n-$c@2}nV>c_q+ z`(1adw_h)PbK6X$-Y;^&qsoGU3_tJX)vo_9@22pF z>qEK0zNVK(PS-E9vefpcFPFKU`x$%SiY5Y5%OTT{4CNb?nxxv8=yiL^)K72Z< zClbfq@%UpA{{y`~>sOL%OU}D{Uex3Nyz0xF=U%t{ugX2J{U$o^{)Rt`AD!IfbjW9K zZ0=0ft4lnEkG^$|Q2XcmH6hYYRQO@)XFHDfOlL#VWX@XVpZsSqFW{C`dfeHZob1MQ zsn4&<(zw%#zddH&xS#jqr9-L~aeYf!F1%OR^Za;P?rF;(@eE%$xm)}$%#3^XevP7u zM`H%-d|!#Z4$p)KRuUSYQyBJYZsTjU0G_g zSD?1^p7!VR=6m0EMr@6}ZW+Dv4)5%2|F3Z`V&o-1%sXJg_R?@$cSpqs@X+zUPx)>F zHJcWG;K^$3s$e^;t@!a%tgqCfv~IaBPq$lKNeR*#+paAvzFEDnr{jlC^Q7}eg>tqI zI}In;?hDm;#}R&9Oyh0t=J2ZO`PUbh2-}tWEVv#wk3n~)@UzhAnID%dUApAwf1W7o z%?~EZL}qSyB4K&{_<^0_#@&1U3wF2MjPc8Oqq*wxnHtFr^BCVT9r7^I>h#q0>hNXy zb8W$)bBiN#*_;%6ecQdiGjFv$RC%wF{cR)LqE-8^FAx>J znH$J(dDs5AFYNpJQg1QUNmpk0Mn+#=`?>b4g@Rl2@xBBlC8a!B#tH9r;{GRPG(BeG z(=Le7Xq~#~2K&)#Jy%L2cwU^e-;roOaev6$l{$Uy?g^7SI?`VqE!=zbXXlOQQzwNj z?aWV!j=FMc)9GiDO5bx9Prcr=Qtq+T&V3CRnD+c?m=$by>XUEf^2+r>k9GSan)cl4 zIimAf`nEt<^30GsAzN5)R&rXVs8_z3vU>H=V=8HpYA3t7HuSKiu(>V$EcxL2BAExS z8Z(4LmVKGKwJGvI>M~Y??5m$x=A4|pgwHG`&Hbj1dcAV~A*%%phhrE|-LuMPvb_1R zBwcG;=+CbBKpsgu^8+T=-@Ur_=Jpm%{%G;+w=11~S!r)CTxeqb^-CZBt7VsO9lNcc z_4a1)w8{P3XX=>Fe{!X2<(*Gk`URa_T#gjGF+8#EzOH|0y~MHdAE%N|yD7!5iw=0h z+w=LnmBF@Yd$*XrR%V)3Gwm_o*TOIFZTr;YCO^8GUwh}8&*Jr8gx1uh)ZVdSGFTgC zJh|n>&b6+#`*|m+N37GejtHN+L@9Dz^c($%3YFP+I(Aw8mk*{JoZFdXxpInTu!i^5O^YM0 z?K|URz_>X;fAi9yV=U84Z(S+W>PlJn!^pU1HBa7(X*-iz6&>d-bvnziqmcdi)D4&K zw%_abN`BmA{{K!=>wJA{|K)44rdEA>!~C?>J9``Juf}3;&U;pE*MetVvpJag__WI1 z2P=gN|L)MeWvKM11Cp~2u^P-1Jrd&duu+7?%%=OgcF%Oj@=WiIcPB0SR(n?2M2?>^ z_|cB{tLH6zdAD9)YnQ>C#*HmoABOL;HKWjdGdWll^^TY zJquNsd8MMigX>@+TjtSSsk2$@QoS-t1D0x4T@!z9CgpoM`<(XG%P($9hGb<3xxRY8 za^C6hDXC0nu1Q2be#H79SX%3RLgeAcmy_ZTmac!g^5Tsx#~o%(xUl))gjFf|i*{Xm zKF#Ff#H@cu?rhq!;F9*S=>1y#pN}LJ$z_F9?p(PdDfVf7JJa>1J$x6QUMnnlyZf<4 z;LnY@-M%czf6dx$Y?YOil;$ZjDcq0TGvDI7irVc-hgeU{oO)DhYT-JeeWE7sBKzFm zKRz_i;$4Tkje6laWu?B}#fc^BdylR?eK}0bHg$dDq3cimvr@PjPNy<@J^fq!(OZpK z%-q4~f%d|+xgIMP@Rq(>BqerxLz&SHhRI9MSVk{f_gT|+srUQ|n>X=zYNeX(nWDQQ zrzx3nYU@|mg;r|0jgAS)m+Y9Pn6{p4zO>8fc6W(FJsBrZd+q@8^9q3A;V>gJt;dKG(@_nb*EC z+~moSewyo4L-E3vX^%qVI2Z4B+r|A+tw-xAlScZzlP@Q4>EHAzXqwm4Gv<*^&&5Kn zb)`xq+-y8HZ@$qN&m4_u-0L67?SFErr6M%qt?hQL%BqCo@VMn~bXH#6xr6=DrLO4) zuWqf~c{cR?Lfzl7m6PvWUQOWUHq_8tSLHRZeqXME=9$cpDvCi?%v{gHQPP(>}_w5&f9Vg4? z7OAbvU7n^iHUIP*UH_*=dw#yN3IeUACGUyW1*mwNqH#i7?J;r~+!ZnHCzpP@*>JM>-o;Nz55u?}&WWCq3kVAn zf8%pxJFC|0uGE?Qr5kLXi_Trl+Ut9Cy4gN{2L8|LkC{GL#%|ANsAvCREKz^t zY3oPnKjwxLItmk9jyQwU@oARI%_l#sV?4f8)RkLi^KT8_0vY}X7T;F9R+f8h`0BC5 zo@1rLA9Did`{Zj+x#!y2Bl>y&NgH{_iP6)<()L!&+;DEg)(uxq6z}9xNq@TF?Pi;+ z>1VV9w#*RFzwMWEx{bg1R&~?y(?=5b8qB=%V|R$U|AMSl{Q>IdC%>z7nEAl@DO-Tv zC&#C(Ucb3!-7d~Mva*(OLHO1^l2Ya(r5;o`^qnLoT{_>*u;j(x(NoKQ?O@kpE(kesi!Is8`KB3@#B|{wFPF1Sop&haqnF;c z$?Af&w?(f%kXrgttmDql6q^zzt9?rG?OYb8(@)I3@nd%MwEFGVOP-#daZJ2N>j6vS zN3IXy2K$mM4BLba_890bFN|CCUHsT>?#I8UGuHnqI=25w`JaD>ew;c`&K4(Gk$lXW zIi2A-ON%}aPx^yTc8}883^uG#J-uJAucM=*Vh*TYGfb#o&Go=c?)cP)2lSkKJ31Od zFNS?l*t*oe!cTMEI_v(wzS2LK&!^4j|CGGtu}RQnttZtRHyP+ZZ2MKkw(U)&+IPp4 z+~|#4L}RRbD&yr+%+zkpzQq{9Kk4}%(`xRGw&8y!nfiQ_-ku*~%lx#`@}TiPj;HTA zx_&ooS{(3g!KUR7W(PM#tiO76(?#z2sSeHeWei?F_e*`WFUk7#%u?rym^sHxy&l=l z+jwW^uIIh$S!)|F{bPJO`yEe%`W`FI#-&U@cpk_e;BVO9{86^X%V~{pnnaCdufdPM zM=I(iKRj;zc=|N!fAhT$^Ywb>8w>F4`TS$^X;sFD+|1J%CE^-SXRi|F-t8Io{^6Qu z>W|)N95I{n@2EuP{=yuAwvG;E@X*zS10Ngg3V77x=h^Y@|6KCAP_MWx_Go(bhhrPv zW9`pxJXT=)=w|c#CG+p^lH2~t@m{sjUOCZE*Q~yOIJWxFgvo!IOE;($g2m*_da#Y0vj7YPV*8Z@2Q8H~aRi0{>glC;rH;N^v-tvfztPUWvf(?HytPVsfVh zVhoy(3rCcNoLrJv#H+)s7Na-i#J;Po|5skpk~{GxFT6Tw;>9h|B8Ro}Q)2Vu@9~(; z`@jBce!#2yFYik#v(&K{u=!u(e>vsc`(>9uX*MPZbtQOZB_z%9f4u*?@Z;Z^2S8Ja z_JD#UdP=7)Kw9MpMxvtH=W3O*W_kH1ue^mCbLh$gkj`P>_lRxd*!R})7 z+oOw5_p@HeiMFY((}kOEeK!=aysCHb;@4?nf3u#ftf^eTn@wf*)5vdP(utq8+&^O+ z`DQb>#`mbWlzmsHo%uQG$|)foW+^3M^C>5vFr*5vV+>U-dRx4jz394d;o9#8xOML3D>olUNj%tbaa}L7;CjGkN>KN zVgF0(BsA+dI2-o-j+oYL;o>4A2=e^a=TT2TPP%1lb5M8caY4quM?dB-UboP$Z^!Y^ z0`?qt&i`o5i@7FecVhd7jXT~&lm{t3ZYvYtq3E*CA)(SXZnYcRH|CRS5^Zb;4^2AM zcrt8pq{GdvD=sYAQ<|Lo-zsV4Nm1S{1=*Zw?O&b-#kCz(Dd}|Jn&7tApfb;zd)rlA z-BWD$POI;D_;R-IleAZnhEigF)A*dP6+TrosMxY1tlixCe&#-zoqCS+`XfK8c0IWNk@dd?!+nV#2YbR5X3OYpZkDL{!sh16*(1aD{K2%%oKJKV zc*?e1db7A>tytVUq0$}E?1u{$Y|=XZ=c99Ny267(7ndW-?w~<_#_WTS|7>Mm_I~5n zyZ?D^cO9@Q{1bTneBqw&T+;Gq_cht&&hMYTckgkV67{DtsmU9cb5*XM>Ux@g=e~M* zrPtan76v=YL`~zLELyj2|HnQB$h0po4;!4W ze6Zt^yM}$;x7(_l54O&`zJ5-9!{vRjwE(ggTaHKh+CJX9=iTl*iP8F!TQ+taTDj=W zj9X4KOXZI;RhG_TJ2=Pc>LLy?F@dB?rUT-$)+jWXOMPgT*nffb|2+0TCJ9>_8Twzv z^EOOu$Y(lucxHN!Zs>s?AvW*(@x0Bt2Ug!V-|DpEl_3vrck%k{b+;C&Xxs^5xxP(2 z)7OA!@tRZW*L5P4w)LNDvVtTN`7f=j`ARCUM{CIMiFHw!VDT?wv&CUS!F~&?h3e}j zI;;ryS(ZNi&T^-Fr%x@~8=L+A-;t_yRgpJT8ARh#wy59uoTFRiu<3^HN(Hf}-w&iP zaPfq*9Zpe^Vh`)+J*l~f>CQs6U(Bbh^o}o=pPORuDLuC%E1#))pTLE#az3s5{VD%1 z{*A9cKV|=9Ru&ePwug*8u3xQd&p*&VcHa0SPksF|?tk+n_wyVmXUIQO@p;Pr18e@s z>Md4vc@~j#!`{O{J6BdGbVDk4Vpso-t8ufr9@Z(?%(akyQ8ZoXM)R?xozh(4*HY)^ zwA!0bet1w;P*Curgdl@u(&y}uBgt+&;g4$W7Rze<`WHO!_J)K`L*}~| za&Ob8Ep_%!)(S|*=v!}o|1@e|slv>oTx&h%btO6q&NhgAvbjM!yK|k+0cn-Vm#69I z7lZQoM!VAm^gZjozYywiG_d0Y)P$g(i+Yd2VB zAmMwPUGGm@<1Y0wR<79$-^H{Z#won3(9{zQwwSUwl4Y!Tgw=_Xj8Q zzat0Aj~Sheo|X1aX~Fv^emV>D4KGT&{n+jKw!6z~`yv*$oa#eTEN;HMJe*}V!lg#S!Z}zk|CrnNIchm84b;IL|{oNfEO&kq1%gy%(I~|xKcV@DB*v#AC zY#*~sd}{SS_}_Z(eeWWejE*;(-g>a{_3w&T$z64|=D)jlpIdy)*5T1s;g_XP?{BUP z_gj|U{NQbv*mZ}L+O4lnKE6{^d}|3??uy#dC|0#>-MnRLZpjUinFL3@EE~!n=w9QAIp=(Ms%7R5L(%!qC3|ciy3Jy;oW~+TQ2@o3Xlvru50^fv*Wh&VfW8po43%euj9u1sr_~fo6cgf(OiQtai*+-aqrY z$8Fg!c`bWWgsrSMlxV~?uUE+GuCc<8~!2cCG)nbA4<{hn0EQTZkxw>SI41x zY1Vdzo!N@-L|5J0`oWBO`*o+=whH=R?`!zZ7w`K1FxqyHvXWAs9H{H`@8wU`-^S|? zJ?7>%n798tvz^$h)F-b}1KZfnUR(dcTPn1^H=Wt|^VIL3cKomB^AO1uc&>BnbFobH zm*@O>f1Kr4**V=~n!bMf#tpgBVN>&a{Fk(uf8L#1trPq^Tj#yV#(>YaN(BO1!(*zq zd|uHV*7Ka>D39!$9@(W$+a%^sYHQr7dWa?HzTvO?b?Fay7bks_RW7jI9B?wJWwrQ* z*X7y11!|5t{icUf76!}~(3L)%-?DLMhf4T8rc(L4QXR4BivxnMR!v@Ub;_1%joj$C zU8Xmp7&rNz*k#;N+L*<^V(rt_Z+A}(*VW!yT0GlSVEfN>Zo4gS_jT_4nxA{w_*G}% z#oRV)M*-Lh#s9MV9=aUhd>Q{~qIGBekr|%_x=Suh>iabL$S$2&z2MRn*Jk}%V5V|v zU(9EBn~yhm3qGI8b(p_Fu78=`zcb%N3;jE9+;Yx1eo1EGic|jC0?zJHdB-m_x@esa zSy|5dupmxeT()qn&Z$$H*EahpZ})lRw)5GhV7b>tn*Qm@`-APwP9<*jpVswKU!jKa z!|act9dVbmFM5M!LSHU%f2ir(yX57RES-N74QHvDHmN0t_#WffJxh)K#;cxLl|9Dw zMO8gdpF4(}^p^dpIa}r8n~x!tyA`h7w~Klm{j_}Q=4ET#es4LK_;#H`?^oOB`@YT% zdp7@^;n%0e(=%_+HT~};{qC2W+@jU<M}7 z>t1F~eL5|3%p0fpRXy=Pcbma7pZ&=m!-{~dv*Okz^QV+8FJH6xl<`V7*XReA8@Gk% z?%vujHG}Qf!h+*wR|3<{TV`$%Tz~TZ*7e7%ZZWJ%y!&Mx%lRw2dwqVNPyQhwDELtT zyzycFgtdJ4xCPcrCLO4rc!N=pC5od&Snzr7{^Vu;m3@z_`X8vjXRnsMFDLx$Yn4L& z+z)wXe8N+9oS7W|`{X8M-r%Nk+Xpwpd?tTwbNq1MjH{uNwSeuFLy2xh+}?9lKQj+z-mSjaHq-Xi9WIA$ ziKTBXzBlc#UNyyBYxeBtYq!h1y1Q-T9p0W~p}n{JI-NoD@GhY7v>&=&0X$zEAL%yi z2oKzITv<mxk8Py`50` zXri!=?EmFfJz=X-NmC;h~7}yw>d`LGjm-)nXb#zLJkF+<{YD2E-RL$PdIz} z+q6^FY`26CWN$Uo+@P~?Z$#qCnYN;vdAH~@#CwT;kGaM%#q)OFgqG7$SA7_=rTKRH zRR~Wum7K$NHsE!G)73M4Ios4)FYh;tIB@eb$Gue=d5s>s4yiR}`HM+AJ@2l&nKR9C z_9?A@QH^054V$H1o|i4D?XTW``n}}ph3oT}_lZfp{ugC=-SC!0Mv9Q2VBu?yhMIi! zmTk?CmOW)*l3=gtEbFM)_E{wT_q_ArbLLi8EL>#qDEeK0PW+SA{RyfrdD~gV1#W7& z%lEUc7T4wxTCnSk{*2c<*61iNc@?#4(&pTSQ?C|TH^yz1WqtBbSJbW&A>krix z&WdMCrumoM#0o)xl|ZPG-?kd+24q~>j% zNQO-RfsO-V7t1c%30~w@I(5CiYjO0(zouGG^iqr1nrk~^?&sBaO))mES;ai7%ah;sFIw;J zViWVGbME&It9Q&!ezoEGi<|G&xOtNQmv;2%-R?1S`Q}(K@jlDZQtzG~&7!kei&;*7 zPN^}{x0zs*cFtkb4M9!U5;d{2YYdl!y74XPKFM{`s#fQKv1arO#sdqkoLqkKU6ZQG zHHVoO_@~&e;1QYp&hd6ahY9D@)&I*NTNy?_+%)t2snb(CUtVF&WXgVi zXsWTxuEkt&mCRXdooj2a^Il@UAgjM`?V;6jS6-h=djCU-ukMkXi_0A=CWZT&5d{p;`)s~F z6Of!1wJW%Hj*#j0=mf*_7mDJJuUZo~fk*4JR&-BMwC27iK2viJrL2xwb>KVF*7eXZ)+1OMV<-)t{M`|b(fyQboORsQx(E2hsqWx8#r zrb}D;&W*k&*SwxyX>yohPq5*%O_i)3^G+MR(f!29P`Oe(a9xjC$jNU-+-mU*e!`zT zQ;qz*=IS(VYC9=v&3*cl)4`yjmOx~WqGr69H z{oJ~#*W}ZyJHO||GxmQy%ecZ{?nd$AC%sqi8MSf7NeT*n21-@;7rXP?yyIOa&sGx8S=Aq)nC)>Zw!cljXx=s^zvTK3o^?Lw*t7S(?X_7S zp7q4A^VQp=saLrtEq|LD8(ZC7^l9HLtx9PhHnACh_$)u(TjaMbVbgNIJjT>jPgrAa zcki6|G^I8mK=MG^)=hOx0WXVhvrfOt`8H7X^toFtXLkL$cDZ}b@9U-lm5(n^*{ieV zeDjlK{z7&cvpIH~yGFY~#`Jz1{i1xZaE}W6o{nu5|E$`7{kUQDvibA^|EjmgZ9ngO zq#?2A+O(wVyJ+8(T|mHW2s z>C~rgTV~tcf=<`J*FQGb%zL5Lzm{6%TS`jjYFxJbDBjOsyXo8hUlre**2tDxT{@N& zE^72`>!usYLAI~|tZhAU)a+ed`GzeX+|#5aZ!k^Tyz>9H=9B|lw$GToZKac&*}?lY zEuk}P7;G3UmjCh(6L)Go!z2@Y_}L=1DZVRs)-<1bw0Xt~f0J`PQ+0o2H^wWkW$jrj zzHipk*4?^V!Y@rPt=qO{!>jwzEV4gRK8nBA=J}BAlz7fQQm^~{8KvAPxugxkf`T6n z1Q~wLi@)MrDkJz@?cBr3S5$xHfBCxNb9&d~3+4ak7~1&C$wL0Kghqc zI>l1$rd5C z=m1IH6+K0=%&IwUpX|S>-`M={(+}Hlz1PbLh8@n{P^-@ z^_}GKCz)FHqJL8Nu4Ae_=(*JX;QcTC>2~ zlKy;_FnRMKf*Z6Y4z!A^?|w>ui0tvx#SOg~{Tch+*HzvKw<$Z{mHq43^3=!GS8X*H z{G9xK@?VkTVYj@rxvwtY^=HEM71R6MPG}ZRUg{e4B22mavGL#88|75QGjFW(VtZw< z^VLipDZOy@YKNI#3wnZA&1X5$=X5hfi`g=Q&F835IK!r=xp$bSpPg>eICCdk=XJk% z?$Yy?J-Huq&1Pcuv+u9NLOz8Y(3j49WS#C1@lX2Fx8{g_Pac%F?OP9-Ghy`UQ7pYK z$#j{i;rz?{uerf<265+pgdb+DmyrOC86SxLRnGSK%z>HH_x@XN7m#fH|8xEZ7AF+xPojVqfxDt+Lki{j=GJ`s{T~{!XxF{CZZw$Sc%fNzsnW zmz?hTZ|y2)IvF%`*R^X(_uGz|Jx!^Ow0voQ`rNh|CFh$@zFJUy`INA$-}Kp2W^H=y zxnfR&p>^>f3SLj>}&41X}({UT{)U#*J~YeT-LwD>PzPNSAQgH z6@D+umAesfzU^rHJuiv}c~g{W!fJhs~PLkj+L{;3IC~mE@(J^X8Ii)AB7)GJkvv*mE2k-^zL7-&bGH- zZ*3{ndQuuDmU(hU$ogG(y*hZV?44#gb$eNn?Si##Y+}*fOn!@*Rk~g3H|_|t-mt-huAXx{NXtar+$mFDiP{xcz;YvRQK!R7j` zPo00+2P?0(agDT9kYw0wVsK)uE(5b#wD3*e)WCaADsNeIthr+6tysc3<+R%~uX?4= zGLdghRHF{m#2j_4EsfkIG-d7H8NXlDmEDQ|v}o8O(kSw8Rl+CNhY zW~>bP%Xgvce&E|`&-v*|dxRgqHF+S-`$IPVLx0bc&$Acki>+?&{xPTY#h&0&bi&}jg6uL5~>{2%G;$lo~d&JKFYez>%v^!`cgg-~Z zBHKmx3jZ9xGTZKKWykJowfjRZF1MYO++R1l_vox$>jM?*r%XNS?vNr8CgLFPv2E`} z*T_s)evfHSvlV!9noqhmcZ5o5%${0o#b#cXxJ)~mcm29>}}w+Fx7nCk={i|=~ye&$DR<)6Qb zmVKCeR!!}OwtXeb{-CGPFJ?{kJ)EFX!5;T6S#?7!V?&@*LiSxNj-H>^=GVg2^J9!7 z7herjGK<@GaROxRbH&;2ilhqBw}Kykyp?#BT=nU1(3js57w%v;_W8Z#D<)i@ zQrbK9=skhR_}$-9O5^smbOb$3Bp6tJ!&-}{1&9lOp?!J_A%6q6V zot?3k-HT0V^QP$^`HsOSJ=9M8WJxF|B&eDVLfwCO67Fys!z{M zigM&a-W`pfaq5)hcHYgh5whJD+gHd`$Jv-FYOVcL{NV2UioLTO%3d9Ii%v_O%rxEW zr1jGC3F0db-~Cc~kfZ!O)4RIE4fY1=yW3Kewv~TKy4oQ0D(&B%=4}}dd``Y@jP*bJ z`f&K+XN-Tn;uEYth=#}i+R~8g{W1H=bFLR}XGvUa+Q+-%^ju*bqp9Cn&a2PfTO)Y< zPOg%Y(z;HD6XjL!FaOKT;92!}snG|QEuL4bm3}#XIoct?UGrt5xYg}~aqfG<@A*BkeQZdiT#&B@hyO0hqc%XZ9mb#b|409wAtbK?2h4Qc($ zPURMLn{kGB1&Sssm zjZ1k+tiw|S%{;>>4Ia*0^ETel*wgfJs^osA3Q^%ju?la6Z-iZ6#d-0J=S8-q+kC%% zQ}^DiZt*!G@2*i}cd5gCUgyAh5!XLGy!vl<`>zkXULXA~XZr5yhH0myeXgE*=;ko} zHOxvzF-ZVH_$ zq3!D8Vp9hij{5O@-tq9`3bo$zIu7Uwp0BoZu9c~Mc=MHi;XWm^dG19)8L5%AFAr^K zSg(ECPg^u+%TgV^wW70b?R@t)=wWuwv($W9$Vcm)<_Qi8d@_v1e&kemO^1N_qs%EyT@GjU| zfc5s;D|DX!zEGMR=dqf5diSe>a}^fpu98aWCrfUy9{VgNnd7(iNkdlb`lDP+c;`Lc zdE&dH!XCyyX;)7E^2__hu}HP1&T~N}%S9XJOx}6^TsGPazM`RpQSQ^KW@vrmN?E#? z$!{fJ+Dh@FQ@LTwX1|`6s`fr<6+_PUcQ35lUVVGi^@?%R6~?A+vm1u_`L@;dH4XLa zuD#E8mG2C^!0W~UU6oqM-NR8Jl>4crl>cjC48LHZU!Tr4?_o5w1JU`AKAjZm#u;{3HR(%k!FY&#;BeHxu44lQk*+ zQ{cDjpN>>YdfzUp%PCf4tqy&hdW>BvN_s;@Ubb+Eaf5mE%Q>e1IHqX^o1gaoX?yU= zO}j@ST62E3+`Q#$XYVleMK%TEgfc^ zyWIbG{S!DY`+Q;f9f!gg=~K7&wQtpW5-t0kXX5u&&TNZ+D;fo8t+kynhw&9pRQNVQ z$(*I8%WYWFviCCVjQBP)b6w{q=kpAP2jiBf@16JEIn8;)Ef>9vrDm3I*Y58>Fw5BV zdxUJ%g6#~KZXOrMt*-3czGD8pTbnjUMAw<-mmWGWH8V1Hee;PhJKl+oPJg3svU$|BWk1ym zdYCnHOUJ~oDJ?1or?Z`Wx9!AQiwaHeO&fe>`YctL#j9Yua`MjaDqN3FXU?DY>*5=K zlebY3jUEzb844I5D!rO_Ja!?p2{{-!q*QU-b*+An|?bc zg)8;#>N8t8{}oL&jGiX3sgQd^j>g2V>1Cg^g)bH!?w)?qQe69u$d0M&H@^9^3%9Jzd2;H{)!?a{UJ2iQuA!u)^r%i5bhKA9!@`W| zD}I08e)#d~{>A<-ciy`Ga(p!B{IjM#X-0cvZ*OvLt%<0QT-tF@Udj2V^KY#T9iFbg zMlk_4x$hgZ7QT?ZK3yU5`S*~MmtAU#J*U~WS}+K!C1+*DxttT8BF4T{^n7Z$z~n!^ zS_xvQk9AzG2>bX6%w)CrcIBjyLUw{r+gsP8&Xp&PuU%_BB`LCPjgHNZo|>SYVi9J! z+B~nh&wpCLwIX!ivZqX9&F_3G_q_e)@mzHAn(RxjDtGSq_$A+a_O{*~?>M0ya~Z+H z3%jdbws>zzcRBLypVVLLr2gxtxAq;p{!{k;u0NXZ=dPR(zI^ABB4L+vx0bLgF}KQp z4r05&a);^JwZF41oxP{!ZwZex_wf7wvnwt4`sv5pwp>}$a5AfC|IRmu+-Guq;E7@I zn0_a4pUSNvoU_2@U{Y>%;-AM-0cau8$<>%o0dCOP`>k zbnf-@9QLklH&)76NykIdD2 zsb~6W#;p+L>ZflxCO!X~x+*1T^2dcCs?IByKL4r<8rfR%SMS4(F!k(?H$MB0&zsuH zcHZIP!yU80*<%+ium|*&}_>E^l9w$;&GH;~6FQ8+|}MI%UuvMVA9BGiI}|w|BL6 zadD}6Qhi(WdvkP!iu}{vd#3juT^IdsrPHyCVPdBZGd!Z#-gb9L37K-q)SEl-{xtJV zdwnzaIx_7_RhVh5_OICSQw4*hM;m`%?fVq5RjEd&9-?U3p-IPaH$hN*})q zJGdri3%`kUkSuts=kp<&>1j^UKE0_%51doK_#T>G8lyf}rfVmg-t3>fHhL-F=IuGB zZ**4OH1yq1TXW~ALgo8K*OhnQ>6oi5WeOhikP-aoc_3tq@0I@-qfBr8Har(SXZi7p zwTt}s{O`Bl_BT2~He#RAdq=G&aoXK$C%=jmkd%J4fmP}IFQxvQ`3u~_zB1HAckh%5 zn{}GY<6V$~erVK6FF9SkqWvkR2jdtg>rTjFO#KoaJHtV;%}LVjXZPNY5aHVak{{mc zNBumyiFNu+t;IT<5;Jqyle04!uYqPcT=irE6rC-2w%PE^@8hb?|XIJ zVO^2WJF&Z}+;2m;_IAUQapE3kd*<0r*t6uP!cDK&fvV94GmYh+1Rs62NL(em^wXBd zY(8dx`?SA_XxUp&6Z@MGX|GtFVEA)Y)Usojr}w0A|B_?uo%{9O`ULBKyNdbNWk>uT zADQ8z4?Y}GMo_Rp`Ig$FcU5ez*)A?FcQm&BPEuUrv3&I zjVFU<+8jz@oDk`|!(GhfTZ56;?rupf=GP01-gthI@#env(`H9bl>Z77BZY$gRTlXl zYHFv;x~48kzUOat;L$DLHyc)lY=6f2pz_boj*gBUW=sn1E-XJfD-L{?e)YJ+!d$Tb zYm&S4^?Sj->u)~WvDhZ4bZhCyTNtjboOt}d_P-Os zvcYBE8m}r<&ZkPxJ8|vbCX+&k&>1>XC7wG~7VtRF&0&0c^4%hFwd)IvrUXfTE9ce< ze`vHI*Wk&{?4OF0?J{44h^NbPyV0cnZ#42Clp=Gh)pMS56JNu&R>->eh*K&%p zrMr{WZbq-yc^|4c+w$5!jt$37DLuWH5rLB8es}eqKVs_%2y!mpfW7^dU+bq2eg^rGu)H3 z_#DF=Goz64gZ)u~v1l9(%)vLyysx4Q%T#t@by2f zCtrnM{;a6*$nFwpV~0T-n`Cohn3|2TX-cEpM;9e?LlLOYIvf{a2+ zk7VxqRtIeH{BpfxdF|H4{5QU>`1>~Uc=W2??<@XKti0YBt)8pwa_xJV@SkO(+m^bX z3ORdyp~SpTxgjduSvr|n_I5sQ>!i+w9T02V%sb_++Y>MQg+VcA>Tc`iDtnzcvNh+L ztU2ZFW z*ZI+}=lbP__{;BynJdkF#pYc(R;k~5l3t2|}^r$BfCuL8bS-eMgdiBEmwhONJ zw|pv2jXmO9UGL&@qz}}iP)hpFF+=pN)ZWL1Q7!Y<)Glhzt^c~{e8I+#AKz}db}VUs z@vH;ac|%TE9$CA3LiJjmTctY=@!xFjm#jLmaJ{MG+@15I8&WndYM3+AYR1)-iou*b zQx@G?6J79D?Ukv_)VBv$oS*pYz|WmOq)wQbDQy<~yPUC7cFk(>cmExd^E>Bc-Z_!K zS>{90wD}7a_0w0~`#4$nO6G;-JTqFM0vCvOhDX&`a&d1-P^|M}osp~J9dZ=>g)T3MLPFT9IIb_D?D7Q>& zy1q8}*Zd=FrY~l{UClV@`5u>TtSuLh={+fx&r{V+J2mx`>+Th8A0mvTpWkV^{p{^> zt`*jf`D-6nX=j{%=EfDeZE=zIv@)Je`3@^e6chBOs4}}{XdisXQ>>VvHz{bk#D0fW zCF(MCS6b=Z^QPww8*!CJA<{-*iK4G-Q2Oz}>t zHd0t05%zz^-_p~ZYa^#Eu-%vx=6A%-e*?U=)evyej=zBC;`c{2cidw&)_w2Lj(hiF z-M3xa`9GRVVEb@%`|6 zUVhtwD2)foE18T`i;~wFJF!0LVqPlxb?>)-C+~*$)y~UG72UUUk^jj*m+}-pUvAwH zdVr~*eM-3lUyiQbTQV?nz}t{l1Y!<&UEKe>&DwM*RqyB2#kz#h&D^e zWPNl^SNKNgJ+a*5y_#>c#CR`s-3@l#sC~(3Ms)jLgG7C;$~o_6vfTT;vMn&)+Q0JX zRW+BM9sd&LdnLhV$o6$`To4efeZQdga=T1&%PDWJ1ARvw zGcyAi!o6j?16`wU$eA=`>vymgoo-pPH*8f_W3Iup&Dwt2N!|{pVrG9i&%9A;(>0N; zx*V^4`7-(XpeH#i6btI(|<9 z`^ottdb8R8v&Op3d`j{!93xa8|2 z`IV^wUW-#JfB8+xQvElPQ6RlIO`kU@daB>5rzaa~mP~uzA2sVv*wV?&oGT|?3-tf= zD%5)0BMI}I+neuYAHRG0rRM6eIMw=myYDjBUpvHBO8;G3cRVZSa+G-CT?s`{7hh12 z!7@%m`OzE~X~i|#dHeIb{>ce`{GwmLUr>9eKxwbt?jG0U)|~gM-iYrhiM}{{a`>!o zTOaNaPhD?Rns9dt=lOv1wv)N<$7;(<8ea`8%sKbZ#WlAjxjDnwzWVlN?oDqunc94- z_la=$&e~GGSdZ_8*|%tiQr0bBx25g8XSO-(GwT6vjanvs&KUm*(TDO**?0Do1ihYH zzj^=Wg)>y$8NEfdnfd3XiK)qMxZQkPjp6I5p!=(D&j=5w4LT^*vi9oUjk;S;y}Q-E zb^X1XZ&i7JX9VPS_dSlhTzB;Qe{;lI!|{<&XUt zBOBj5ouN73rTADN`%dm< zyGt7*vU29SHQoEAl{atdWJ#7b#+96Ya-nS}CQo(jn`GU5Z%%&0u|~h+?mvG{$X!|Q z7O=+BdV052-N8F9i+F`AQUj+~&SX(IKTUDL7uE;faqTxnDwkd3UDSc!1f!^ZXe4o@}H^0%`BpemFym8sn>)MWL;SS56?_6y?I*Nh=g_Zg`vfJawb|{y%$iDpHq< zhEA}FmJgY7ElzThx98LMEa#USSv-%iTygb}zfeh$)|MrrZ#FF0`%l<)d*!|}H!J0@ zpF9=sutVeaRF+3+wqVn@$~1nRZFmUQLb z!0`QPz3V@{IJa#3b2goQReQZQHyE$p6=}Y3_2(yS&a6DkxMb3p?XJ5;`}FQ|%c+lo zuG({VVF~$p<*mr8$I)5{Nv@->njd3P0F;}KP@RryWwfA&*r#iE6=D--^R3YyQb@;BZp2jdmMO``rAo0 zxAApk#;MJ}DmIB~Tse7laxD9$7VZXbt>UJGo=eXN$?RX@$t)W3ZGoYrR_eN+THdY( zoYK5!DxawIg?4kRh15>kY5H*PRCR01b5-j5zuNB3|KcaKe46isyR+S6_WU}uF)!my zW8~}h$=3`co?3dnc)I9SP-rDhR*ruC7v!1=w;L2J!j7ET<5l}Z#%<7Ru4bb zbu1^S0%QoI&60x>B8LS=Y z5a|%}E#y>W@~clFQH*M~KXRT<{C(Nh=UT6J<&HNYM_JccD?h!bWnkr}+kchw?8i>S z=B3l8?@2a!wIKa*$#K_f{81tD;YUAYEngmu=q)^$=zr61pu}Hi z|DJ5=ZfV)uQl($(!o*JZt~`E9$$K}ei<_^nu0oO5n#ib-x5i~5%Fl0Wh^HUru$}Ox z%Jy>Agq$kN<-KA%e12{`v!-y%E{X42IeI=b)=WKlc@x8N$$-2APn;s(_-qJgNOfMQ zBfXWaYxU1PHk%e&zAp$)Z+O*_^7LcE2G#|(8+e?3bEdMh>#aYz{FB(dw_5wZOiy^< zr{3>bnsawumCDlEbftAYinA1y9yNdl-vu3>T;3Wy=e_c+r#r74PmCA*DETN&jNSTu z@^7POef7lS z|4Ty7Ka#wXm}@xQv2x<{py#!W&ur34`%?qg-FP`q;pS|P0v`zj zrw74JC%II-XS`{8GC9LGebHXM89YD2#2@`$6X3>HFD~4_GI>SnrYQ$6b8d3j$k=A= zy5WzilVYtrtJ$%KQQ~yYy}KvR#@}u)uMzxhKNVJ=GAXzmvFx|l z68lKT<$u+dI-%Nc`{D#&_MN(0J87?MuFfp2C-45Sub!~}Om(pRlPUYXU)Cgd*gV%( zD5|?&q^qlyIz20;=#8QT?H?hQHgNGycy*1Qwh2R39ircmJLLFfmb35OlRcAIAd0kD0f+7UlWZo6JABPpK;X$m0FaYD4B*Rh{4ZS2i*E zVrk~*f5*$0aNRt!ktr#^?ZgX~t9u0`MOSkbN|&A1dbR%4y2$1$45f#qZ>~yTn6>Vg zvNH2Y(~LP+KWa@lBT+j^Un2D6w7z4h*70N zB=ggkDQg2%#f3jEOe|$|p1Ws7?{&>7Pg`$ucUCXh^zNuB>!!k_-J++DndMAXzJ1L@ zzrirUIql{$+1nx~r&(D(+SMLq0xKIIcpq7wvD)JO`TLg&`xZZUEinn&lf1T4*|nel zlkJU&HSGI;SFqg=YTc9Tw0G(H?|v(`Kl^3Dr1W^zrVX`4wi|Q5vs54bCzX|AF->aP zT2`;6pXapsP3S2)WE*|=&Zg}X3@Uj&wjJ2OJ~>cNeDVjzeO8v|_w#9-p6qapb)$I5 zwc8T6OB<8)te3A8$zx1Yj{Sb)ky^^r^;4EE{qb&_;C0)zi+z=qK=%#^GD;{t+Ef2% zSL-i}canmFf~U1@Ya?dXTE35EoOjnIe8q(Cp*;7`om%wWV(*?izgB;Z{WCSN{Y0ki z+LjXz|5>UJn3)!xmfvaNX5vsZZJC2n)f-(Y1weC;nQ+Sp3#0^yQPc+sjito`&}Y zJ~b4SgC6eL(a~{DKtoBX%6E&O%aOc`OvTsN9q-*{yGu52?|exesXeLu)!nu=^RBPh zSiM$b*6sUQLAIgau0D-roVa$|{Bt{}z}5nMRl9!qy#Dn|i>{S9MeJhtI5*+3+k~8- zD!0Fh1x@w&xukjluYu$T^#{!h{n)NCr#?4kKJ}|%maM;;-y)8(vn(5!aSV4}6aVZx3D3|33M@NbNVhzR7kAQeR%) z_AR|`V)cS+yMv?qZF6y;wkg-0#Cc8NiZ>q(cEB+rK>Uf&WvE%6cCFvF%HM{_cxuv)n2sfO2cb?i@i z&iCgCvER1+tLSMrtAIeg!vR*|({v+ZS~rK(FPr`C$lO(r?in&4zwqcsdm6mjbC}+- zJa@Il`-`^~8X6S!+W&3sIgsyk@$NzQF-HXmeJ8Zh=p2}pmGk)edrNVh7{-#IfSRGDD zF{s?Q%OIghRO9+TU-cVJryACWOyhlfAUS+vPX6hm!cokTth2JYQr>s^AFH~@(3$;u zmfH(P?^}xwmEX^tk>15U0!|f4_}y~ zd}?Z-%-MUBUzvVNJwNT*zV4rgx2>G`d%^m|Y{okrD*BzRds`XKyt(lv>YC`96UEm` zey(IRP+8rr>7SSAC?v8uG1oCWq3GEjwlm#bLL zdD17O7F_4D#-mzyZm*l_%Qae37w1pPoz=pBYIUS`zkjmkodA`~QXB4Yw`tjyc|%kJ-Pj;X&`dyE@C@0jCvw&GUhzklK% zckKRGDJmugIT^O2L08cKdYs7D?rh~-8t1B8escL*Kl#b?w&4BRO-tRf)i2-v`t0!E zt>v$GRyys~{yV|kXVrEtrNd$WoS5&;`*oe+{gkB)JFhpV>@4N1{k*s0RD#f3#qx}) z)>C7-!jA9V5P0*a$*Rc@4nB^0zv)2jJ-4hy=F=8jypewK;TCzLr9s(~UthJEbkXwU zJkz8XjEA$|IcFa1E7()GZm>1dfnI5q&=wbczBZU{1FCNiPB&% zcrotcHFN7l8`f9!c|OrtcevwlJlpH%nc+)zGtIeoh`lmjx;s5U@qK=3VXOS6Tlum| z%(HDK2LD@|m2&wK(`(01Gq$swYzSg_ZFHgSB*XMnfvL;4<{aA;xZzpSW1C1(EnRW1 z)%|WlHRMrFD6ar#gklJiaO$czj{S=i?K%pK<-4kh>eTkk zBgcfV$Qm%lG8SKcK2zd7=&pi&mm2;bVE%UobfDGDkH-#JyUnO(D|qN>Z&T;LD~U%Z zz*K+7EJhyZUv+}FQqGm03YJ)&HM51|`Y`zm&E7zjMKSGuKs>qYU_)H$0M z$6x82EAjTlr}v)udyXDUx@~xWI#=b}osrBF_nLi8cwf{1vf)Is8RP1U4Ler#)>zD$ z>6lWPYPsfp_bItUXQFRhD7wh5v32&%3|sRgvA;JX47ayuMTD_dAD?n{>tZ=eo@b%5 zA3Ca;%k6I5SUJURyWWscllHG zk-Tu^1QjVP4 zVWjn_??vLQFv%!E8Cj7FVUCu!vTpO;TC9+uy?~uve9QS27Z!8)Dc?=vc4}Ad(mA_q zfrHDm7J(CG&-+!TuBr_*ifr<^x8)IMsrsVp?G zNJ)FA#mOUT&-X1)b-H$YZ(8ilp03b^e~+!W z;Nh+!yS4hF)Nb+IQiJF~(KBHc%U3^(UHn7pv7~~MSq(2wrl`yktLl4R{}OZ0TyHpV zZKs~ihP5vf-~D^_UBK!4=_8TxlRvfdC<_I5V<_HN6)y==}LnXm8eMl-YV1pNQ^_v-q1`>k15wO0Pkxw9ki z^mP5}t3p?ANjoc*nwq*Yet+Gr7mK>5%$~ja++6G8;{qElq|M=f+w6AznOJVyu75w* zHpZV0Ip(q~zO_HNiXL3Oo}h>yaYuhsY2^vYG1_eEUYzkFqrT!`2u=gTgZ z&u594+xV20UoA21o_ZpEhUY70y;BuWC;Hhrbf3 zVcDVI^-5V58EH+rn5ZnflFKQ%UBsa5L!{hg?a+gJgG8mLTw_^y?0aFxJ%KBhDvkvf zQZ~Bt6}cCEE1Igrwq@PlNV|ub5icTdDqpjHR&;jm3wyQVoCGNoyUkDJZ&fX0zJ5CN z*b&*|H=jE;cuwsMJ{R$CzWBYD9?9OyTi?HAIq~wsrc`g=c{Y)t0Q2+fyR|iY`DA}P z%S+o-RaIvhBsPiZ$F2GJ`1tF4)$c>EuZs&mgZg!m+w9PN|DKj4wZ>+g}kxMVVXbnib6;`UsdvU2H?X`!EWRZknP6`MCb^yk%0cRsIsu&HYA`O`&qGyLpc z+niQ$j}7uU@lq!K@Kzgz1|FUDH&VZe&u1|D^oiqjQ`MGe#fK|IH`tsj3wuzt|8JDw zH^HFr7j;5+;?HdL{`(_}cjvTtpWqVT<*z5-`&R#buRAl_jqUmK?{*s96A+WH|FcnV z=M$mWiifRL|Nnl!y07;4to+tvFFMudU0B?2x9a)4YQM+F`cc_yuaCMPp0~fdt8}&A?l(rdF*^dT$DMAkadxiYx$?F8 z$RpeHdzr7SzV+tmodw4n!-{OD3$NABka@C&Co%9U=lM@InrB&9PS)AZSpEN7BCAdE znR=Oo$1fN%c5eHgCw*hL#WLMLlak&4r#(J*rRV*}&@$1jI{P1Qh+!8M{=8G_=#OXR z)1Et3{EtYkWE0@yo^v<%-Hy0p^}iqFu3onzzajSLiA^4j+dk&x+C0};X;rZ83Gaev zuW8mDW`++pE4OT`VS0HWz*1wyI=fp79#}5fo_k~027z1ugjDzRZD0Fn4L8@UzjI(K8|@< z`1EbwOY!|bTIFiL1loSR5-eq$)?;LBoVmqqMIh@5VRgSNPp8MP3--4SRi9JPbZblI z;!T^3-rn0AEnoX(qFcY5?#iME?-CEUWj;MM_0^@N-WhW@r=KrtJzo6m%*D{~*rj^0 zyH;%35)!>V@9O9C_UmtMPWPU)ZudK@wekDoYJYus_)hW8g0mL#?*h+F|CaOUJLC7_ z+J8t9W{`QvNVx0aK~K7DEW z);IOFgwi3tK<8tZO4-h>E4|7qn6ANgI^Tlh{I3dUizD3L%3nSBZe4rt#?3ct@!Id# zrbCurS@+(Vk_FKrKNT0^LcxHPpi*ojB8J)q^E0JTStS! z=iA%cSGVWKORW>k`oLIpdYbOnW77E<7Zy0~ODs4&P50{NbpN|`zu*44dA@GhojWm} zQ*GPs*Z;5Wm9aG1@b2yH?b&yB6n@*Yy}Z!Pt?it}V;!>Gq0_QoU~-7aeCIR zEty#t7qONL?7wk2ZH|Aly!rVE%(C)HVE$pc&+~`%s_#}aUu7qr5C7J*+H&Tm8IQL(r#?1M zapU%XpSn8DDlI1=UH@4{GRN-b$FmMZetP>hN5}t<#1(JL3Z91-?w#D1YV)+W>3a45 zDnT>34e# zBO{}dqoUz2TE*ioe7|4s-*Csn^aslp|M_;mp6b_2Zdc!^^7qek`|bZfDSGDb{Ti0> z)3sad=H=w$eOIrB$G?qUmwS8LER)Phw)V-#cyjOVn!0=WJi&7p(ikf4FaCH>VA;aA z_p@w{$H^a0lDhS2$@=M>d+({`%oP1vard`@;CuW3MaM$tf7DFhb6g_q*v~VYR@EoI zeRcQTZ-X7La(fncua8}Q-)!3dN{RDEkJnr`DqDMO^WMTIn~rUqyWQt$O{uKfg1(}Y zT2n6yN{ZgrUm0;p@T5h&yY}>#9ZMEZ@>&(Q^j+rTO3eqUr;_47?O8QVI#@5cUN`*d zVvf_RPfZEmd+JWSw!C}9Pot-HPfxvF=#q3g(_S#>{D8!C%n+-s-2cr&AIc%aiXF6;nhlC-}{St?w_#h&>^SlUpJEbd3CODPWSh` z^zZNQ%q?!KPL?j*`=E*Y%}dvAv6Wl4T-hFznYr@WnVHGw@7H`jyU@1F-}0%5?S})* z-~Ox$UA?3F$6xU~?7aVeyxR5M@cr3k1^k7gjQ1PXpZlKq>Zy#+oCZ@_dBbI5(N+@` ztX6LNDx_5H6)pH`b5irY2cJ85Cq8C9S$F*XJv}pzva7+hJ=4w?R)2fX(>V95RQ}$1 z6BYk3y`rW1BT> z#XVu0_q|)$QqpnX?&P+)8(;mGTDJOoLBPpdZ(83(FP<7_cr*EQgWjFgIY-Gns@6mCBM@n@Q*nh&2|uw+fxH$AgZ{qT$&uSZ{u zzO@|QXIp#v?&~K!m4B;#RyjW?syuxAl*7(NS^?kM_9#BgUG(&jQ=BDpys-3>wrQLi z&!vyey7Bkd+VZQSLB}dy8y;jVOtAEiylyFV{jkQwJzXOIuKwH@7V_frdHd^AG=obH z^O~7N&N zA9+=t|6EehD#PaGg2KgXZ~VP|_@tEk-7w#6Z|uKquAZ44e|7Kdw}rEH!zC@{RU$<1 zNge-jVp{Ql}|b`R&IE(XQ_o_Rjb?dGBMz-KS0khA}=>d4Kp%((#~azaLib zOI8h!FL=(Idz4S)UDb*Co9A@aKCXJbiJfKpo$@)^2VN~GI#>KbZvOWhHEd6|*_3bM ztY~-FeXc8AZcw1|-FCxAmXG>-J~X}C_xoMc>iVy*uI_p=$vft-mqqQbm&>J0GA6L` z%dO$J`=OwF{%h9VU0au&dOl(5^y%#1oYuXojJYc;+3P>~Rbx)i#p?Ha)6d^8ILzCa zy8rh(>*`-`HlObcsbB6lH|F#2Z*L#-J(^y3tGAfx`dqWeQ46otY3AJdYW_vp@7Ve6Mtdf;ZtGL z-CtP-xL#VnEamgFvr+~L4ha=+wp4sfnp^+xXXefP-{0Q8ed*lJ$2#rzv)TD7p0d_u zPnP8_nHAEoC+R4c?_8_UNmC|IUVK__x6Xz)2b}0aQ4t}S}>VZmUkRoY-Cd{@RYh$8UbVyu7^q zU+Ur&D^ASIyS&VINo_^@VGT{qhkQ<(xsEx^Znl;v?T**oS@yM5XBl6W;%t+xQBlXz zwgu(y-qPPL^L>X@LWj&p#_B}J^)_FB_6f^wG%tD+abEHGtfC1yBGM|=&5w+ZJAYLA z;?(zYs*D(4_2CrZ<$FGAN*nrw1&k zvC;W(JAe4|b91k*4%hdcY2+HcJ+CzP`;FxOr6%__scg-@?)UvpalcCD+gn@rrEbf) zxoB2@`-FlR!{x>*W4 z?+B~7zvz8){j$X+Gqr!r?=A_cwNK&X>13{wVP`vaFZ{v=@sCxS%e6!JR#_)iE?ILZ zMCEUmmR$Xx!s~x7E%mNFJ-6!B%2|fVZP}4u|3C6SIziD{#q;tq-)>2#!xD?P->-|F zWK#IZ<(Na>5vkgSn2?Yq?ecXIpP!$fu5!2dysead-JZV>niX2wOXir;#D!9iWSw)rJNdn>cvYd% z?Q;8wSFyoe4yPw8zRnb>R(6+t<+LvK*j;D)B{8KtvXc&_HB-Jhuis|x8)vrW#SOGJ#VhgX|CE(_Je^kb~O=`)%~~q zZz_5|xBS&f_4z!tn?tg%ubXRI`{cw#kKfwb+QnzX?Q?}%Rs6(=0uPB~R^!ti(28pTbbOYM$tE38sJem8$gqVA(9 z#jSh$3@p`j_-ZodmG61HB3b@->-mF+!&ul3G4h}J%s=@tZ|OsE4Rxay*MJ3cJYGmA z);!s9ID|!}{z<~kowh+&?^G-7|8^^TU1h$*o9BnP^|vfH&%G6LvrklXUCz4V=jY01 z3j5n!+IRGnp2y2{V)XG&^H%8KCSep0qoTQ+Ul^yQrOdzZR@ z5>m^;dcPj%?&>nB{FJhL_umQ+Bnb85|T zuPu4r>vS|ONrvP;4!>6ZyCHeC&g&aWuPj||?ti?er$^`g)J-a6`yPSy{8Le%jLfz1pv|Bd2nm^VQU?=0$H0TYQ(>bpMsXogcc!p{LheC^BWt;`S6Z z%2Hg}sg7TJL*K zwXM&(J>%`FeNsE8Tk1QVsq1;H&wQ*>@owsqy@7wXao#*v@p|Q~?Md$pcK+8&N~-^~ zv1Zy)nefZMV)8j=dHFv|sr_~{ecjK`=dAVLnT5v`w%YxCB3x}}Zyz7KtHkrAg`d?+ zmA${;?T*@0vC;0&2j{gB8=dx6f4?Rg9(W<8WLQa%xOu7QXWT$oBNcp?Y(CZxiK{+{Blw0PqS&(Hrqr5M5NCf-FLWo z`@_7aADvPk?_6;1`@HyqH&*jk9Nbhaz5nf_-0qN&8K2T>|4EzWY*@ZHE$R83;=b&E z`t?7%+jynZ{yXYK9+xej)5a^kEb(w#VX~QHsg%O^*Vpx*N^jb*ApkUt!L7eX!E@K! zZMVO?*?eB@&lRuq>pxk!#a@KtW55+Y_sk#XxPTQw?FeX zTlpHX??h9k^_}~lDZea!f8DyD@Av)gljbZmT_tydm6dhZ|9`(t zv#;rRURq!Gb@h@%$)2w+E^hzz{r&nqdu%+X)^9y|_AKw+w40k!zkPXduz6?otik}6 zcb#ozJ$veB`BfL{Hh$?A|HaChRl4#0uN9gfZOu2uozT?Hk8qA;nc82I^HoNPJ%7GS zhmNYr64%o93qSTw43@s8G*jVb?6zl#)#v0+nkH^qynJKfndrK`6PgdDXl_g2lsxlk zxZfvvsl$bz0-00u`Jc{c2)A3fDQSMqi&wTetbe{dd8sD1WAA*S zIDg$q|EiZ^_s&!+OrJ94#^pe3%d$5&E}GUqIKY^va^z|T)01X){#W~czq@=|f4|Pk zP3#|v&)bUs)YplVl$4Y*&6*;su>aq$*H+)}6klD``oEZUd;a}(%jehKn)kizCwn93 z+xBNA;f3cL%NZ}J%5Kcabzl8e^sd>IM4d}_&3Jc<7fJQmw=UGVWG7eTA-h#n$y?Dm zs>11d%Q4r!oApe4CyJVxZQA{G&)k4uu1TuL{~y@;=XF8p$A*l&A!jm6Wqvje&~Yah3r`gdE(QhI;dT+tnC@0Y*QVBB1DOu0`;#GSYE zG0X8k1ry88+B)cg8Wz!8yTm?L&VL>n5OAQkWrvh&L(PW=j=l2samCNiO%0Kh^Pg*F z`fh^o$C%2eQ@?%bku)}`_>d4=eAaYd{t3|X0=n)vX&TKZ+=ucpH~@^vc8UbL~^^eTvL) zs;k;C>3`H12ay$h|3@1@Smy#H&}x5qd48!k0kw&Yc| z*5`BKZ;Zlc@49s}fA0O)9%olS;<$h9(tLg-qzd232wC8@yG3RwJzsi`&6`iu3ICY-kMAh#T_@>5BlDKqe zv;Kbn#By0i{{535ee?Ks?d>a$SC_RTufBaQ<#+w={aY3DZ$Ddem__HiNrS38!+Uc* z_XB^EEURO!`Y$ejzESkDx8)Pj?~K)+Uu?prl+HWWWfbCi=l$KVr2H=&t%v@fcxs+2 zW8RW1Suf=~JEZx+v30@A{ci0nUcTfM-;BUD(c90N)?e~eFH}}s7j||pqmi-k*Dsg- zSErw!SM}pzJM-z(^z_$Dr^j7dIz8@G?BVq<9_)L-)gZj8 z>dEXx>GMUwSCj8n6qW2Y-+A}(o@LW_uhfc9^t}7y+ni0$Strtju~BlFrtpFbB6e!G0ij>P;eqMCbFFa8@KYQf=s!a#{DBlz*H zYdcO!S29Nh8~b#;ULEKf8WEk?zSZq%=;x=?LeeCsM!Bg@3)~pGP~K-}oyny{Wm&_Z z&K@t{rwlTw%ZeB#7I{7my(}7f`D(xI8iQqNQ9-RMJJ)Hix+i>2V|Uff`9BR6Q{V%`%_v~}l@Aq8D1-09**Mxi>NS6P$ zy!f}gU*@vYXMW2*@;uG-W%5R;BR`{i*W|6fcs+UPTZ>mkJWp=jKIT;=A7(qfH||{5 z6yu1}ikz@ncJ*sY)|&@z+kR@H)s?M!|gy7M3VuF=ze zvO~ziee#Qa$-%o?zUK?w@t>2sXivP*t!pa(cM81!w|@P6%SCdNHa2bJ=S!?T9A;T{ z=+s^BYaynSv{OP;*Wcg@ZC_*h`Dx$!)MkZfi=dtYdZOl*EXMI0E zA$FIBwzl`rpFbxpF~3*gT>R`z;O%X>wWrU|vAk?r|9b8AB4Nc_>SneR7#TpIVb^po z{uED8NBP~p-+9&lKt0A!PfsVG%DuhK_vX!;>ry-4ai0z6o&{3Pz`&4EbF5GHwbbz+ zm;LQS`{iuET#L@n{QvLotv!{SL`S-EEUPE17y{LBQ&Yhq^xg81}J#r@?>K&9p0~c#!b_Tt@y}duW?7{-a zUr#3cXPBt8Fi1j_WE?qX`#t9E?d|@cUhS^(_i~%TE`M~iduz%`p{-e0yV#taBn~k_ zlruc&h8fPl5YGa&hbqjq84x=f5{^my{cxE7*SFjGU(cG~2d!4PwJEjx+WPqQxwp4z zs;j$$Iyw!E%vbi;*MEI|-5)fmo@Fm>o_FQb)6<~k3u_}cyG2GuzPi4CzTU1EN>86X zTUGr0T#Nui=_#XQ60;x?cHsW5($^)&B-35=>}!4$*#7(R_|?_b;ZJh8xVTJ;pZVB+ zx!~NGx@q%fP`fy`>gCcH5r)z>Xt*i3EMnZGvNivH-05k$!TC$~qy}Z3m)6dCN|9dt&pYLs8%_+_0FB;k9Harhs8|9kJyrLAA+A^-H|3;|l(fTIWoV}HSZrJU?Z#!$K;G)G zwKb>T-rIY7o}5uihgHc7f$i_+|NFB1+m|~#i$jBgoSK|Gy*=CvV?(95u>J+FESMu}eboYD5%kS4NkIvs4Dqs60(C2PtW#y^Ur!Ob> z+b+`#UiRYO@Av#Nr#V5kH#|%E{_d`ndEOjb``TY6rEhK+Zm0SQBNlD3x-!5-T_1>C)|K2=x2eyFQ922BB zGBUHh_`d)D-f8;r>;C+ynL1_4iw6gre|@>^UwT@1`;Jq65{6FF=6OBQ&vUnfTxPa& z+v(G%g98I6etUO!b@{zY_nS9we*1O*-?#0c1tL2oz<#ruI(@qO=}k`YbFIs_o$i;h zG|KxasO+Xvs^jYF3Toe(*8i*Vykz_R&f<@ck01XlzZ+#JGp4n*^;^xA2a*hvTpRA3 z*phcQ3ey8pa2|Np)Jf9+=a{IzG!_>{i86Y1Q}clFiP)l(-=PM%)*QYnxI}@2~&|SK88D&kMgge?HbDxmYuJ*%6x;dM7>}m(TZqe`~AuC9`%u*`l-Q zX=z1@3|F+6o~Y&B*pT?GBr!4Z!R1JPdAm1UGmiJm%NrZ)zsxEgv*6#~-?u-%-}hUu zmltIC3gf@OzfU(*`||a1zx}PJ@wH#C?s)qA>}>JM|LuITmzH==e)FN?%8J0MXEW1d z9t$78yf)gry6WsK(}~+|ZqJ{ey)SsV-yI%?tWfP)3o>6{SlFDs&z1ZCe#sF2Pw{U* zo!0M<{yss`dCK(Z>Yl$o9Olo=VPLrQ;Kjwopz?U%-*3^mH#RuVHqXCyZm#v#yt`Ig zGcUW@R(}hbZ&!O|b+|rgom}m&FM(lUV!Z4O4zgN0I#-T#3V%Jst?#j_X5NL(=j~QM z?z7fgShcI{ZI-`�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 literal 0 HcmV?d00001 diff --git a/doc/internals/color_maps.qbk b/doc/internals/color_maps.qbk index ff363cd7c..28878a29d 100644 --- a/doc/internals/color_maps.qbk +++ b/doc/internals/color_maps.qbk @@ -54,12 +54,17 @@ This is for two reasons: First, visualizations are themselves amazing debuggers, Second, often small changes in floating point rounding cause the value provided to be only slightly below zero, or just slightly above 1. Hence, we make a call to `std::clamp` before interpolating into the color table. -For an example of how to use these facilites please refer to `example/color_maps_example.cpp` +For an example of how to use these facilites please refer to [@../../example/color_maps_example.cpp `example/color_maps_example.cpp`] +and [@../../example/color_maps_sf_example.cpp `example/color_maps_sf_example.cpp`] Note: To compile the examples directly you will need to have [@https://github.com/lvandeve/lodepng lodepng]. An example of the viridis color map using [@https://en.wikipedia.org/wiki/Newton_fractal the newton fractal] is shown below: [$../images/viridis_newton_fractal.png] +An example from [@../../example/color_maps_example.cpp `example/color_maps_example.cpp`] plots [sub 1]F[sub 1] on a logarithmic scale: + +[$../images/extended_kindlmann_1F1.png] + Swatches of each are listed below: [$../images/smooth_cool_warm_swatch.png] diff --git a/example/color_maps_sf_example.cpp b/example/color_maps_sf_example.cpp new file mode 100644 index 000000000..f688bd343 --- /dev/null +++ b/example/color_maps_sf_example.cpp @@ -0,0 +1,606 @@ +// (C) Copyright John Maddock 2022. +// Use, modification and distribution are subject to 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) + +// +// This program plots various special functions as color maps, +// run with the "help" option to see the various command line options. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !__has_include("lodepng.h") + #error "lodepng.h is required to run this example." +#endif +#include "lodepng.h" +#include +#include +#include +#include + +// In lodepng, the vector is expected to be row major, with the top row +// specified first. Note that this is a bit confusing sometimes as it's more +// natural to let y increase moving *up*. +unsigned write_png(const std::string& filename, + const std::vector& img, std::size_t width, + std::size_t height) { + unsigned error = lodepng::encode(filename, img, width, height, + LodePNGColorType::LCT_RGBA, 8); + if (error) { + std::cerr << "Error encoding png: " << lodepng_error_text(error) << "\n"; + } + return error; +} + +double hypergeometric_1F1_at_half(double x, double y) +{ + try + { + return boost::math::hypergeometric_1F1(x, y, -3.5); + } + catch (const std::domain_error&) + { + return 0; + } +} + +void show_help() +{ + std::cout << + "The following command line options are supported:\n" + " gamma_p|gamma_q|gamma_p_inv|gamma_q_inv|cyl_bessel_j|cyl_neumann|cyl_bessel_i|cyl_bessel_k\n" + " |cyl_bessel_d|ellint_1|ellint_2|ellint_3|jacobi_zeta|heuman_lambda|jacobi_theta1|1F1\n" + " Sets the function to be plotted.\n" + " Note that the defaults for the options below change depending on the function selected here,\n" + " so set this option first, and then fine tune with the following options:\n" + " smooth_cool_warm|plasma|black_body|inferno|kindlmann|extended_kindlmann\n" + " Sets the color map used.\n" + " width=XX\n" + " height=XX\n" + " Sets the width and height of the bitmap.\n" + " x_min=XX\n" + " x_max=XX\n" + " y_min=XX\n" + " y_max=XX\n" + " Sets the extent of the x and y variables passed to the function.\n" + " log=false|true|0|1\n" + " Turns logarithmic scale on or off (default off)\n"; +} + +int main(int argc, char** argv) +{ + using Real = double; + using boost::math::tools::viridis; + using std::sqrt; + + std::function(Real)> color_map = viridis; + std::string requested_color_map = "viridis"; + std::string function_name = "gamma_p"; + int64_t image_width = 1024; + int64_t image_height = 1024; + + double x_min{ 0.001 }, x_max{ 20 }; + double y_min{ 0.001 }, y_max{ 20 }; + + Real(*the_function)(Real, Real) = boost::math::gamma_p; + bool log_scale = false; + bool debug = false; + + for(unsigned i = 1; i < argc; ++i) + { + std::string arg = std::string(argv[i]); + if (arg == "smooth_cool_warm") { + requested_color_map = arg; + color_map = boost::math::tools::smooth_cool_warm; + } + else if (arg == "plasma") { + requested_color_map = arg; + color_map = boost::math::tools::plasma; + } + else if (arg == "black_body") { + requested_color_map = arg; + color_map = boost::math::tools::black_body; + } + else if (arg == "inferno") { + requested_color_map = arg; + color_map = boost::math::tools::inferno; + } + else if (arg == "kindlmann") { + requested_color_map = arg; + color_map = boost::math::tools::kindlmann; + } + else if (arg == "extended_kindlmann") { + requested_color_map = arg; + color_map = boost::math::tools::extended_kindlmann; + } + else if (arg.compare(0, 6, "width=") == 0) + { + image_width = std::strtol(arg.c_str() + 6, nullptr, 10); + } + else if (arg.compare(0, 7, "height=") == 0) + { + image_height = std::strtol(arg.c_str() + 7, nullptr, 10); + } + else if (arg.compare(0, 6, "x_min=") == 0) + { + x_min = std::strtod(arg.c_str() + 6, nullptr); + } + else if (arg.compare(0, 6, "x_max=") == 0) + { + x_max = std::strtod(arg.c_str() + 6, nullptr); + } + else if (arg.compare(0, 6, "y_min=") == 0) + { + y_min = std::strtod(arg.c_str() + 6, nullptr); + } + else if (arg.compare(0, 6, "y_max=") == 0) + { + y_max = std::strtod(arg.c_str() + 6, nullptr); + } + else if (arg == "log=1") + { + log_scale = true; + } + else if (arg == "log=0") + { + log_scale = false; + } + else if (arg == "log=true") + { + log_scale = true; + } + else if (arg == "log=false") + { + log_scale = false; + } + else if (arg == "debug") + { + debug = true; + } + else if (arg == "gamma_p") + { + the_function = boost::math::gamma_p; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default gamma_p color map to extended_kindlmann" << std::endl; + requested_color_map = "extended_kindlmann"; + color_map = boost::math::tools::extended_kindlmann; + } + } + else if (arg == "gamma_q") + { + the_function = boost::math::gamma_q; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default gamma_p color map to extended_kindlmann" << std::endl; + requested_color_map = "extended_kindlmann"; + color_map = boost::math::tools::extended_kindlmann; + } + } + else if (arg == "gamma_p_inv") + { + the_function = boost::math::gamma_p_inv; + function_name = arg; + if (y_max > 1) + { + std::cout << "Setting y range to [0.01, 0.99] for gamma_p_inv" << std::endl; + y_min = 0.01; + y_max = 0.99; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default gamma_p_inv color map to inferno" << std::endl; + requested_color_map = "inferno"; + color_map = boost::math::tools::inferno; + } + } + else if (arg == "gamma_q_inv") + { + the_function = boost::math::gamma_q_inv; + function_name = arg; + if (y_max > 1) + { + std::cout << "Setting y range to [0.01, 0.99] for gamma_p_inv" << std::endl; + y_min = 0.01; + y_max = 0.99; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default gamma_p_inv color map to inferno" << std::endl; + requested_color_map = "inferno"; + color_map = boost::math::tools::inferno; + } + } + else if (arg == "beta") + { + the_function = boost::math::beta; + function_name = arg; + if (log_scale == false) + { + std::cout << "Setting log scale to true for beta" << std::endl; + log_scale = true; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default beta color map to smooth_cool_warm" << std::endl; + requested_color_map = "smooth_cool_warm"; + color_map = boost::math::tools::smooth_cool_warm; + } + } + else if (arg == "cyl_bessel_j") + { + the_function = boost::math::cyl_bessel_j; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default beta color map to smooth_cool_warm" << std::endl; + requested_color_map = "smooth_cool_warm"; + color_map = boost::math::tools::smooth_cool_warm; + } + } + else if (arg == "cyl_neumann") + { + the_function = boost::math::cyl_neumann; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default cyl_neumann color map to black_body" << std::endl; + requested_color_map = "black_body"; + color_map = boost::math::tools::black_body; + } + if (x_max > 1.5) + { + std::cout << "Setting cyl_neumann default x range to [0.5,1.5]" << std::endl; + x_min = 0.5; + x_max = 1.5; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for cyl_neumann" << std::endl; + log_scale = true; + } + } + else if (arg == "cyl_bessel_i") + { + the_function = boost::math::cyl_bessel_i; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default cyl_bessel_i color map to black_body" << std::endl; + requested_color_map = "black_body"; + color_map = boost::math::tools::black_body; + } + if (x_max > 1.5) + { + std::cout << "Setting cyl_bessel_i default x range to [0.5,1.5]" << std::endl; + x_min = 0.5; + x_max = 1.5; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for cyl_bessel_i" << std::endl; + log_scale = true; + } + } + else if (arg == "cyl_bessel_k") + { + the_function = boost::math::cyl_bessel_k; + function_name = arg; + if (requested_color_map == "viridis") + { + std::cout << "Setting default cyl_bessel_k color map to plasma" << std::endl; + requested_color_map = "plasma"; + color_map = boost::math::tools::plasma; + } + if (x_max > 1.5) + { + std::cout << "Setting cyl_bessel_k default x range to [0,5]" << std::endl; + x_min = 0.01; + x_max = 5; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for cyl_bessel_k" << std::endl; + log_scale = true; + } + } + else if (arg == "cyl_bessel_d") + { + the_function = boost::math::cyl_bessel_k; + function_name = arg; + if (log_scale == false) + { + std::cout << "Turning on log scale for cyl_bessel_d" << std::endl; + log_scale = true; + } + } + else if (arg == "ellint_1") + { + the_function = boost::math::ellint_1; + function_name = arg; + // x_max=1 y_max=1.5 kindlmann log=true + if (x_max >= 20) + { + std::cout << "Setting ellint_1 x range to [0, 1]" << std::endl; + x_max = 1; + } + if (y_max >= 20) + { + std::cout << "Setting ellint_1 y range to [0, 1.5]" << std::endl; + x_max = 1.5; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for ellint_1" << std::endl; + log_scale = true; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default ellint_1 color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "ellint_2") + { + the_function = boost::math::ellint_2; + function_name = arg; + // x_max=1 y_max=1.5 kindlmann log=true + if (x_max >= 20) + { + std::cout << "Setting ellint_2 x range to [-1, 1]" << std::endl; + x_max = 1; + x_min = -1; + } + if (y_max >= 20) + { + std::cout << "Setting ellint_2 y range to [0, 1.5]" << std::endl; + y_max = 1.5; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for ellint_2" << std::endl; + log_scale = true; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default ellint_1 color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "ellint_3") + { + the_function = boost::math::ellint_3; + function_name = arg; + // x_max=1 y_max=1.5 kindlmann log=true + if (x_max >= 20) + { + std::cout << "Setting ellint_3 x range to [-0.99, 0.99]" << std::endl; + x_max = 0.99; + x_min = -0.99; + } + if (y_max >= 20) + { + std::cout << "Setting ellint_3 y range to [0, 1]" << std::endl; + y_max = 1; + } + if (log_scale == false) + { + std::cout << "Turning on log scale for ellint_3" << std::endl; + log_scale = true; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default ellint_3 color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "jacobi_zeta") + { + the_function = boost::math::jacobi_zeta; + function_name = arg; + // x_max=1 y_max=1.5 kindlmann log=true + if (x_max >= 20) + { + std::cout << "Setting jacobi_zeta x range to [-0.99, 0.99]" << std::endl; + x_max = 0.99; + x_min = -0.99; + } + if (y_max >= 20) + { + std::cout << "Setting jacobi_zeta y range to [0, 1]" << std::endl; + y_max = 0.99; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default jacobi_zeta color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "heuman_lambda") + { + the_function = boost::math::heuman_lambda; + function_name = arg; + // x_max=1 y_max=1.5 kindlmann log=true + if (x_max >= 20) + { + std::cout << "Setting heuman_lambda x range to [-0.99, 0.99]" << std::endl; + x_max = 0.99; + x_min = -0.99; + } + if (y_max >= 20) + { + std::cout << "Setting heuman_lambda y range to [0, 1]" << std::endl; + y_max = 0.99; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default heuman_lambda color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "jacobi_theta1") + { + the_function = boost::math::jacobi_theta1; + function_name = arg; + if (y_max >= 20) + { + std::cout << "Setting jacobi_theta1 y range to [0, 1]" << std::endl; + y_max = 0.99; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default jacobi_theta1 color map to kindlmann" << std::endl; + requested_color_map = "kindlmann"; + color_map = boost::math::tools::kindlmann; + } + } + else if (arg == "1F1") + { + the_function = hypergeometric_1F1_at_half; + function_name = arg; + if (x_min >= 0) + { + std::cout << "Setting 1F1 x range to [-20,20]" << std::endl; + x_min = -20; + x_max = 20; + } + if (y_min >= 0) + { + std::cout << "Setting 1F1 y range to [-20,20]" << std::endl; + y_min = -20; + y_max = 20; + } + if (requested_color_map == "viridis") + { + std::cout << "Setting default 1F1 color map to extended_kindlmann" << std::endl; + requested_color_map = "extended_kindlmann"; + color_map = boost::math::tools::extended_kindlmann; + } + if (!log_scale) + { + std::cout << "Turning on logarithmic scale for 1F1" << std::endl; + log_scale = true; + } + } + else if (arg == "help") + { + show_help(); + return 0; + } + else + { + std::cerr << "Could not recognize argument " << argv[i] << ".\n\n"; + show_help(); + return 1; + } + } + + std::vector img(4*image_width*image_height, 0); + std::vector points(image_width*image_height, 0); + + Real min_value{ std::numeric_limits::infinity() }, max_value{ -std::numeric_limits::infinity() }; + // + // Get a matrix of points: + // + for (int64_t i = 0; i < image_width; ++i) + { + for (int64_t j = 0; j < image_height; ++j) + { + double x = x_max - (image_width - i) * (x_max - x_min) / image_width; + double y = y_max - (image_height - j) * (y_max - y_min) / image_height; + + Real p = the_function(x, y); + if (std::isnan(p)) + std::cerr << "Ooops, got a NaN" << std::endl; + if (p < min_value) + min_value = p; + if (p > max_value) + max_value = p; + points[i + image_width * (image_height - j - 1)] = p; + } + } + std::cout << "Function range is: [" << std::setprecision(3) << min_value << "," << max_value << "]\n"; + // + // Handle log scale, the formula differs depending on whether we have found negative values or not: + // + if (log_scale) + { + Real new_max = -std::numeric_limits::infinity(); + Real new_min = std::numeric_limits::infinity(); + for (int64_t i = 0; i < points.size(); ++i) + { + Real p = points[i]; + if (min_value <= 0) + p = boost::math::sign(p) * log10(1 + std::fabs(p * boost::math::constants::ln_ten())); + else + p = log(p); + if (std::isnan(p)) + std::cerr << "Ooops, got a NaN" << std::endl; + if (p < new_min) + new_min = p; + if (p > new_max) + new_max = p; + points[i] = p; + } + max_value = new_max; + min_value = new_min; + std::cout << "Function range is: [" << std::setprecision(3) << min_value << "," << max_value << "]\n"; + } + + // + // Normalize the points so they are all in [0,1] + // + for (int64_t i = 0; i < points.size(); ++i) + { + double p = points[i]; + p -= min_value; + p /= (max_value - min_value); + points[i] = p; + } + // + // debugging, adds an alternating 0 and 1 row on the second half of the zeroth row: + // + if (debug) + { + for (int64_t i = image_width / 2; i < image_width; ++i) + points[image_width * (image_height - 1) + i] = i & 1 ? 1 : 0; + } + + // + // Now calculate the RGB bitmap from the points: + // + for (int64_t i = 0; i < image_width; ++i) + { + for (int64_t j = 0; j < image_height; ++j) + { + double p = points[i + image_width * j]; + auto c = boost::math::tools::to_8bit_rgba(color_map(p)); + int64_t idx = 4 * (image_width * j + i); + img[idx + 0] = c[0]; + img[idx + 1] = c[1]; + img[idx + 2] = c[2]; + img[idx + 3] = c[3]; + } + } + + // Requires lodepng.h + // See: https://github.com/lvandeve/lodepng for download and compilation instructions + write_png(requested_color_map + "_" + function_name + ".png", img, image_width, image_height); +} From 62dfa025d7defe55d57bbccb51a1c95eb32418d0 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Tue, 25 Oct 2022 18:59:04 -0700 Subject: [PATCH 15/21] Disable C6326: Potential comparison of a constant with another constant --- include/boost/math/special_functions/bessel.hpp | 9 +++++++++ include/boost/math/special_functions/gamma.hpp | 1 + 2 files changed, 10 insertions(+) diff --git a/include/boost/math/special_functions/bessel.hpp b/include/boost/math/special_functions/bessel.hpp index 837f39253..35ad35026 100644 --- a/include/boost/math/special_functions/bessel.hpp +++ b/include/boost/math/special_functions/bessel.hpp @@ -36,6 +36,11 @@ #include #include +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 6326) // potential comparison of a constant with another constant +#endif + namespace boost{ namespace math{ namespace detail{ @@ -754,6 +759,10 @@ inline OutputIterator cyl_neumann_zero(T v, } // namespace math } // namespace boost +#ifdef _MSC_VER +# pragma warning(pop) +#endif + #endif // BOOST_MATH_BESSEL_HPP diff --git a/include/boost/math/special_functions/gamma.hpp b/include/boost/math/special_functions/gamma.hpp index 4af5dfa31..71e8473cf 100644 --- a/include/boost/math/special_functions/gamma.hpp +++ b/include/boost/math/special_functions/gamma.hpp @@ -44,6 +44,7 @@ # pragma warning(disable: 4702) // unreachable code (return after domain_error throw). # pragma warning(disable: 4127) // conditional expression is constant. # pragma warning(disable: 4100) // unreferenced formal parameter. +# pragma warning(disable: 6326) // potential comparison of a constant with another constant // Several variables made comments, // but some difficulty as whether referenced on not may depend on macro values. // So to be safe, 4100 warnings suppressed. From bfb8e7d0396225bba04fc0335fa58ffe9a656a51 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Sun, 13 Nov 2022 07:25:12 -0800 Subject: [PATCH 16/21] Fix for issue #871 (#872) --- include/boost/math/ccmath/abs.hpp | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/include/boost/math/ccmath/abs.hpp b/include/boost/math/ccmath/abs.hpp index 8e9317c51..d7d8b1868 100644 --- a/include/boost/math/ccmath/abs.hpp +++ b/include/boost/math/ccmath/abs.hpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -20,19 +21,29 @@ namespace boost::math::ccmath { namespace detail { template -inline constexpr T abs_impl(T x) noexcept +constexpr T abs_impl(T x) noexcept { - return boost::math::ccmath::isnan(x) ? std::numeric_limits::quiet_NaN() : - boost::math::ccmath::isinf(x) ? std::numeric_limits::infinity() : - x == -0 ? T(0) : - x == (std::numeric_limits::min)() ? std::numeric_limits::quiet_NaN() : - x > 0 ? x : -x; + if (boost::math::ccmath::isnan(x)) + { + return std::numeric_limits::quiet_NaN(); + } + else if (x == static_cast(-0)) + { + return static_cast(0); + } + + if constexpr (std::is_integral_v) + { + BOOST_MATH_ASSERT(x != (std::numeric_limits::min)()); + } + + return x >= 0 ? x : -x; } } // Namespace detail template , bool> = true> -inline constexpr T abs(T x) noexcept +constexpr T abs(T x) noexcept { if(BOOST_MATH_IS_CONSTANT_EVALUATED(x)) { @@ -48,7 +59,7 @@ inline constexpr T abs(T x) noexcept // If abs() is called with an argument of type X for which is_unsigned_v is true and if X // cannot be converted to int by integral promotion (7.3.7), the program is ill-formed. template , bool> = true> -inline constexpr T abs(T x) noexcept +constexpr T abs(T x) noexcept { if constexpr (std::is_convertible_v) { @@ -61,12 +72,12 @@ inline constexpr T abs(T x) noexcept } } -inline constexpr long int labs(long int j) noexcept +constexpr long int labs(long int j) noexcept { return boost::math::ccmath::abs(j); } -inline constexpr long long int llabs(long long int j) noexcept +constexpr long long int llabs(long long int j) noexcept { return boost::math::ccmath::abs(j); } From 430f0dc6e2f3da95bdf4e666586cad6b4cc7b03f Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 17 Nov 2023 18:25:02 +0000 Subject: [PATCH 17/21] Update version history. [CI SKIP] --- doc/html/backgrounders.html | 12 +- doc/html/constants.html | 12 +- doc/html/cstdfloat.html | 12 +- doc/html/dist.html | 12 +- doc/html/extern_c.html | 12 +- doc/html/filters.html | 12 +- doc/html/gcd_lcm.html | 12 +- doc/html/index.html | 12 +- doc/html/indexes.html | 12 +- doc/html/indexes/s01.html | 14 +- doc/html/indexes/s02.html | 12 +- doc/html/indexes/s03.html | 12 +- doc/html/indexes/s04.html | 12 +- doc/html/indexes/s05.html | 25 ++- doc/html/internals.html | 12 +- doc/html/interpolation.html | 12 +- doc/html/inverse_complex.html | 12 +- doc/html/math_toolkit/acknowledgement.html | 10 +- doc/html/math_toolkit/acknowledgements.html | 10 +- doc/html/math_toolkit/acos.html | 10 +- doc/html/math_toolkit/acosh.html | 10 +- doc/html/math_toolkit/airy.html | 10 +- doc/html/math_toolkit/airy/ai.html | 10 +- doc/html/math_toolkit/airy/aip.html | 10 +- doc/html/math_toolkit/airy/airy_root.html | 10 +- doc/html/math_toolkit/airy/bi.html | 10 +- doc/html/math_toolkit/airy/bip.html | 10 +- doc/html/math_toolkit/anderson_darling.html | 10 +- doc/html/math_toolkit/archetypes.html | 10 +- doc/html/math_toolkit/asin.html | 10 +- doc/html/math_toolkit/asinh.html | 10 +- doc/html/math_toolkit/atan.html | 10 +- doc/html/math_toolkit/atanh.html | 10 +- doc/html/math_toolkit/autodiff.html | 10 +- doc/html/math_toolkit/bad_guess.html | 10 +- doc/html/math_toolkit/bad_roots.html | 10 +- doc/html/math_toolkit/barycentric.html | 10 +- doc/html/math_toolkit/bessel.html | 10 +- .../bessel/bessel_derivatives.html | 10 +- .../math_toolkit/bessel/bessel_first.html | 10 +- doc/html/math_toolkit/bessel/bessel_over.html | 10 +- doc/html/math_toolkit/bessel/bessel_root.html | 10 +- doc/html/math_toolkit/bessel/mbessel.html | 10 +- doc/html/math_toolkit/bessel/sph_bessel.html | 10 +- doc/html/math_toolkit/bezier_polynomial.html | 10 +- doc/html/math_toolkit/bilinear_uniform.html | 10 +- .../math_toolkit/bivariate_statistics.html | 10 +- doc/html/math_toolkit/brent_minima.html | 10 +- doc/html/math_toolkit/building.html | 10 +- doc/html/math_toolkit/c99.html | 10 +- doc/html/math_toolkit/cardinal_cubic_b.html | 10 +- .../math_toolkit/cardinal_quadratic_b.html | 10 +- doc/html/math_toolkit/cardinal_quintic_b.html | 10 +- .../math_toolkit/cardinal_trigonometric.html | 10 +- doc/html/math_toolkit/catmull_rom.html | 10 +- doc/html/math_toolkit/ccmath.html | 10 +- .../math_toolkit/chatterjee_correlation.html | 132 +++++++++++++++ doc/html/math_toolkit/comp_compilers.html | 10 +- doc/html/math_toolkit/comparisons.html | 10 +- doc/html/math_toolkit/compilers_overview.html | 10 +- doc/html/math_toolkit/complex_history.html | 10 +- .../math_toolkit/complex_implementation.html | 10 +- doc/html/math_toolkit/cond.html | 10 +- doc/html/math_toolkit/config_macros.html | 10 +- doc/html/math_toolkit/constants.html | 10 +- doc/html/math_toolkit/constants_faq.html | 10 +- doc/html/math_toolkit/constants_intro.html | 10 +- doc/html/math_toolkit/contact.html | 10 +- doc/html/math_toolkit/conventions.html | 12 +- doc/html/math_toolkit/create.html | 10 +- doc/html/math_toolkit/credits.html | 10 +- doc/html/math_toolkit/cubic_hermite.html | 10 +- doc/html/math_toolkit/cubic_roots.html | 10 +- doc/html/math_toolkit/daubechies.html | 58 ++++++- doc/html/math_toolkit/daubechies_filters.html | 10 +- doc/html/math_toolkit/diff.html | 10 +- doc/html/math_toolkit/diff0.html | 10 +- doc/html/math_toolkit/directories.html | 10 +- doc/html/math_toolkit/dist_concept.html | 10 +- doc/html/math_toolkit/dist_ref.html | 10 +- .../dist_ref/dist_algorithms.html | 10 +- doc/html/math_toolkit/dist_ref/dists.html | 10 +- .../dist_ref/dists/arcine_dist.html | 10 +- .../dist_ref/dists/bernoulli_dist.html | 10 +- .../dist_ref/dists/beta_dist.html | 10 +- .../dist_ref/dists/binomial_dist.html | 12 +- .../dist_ref/dists/cauchy_dist.html | 10 +- .../dist_ref/dists/chi_squared_dist.html | 10 +- .../dist_ref/dists/empirical_cdf.html | 10 +- .../math_toolkit/dist_ref/dists/exp_dist.html | 12 +- .../dist_ref/dists/extreme_dist.html | 12 +- .../math_toolkit/dist_ref/dists/f_dist.html | 10 +- .../dist_ref/dists/gamma_dist.html | 10 +- .../dist_ref/dists/geometric_dist.html | 10 +- .../dist_ref/dists/hyperexponential_dist.html | 10 +- .../dist_ref/dists/hypergeometric_dist.html | 30 ++-- .../dists/inverse_chi_squared_dist.html | 10 +- .../dist_ref/dists/inverse_gamma_dist.html | 10 +- .../dist_ref/dists/inverse_gaussian_dist.html | 10 +- .../dists/kolmogorov_smirnov_dist.html | 10 +- .../dist_ref/dists/laplace_dist.html | 10 +- .../dist_ref/dists/logistic_dist.html | 10 +- .../dist_ref/dists/lognormal_dist.html | 10 +- .../dist_ref/dists/nc_beta_dist.html | 10 +- .../dist_ref/dists/nc_chi_squared_dist.html | 10 +- .../dist_ref/dists/nc_f_dist.html | 10 +- .../dist_ref/dists/nc_t_dist.html | 10 +- .../dists/negative_binomial_dist.html | 10 +- .../dist_ref/dists/normal_dist.html | 10 +- .../math_toolkit/dist_ref/dists/pareto.html | 10 +- .../dist_ref/dists/poisson_dist.html | 10 +- .../math_toolkit/dist_ref/dists/rayleigh.html | 10 +- .../dist_ref/dists/skew_normal_dist.html | 10 +- .../dist_ref/dists/students_t_dist.html | 10 +- .../dist_ref/dists/triangular_dist.html | 15 +- .../dist_ref/dists/uniform_dist.html | 10 +- .../dist_ref/dists/weibull_dist.html | 12 +- doc/html/math_toolkit/dist_ref/nmp.html | 10 +- doc/html/math_toolkit/double_exponential.html | 10 +- .../double_exponential/de_caveats.html | 10 +- .../double_exponential/de_exp_sinh.html | 10 +- .../double_exponential/de_levels.html | 10 +- .../double_exponential/de_overview.html | 10 +- .../double_exponential/de_refes.html | 10 +- .../double_exponential/de_sinh_sinh.html | 10 +- .../double_exponential/de_tanh_sinh.html | 10 +- .../de_tanh_sinh_2_arg.html | 10 +- .../double_exponential/de_thread.html | 10 +- .../double_exponential/de_tol.html | 10 +- doc/html/math_toolkit/ellint.html | 10 +- doc/html/math_toolkit/ellint/ellint_1.html | 10 +- doc/html/math_toolkit/ellint/ellint_2.html | 10 +- doc/html/math_toolkit/ellint/ellint_3.html | 10 +- .../math_toolkit/ellint/ellint_carlson.html | 10 +- doc/html/math_toolkit/ellint/ellint_d.html | 10 +- .../math_toolkit/ellint/ellint_intro.html | 10 +- .../math_toolkit/ellint/heuman_lambda.html | 10 +- doc/html/math_toolkit/ellint/jacobi_zeta.html | 10 +- doc/html/math_toolkit/error_handling.html | 10 +- doc/html/math_toolkit/estrin.html | 10 +- doc/html/math_toolkit/exact_typdefs.html | 10 +- doc/html/math_toolkit/examples.html | 10 +- doc/html/math_toolkit/exp.html | 10 +- doc/html/math_toolkit/expint.html | 10 +- doc/html/math_toolkit/expint/expint_i.html | 10 +- doc/html/math_toolkit/expint/expint_n.html | 10 +- doc/html/math_toolkit/factorials.html | 10 +- .../math_toolkit/factorials/sf_binomial.html | 10 +- .../factorials/sf_double_factorial.html | 10 +- .../math_toolkit/factorials/sf_factorial.html | 10 +- .../factorials/sf_falling_factorial.html | 10 +- .../factorials/sf_rising_factorial.html | 10 +- doc/html/math_toolkit/fastest_typdefs.html | 10 +- doc/html/math_toolkit/float128.html | 10 +- .../math_toolkit/float128/exp_function.html | 10 +- .../math_toolkit/float128/overloading.html | 10 +- doc/html/math_toolkit/float128/typeinfo.html | 10 +- doc/html/math_toolkit/float128_hints.html | 10 +- doc/html/math_toolkit/float_comparison.html | 10 +- doc/html/math_toolkit/fourier_integrals.html | 10 +- doc/html/math_toolkit/fp_facets.html | 10 +- doc/html/math_toolkit/fp_facets/examples.html | 10 +- .../math_toolkit/fp_facets/facets_intro.html | 10 +- .../math_toolkit/fp_facets/portability.html | 10 +- .../math_toolkit/fp_facets/rationale.html | 10 +- .../math_toolkit/fp_facets/reference.html | 10 +- doc/html/math_toolkit/fpclass.html | 10 +- doc/html/math_toolkit/future.html | 10 +- doc/html/math_toolkit/gauss.html | 10 +- doc/html/math_toolkit/gauss_kronrod.html | 10 +- doc/html/math_toolkit/getting_best.html | 10 +- doc/html/math_toolkit/greatest_typdefs.html | 10 +- doc/html/math_toolkit/hankel.html | 10 +- doc/html/math_toolkit/hankel/cyl_hankel.html | 10 +- doc/html/math_toolkit/hankel/sph_hankel.html | 10 +- doc/html/math_toolkit/high_precision.html | 10 +- .../math_toolkit/high_precision/e_float.html | 10 +- .../math_toolkit/high_precision/float128.html | 10 +- .../math_toolkit/high_precision/use_mpfr.html | 10 +- .../high_precision/use_multiprecision.html | 10 +- .../math_toolkit/high_precision/use_ntl.html | 10 +- .../high_precision/using_test.html | 10 +- .../high_precision/why_high_precision.html | 10 +- doc/html/math_toolkit/hints.html | 10 +- doc/html/math_toolkit/history1.html | 155 +++++++++++------- doc/html/math_toolkit/history2.html | 155 +++++++++++------- doc/html/math_toolkit/hypergeometric.html | 10 +- .../hypergeometric/hypergeometric_0f1.html | 10 +- .../hypergeometric/hypergeometric_1f0.html | 10 +- .../hypergeometric/hypergeometric_1f1.html | 10 +- .../hypergeometric/hypergeometric_2f0.html | 10 +- .../hypergeometric/hypergeometric_pfq.html | 10 +- .../hypergeometric/hypergeometric_refs.html | 10 +- doc/html/math_toolkit/internals.html | 10 +- doc/html/math_toolkit/internals/agm.html | 10 +- .../centered_continued_fraction.html | 10 +- doc/html/math_toolkit/internals/cf.html | 10 +- .../internals/cohen_acceleration.html | 10 +- .../math_toolkit/internals/color_maps.html | 10 +- .../internals/engel_expansion.html | 10 +- .../math_toolkit/internals/error_test.html | 10 +- .../internals/luroth_expansion.html | 10 +- doc/html/math_toolkit/internals/minimax.html | 10 +- .../math_toolkit/internals/recurrence.html | 10 +- .../internals/series_evaluation.html | 10 +- .../internals/simple_continued_fraction.html | 10 +- .../math_toolkit/internals/test_data.html | 10 +- doc/html/math_toolkit/internals/tuples.html | 10 +- doc/html/math_toolkit/internals_overview.html | 10 +- doc/html/math_toolkit/interp.html | 10 +- doc/html/math_toolkit/intro_pol_overview.html | 10 +- doc/html/math_toolkit/inv_hyper.html | 10 +- doc/html/math_toolkit/inv_hyper/acosh.html | 10 +- doc/html/math_toolkit/inv_hyper/asinh.html | 10 +- doc/html/math_toolkit/inv_hyper/atanh.html | 10 +- .../inv_hyper/inv_hyper_over.html | 10 +- doc/html/math_toolkit/issues.html | 10 +- doc/html/math_toolkit/jacobi.html | 10 +- doc/html/math_toolkit/jacobi/jac_over.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cn.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cs.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_dc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_dn.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_ds.html | 10 +- .../math_toolkit/jacobi/jacobi_elliptic.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_nc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_nd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_ns.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sn.html | 10 +- doc/html/math_toolkit/jacobi_theta.html | 10 +- .../jacobi_theta/jacobi_theta1.html | 10 +- .../jacobi_theta/jacobi_theta2.html | 10 +- .../jacobi_theta/jacobi_theta3.html | 10 +- .../jacobi_theta/jacobi_theta4.html | 10 +- .../jacobi_theta/jacobi_theta_overview.html | 10 +- doc/html/math_toolkit/lambert_w.html | 15 +- doc/html/math_toolkit/lanczos.html | 10 +- doc/html/math_toolkit/linear_regression.html | 16 +- doc/html/math_toolkit/ljung_box.html | 10 +- doc/html/math_toolkit/logs_and_tables.html | 10 +- .../logs_and_tables/all_table.html | 10 +- .../math_toolkit/logs_and_tables/logs.html | 10 +- doc/html/math_toolkit/macros.html | 10 +- doc/html/math_toolkit/main_faq.html | 10 +- doc/html/math_toolkit/main_intro.html | 10 +- doc/html/math_toolkit/main_tr1.html | 10 +- doc/html/math_toolkit/makima.html | 10 +- doc/html/math_toolkit/mem_typedef.html | 10 +- doc/html/math_toolkit/minimum_typdefs.html | 10 +- doc/html/math_toolkit/multiprecision.html | 10 +- doc/html/math_toolkit/naive_monte_carlo.html | 10 +- doc/html/math_toolkit/namespaces.html | 10 +- doc/html/math_toolkit/navigation.html | 12 +- doc/html/math_toolkit/new_const.html | 10 +- doc/html/math_toolkit/next_float.html | 10 +- .../next_float/float_advance.html | 10 +- .../next_float/float_distance.html | 10 +- .../math_toolkit/next_float/float_next.html | 10 +- .../math_toolkit/next_float/float_prior.html | 10 +- .../math_toolkit/next_float/nextafter.html | 10 +- doc/html/math_toolkit/next_float/ulp.html | 19 +-- doc/html/math_toolkit/norms.html | 10 +- doc/html/math_toolkit/number_series.html | 10 +- .../number_series/bernoulli_numbers.html | 10 +- .../number_series/fibonacci_numbers.html | 10 +- .../math_toolkit/number_series/primes.html | 10 +- .../number_series/tangent_numbers.html | 10 +- doc/html/math_toolkit/oct_create.html | 10 +- doc/html/math_toolkit/oct_header.html | 10 +- doc/html/math_toolkit/oct_history.html | 10 +- doc/html/math_toolkit/oct_mem_fun.html | 10 +- doc/html/math_toolkit/oct_non_mem.html | 10 +- doc/html/math_toolkit/oct_overview.html | 10 +- doc/html/math_toolkit/oct_specialization.html | 10 +- doc/html/math_toolkit/oct_synopsis.html | 10 +- doc/html/math_toolkit/oct_tests.html | 10 +- doc/html/math_toolkit/oct_todo.html | 10 +- doc/html/math_toolkit/oct_trans.html | 10 +- doc/html/math_toolkit/oct_typedefs.html | 10 +- doc/html/math_toolkit/oct_value_ops.html | 10 +- doc/html/math_toolkit/octonion.html | 10 +- doc/html/math_toolkit/overview_tr1.html | 10 +- doc/html/math_toolkit/owens_t.html | 10 +- doc/html/math_toolkit/pchip.html | 10 +- doc/html/math_toolkit/perf_over1.html | 10 +- doc/html/math_toolkit/perf_over2.html | 10 +- doc/html/math_toolkit/perf_test_app.html | 10 +- doc/html/math_toolkit/pol_overview.html | 10 +- doc/html/math_toolkit/pol_ref.html | 10 +- .../pol_ref/assert_undefined.html | 10 +- .../pol_ref/discrete_quant_ref.html | 10 +- .../pol_ref/error_handling_policies.html | 10 +- .../pol_ref/internal_promotion.html | 10 +- .../math_toolkit/pol_ref/iteration_pol.html | 10 +- .../math_toolkit/pol_ref/namespace_pol.html | 10 +- .../math_toolkit/pol_ref/pol_ref_ref.html | 10 +- .../math_toolkit/pol_ref/policy_defaults.html | 10 +- .../math_toolkit/pol_ref/precision_pol.html | 10 +- doc/html/math_toolkit/pol_tutorial.html | 10 +- .../pol_tutorial/ad_hoc_dist_policies.html | 10 +- .../pol_tutorial/ad_hoc_sf_policies.html | 10 +- .../changing_policy_defaults.html | 10 +- .../pol_tutorial/namespace_policies.html | 10 +- .../pol_tutorial/policy_tut_defaults.html | 10 +- .../pol_tutorial/policy_usage.html | 10 +- .../pol_tutorial/understand_dis_quant.html | 10 +- .../pol_tutorial/user_def_err_pol.html | 10 +- .../pol_tutorial/what_is_a_policy.html | 10 +- doc/html/math_toolkit/polynomials.html | 10 +- doc/html/math_toolkit/powers.html | 10 +- doc/html/math_toolkit/powers/cbrt.html | 10 +- doc/html/math_toolkit/powers/cos_pi.html | 10 +- doc/html/math_toolkit/powers/ct_pow.html | 10 +- doc/html/math_toolkit/powers/expm1.html | 10 +- doc/html/math_toolkit/powers/hypot.html | 10 +- doc/html/math_toolkit/powers/log1p.html | 10 +- doc/html/math_toolkit/powers/logaddexp.html | 10 +- doc/html/math_toolkit/powers/powm1.html | 10 +- doc/html/math_toolkit/powers/rsqrt.html | 10 +- doc/html/math_toolkit/powers/sin_pi.html | 10 +- doc/html/math_toolkit/powers/sqrt1pm1.html | 10 +- doc/html/math_toolkit/quartic_roots.html | 10 +- doc/html/math_toolkit/quat.html | 10 +- doc/html/math_toolkit/quat_header.html | 10 +- doc/html/math_toolkit/quat_history.html | 10 +- doc/html/math_toolkit/quat_mem_fun.html | 10 +- doc/html/math_toolkit/quat_non_mem.html | 10 +- doc/html/math_toolkit/quat_overview.html | 10 +- doc/html/math_toolkit/quat_synopsis.html | 10 +- doc/html/math_toolkit/quat_tests.html | 10 +- doc/html/math_toolkit/quat_todo.html | 10 +- doc/html/math_toolkit/quintic_hermite.html | 10 +- doc/html/math_toolkit/rational.html | 10 +- doc/html/math_toolkit/rationale.html | 10 +- doc/html/math_toolkit/real_concepts.html | 10 +- doc/html/math_toolkit/refs.html | 18 +- doc/html/math_toolkit/relative_error.html | 10 +- doc/html/math_toolkit/remez.html | 10 +- doc/html/math_toolkit/result_type.html | 10 +- doc/html/math_toolkit/root_comparison.html | 10 +- .../root_comparison/cbrt_comparison.html | 10 +- .../root_comparison/elliptic_comparison.html | 10 +- .../root_comparison/root_n_comparison.html | 10 +- .../math_toolkit/root_finding_examples.html | 10 +- .../root_finding_examples/5th_root_eg.html | 10 +- .../root_finding_examples/cbrt_eg.html | 10 +- .../root_finding_examples/elliptic_eg.html | 10 +- .../root_finding_examples/lambda.html | 10 +- .../multiprecision_root.html | 10 +- .../root_finding_examples/nth_root.html | 10 +- doc/html/math_toolkit/roots_deriv.html | 10 +- doc/html/math_toolkit/roots_noderiv.html | 10 +- .../math_toolkit/roots_noderiv/TOMS748.html | 10 +- .../math_toolkit/roots_noderiv/bisect.html | 10 +- .../roots_noderiv/bracket_solve.html | 10 +- .../math_toolkit/roots_noderiv/brent.html | 10 +- .../roots_noderiv/implementation.html | 10 +- .../roots_noderiv/root_termination.html | 10 +- doc/html/math_toolkit/rounding.html | 10 +- doc/html/math_toolkit/rounding/modf.html | 10 +- doc/html/math_toolkit/rounding/round.html | 10 +- doc/html/math_toolkit/rounding/trunc.html | 10 +- doc/html/math_toolkit/runs_test.html | 10 +- doc/html/math_toolkit/sf_beta.html | 10 +- .../math_toolkit/sf_beta/beta_derivative.html | 10 +- .../math_toolkit/sf_beta/beta_function.html | 10 +- .../math_toolkit/sf_beta/ibeta_function.html | 10 +- .../sf_beta/ibeta_inv_function.html | 10 +- doc/html/math_toolkit/sf_erf.html | 10 +- .../math_toolkit/sf_erf/error_function.html | 10 +- doc/html/math_toolkit/sf_erf/error_inv.html | 10 +- doc/html/math_toolkit/sf_gamma.html | 10 +- doc/html/math_toolkit/sf_gamma/digamma.html | 10 +- .../sf_gamma/gamma_derivatives.html | 10 +- .../math_toolkit/sf_gamma/gamma_ratios.html | 10 +- doc/html/math_toolkit/sf_gamma/igamma.html | 10 +- .../math_toolkit/sf_gamma/igamma_inv.html | 10 +- doc/html/math_toolkit/sf_gamma/lgamma.html | 10 +- doc/html/math_toolkit/sf_gamma/polygamma.html | 10 +- doc/html/math_toolkit/sf_gamma/tgamma.html | 10 +- doc/html/math_toolkit/sf_gamma/trigamma.html | 10 +- doc/html/math_toolkit/sf_implementation.html | 10 +- doc/html/math_toolkit/sf_poly.html | 10 +- .../sf_poly/cardinal_b_splines.html | 10 +- doc/html/math_toolkit/sf_poly/chebyshev.html | 10 +- doc/html/math_toolkit/sf_poly/gegenbauer.html | 10 +- doc/html/math_toolkit/sf_poly/hermite.html | 10 +- doc/html/math_toolkit/sf_poly/jacobi.html | 10 +- doc/html/math_toolkit/sf_poly/laguerre.html | 10 +- doc/html/math_toolkit/sf_poly/legendre.html | 10 +- .../sf_poly/legendre_stieltjes.html | 10 +- doc/html/math_toolkit/sf_poly/sph_harm.html | 10 +- doc/html/math_toolkit/sign_functions.html | 10 +- doc/html/math_toolkit/signal_statistics.html | 10 +- doc/html/math_toolkit/sinc.html | 10 +- doc/html/math_toolkit/sinc/sinc_overview.html | 10 +- doc/html/math_toolkit/sinc/sinc_pi.html | 10 +- doc/html/math_toolkit/sinc/sinhc_pi.html | 10 +- doc/html/math_toolkit/spec.html | 10 +- doc/html/math_toolkit/special_tut.html | 10 +- .../special_tut/special_tut_impl.html | 10 +- .../special_tut/special_tut_test.html | 10 +- doc/html/math_toolkit/specified_typedefs.html | 10 +- doc/html/math_toolkit/standalone.html | 10 +- doc/html/math_toolkit/stat_tut.html | 10 +- .../math_toolkit/stat_tut/dist_params.html | 10 +- doc/html/math_toolkit/stat_tut/overview.html | 10 +- .../stat_tut/overview/complements.html | 10 +- .../stat_tut/overview/generic.html | 10 +- .../stat_tut/overview/headers.html | 10 +- .../stat_tut/overview/objects.html | 10 +- .../stat_tut/overview/parameters.html | 10 +- .../stat_tut/overview/summary.html | 10 +- doc/html/math_toolkit/stat_tut/variates.html | 10 +- doc/html/math_toolkit/stat_tut/weg.html | 10 +- .../math_toolkit/stat_tut/weg/binom_eg.html | 10 +- .../stat_tut/weg/binom_eg/binom_conf.html | 10 +- .../stat_tut/weg/binom_eg/binom_size_eg.html | 10 +- .../binom_eg/binomial_coinflip_example.html | 10 +- .../weg/binom_eg/binomial_quiz_example.html | 10 +- .../math_toolkit/stat_tut/weg/c_sharp.html | 10 +- doc/html/math_toolkit/stat_tut/weg/cs_eg.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_intervals.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_size.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_test.html | 10 +- .../stat_tut/weg/dist_construct_eg.html | 10 +- .../math_toolkit/stat_tut/weg/error_eg.html | 10 +- doc/html/math_toolkit/stat_tut/weg/f_eg.html | 10 +- .../math_toolkit/stat_tut/weg/find_eg.html | 10 +- .../weg/find_eg/find_location_eg.html | 10 +- .../weg/find_eg/find_mean_and_sd_eg.html | 10 +- .../stat_tut/weg/find_eg/find_scale_eg.html | 10 +- .../stat_tut/weg/geometric_eg.html | 10 +- .../stat_tut/weg/inverse_chi_squared_eg.html | 10 +- .../stat_tut/weg/nag_library.html | 10 +- .../math_toolkit/stat_tut/weg/nccs_eg.html | 10 +- .../stat_tut/weg/nccs_eg/nccs_power_eg.html | 10 +- .../stat_tut/weg/neg_binom_eg.html | 10 +- .../weg/neg_binom_eg/neg_binom_conf.html | 10 +- .../weg/neg_binom_eg/neg_binom_size_eg.html | 10 +- .../negative_binomial_example1.html | 10 +- .../negative_binomial_example2.html | 10 +- .../stat_tut/weg/normal_example.html | 10 +- .../weg/normal_example/normal_misc.html | 10 +- doc/html/math_toolkit/stat_tut/weg/st_eg.html | 10 +- .../stat_tut/weg/st_eg/paired_st.html | 10 +- .../weg/st_eg/tut_mean_intervals.html | 10 +- .../stat_tut/weg/st_eg/tut_mean_size.html | 10 +- .../stat_tut/weg/st_eg/tut_mean_test.html | 10 +- .../weg/st_eg/two_sample_students_t.html | 10 +- doc/html/math_toolkit/t_test.html | 10 +- doc/html/math_toolkit/threads.html | 10 +- doc/html/math_toolkit/tr1_ref.html | 10 +- doc/html/math_toolkit/tradoffs.html | 10 +- doc/html/math_toolkit/trans.html | 10 +- doc/html/math_toolkit/trapezoidal.html | 10 +- doc/html/math_toolkit/tuning.html | 10 +- doc/html/math_toolkit/tutorial.html | 10 +- doc/html/math_toolkit/tutorial/non_templ.html | 10 +- doc/html/math_toolkit/tutorial/templ.html | 10 +- doc/html/math_toolkit/tutorial/user_def.html | 10 +- doc/html/math_toolkit/ulps_plots.html | 10 +- .../math_toolkit/univariate_statistics.html | 10 +- doc/html/math_toolkit/value_op.html | 10 +- doc/html/math_toolkit/vector_barycentric.html | 10 +- doc/html/math_toolkit/wavelet_transforms.html | 10 +- doc/html/math_toolkit/whittaker_shannon.html | 10 +- doc/html/math_toolkit/z_test.html | 10 +- doc/html/math_toolkit/zetas.html | 10 +- doc/html/math_toolkit/zetas/zeta.html | 10 +- doc/html/octonions.html | 12 +- doc/html/overview.html | 14 +- doc/html/perf.html | 12 +- doc/html/policy.html | 12 +- doc/html/poly.html | 12 +- doc/html/quadrature.html | 12 +- doc/html/quaternions.html | 12 +- doc/html/root_finding.html | 12 +- doc/html/special.html | 12 +- doc/html/standalone_HTML.manifest | 1 + doc/html/statistics.html | 13 +- doc/html/status.html | 12 +- doc/html/using_udt.html | 12 +- doc/html/utils.html | 12 +- doc/html/vector_functionals.html | 18 +- doc/math.qbk | 2 +- doc/overview/roadmap.qbk | 16 ++ .../special_functions/detail/round_fwd.hpp | 32 ++-- .../boost/math/special_functions/round.hpp | 28 ++-- .../boost/math/special_functions/trunc.hpp | 38 ++--- 493 files changed, 2466 insertions(+), 3132 deletions(-) create mode 100644 doc/html/math_toolkit/chatterjee_correlation.html diff --git a/doc/html/backgrounders.html b/doc/html/backgrounders.html index b29bcfd47..86ab4b66b 100644 --- a/doc/html/backgrounders.html +++ b/doc/html/backgrounders.html @@ -4,10 +4,11 @@ Chapter 23. Backgrounders - - + + + @@ -50,9 +51,7 @@ -
      - - -
      +
      PrevUpHomeNext diff --git a/doc/html/constants.html b/doc/html/constants.html index d606b0db5..6ebbbe5ad 100644 --- a/doc/html/constants.html +++ b/doc/html/constants.html @@ -4,10 +4,11 @@ Chapter 4. Mathematical Constants - - + + + @@ -43,9 +44,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/cstdfloat.html b/doc/html/cstdfloat.html index bf38d84cf..bd34f4960 100644 --- a/doc/html/cstdfloat.html +++ b/doc/html/cstdfloat.html @@ -4,10 +4,11 @@ Chapter 3. Specified-width floating-point typedefs - - + + + @@ -51,9 +52,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/dist.html b/doc/html/dist.html index 204ba0679..a0c6c3092 100644 --- a/doc/html/dist.html +++ b/doc/html/dist.html @@ -4,10 +4,11 @@ Chapter 5. Statistical Distributions and Functions - - + + + @@ -206,9 +207,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/extern_c.html b/doc/html/extern_c.html index 9a0139565..27485f538 100644 --- a/doc/html/extern_c.html +++ b/doc/html/extern_c.html @@ -4,10 +4,11 @@ Chapter 9. TR1 and C99 external "C" Functions - - + + + @@ -34,9 +35,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/filters.html b/doc/html/filters.html index 332d9b21e..e66f21719 100644 --- a/doc/html/filters.html +++ b/doc/html/filters.html @@ -4,10 +4,11 @@ Chapter 14. Filters - - + + + @@ -30,9 +31,7 @@
      Daubechies Filters
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/gcd_lcm.html b/doc/html/gcd_lcm.html index a656eb9b5..083588afd 100644 --- a/doc/html/gcd_lcm.html +++ b/doc/html/gcd_lcm.html @@ -4,10 +4,11 @@ Chapter 18. Integer Utilities (Greatest Common Divisor and Least Common Multiple) - - + + + @@ -35,9 +36,7 @@ continue to exist and redirect to the moved headers.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/index.html b/doc/html/index.html index b5ebdf6e1..ebf1df493 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,11 +1,12 @@ -Math Toolkit 4.1.0 +Math Toolkit 4.1.1 - + + @@ -22,7 +23,7 @@

      -Math Toolkit 4.1.0

      +Math Toolkit 4.1.1

      Nikhar Agrawal @@ -133,10 +134,7 @@ This manual is also available in

      - - -

      Last revised: February 23, 2023 at 18:11:17 GMT

      +
      Next
      diff --git a/doc/html/indexes.html b/doc/html/indexes.html index f3d154153..2b99eff98 100644 --- a/doc/html/indexes.html +++ b/doc/html/indexes.html @@ -4,10 +4,11 @@ Chapter 25. Indexes - - + + + @@ -36,9 +37,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s01.html b/doc/html/indexes/s01.html index 2b5d2dfe8..bdd752183 100644 --- a/doc/html/indexes/s01.html +++ b/doc/html/indexes/s01.html @@ -4,10 +4,11 @@ Function Index - + + @@ -24,7 +25,7 @@

      -Function Index

      +Function Index

      1 2 4 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s02.html b/doc/html/indexes/s02.html index 4850bc7c7..db175c17e 100644 --- a/doc/html/indexes/s02.html +++ b/doc/html/indexes/s02.html @@ -4,10 +4,11 @@ Class Index - + + @@ -24,7 +25,7 @@

      -Class Index

      +Class Index

      A B C D E F G H I K L M N O P Q R S T U V W

      @@ -466,9 +467,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index 2b8a2b5b6..2c28b9410 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -4,10 +4,11 @@ Typedef Index - + + @@ -24,7 +25,7 @@

      -Typedef Index

      +Typedef Index

      A B C D E F G H I K L N P R S T U V W

      @@ -385,9 +386,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index 644a77435..e6748a300 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -4,10 +4,11 @@ Macro Index - + + @@ -24,7 +25,7 @@

      -Macro Index

      +Macro Index

      B F

      @@ -373,9 +374,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s05.html b/doc/html/indexes/s05.html index 1d13dcd6b..ba5052d7f 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -4,9 +4,10 @@ Index - + + @@ -23,7 +24,7 @@

      -Index

      +Index

      1 2 4 5 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _

      -
      - - -
      +

      PrevUpHome diff --git a/doc/html/internals.html b/doc/html/internals.html index daf0ab7b2..56aa0eccc 100644 --- a/doc/html/internals.html +++ b/doc/html/internals.html @@ -4,10 +4,11 @@ Chapter 19. Internal Details: Series, Rationals and Continued Fractions, Testing, and Development Tools - - + + + @@ -56,9 +57,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/interpolation.html b/doc/html/interpolation.html index 2d54f4611..b603e1853 100644 --- a/doc/html/interpolation.html +++ b/doc/html/interpolation.html @@ -4,10 +4,11 @@ Chapter 12. Interpolation - - + + + @@ -50,9 +51,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/inverse_complex.html b/doc/html/inverse_complex.html index 781eea65c..ffffbc759 100644 --- a/doc/html/inverse_complex.html +++ b/doc/html/inverse_complex.html @@ -4,10 +4,11 @@ Chapter 15. Complex Number Functions - - + + + @@ -46,9 +47,7 @@ Report on C++ Library Extensions.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acknowledgement.html b/doc/html/math_toolkit/acknowledgement.html index 52eaee594..32ec4dd3e 100644 --- a/doc/html/math_toolkit/acknowledgement.html +++ b/doc/html/math_toolkit/acknowledgement.html @@ -4,10 +4,11 @@ Acknowledgements - + + @@ -33,9 +34,7 @@ section. Thank you to all who contributed to the discution about this library.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acknowledgements.html b/doc/html/math_toolkit/acknowledgements.html index 0a0906b9d..15d676258 100644 --- a/doc/html/math_toolkit/acknowledgements.html +++ b/doc/html/math_toolkit/acknowledgements.html @@ -4,10 +4,11 @@ Acknowledgements - + + @@ -33,9 +34,7 @@ section. Thank you to all who contributed to the discussion about this library.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acos.html b/doc/html/math_toolkit/acos.html index f813c0b1d..dc9e90dc6 100644 --- a/doc/html/math_toolkit/acos.html +++ b/doc/html/math_toolkit/acos.html @@ -4,10 +4,11 @@ acos - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acosh.html b/doc/html/math_toolkit/acosh.html index a0130c330..f137666ea 100644 --- a/doc/html/math_toolkit/acosh.html +++ b/doc/html/math_toolkit/acosh.html @@ -4,10 +4,11 @@ acosh - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy.html b/doc/html/math_toolkit/airy.html index 272a42631..f278a7397 100644 --- a/doc/html/math_toolkit/airy.html +++ b/doc/html/math_toolkit/airy.html @@ -4,10 +4,11 @@ Airy Functions - + + @@ -34,9 +35,7 @@
      Finding Zeros of Airy Functions
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/ai.html b/doc/html/math_toolkit/airy/ai.html index bc4cde153..2aa435784 100644 --- a/doc/html/math_toolkit/airy/ai.html +++ b/doc/html/math_toolkit/airy/ai.html @@ -4,10 +4,11 @@ Airy Ai Function - + + @@ -115,9 +116,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/aip.html b/doc/html/math_toolkit/airy/aip.html index a16bc4113..13621f8ca 100644 --- a/doc/html/math_toolkit/airy/aip.html +++ b/doc/html/math_toolkit/airy/aip.html @@ -4,10 +4,11 @@ Airy Ai' Function - + + @@ -107,9 +108,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/airy_root.html b/doc/html/math_toolkit/airy/airy_root.html index 4f5dcfdbc..43bfee0ee 100644 --- a/doc/html/math_toolkit/airy/airy_root.html +++ b/doc/html/math_toolkit/airy/airy_root.html @@ -4,10 +4,11 @@ Finding Zeros of Airy Functions - + + @@ -460,9 +461,7 @@ airy_ai_zeros: Alpha.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/bi.html b/doc/html/math_toolkit/airy/bi.html index 14b6541e9..78e19f584 100644 --- a/doc/html/math_toolkit/airy/bi.html +++ b/doc/html/math_toolkit/airy/bi.html @@ -4,10 +4,11 @@ Airy Bi Function - + + @@ -106,9 +107,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/bip.html b/doc/html/math_toolkit/airy/bip.html index 77ac68c13..411b622fb 100644 --- a/doc/html/math_toolkit/airy/bip.html +++ b/doc/html/math_toolkit/airy/bip.html @@ -4,10 +4,11 @@ Airy Bi' Function - + + @@ -107,9 +108,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/anderson_darling.html b/doc/html/math_toolkit/anderson_darling.html index f9a66831e..6ee8655a7 100644 --- a/doc/html/math_toolkit/anderson_darling.html +++ b/doc/html/math_toolkit/anderson_darling.html @@ -4,10 +4,11 @@ The Anderson-Darling Test - + + @@ -190,9 +191,7 @@ of the Anderson-Darling test statistic agrees with Mathematica.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/archetypes.html b/doc/html/math_toolkit/archetypes.html index 6b8083aab..01a053991 100644 --- a/doc/html/math_toolkit/archetypes.html +++ b/doc/html/math_toolkit/archetypes.html @@ -4,10 +4,11 @@ Conceptual Archetypes for Reals and Distributions - + + @@ -177,9 +178,7 @@ implemented in there too.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/asin.html b/doc/html/math_toolkit/asin.html index f41968c9f..d24d24160 100644 --- a/doc/html/math_toolkit/asin.html +++ b/doc/html/math_toolkit/asin.html @@ -4,10 +4,11 @@ asin - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/asinh.html b/doc/html/math_toolkit/asinh.html index f495ad9a4..42166c69b 100644 --- a/doc/html/math_toolkit/asinh.html +++ b/doc/html/math_toolkit/asinh.html @@ -4,10 +4,11 @@ asinh - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/atan.html b/doc/html/math_toolkit/atan.html index 6189591fe..6ebf1f0a3 100644 --- a/doc/html/math_toolkit/atan.html +++ b/doc/html/math_toolkit/atan.html @@ -4,10 +4,11 @@ atan - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/atanh.html b/doc/html/math_toolkit/atanh.html index 16e89c8fb..4e63a8612 100644 --- a/doc/html/math_toolkit/atanh.html +++ b/doc/html/math_toolkit/atanh.html @@ -4,10 +4,11 @@ atanh - + + @@ -47,9 +48,7 @@ Formula:

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/autodiff.html b/doc/html/math_toolkit/autodiff.html index 6e4b20a98..fd4fdc587 100644 --- a/doc/html/math_toolkit/autodiff.html +++ b/doc/html/math_toolkit/autodiff.html @@ -4,10 +4,11 @@ Automatic Differentiation - + + @@ -399,9 +400,7 @@ put gamma = 0.00199852 manual.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bad_guess.html b/doc/html/math_toolkit/bad_guess.html index 756d31764..d873721a2 100644 --- a/doc/html/math_toolkit/bad_guess.html +++ b/doc/html/math_toolkit/bad_guess.html @@ -4,10 +4,11 @@ The Effect of a Poor Initial Guess - + + @@ -757,9 +758,7 @@ when using derivatives.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bad_roots.html b/doc/html/math_toolkit/bad_roots.html index f26e434e0..df4e4eccc 100644 --- a/doc/html/math_toolkit/bad_roots.html +++ b/doc/html/math_toolkit/bad_roots.html @@ -4,10 +4,11 @@ Examples Where Root Finding Goes Wrong - + + @@ -108,9 +109,7 @@ and for z0 > 0 the steps are actually divergent.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/barycentric.html b/doc/html/math_toolkit/barycentric.html index 659ded546..5d443533a 100644 --- a/doc/html/math_toolkit/barycentric.html +++ b/doc/html/math_toolkit/barycentric.html @@ -4,10 +4,11 @@ Barycentric Rational Interpolation - + + @@ -268,9 +269,7 @@ Abscissa value that yields a potential of 3 = 0.604728 Root was found in 10 iterations. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel.html b/doc/html/math_toolkit/bessel.html index bfcd26d3b..ba429d56e 100644 --- a/doc/html/math_toolkit/bessel.html +++ b/doc/html/math_toolkit/bessel.html @@ -4,10 +4,11 @@ Bessel Functions - + + @@ -40,9 +41,7 @@ the Bessel Functions -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_derivatives.html b/doc/html/math_toolkit/bessel/bessel_derivatives.html index 129a03766..9c3b68f06 100644 --- a/doc/html/math_toolkit/bessel/bessel_derivatives.html +++ b/doc/html/math_toolkit/bessel/bessel_derivatives.html @@ -4,10 +4,11 @@ Derivatives of the Bessel Functions - + + @@ -1436,9 +1437,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_first.html b/doc/html/math_toolkit/bessel/bessel_first.html index e5942506b..46e55e05d 100644 --- a/doc/html/math_toolkit/bessel/bessel_first.html +++ b/doc/html/math_toolkit/bessel/bessel_first.html @@ -4,10 +4,11 @@ Bessel Functions of the First and Second Kinds - + + @@ -1367,9 +1368,7 @@ are also computed by recursions (involving gamma functions), but recurrence.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_over.html b/doc/html/math_toolkit/bessel/bessel_over.html index c2a200ddf..1960c93ce 100644 --- a/doc/html/math_toolkit/bessel/bessel_over.html +++ b/doc/html/math_toolkit/bessel/bessel_over.html @@ -4,10 +4,11 @@ Bessel Function Overview - + + @@ -215,9 +216,7 @@ is also known as the spherical and sph_neumann.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_root.html b/doc/html/math_toolkit/bessel/bessel_root.html index f2d03c3a7..92971a064 100644 --- a/doc/html/math_toolkit/bessel/bessel_root.html +++ b/doc/html/math_toolkit/bessel/bessel_root.html @@ -4,10 +4,11 @@ Finding Zeros of Bessel Functions of the First and Second Kinds - + + @@ -755,9 +756,7 @@ Alpha.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/mbessel.html b/doc/html/math_toolkit/bessel/mbessel.html index 1d5880d21..bfd73b84d 100644 --- a/doc/html/math_toolkit/bessel/mbessel.html +++ b/doc/html/math_toolkit/bessel/mbessel.html @@ -4,10 +4,11 @@ Modified Bessel Functions of the First and Second Kinds - + + @@ -1180,9 +1181,7 @@ are also computed by recursions (involving gamma functions), but two values and fν, the Wronskian yields Iν(x) directly.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/sph_bessel.html b/doc/html/math_toolkit/bessel/sph_bessel.html index 025b803cc..d42a7bbfe 100644 --- a/doc/html/math_toolkit/bessel/sph_bessel.html +++ b/doc/html/math_toolkit/bessel/sph_bessel.html @@ -4,10 +4,11 @@ Spherical Bessel Functions of the First and Second Kinds - + + @@ -272,9 +273,7 @@ for small x: main definition as x → 0.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bezier_polynomial.html b/doc/html/math_toolkit/bezier_polynomial.html index 5ec26eeeb..6dd232725 100644 --- a/doc/html/math_toolkit/bezier_polynomial.html +++ b/doc/html/math_toolkit/bezier_polynomial.html @@ -4,10 +4,11 @@ Bezier Polynomials - + + @@ -233,9 +234,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bilinear_uniform.html b/doc/html/math_toolkit/bilinear_uniform.html index 26cca6dff..e5b9a43fd 100644 --- a/doc/html/math_toolkit/bilinear_uniform.html +++ b/doc/html/math_toolkit/bilinear_uniform.html @@ -4,10 +4,11 @@ Bilinear Uniform Interpolation - + + @@ -124,9 +125,7 @@ Bilinear<double>/819213.2ns -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bivariate_statistics.html b/doc/html/math_toolkit/bivariate_statistics.html index 1435f6165..5b39e5da5 100644 --- a/doc/html/math_toolkit/bivariate_statistics.html +++ b/doc/html/math_toolkit/bivariate_statistics.html @@ -4,10 +4,11 @@ Bivariate Statistics - + + @@ -137,9 +138,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/brent_minima.html b/doc/html/math_toolkit/brent_minima.html index de2304809..4315a77e3 100644 --- a/doc/html/math_toolkit/brent_minima.html +++ b/doc/html/math_toolkit/brent_minima.html @@ -4,10 +4,11 @@ Locating Function Minima using Brent's algorithm - + + @@ -649,9 +650,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/building.html b/doc/html/math_toolkit/building.html index c270a5a7d..f49a9f9e3 100644 --- a/doc/html/math_toolkit/building.html +++ b/doc/html/math_toolkit/building.html @@ -4,10 +4,11 @@ If and How to Build a Boost.Math Library, and its Examples and Tests - + + @@ -145,9 +146,7 @@ the sources. Boost.Build will do this automatically when appropriate.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/c99.html b/doc/html/math_toolkit/c99.html index 588156932..3867e1376 100644 --- a/doc/html/math_toolkit/c99.html +++ b/doc/html/math_toolkit/c99.html @@ -4,10 +4,11 @@ C99 C Functions - + + @@ -461,9 +462,7 @@ ISO Standard

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_cubic_b.html b/doc/html/math_toolkit/cardinal_cubic_b.html index 62dca0037..faf45cf96 100644 --- a/doc/html/math_toolkit/cardinal_cubic_b.html +++ b/doc/html/math_toolkit/cardinal_cubic_b.html @@ -4,10 +4,11 @@ Cardinal Cubic B-spline interpolation - + + @@ -311,9 +312,7 @@ The population of the United States surpassed 100 million on the 11th month of 1 Found in 3 iterations -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_quadratic_b.html b/doc/html/math_toolkit/cardinal_quadratic_b.html index adf171794..fed84661e 100644 --- a/doc/html/math_toolkit/cardinal_quadratic_b.html +++ b/doc/html/math_toolkit/cardinal_quadratic_b.html @@ -4,10 +4,11 @@ Cardinal Quadratic B-spline interpolation - + + @@ -83,9 +84,7 @@ differentiable, but not three or four times differentiable.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_quintic_b.html b/doc/html/math_toolkit/cardinal_quintic_b.html index 30d27e017..796123935 100644 --- a/doc/html/math_toolkit/cardinal_quintic_b.html +++ b/doc/html/math_toolkit/cardinal_quintic_b.html @@ -4,10 +4,11 @@ Cardinal Quintic B-spline interpolation - + + @@ -120,9 +121,7 @@ of data by spline functions. Diss. City, University of London, 1975.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_trigonometric.html b/doc/html/math_toolkit/cardinal_trigonometric.html index 230f548a4..4c9049f63 100644 --- a/doc/html/math_toolkit/cardinal_trigonometric.html +++ b/doc/html/math_toolkit/cardinal_trigonometric.html @@ -4,10 +4,11 @@ Cardinal Trigonometric interpolation - + + @@ -148,9 +149,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/catmull_rom.html b/doc/html/math_toolkit/catmull_rom.html index dfe10da16..7867e8ff3 100644 --- a/doc/html/math_toolkit/catmull_rom.html +++ b/doc/html/math_toolkit/catmull_rom.html @@ -4,10 +4,11 @@ Catmull-Rom Splines - + + @@ -351,9 +352,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ccmath.html b/doc/html/math_toolkit/ccmath.html index ad68936f9..670550ee7 100644 --- a/doc/html/math_toolkit/ccmath.html +++ b/doc/html/math_toolkit/ccmath.html @@ -4,10 +4,11 @@ Constexpr CMath - + + @@ -232,9 +233,7 @@ }// Namespaces -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/chatterjee_correlation.html b/doc/html/math_toolkit/chatterjee_correlation.html new file mode 100644 index 000000000..b00f73260 --- /dev/null +++ b/doc/html/math_toolkit/chatterjee_correlation.html @@ -0,0 +1,132 @@ + + + +Chatterjee Correlation + + + + + + + + + + + + + + + + +
      Boost C++ LibrariesHomeLibrariesPeopleFAQMore
      +
      +
      +PrevUpHomeNext +
      +
      + +

      + + Synopsis +

      +
      #include <boost/math/statistics/chatterjee_correlation.hpp>
      +
      +namespace boost::math::statistics {
      +
      +    C++17:
      +    template <typename ExecutionPolicy, typename Container>
      +    auto chatterjee_correlation(ExecutionPolicy&& exec, const Container& u, const Container& v);
      +
      +    C++11:
      +    template <typename Container>
      +    auto chatterjee_correlation(const Container& u, const Container& v);
      +}
      +
      +

      + + Description +

      +

      + The classical correlation coefficients like the Pearson's correlation are useful + primarily for distinguishing when one dataset depends linearly on another. + However, Pearson's correlation coefficient has a known weakness in that when + the dependent variable has an obvious functional relationship with the independent + variable, the value of the correlation coefficient can take on any value. As + Chatterjee says: +

      +

      + > Ideally, one would like a coefficient that approaches its maximum value + if and only if one variable looks more and more like a noiseless function of + the other, just as Pearson correlation is close to its maximum value if and + only if one variable is close to being a noiseless linear function of the other. +

      +

      + This is the problem Chatterjee's coefficient solves. Let X and Y be random + variables, where Y is not constant, and let (X_i, Y_i) be samples from this + distribution. Rearrange these samples so that X_(0) < X_{(1)} < ... X_{(n-1)} + and create (R(X_{(i)}), R(Y_{(i)})). The Chatterjee correlation is then given + by +

      +

      + +

      +

      + In the limit of an infinite amount of i.i.d data, the statistic lies in [0, + 1]. However, if the data is not infinite, the statistic may be negative. If + X and Y are independent, the value is zero, and if Y is a measurable function + of X, then the statistic is unity. The complexity is O(n log n). +

      +

      + An example is given below: +

      +
      std::vector<double> X{1,2,3,4,5};
      +std::vector<double> Y{1,2,3,4,5};
      +using boost::math::statistics::chatterjee_correlation;
      +double coeff = chatterjee_correlation(X, Y);
      +
      +

      + The implementation follows Chatterjee's + paper. +

      +

      + Nota bene: If the input is an integer type the output + will be a double precision type. +

      +

      + + Invariants +

      +

      + The function expects at least two samples, a non-constant vector Y, and the + same number of X's as Y's. If Y is constant, the result is a quiet NaN. The + data set must be sorted by X values. If there are ties in the values of X, + then the statistic is random due to the random breaking of ties. Of course, + random numbers are not used internally, but the result is not guaranteed to + be identical on different systems. +

      +

      + + References +

      +
      • + Chatterjee, Sourav. "A new coefficient of correlation." Journal + of the American Statistical Association 116.536 (2021): 2009-2022. +
      +
      + +
      +
      +PrevUpHomeNext +
      + + diff --git a/doc/html/math_toolkit/comp_compilers.html b/doc/html/math_toolkit/comp_compilers.html index e33a1aa75..703c20936 100644 --- a/doc/html/math_toolkit/comp_compilers.html +++ b/doc/html/math_toolkit/comp_compilers.html @@ -4,10 +4,11 @@ Comparing Different Compilers - + + @@ -3192,9 +3193,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/comparisons.html b/doc/html/math_toolkit/comparisons.html index 9f52bfddc..403cf326e 100644 --- a/doc/html/math_toolkit/comparisons.html +++ b/doc/html/math_toolkit/comparisons.html @@ -4,10 +4,11 @@ Comparisons to Other Open Source Libraries - + + @@ -4718,9 +4719,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/compilers_overview.html b/doc/html/math_toolkit/compilers_overview.html index 92984b75b..72a0a507f 100644 --- a/doc/html/math_toolkit/compilers_overview.html +++ b/doc/html/math_toolkit/compilers_overview.html @@ -4,10 +4,11 @@ Compilers - + + @@ -664,9 +665,7 @@ acceptable or not.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/complex_history.html b/doc/html/math_toolkit/complex_history.html index a8a2a30c8..c2518faa2 100644 --- a/doc/html/math_toolkit/complex_history.html +++ b/doc/html/math_toolkit/complex_history.html @@ -4,10 +4,11 @@ History - + + @@ -35,9 +36,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/complex_implementation.html b/doc/html/math_toolkit/complex_implementation.html index 98ee347ff..b5573b7d1 100644 --- a/doc/html/math_toolkit/complex_implementation.html +++ b/doc/html/math_toolkit/complex_implementation.html @@ -4,10 +4,11 @@ Implementation and Accuracy - + + @@ -44,9 +45,7 @@ paper for more information on the implementation methodology.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cond.html b/doc/html/math_toolkit/cond.html index 8b3a9fd1a..95329b7ff 100644 --- a/doc/html/math_toolkit/cond.html +++ b/doc/html/math_toolkit/cond.html @@ -4,10 +4,11 @@ Condition Numbers - + + @@ -166,9 +167,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/config_macros.html b/doc/html/math_toolkit/config_macros.html index 4a3bb6cd4..7681b650c 100644 --- a/doc/html/math_toolkit/config_macros.html +++ b/doc/html/math_toolkit/config_macros.html @@ -4,10 +4,11 @@ Configuration Macros - + + @@ -364,9 +365,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/constants.html b/doc/html/math_toolkit/constants.html index be6e72dfa..e3b72df28 100644 --- a/doc/html/math_toolkit/constants.html +++ b/doc/html/math_toolkit/constants.html @@ -4,10 +4,11 @@ The Mathematical Constants - + + @@ -1755,9 +1756,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/constants_faq.html b/doc/html/math_toolkit/constants_faq.html index ac9f30e60..2ef446724 100644 --- a/doc/html/math_toolkit/constants_faq.html +++ b/doc/html/math_toolkit/constants_faq.html @@ -4,10 +4,11 @@ Math Constants FAQs - + + @@ -451,9 +452,7 @@ Some physical constants may be available in Boost.Units.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/constants_intro.html b/doc/html/math_toolkit/constants_intro.html index 8a41a50a5..ee4060f28 100644 --- a/doc/html/math_toolkit/constants_intro.html +++ b/doc/html/math_toolkit/constants_intro.html @@ -4,10 +4,11 @@ Introduction - + + @@ -120,9 +121,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/contact.html b/doc/html/math_toolkit/contact.html index e5f03273a..31abd5e87 100644 --- a/doc/html/math_toolkit/contact.html +++ b/doc/html/math_toolkit/contact.html @@ -4,10 +4,11 @@ Contact Info and Support - + + @@ -54,9 +55,7 @@ at - hetp.u-net.com.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/conventions.html b/doc/html/math_toolkit/conventions.html index 294692313..fd89586f0 100644 --- a/doc/html/math_toolkit/conventions.html +++ b/doc/html/math_toolkit/conventions.html @@ -4,10 +4,11 @@ Document Conventions - + + @@ -27,7 +28,7 @@ Document Conventions

      - +

      This documentation aims to use of the following naming and formatting conventions. @@ -68,9 +69,7 @@ -

      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/create.html b/doc/html/math_toolkit/create.html index 3090c4e16..6a951137f 100644 --- a/doc/html/math_toolkit/create.html +++ b/doc/html/math_toolkit/create.html @@ -4,10 +4,11 @@ Quaternion Creation Functions - + + @@ -102,9 +103,7 @@ test file).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/credits.html b/doc/html/math_toolkit/credits.html index f33f50643..7070d31ab 100644 --- a/doc/html/math_toolkit/credits.html +++ b/doc/html/math_toolkit/credits.html @@ -4,10 +4,11 @@ Credits and Acknowledgements - + + @@ -189,9 +190,7 @@ in Boost.Math.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cubic_hermite.html b/doc/html/math_toolkit/cubic_hermite.html index ff2bcfeab..1e4da4d42 100644 --- a/doc/html/math_toolkit/cubic_hermite.html +++ b/doc/html/math_toolkit/cubic_hermite.html @@ -4,10 +4,11 @@ Cubic Hermite interpolation - + + @@ -244,9 +245,7 @@ the problem size gets larger.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cubic_roots.html b/doc/html/math_toolkit/cubic_roots.html index 38e8ced84..8de9fddc7 100644 --- a/doc/html/math_toolkit/cubic_roots.html +++ b/doc/html/math_toolkit/cubic_roots.html @@ -4,10 +4,11 @@ Roots of Cubic Polynomials - + + @@ -140,9 +141,7 @@ The residual is -1.56586e-14, and the expected residual is 4.64155e-14. This is estimate.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/daubechies.html b/doc/html/math_toolkit/daubechies.html index 79dae5c61..d10e5be21 100644 --- a/doc/html/math_toolkit/daubechies.html +++ b/doc/html/math_toolkit/daubechies.html @@ -4,10 +4,11 @@ Daubechies Wavelets and Scaling Functions - + + @@ -183,6 +184,54 @@ The 8 vanishing moment scaling function.

      +

      + Boost.Math also provides numerical evaluation of the Fourier transform of these + functions. This is useful in sparse recovery problems where the measurements + are taken in the Fourier basis. The usage is exhibited below: +

      +
      #include <boost/math/special_functions/fourier_transform_daubechies_scaling.hpp>
      +using boost::math::fourier_transform_daubechies_scaling;
      +// Evaluate the Fourier transform of the 4-vanishing moment Daubechies scaling function at ω=1.8:
      +std::complex<float> hat_phi = fourier_transform_daubechies_scaling<float, 4>(1.8f);
      +
      +

      + The Fourier transform convention is unitary with the sign of the imaginary + unit being given in Daubechies Ten Lectures. In particular, this means that + fourier_transform_daubechies_scaling<float, + p>(0.0) returns + 1/sqrt(2π). +

      +

      + The implementation computes an infinite product of trigonometric polynomials + as can be found from recursive application of the identity 𝓕[φ](ω) = m(ω/2)𝓕[φ](ω/2). + This is neither particularly fast nor accurate, but there appears to be no + literature on this extremely useful topic, and hence the naive method must + suffice. +

      +

      + +

      +

      + A benchmark can be found in reporting/performance/fourier_transform_daubechies_performance.cpp; the + results on a ~2021 M1 Macbook pro are presented below: +

      +

      + Run on (10 X 24.1212 MHz CPU s) CPU Caches: L1 Data 64 KiB (x10) L1 Instruction + 128 KiB (x10) L2 Unified 4096 KiB (x5) Load Average: 1.33, 1.52, 1.62 ----------------------------------------------------------- + Benchmark Time ----------------------------------------------------------- + FourierTransformDaubechiesScaling<double, 1> 70.3 ns FourierTransformDaubechiesScaling<double, + 2> 330 ns FourierTransformDaubechiesScaling<double, 3> 335 ns FourierTransformDaubechiesScaling<double, + 4> 364 ns FourierTransformDaubechiesScaling<double, 5> 386 ns FourierTransformDaubechiesScaling<double, + 6> 436 ns FourierTransformDaubechiesScaling<double, 7> 447 ns FourierTransformDaubechiesScaling<double, + 8> 473 ns FourierTransformDaubechiesScaling<double, 9> 503 ns FourierTransformDaubechiesScaling<double, + 10> 554 ns +

      +

      + Due to the low accuracy of this method, float + precision is arg-promoted to double, + and hence takes just as long as double + precision to execute. +

      References @@ -202,9 +251,7 @@ -

      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/daubechies_filters.html b/doc/html/math_toolkit/daubechies_filters.html index 5fe91b291..9d9db53f0 100644 --- a/doc/html/math_toolkit/daubechies_filters.html +++ b/doc/html/math_toolkit/daubechies_filters.html @@ -4,10 +4,11 @@ Daubechies Filters - + + @@ -179,9 +180,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/diff.html b/doc/html/math_toolkit/diff.html index 9114719d4..4834ca13e 100644 --- a/doc/html/math_toolkit/diff.html +++ b/doc/html/math_toolkit/diff.html @@ -4,10 +4,11 @@ Numerical Differentiation - + + @@ -346,9 +347,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/diff0.html b/doc/html/math_toolkit/diff0.html index f02ab05b6..5981deadd 100644 --- a/doc/html/math_toolkit/diff0.html +++ b/doc/html/math_toolkit/diff0.html @@ -4,10 +4,11 @@ Lanczos Smoothing Derivatives - + + @@ -230,9 +231,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/directories.html b/doc/html/math_toolkit/directories.html index d4910cdcd..856c9a4f9 100644 --- a/doc/html/math_toolkit/directories.html +++ b/doc/html/math_toolkit/directories.html @@ -4,10 +4,11 @@ Directory and File Structure - + + @@ -109,9 +110,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_concept.html b/doc/html/math_toolkit/dist_concept.html index 082ba61f6..1afc3dba1 100644 --- a/doc/html/math_toolkit/dist_concept.html +++ b/doc/html/math_toolkit/dist_concept.html @@ -4,10 +4,11 @@ Conceptual Requirements for Distribution Types - + + @@ -378,9 +379,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref.html b/doc/html/math_toolkit/dist_ref.html index 6cc2dfa20..361c091bd 100644 --- a/doc/html/math_toolkit/dist_ref.html +++ b/doc/html/math_toolkit/dist_ref.html @@ -4,10 +4,11 @@ Statistical Distributions Reference - + + @@ -94,9 +95,7 @@
      Distribution Algorithms
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dist_algorithms.html b/doc/html/math_toolkit/dist_ref/dist_algorithms.html index 70c9c5439..85ffa58e0 100644 --- a/doc/html/math_toolkit/dist_ref/dist_algorithms.html +++ b/doc/html/math_toolkit/dist_ref/dist_algorithms.html @@ -4,10 +4,11 @@ Distribution Algorithms - + + @@ -117,9 +118,7 @@ of normally distributed weights to meet a specification.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists.html b/doc/html/math_toolkit/dist_ref/dists.html index 97f8c0038..19f1293c0 100644 --- a/doc/html/math_toolkit/dist_ref/dists.html +++ b/doc/html/math_toolkit/dist_ref/dists.html @@ -4,10 +4,11 @@ Distributions - + + @@ -89,9 +90,7 @@
      Weibull Distribution
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html b/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html index 1b1164258..e9e5ac39e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html @@ -4,10 +4,11 @@ Arcsine Distribution - + + @@ -628,9 +629,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html b/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html index 463924e7b..bc96ba061 100644 --- a/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html @@ -4,10 +4,11 @@ Bernoulli Distribution - + + @@ -348,9 +349,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/beta_dist.html b/doc/html/math_toolkit/dist_ref/dists/beta_dist.html index b1318a5c0..070ab2dfe 100644 --- a/doc/html/math_toolkit/dist_ref/dists/beta_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/beta_dist.html @@ -4,10 +4,11 @@ Beta Distribution - + + @@ -601,9 +602,7 @@ from presumed-known mean and variance. MathWorld

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html b/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html index 7e4ee2687..ecb7a346b 100644 --- a/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html @@ -4,10 +4,11 @@ Binomial Distribution - + + @@ -696,7 +697,7 @@

      Using the relation:

      -
      p = I[sub 1-p](n - k, k + 1)
      +
      p = I[sub 1-p](n - k, k + 1)
         = 1 - I[sub p](k + 1, n - k)
         = ibetac(k + 1, n - k, p)

      @@ -885,9 +886,7 @@ -

      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html b/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html index 0ca26933c..a34aacd90 100644 --- a/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html @@ -4,10 +4,11 @@ Cauchy-Lorentz Distribution - + + @@ -291,9 +292,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html index f7391bf48..1d1517798 100644 --- a/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html @@ -4,10 +4,11 @@ Chi Squared Distribution - + + @@ -394,9 +395,7 @@ independent, normally distributed random -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html b/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html index e8ff267e3..1c13570e9 100644 --- a/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html +++ b/doc/html/math_toolkit/dist_ref/dists/empirical_cdf.html @@ -4,10 +4,11 @@ Empirical Cumulative Distribution Function - + + @@ -185,9 +186,7 @@ is itself a fairly expensive operation.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/exp_dist.html b/doc/html/math_toolkit/dist_ref/dists/exp_dist.html index bfaa7c65b..c9b9801ba 100644 --- a/doc/html/math_toolkit/dist_ref/dists/exp_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/exp_dist.html @@ -4,10 +4,11 @@ Exponential Distribution - + + @@ -305,15 +306,13 @@ Distributions.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html b/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html index 261413c36..721c625af 100644 --- a/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html @@ -4,10 +4,11 @@ Extreme Value Distribution - + + @@ -65,7 +66,7 @@

      The relationship of the types of extreme value distributions, of which - this is but one, is discussed by Extreme + this is but one, is discussed by Extreme Value Distributions, Theory and Applications Samuel Kotz & Saralees Nadarajah.

      @@ -314,9 +315,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/f_dist.html b/doc/html/math_toolkit/dist_ref/dists/f_dist.html index 483643351..a87390992 100644 --- a/doc/html/math_toolkit/dist_ref/dists/f_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/f_dist.html @@ -4,10 +4,11 @@ F Distribution - + + @@ -418,9 +419,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html b/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html index 28809f24d..803fc5d1c 100644 --- a/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html @@ -4,10 +4,11 @@ Gamma (and Erlang) Distribution - + + @@ -349,9 +350,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html b/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html index 55d87e4b0..7326c0523 100644 --- a/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html @@ -4,10 +4,11 @@ Geometric Distribution - + + @@ -826,9 +827,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html b/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html index edf29cb62..687f2b52f 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html @@ -4,10 +4,11 @@ Hyperexponential Distribution - + + @@ -1452,9 +1453,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html index 096abe2e9..778333ea5 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html @@ -4,10 +4,11 @@ Hypergeometric Distribution - + + @@ -41,11 +42,11 @@ typedefRealTypevalue_type;typedefPolicypolicy_type;// Construct: - hypergeometric_distribution(unsignedr,unsignedn,unsignedN);// r=defective/failures/success, n=trials/draws, N=total population. + hypergeometric_distribution(uint64_tr,uint64_tn,uint64_tN);// r=defective/failures/success, n=trials/draws, N=total population.// Accessors: - unsignedtotal()const; - unsigneddefective()const; - unsignedsample_count()const; + uint64_ttotal()const; + uint64_tdefective()const; + uint64_tsample_count()const;};typedefhypergeometric_distribution<>hypergeometric; @@ -104,25 +105,25 @@ Member Functions -
      hypergeometric_distribution(unsigned r, unsigned n, unsigned N);
      +
      hypergeometric_distribution(uint64_t r, uint64_t n, uint64_t N);
       

      Constructs a hypergeometric distribution with a population of N objects, of which r are defective, and from which n are sampled.

      -
      unsigned total()const;
      +
      uint64_t total()const;
       

      Returns the total number of objects N.

      -
      unsigned defective()const;
      +
      uint64_t defective()const;
       

      Returns the number of objects r in population N which are defective.

      -
      unsigned sample_count()const;
      +
      uint64_t sample_count()const;
       

      Returns the number of objects n which are sampled @@ -158,8 +159,8 @@ range and support.

      - The domain of the random variable is the unsigned integers in the range - [max(0, n + r - N), min(n, r)]. A domain_error + The domain of the random variable are the 64-bit unsigned integers in the + range [max(0, n + r - N), min(n, r)]. A domain_error is raised if the random variable is outside this range, or is not an integral value.

      @@ -343,9 +344,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html index 0faeea9f1..c11f3ffef 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html @@ -4,10 +4,11 @@ Inverse Chi Squared Distribution - + + @@ -456,9 +457,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html index 027d8eb42..aaa37929a 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html @@ -4,10 +4,11 @@ Inverse Gamma Distribution - + + @@ -350,9 +351,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html b/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html index 1d62ee2d9..5437b52eb 100644 --- a/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html @@ -4,10 +4,11 @@ Inverse Gaussian (or Inverse Normal) Distribution - + + @@ -429,9 +430,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html b/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html index e12cd3407..e7763e2b3 100644 --- a/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/kolmogorov_smirnov_dist.html @@ -4,10 +4,11 @@ Kolmogorov-Smirnov Distribution - + + @@ -333,9 +334,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html b/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html index 81f576e63..8516ec0a8 100644 --- a/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html @@ -4,10 +4,11 @@ Laplace Distribution - + + @@ -343,9 +344,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html b/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html index 3d4950e55..1588cd6d8 100644 --- a/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html @@ -4,10 +4,11 @@ Logistic Distribution - + + @@ -280,9 +281,7 @@ as special cases if RealType permits.
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html b/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html index 965b79392..acf05886d 100644 --- a/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html @@ -4,10 +4,11 @@ Log Normal Distribution - + + @@ -314,9 +315,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html index 83b04ff56..4de21e898 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html @@ -4,10 +4,11 @@ Noncentral Beta Distribution - + + @@ -476,9 +477,7 @@ is a central χ2 warranted).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html index 234b860b4..3ed83da0e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html @@ -4,10 +4,11 @@ Noncentral Chi-Squared Distribution - + + @@ -561,9 +562,7 @@ 141 (2003) 3-12.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html index df8b45232..df0d0c664 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html @@ -4,10 +4,11 @@ Noncentral F Distribution - + + @@ -401,9 +402,7 @@ is the non-centrality parameter, x is the 141 (2003) 3-12.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html b/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html index 1bff26bef..44b4b862a 100644 --- a/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html @@ -4,10 +4,11 @@ Noncentral T Distribution - + + @@ -557,9 +558,7 @@ when the normal distribution 141 (2003) 3-12.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html b/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html index ad48034c9..5f586c362 100644 --- a/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html @@ -4,10 +4,11 @@ Negative Binomial Distribution - + + @@ -867,9 +868,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/normal_dist.html b/doc/html/math_toolkit/dist_ref/dists/normal_dist.html index 55664eee2..6cb6a3c9e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/normal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/normal_dist.html @@ -4,10 +4,11 @@ Normal (Gaussian) Distribution - + + @@ -310,9 +311,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/pareto.html b/doc/html/math_toolkit/dist_ref/dists/pareto.html index be5d2ca31..943f0790e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/pareto.html +++ b/doc/html/math_toolkit/dist_ref/dists/pareto.html @@ -4,10 +4,11 @@ Pareto Distribution - + + @@ -333,9 +334,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html b/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html index 93c91b180..bbed802bd 100644 --- a/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html @@ -4,10 +4,11 @@ Poisson Distribution - + + @@ -313,9 +314,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/rayleigh.html b/doc/html/math_toolkit/dist_ref/dists/rayleigh.html index c216a2480..cbd8b887c 100644 --- a/doc/html/math_toolkit/dist_ref/dists/rayleigh.html +++ b/doc/html/math_toolkit/dist_ref/dists/rayleigh.html @@ -4,10 +4,11 @@ Rayleigh Distribution - + + @@ -331,9 +332,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html b/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html index 3f807e240..dbdebadfd 100644 --- a/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html @@ -4,10 +4,11 @@ Skew Normal Distribution - + + @@ -505,9 +506,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html b/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html index af1b79b6a..68024ac33 100644 --- a/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html @@ -4,10 +4,11 @@ Students t Distribution - + + @@ -425,9 +426,7 @@ also https://svn.boost.org/trac/boost/ticket/7177.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html b/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html index 8c9da8079..c0a44ae2e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html @@ -4,10 +4,11 @@ Triangular Distribution - + + @@ -64,9 +65,8 @@ vaguely known, but, like the uniform distribution, upper and limits are 'known', but a 'best guess', the mode or center point, is also added. It has been recommended as a - proxy - for the beta distribution. The distribution is used in business - decision making and project planning. + proxy for the beta distribution. + The distribution is used in business decision making and project planning.

      The triangular @@ -426,9 +426,7 @@ -

      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html b/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html index c53383617..fc94bafa2 100644 --- a/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html @@ -4,10 +4,11 @@ Uniform Distribution - + + @@ -348,9 +349,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html b/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html index f94d0800b..6852e6850 100644 --- a/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html @@ -4,10 +4,11 @@ Weibull Distribution - + + @@ -108,7 +109,7 @@ distribution. When α = 1, the Weibull distribution reduces to the exponential distribution. The relationship of the types of extreme value distributions, - of which the Weibull is but one, is discussed by Extreme + of which the Weibull is but one, is discussed by Extreme Value Distributions, Theory and Applications Samuel Kotz & Saralees Nadarajah.

      @@ -355,9 +356,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/dist_ref/nmp.html b/doc/html/math_toolkit/dist_ref/nmp.html index 891730964..b657f5fcf 100644 --- a/doc/html/math_toolkit/dist_ref/nmp.html +++ b/doc/html/math_toolkit/dist_ref/nmp.html @@ -4,10 +4,11 @@ Non-Member Properties - + + @@ -714,9 +715,7 @@ the entropy of continuous probability distributions for more information.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential.html b/doc/html/math_toolkit/double_exponential.html index b3bb681ee..0267217e4 100644 --- a/doc/html/math_toolkit/double_exponential.html +++ b/doc/html/math_toolkit/double_exponential.html @@ -4,10 +4,11 @@ Double-exponential quadrature - + + @@ -42,9 +43,7 @@
      References
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_caveats.html b/doc/html/math_toolkit/double_exponential/de_caveats.html index 7f6078890..3f9449409 100644 --- a/doc/html/math_toolkit/double_exponential/de_caveats.html +++ b/doc/html/math_toolkit/double_exponential/de_caveats.html @@ -4,10 +4,11 @@ Caveats - + + @@ -169,9 +170,7 @@ classes.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_exp_sinh.html b/doc/html/math_toolkit/double_exponential/de_exp_sinh.html index de457bb33..bb4e89c84 100644 --- a/doc/html/math_toolkit/double_exponential/de_exp_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_exp_sinh.html @@ -4,10 +4,11 @@ exp_sinh - + + @@ -99,9 +100,7 @@ as the result (a NaN).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_levels.html b/doc/html/math_toolkit/double_exponential/de_levels.html index 0c34b057f..b7c7a7590 100644 --- a/doc/html/math_toolkit/double_exponential/de_levels.html +++ b/doc/html/math_toolkit/double_exponential/de_levels.html @@ -4,10 +4,11 @@ Setting the Maximum Interval Halvings and Memory Requirements - + + @@ -60,9 +61,7 @@ can quickly grow out of control.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_overview.html b/doc/html/math_toolkit/double_exponential/de_overview.html index 241ac8df5..deab5bc41 100644 --- a/doc/html/math_toolkit/double_exponential/de_overview.html +++ b/doc/html/math_toolkit/double_exponential/de_overview.html @@ -4,10 +4,11 @@ Overview - + + @@ -213,9 +214,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_refes.html b/doc/html/math_toolkit/double_exponential/de_refes.html index fc1b43114..154ea5068 100644 --- a/doc/html/math_toolkit/double_exponential/de_refes.html +++ b/doc/html/math_toolkit/double_exponential/de_refes.html @@ -4,10 +4,11 @@ References - + + @@ -48,9 +49,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html b/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html index 932ec739d..a8a417380 100644 --- a/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html @@ -4,10 +4,11 @@ sinh_sinh - + + @@ -77,9 +78,7 @@ } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html b/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html index 6dfd85086..1a69e60fd 100644 --- a/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html @@ -4,10 +4,11 @@ tanh_sinh - + + @@ -522,9 +523,7 @@ } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html b/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html index f5afef0cd..aaba47eca 100644 --- a/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html +++ b/doc/html/math_toolkit/double_exponential/de_tanh_sinh_2_arg.html @@ -4,10 +4,11 @@ Handling functions with large features near an endpoint with tanh-sinh quadrature - + + @@ -84,9 +85,7 @@ to the result faster as well.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_thread.html b/doc/html/math_toolkit/double_exponential/de_thread.html index 772e20e92..1bc0a9a82 100644 --- a/doc/html/math_toolkit/double_exponential/de_thread.html +++ b/doc/html/math_toolkit/double_exponential/de_thread.html @@ -4,10 +4,11 @@ Thread Safety - + + @@ -47,9 +48,7 @@ and means that integrators for these types are relatively cheap to construct.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/double_exponential/de_tol.html b/doc/html/math_toolkit/double_exponential/de_tol.html index 66d19b1b8..63ba20b15 100644 --- a/doc/html/math_toolkit/double_exponential/de_tol.html +++ b/doc/html/math_toolkit/double_exponential/de_tol.html @@ -4,10 +4,11 @@ Setting the Termination Condition for Integration - + + @@ -57,9 +58,7 @@ scheme.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint.html b/doc/html/math_toolkit/ellint.html index 6a43e16b7..a44239f1d 100644 --- a/doc/html/math_toolkit/ellint.html +++ b/doc/html/math_toolkit/ellint.html @@ -4,10 +4,11 @@ Elliptic Integrals - + + @@ -42,9 +43,7 @@
      Heuman Lambda Function
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_1.html b/doc/html/math_toolkit/ellint/ellint_1.html index 206b27b35..125f29580 100644 --- a/doc/html/math_toolkit/ellint/ellint_1.html +++ b/doc/html/math_toolkit/ellint/ellint_1.html @@ -4,10 +4,11 @@ Elliptic Integrals of the First Kind - Legendre Form - + + @@ -275,9 +276,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_2.html b/doc/html/math_toolkit/ellint/ellint_2.html index 21ee4204b..f405abf1f 100644 --- a/doc/html/math_toolkit/ellint/ellint_2.html +++ b/doc/html/math_toolkit/ellint/ellint_2.html @@ -4,10 +4,11 @@ Elliptic Integrals of the Second Kind - Legendre Form - + + @@ -304,9 +305,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_3.html b/doc/html/math_toolkit/ellint/ellint_3.html index 94d56593a..0fbd278c5 100644 --- a/doc/html/math_toolkit/ellint/ellint_3.html +++ b/doc/html/math_toolkit/ellint/ellint_3.html @@ -4,10 +4,11 @@ Elliptic Integrals of the Third Kind - Legendre Form - + + @@ -343,9 +344,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_carlson.html b/doc/html/math_toolkit/ellint/ellint_carlson.html index 6c7b421e1..fd1027eb7 100644 --- a/doc/html/math_toolkit/ellint/ellint_carlson.html +++ b/doc/html/math_toolkit/ellint/ellint_carlson.html @@ -4,10 +4,11 @@ Elliptic Integrals - Carlson Form - + + @@ -981,9 +982,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_d.html b/doc/html/math_toolkit/ellint/ellint_d.html index 1a9a36e6d..440e0620e 100644 --- a/doc/html/math_toolkit/ellint/ellint_d.html +++ b/doc/html/math_toolkit/ellint/ellint_d.html @@ -4,10 +4,11 @@ Elliptic Integral D - Legendre Form - + + @@ -362,9 +363,7 @@ using

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/ellint_intro.html b/doc/html/math_toolkit/ellint/ellint_intro.html index 21ae73444..bb51386e6 100644 --- a/doc/html/math_toolkit/ellint/ellint_intro.html +++ b/doc/html/math_toolkit/ellint/ellint_intro.html @@ -4,10 +4,11 @@ Elliptic Integral Overview - + + @@ -482,9 +483,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/heuman_lambda.html b/doc/html/math_toolkit/ellint/heuman_lambda.html index 546419f33..23bc06cb8 100644 --- a/doc/html/math_toolkit/ellint/heuman_lambda.html +++ b/doc/html/math_toolkit/ellint/heuman_lambda.html @@ -4,10 +4,11 @@ Heuman Lambda Function - + + @@ -205,9 +206,7 @@ using definition in terms of the Jacobi Zeta is used.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ellint/jacobi_zeta.html b/doc/html/math_toolkit/ellint/jacobi_zeta.html index ec42bd908..6fe850a2f 100644 --- a/doc/html/math_toolkit/ellint/jacobi_zeta.html +++ b/doc/html/math_toolkit/ellint/jacobi_zeta.html @@ -4,10 +4,11 @@ Jacobi Zeta Function - + + @@ -260,9 +261,7 @@ using the is jacobi_zeta_example.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/error_handling.html b/doc/html/math_toolkit/error_handling.html index 820707128..66bca356c 100644 --- a/doc/html/math_toolkit/error_handling.html +++ b/doc/html/math_toolkit/error_handling.html @@ -4,10 +4,11 @@ Error Handling - + + @@ -1103,9 +1104,7 @@ or denormalisation.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/estrin.html b/doc/html/math_toolkit/estrin.html index 2edc45645..d3335ec70 100644 --- a/doc/html/math_toolkit/estrin.html +++ b/doc/html/math_toolkit/estrin.html @@ -4,10 +4,11 @@ Estrin's method for polynomial evaluation - + + @@ -84,9 +85,7 @@ (2nd ed.). Birkhäuser. p. 58. ISBN 0-8176-4372-9. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/exact_typdefs.html b/doc/html/math_toolkit/exact_typdefs.html index 1ef25f2b1..afa109855 100644 --- a/doc/html/math_toolkit/exact_typdefs.html +++ b/doc/html/math_toolkit/exact_typdefs.html @@ -4,10 +4,11 @@ Exact-Width Floating-Point typedefs - + + @@ -156,9 +157,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/examples.html b/doc/html/math_toolkit/examples.html index 71402a15d..9406fb7e6 100644 --- a/doc/html/math_toolkit/examples.html +++ b/doc/html/math_toolkit/examples.html @@ -4,10 +4,11 @@ Examples - + + @@ -121,9 +122,7 @@ normal_table<boost::floatmax_t>(); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/exp.html b/doc/html/math_toolkit/exp.html index 2a50dbb74..56bd1b36c 100644 --- a/doc/html/math_toolkit/exp.html +++ b/doc/html/math_toolkit/exp.html @@ -4,10 +4,11 @@ The Quaternionic Exponential - + + @@ -39,9 +40,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/expint.html b/doc/html/math_toolkit/expint.html index af6bb1d1e..3929fd1e7 100644 --- a/doc/html/math_toolkit/expint.html +++ b/doc/html/math_toolkit/expint.html @@ -4,10 +4,11 @@ Exponential Integrals - + + @@ -31,9 +32,7 @@
      Exponential Integral Ei
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/expint/expint_i.html b/doc/html/math_toolkit/expint/expint_i.html index afb5cf119..3809ad459 100644 --- a/doc/html/math_toolkit/expint/expint_i.html +++ b/doc/html/math_toolkit/expint/expint_i.html @@ -4,10 +4,11 @@ Exponential Integral Ei - + + @@ -319,9 +320,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/expint/expint_n.html b/doc/html/math_toolkit/expint/expint_n.html index 7d5bb79ae..2eb75a665 100644 --- a/doc/html/math_toolkit/expint/expint_n.html +++ b/doc/html/math_toolkit/expint/expint_n.html @@ -4,10 +4,11 @@ Exponential Integral En - + + @@ -271,9 +272,7 @@ is used.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials.html b/doc/html/math_toolkit/factorials.html index ff91a8e37..cf21a2a14 100644 --- a/doc/html/math_toolkit/factorials.html +++ b/doc/html/math_toolkit/factorials.html @@ -4,10 +4,11 @@ Factorials and Binomial Coefficients - + + @@ -35,9 +36,7 @@
      Binomial Coefficients
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials/sf_binomial.html b/doc/html/math_toolkit/factorials/sf_binomial.html index b6fd92486..bd9520139 100644 --- a/doc/html/math_toolkit/factorials/sf_binomial.html +++ b/doc/html/math_toolkit/factorials/sf_binomial.html @@ -4,10 +4,11 @@ Binomial Coefficients - + + @@ -127,9 +128,7 @@ n-k))

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials/sf_double_factorial.html b/doc/html/math_toolkit/factorials/sf_double_factorial.html index 3657e24a3..e5daf15ee 100644 --- a/doc/html/math_toolkit/factorials/sf_double_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_double_factorial.html @@ -4,10 +4,11 @@ Double Factorial - + + @@ -143,9 +144,7 @@ (2n-1)!! = Γ((2n+1)/2) * 2n / sqrt(pi)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials/sf_factorial.html b/doc/html/math_toolkit/factorials/sf_factorial.html index e557c627a..3ad5a8952 100644 --- a/doc/html/math_toolkit/factorials/sf_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_factorial.html @@ -4,10 +4,11 @@ Factorial - + + @@ -178,9 +179,7 @@ larger arguments.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials/sf_falling_factorial.html b/doc/html/math_toolkit/factorials/sf_falling_factorial.html index c11ee4af8..530a204bf 100644 --- a/doc/html/math_toolkit/factorials/sf_falling_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_falling_factorial.html @@ -4,10 +4,11 @@ Falling Factorial - + + @@ -91,9 +92,7 @@ function.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/factorials/sf_rising_factorial.html b/doc/html/math_toolkit/factorials/sf_rising_factorial.html index 6eb050bc6..e96a7de15 100644 --- a/doc/html/math_toolkit/factorials/sf_rising_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_rising_factorial.html @@ -4,10 +4,11 @@ Rising Factorial - + + @@ -96,9 +97,7 @@ function.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fastest_typdefs.html b/doc/html/math_toolkit/fastest_typdefs.html index 2c9ef34cc..121262fbb 100644 --- a/doc/html/math_toolkit/fastest_typdefs.html +++ b/doc/html/math_toolkit/fastest_typdefs.html @@ -4,10 +4,11 @@ Fastest floating-point typedefs - + + @@ -45,9 +46,7 @@ will also be supported, etc.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float128.html b/doc/html/math_toolkit/float128.html index 9a02d4cfa..698ee654a 100644 --- a/doc/html/math_toolkit/float128.html +++ b/doc/html/math_toolkit/float128.html @@ -4,10 +4,11 @@ Implementation of Float128 type - + + @@ -153,9 +154,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float128/exp_function.html b/doc/html/math_toolkit/float128/exp_function.html index 56969e456..39f4afbf5 100644 --- a/doc/html/math_toolkit/float128/exp_function.html +++ b/doc/html/math_toolkit/float128/exp_function.html @@ -4,10 +4,11 @@ Exponential function - + + @@ -53,9 +54,7 @@ .

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float128/overloading.html b/doc/html/math_toolkit/float128/overloading.html index 6adf16c0a..c538e0662 100644 --- a/doc/html/math_toolkit/float128/overloading.html +++ b/doc/html/math_toolkit/float128/overloading.html @@ -4,10 +4,11 @@ Overloading template functions with float128_t - + + @@ -78,9 +79,7 @@ that we provide in #include <boost/cstdfloat.hpp>.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float128/typeinfo.html b/doc/html/math_toolkit/float128/typeinfo.html index 22fbe5ef9..0df6270c5 100644 --- a/doc/html/math_toolkit/float128/typeinfo.html +++ b/doc/html/math_toolkit/float128/typeinfo.html @@ -4,10 +4,11 @@ typeinfo - + + @@ -59,9 +60,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float128_hints.html b/doc/html/math_toolkit/float128_hints.html index 510574bfe..07df24e3b 100644 --- a/doc/html/math_toolkit/float128_hints.html +++ b/doc/html/math_toolkit/float128_hints.html @@ -4,10 +4,11 @@ Hints on using float128 (and __float128) - + + @@ -88,9 +89,7 @@ Some examples of what can go horribly and silently wrong are at float128_example.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/float_comparison.html b/doc/html/math_toolkit/float_comparison.html index f4962ef9b..732f596c4 100644 --- a/doc/html/math_toolkit/float_comparison.html +++ b/doc/html/math_toolkit/float_comparison.html @@ -4,10 +4,11 @@ Floating-point Comparison - + + @@ -395,9 +396,7 @@ epsilon_difference = 0.000000000 we may need a slightly higher value - some trial and error will be necessary).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fourier_integrals.html b/doc/html/math_toolkit/fourier_integrals.html index e5100402e..d03f6a78b 100644 --- a/doc/html/math_toolkit/fourier_integrals.html +++ b/doc/html/math_toolkit/fourier_integrals.html @@ -4,10 +4,11 @@ Fourier Integrals - + + @@ -297,9 +298,7 @@ pi/(2e) = 5.778636748954608589550465916563481e-01, difference -6.74075480535532 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets.html b/doc/html/math_toolkit/fp_facets.html index 19521c603..187e2f087 100644 --- a/doc/html/math_toolkit/fp_facets.html +++ b/doc/html/math_toolkit/fp_facets.html @@ -4,10 +4,11 @@ Facets for Floating-Point Infinities and NaNs - + + @@ -73,9 +74,7 @@
      #include <boost\math\special_functions\nonfinite_num_facets.hpp>
       
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets/examples.html b/doc/html/math_toolkit/fp_facets/examples.html index 023e42b9c..03e6b28f2 100644 --- a/doc/html/math_toolkit/fp_facets/examples.html +++ b/doc/html/math_toolkit/fp_facets/examples.html @@ -4,10 +4,11 @@ Examples - + + @@ -239,9 +240,7 @@ A full demonstration of serialization by Francois Mauger is at ../../example/nonfinite_num_facet_serialization.cpp

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets/facets_intro.html b/doc/html/math_toolkit/fp_facets/facets_intro.html index 014ce3b1c..c7aefcbe8 100644 --- a/doc/html/math_toolkit/fp_facets/facets_intro.html +++ b/doc/html/math_toolkit/fp_facets/facets_intro.html @@ -4,10 +4,11 @@ Introduction - + + @@ -361,9 +362,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets/portability.html b/doc/html/math_toolkit/fp_facets/portability.html index bd6ded4e5..47f2e678c 100644 --- a/doc/html/math_toolkit/fp_facets/portability.html +++ b/doc/html/math_toolkit/fp_facets/portability.html @@ -4,10 +4,11 @@ Portability - + + @@ -32,9 +33,7 @@ See the portability information for that library.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets/rationale.html b/doc/html/math_toolkit/fp_facets/rationale.html index 30b487fea..a3c6f0360 100644 --- a/doc/html/math_toolkit/fp_facets/rationale.html +++ b/doc/html/math_toolkit/fp_facets/rationale.html @@ -4,10 +4,11 @@ Design Rationale - + + @@ -49,9 +50,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fp_facets/reference.html b/doc/html/math_toolkit/fp_facets/reference.html index aea7e18b6..0fdaed850 100644 --- a/doc/html/math_toolkit/fp_facets/reference.html +++ b/doc/html/math_toolkit/fp_facets/reference.html @@ -4,10 +4,11 @@ Reference - + + @@ -472,9 +473,7 @@ positive and negative NaN are trapped instead.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/fpclass.html b/doc/html/math_toolkit/fpclass.html index 28968ac47..6da5857bc 100644 --- a/doc/html/math_toolkit/fpclass.html +++ b/doc/html/math_toolkit/fpclass.html @@ -4,10 +4,11 @@ Floating-Point Classification: Infinities and NaNs - + + @@ -233,9 +234,7 @@ infinity and NaNs.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/future.html b/doc/html/math_toolkit/future.html index 8068eb6e1..3167af062 100644 --- a/doc/html/math_toolkit/future.html +++ b/doc/html/math_toolkit/future.html @@ -4,10 +4,11 @@ Extras/Future Directions - + + @@ -129,9 +130,7 @@ doublep=probability(acc); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/gauss.html b/doc/html/math_toolkit/gauss.html index 70c144260..65e566141 100644 --- a/doc/html/math_toolkit/gauss.html +++ b/doc/html/math_toolkit/gauss.html @@ -4,10 +4,11 @@ Gauss-Legendre quadrature - + + @@ -196,9 +197,7 @@ Which yields 0.2106572512258069881080923020669, which is accurate to 5e-28.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/gauss_kronrod.html b/doc/html/math_toolkit/gauss_kronrod.html index fabc54db4..3b530a9b6 100644 --- a/doc/html/math_toolkit/gauss_kronrod.html +++ b/doc/html/math_toolkit/gauss_kronrod.html @@ -4,10 +4,11 @@ Gauss-Kronrod Quadrature - + + @@ -268,9 +269,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/getting_best.html b/doc/html/math_toolkit/getting_best.html index 7af5f354d..0137a4980 100644 --- a/doc/html/math_toolkit/getting_best.html +++ b/doc/html/math_toolkit/getting_best.html @@ -4,10 +4,11 @@ Getting the Best Performance from this Library: Compiler and Compiler Options - + + @@ -137,9 +138,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/greatest_typdefs.html b/doc/html/math_toolkit/greatest_typdefs.html index 558c6485c..94416cc45 100644 --- a/doc/html/math_toolkit/greatest_typdefs.html +++ b/doc/html/math_toolkit/greatest_typdefs.html @@ -4,10 +4,11 @@ Greatest-width floating-point typedef - + + @@ -77,9 +78,7 @@ BOOST_FLOAT128_C(123.4567890123456789012345678901234567890)=123.456789012345678901234567890123453 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hankel.html b/doc/html/math_toolkit/hankel.html index d5eede231..aa3671e35 100644 --- a/doc/html/math_toolkit/hankel.html +++ b/doc/html/math_toolkit/hankel.html @@ -4,10 +4,11 @@ Hankel Functions - + + @@ -31,9 +32,7 @@
      Spherical Hankel Functions
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hankel/cyl_hankel.html b/doc/html/math_toolkit/hankel/cyl_hankel.html index 9412a8c3f..515ceab48 100644 --- a/doc/html/math_toolkit/hankel/cyl_hankel.html +++ b/doc/html/math_toolkit/hankel/cyl_hankel.html @@ -4,10 +4,11 @@ Cyclic Hankel Functions - + + @@ -157,9 +158,7 @@ for integer order are used.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hankel/sph_hankel.html b/doc/html/math_toolkit/hankel/sph_hankel.html index 4a2a424be..bac2f410b 100644 --- a/doc/html/math_toolkit/hankel/sph_hankel.html +++ b/doc/html/math_toolkit/hankel/sph_hankel.html @@ -4,10 +4,11 @@ Spherical Hankel Functions - + + @@ -107,9 +108,7 @@ and cyl_hankel_2.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision.html b/doc/html/math_toolkit/high_precision.html index 0a9e1e5e2..6aabb560e 100644 --- a/doc/html/math_toolkit/high_precision.html +++ b/doc/html/math_toolkit/high_precision.html @@ -4,10 +4,11 @@ Using Boost.Math with High-Precision Floating-Point Libraries - + + @@ -96,9 +97,7 @@ have been demonstrated.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/e_float.html b/doc/html/math_toolkit/high_precision/e_float.html index e6ddc8d2c..8859a945c 100644 --- a/doc/html/math_toolkit/high_precision/e_float.html +++ b/doc/html/math_toolkit/high_precision/e_float.html @@ -4,10 +4,11 @@ Using e_float Library - + + @@ -42,9 +43,7 @@ or cpp_dec_float instead.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/float128.html b/doc/html/math_toolkit/high_precision/float128.html index 90db09b19..64c47267a 100644 --- a/doc/html/math_toolkit/high_precision/float128.html +++ b/doc/html/math_toolkit/high_precision/float128.html @@ -4,10 +4,11 @@ Using with GCC's __float128 datatype - + + @@ -47,9 +48,7 @@ Ultimately these facilities should be provided by GCC and libstdc++.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/use_mpfr.html b/doc/html/math_toolkit/high_precision/use_mpfr.html index 08dc27d9e..eaf04c05c 100644 --- a/doc/html/math_toolkit/high_precision/use_mpfr.html +++ b/doc/html/math_toolkit/high_precision/use_mpfr.html @@ -4,10 +4,11 @@ Using With MPFR or GMP - High-Precision Floating-Point Library - + + @@ -90,9 +91,7 @@ and here.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/use_multiprecision.html b/doc/html/math_toolkit/high_precision/use_multiprecision.html index 579a14c08..b12ab97a6 100644 --- a/doc/html/math_toolkit/high_precision/use_multiprecision.html +++ b/doc/html/math_toolkit/high_precision/use_multiprecision.html @@ -4,10 +4,11 @@ Using Boost.Multiprecision - + + @@ -280,9 +281,7 @@ The full source of this example is at fft_sines_table.cpp

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/use_ntl.html b/doc/html/math_toolkit/high_precision/use_ntl.html index 205ab33b0..debdd1694 100644 --- a/doc/html/math_toolkit/high_precision/use_ntl.html +++ b/doc/html/math_toolkit/high_precision/use_ntl.html @@ -4,10 +4,11 @@ Using NTL Library - + + @@ -55,9 +56,7 @@ There is a concept checking test program for NTL support here.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/using_test.html b/doc/html/math_toolkit/high_precision/using_test.html index 61fa29620..a0c23bc85 100644 --- a/doc/html/math_toolkit/high_precision/using_test.html +++ b/doc/html/math_toolkit/high_precision/using_test.html @@ -4,10 +4,11 @@ Using without expression templates for Boost.Test and others - + + @@ -125,9 +126,7 @@ A full example code is at test_cpp_float_close_fraction.cpp

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/high_precision/why_high_precision.html b/doc/html/math_toolkit/high_precision/why_high_precision.html index 4d73a8fae..6aea5032f 100644 --- a/doc/html/math_toolkit/high_precision/why_high_precision.html +++ b/doc/html/math_toolkit/high_precision/why_high_precision.html @@ -4,10 +4,11 @@ Why use a high-precision library rather than built-in floating-point types? - + + @@ -121,9 +122,7 @@ (almost always) correctly rounded values.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hints.html b/doc/html/math_toolkit/hints.html index defc878cd..933b3e209 100644 --- a/doc/html/math_toolkit/hints.html +++ b/doc/html/math_toolkit/hints.html @@ -4,10 +4,11 @@ Other Hints and tips - + + @@ -116,9 +117,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/history1.html b/doc/html/math_toolkit/history1.html index 98fb5757d..4dfdd6e26 100644 --- a/doc/html/math_toolkit/history1.html +++ b/doc/html/math_toolkit/history1.html @@ -4,10 +4,11 @@ History and What's New - + + @@ -38,6 +39,53 @@

      + Math-4.1.1 + (Boost-1.84) +
      +
        +
      • + Improve ccmath error detection. +
      • +
      • + Remove use of deprecated std::numeric_limits<>::has_denorm, see + 1028. +
      • +
      • + Correct non-convergence bug in non-central-t distribution, see 1035. +
      • +
      • + Adjust Bessel function approximation to 1F1 to avoid taking tgamma at a + negative integer, see 1034. +
      • +
      • + Avoid spurious overflow and divide by zero in ibeta, see 1006. +
      • +
      • + Improve accuracy when using Sterling's approximation to tgamma, completes + work started in 1007. +
      • +
      • + Fix inverse_discrete_quantile for large initial guesses, see 1007. +
      • +
      • + Improve Newton root finding, see 1000. +
      • +
      • + Fix median_absolute_deviation for non-zero centre, see 997. +
      • +
      • + Fix up cstdfloat.hpp for gcc-14. +
      • +
      • + Update to work for the new types declared in <stdfloat>. +
      • +
      • + Change hypergeometric_distribution to use 64 rather than 32 bit integers + to avoid unnecessary overflow and restrictions on use. +
      • +
      +
      + Math-4.1.0 (Boost-1.82)
      @@ -115,7 +163,7 @@
      - + Math-4.0.0 (Boost-1.81)
      @@ -179,7 +227,7 @@
      - + Math-3.4.0 (Boost-1.80)
      @@ -207,7 +255,7 @@
      - + Math-3.3.0 (Boost-1.79)
      @@ -249,7 +297,7 @@
      - + Math-3.2.0 (Boost-1.78)
      @@ -286,7 +334,7 @@
      - + Math-3.1.0 (Boost-1.77)
      @@ -322,7 +370,7 @@
      - + Math-3.0.0 (Boost-1.76)
      @@ -373,7 +421,7 @@
      - + Math-2.13.0 (Boost-1.75)
      @@ -424,7 +472,7 @@
      - + Math-2.12.0 (Boost-1.73)
      @@ -466,7 +514,7 @@
      - + Math-2.11.0 (Boost-1.72)
      @@ -528,7 +576,7 @@
      - + Math-2.10.0 (Boost-1.71)
      @@ -562,7 +610,7 @@
      - + Math-2.9.0 (Boost-1.70)
      @@ -616,7 +664,7 @@
      - + Math-2.8.0 (Boost-1.69)
      @@ -673,7 +721,7 @@
      - + Math-2.7.1 (Boost-1.68)
      @@ -687,7 +735,7 @@
      - + Math-2.7.0 (Boost-1.66)
      @@ -704,7 +752,7 @@
      - + Math-2.6.0 (Boost-1.65)
      @@ -741,7 +789,7 @@
      - + Math-2.5.2 (Boost-1.64)
      @@ -758,7 +806,7 @@
      - + Math-2.5.1 (Boost-1.63)
      @@ -774,7 +822,7 @@
      - + Math-2.5.0 (Boost-1.62)
      @@ -799,7 +847,7 @@
      - + Math-2.4.0 (Boost-1.61)
      @@ -810,7 +858,7 @@ Polynomial arithmetic added to tools.
      - + Math-2.3.0 (Boost-1.60)
      @@ -889,7 +937,7 @@
      - + Math-2.2.1

      @@ -908,7 +956,7 @@

      - + Math-2.2.0 (boost-1.58.0)
      @@ -952,7 +1000,7 @@
      - + Math-2.1.0 (boost-1.57.0)
      @@ -978,7 +1026,7 @@
      - + Math-2.0.0 (Boost-1.56.0)
      @@ -1029,7 +1077,7 @@
      - + Math-1.9.1
        @@ -1044,7 +1092,7 @@
      - + Math-1.9.0
        @@ -1111,7 +1159,7 @@
      - + Boost-1.55
        @@ -1170,7 +1218,7 @@ and Accurate Parallel Inversion of the Gamma Distribution, Thomas Luu

        - + Boost-1.54
        @@ -1224,7 +1272,7 @@
      - + Boost-1.53
        @@ -1259,7 +1307,7 @@
      - + Boost-1.52
        @@ -1306,14 +1354,14 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.51

      See Boost-1.52 - some items were added but not listed in time for the release.

      - + Boost-1.50
        @@ -1350,7 +1398,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.49
        @@ -1394,7 +1442,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.48
        @@ -1445,7 +1493,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.47
        @@ -1462,7 +1510,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.46.1
      • @@ -1470,7 +1518,7 @@ by switching to use the Students t distribution (or Normal distribution #5113.
      - + Boost-1.46.0
        @@ -1485,7 +1533,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.45.0
        @@ -1502,7 +1550,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.44.0
        @@ -1516,7 +1564,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.41.0
      • @@ -1524,7 +1572,7 @@ by switching to use the Students t distribution (or Normal distribution its inverse.
      - + Boost-1.40.0
        @@ -1560,7 +1608,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.38.0
        @@ -1572,14 +1620,14 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.37.0
      • Improved accuracy and testing of the inverse hypergeometric functions.
      - + Boost-1.36.0
        @@ -1612,7 +1660,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.35.0: Post Review First Official Release
      @@ -1644,7 +1692,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 4: Second Review Candidate (1st March 2007)
      @@ -1658,7 +1706,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 3: First Review Candidate (31st Dec 2006)
      @@ -1686,7 +1734,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 2: Released September 10th 2006
      @@ -1722,7 +1770,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 1: Released March 31st 2006
      @@ -1754,9 +1802,7 @@ by switching to use the Students t distribution (or Normal distribution Sandbox and trunk last synchonised at revision: .

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/history2.html b/doc/html/math_toolkit/history2.html index 290b0a4fe..de14e35d0 100644 --- a/doc/html/math_toolkit/history2.html +++ b/doc/html/math_toolkit/history2.html @@ -4,10 +4,11 @@ History and What's New - + + @@ -38,6 +39,53 @@

      + Math-4.1.1 + (Boost-1.84) +
      +
        +
      • + Improve ccmath error detection. +
      • +
      • + Remove use of deprecated std::numeric_limits<>::has_denorm, see + 1028. +
      • +
      • + Correct non-convergence bug in non-central-t distribution, see 1035. +
      • +
      • + Adjust Bessel function approximation to 1F1 to avoid taking tgamma at a + negative integer, see 1034. +
      • +
      • + Avoid spurious overflow and divide by zero in ibeta, see 1006. +
      • +
      • + Improve accuracy when using Sterling's approximation to tgamma, completes + work started in 1007. +
      • +
      • + Fix inverse_discrete_quantile for large initial guesses, see 1007. +
      • +
      • + Improve Newton root finding, see 1000. +
      • +
      • + Fix median_absolute_deviation for non-zero centre, see 997. +
      • +
      • + Fix up cstdfloat.hpp for gcc-14. +
      • +
      • + Update to work for the new types declared in <stdfloat>. +
      • +
      • + Change hypergeometric_distribution to use 64 rather than 32 bit integers + to avoid unnecessary overflow and restrictions on use. +
      • +
      +
      + Math-4.1.0 (Boost-1.82)
      @@ -115,7 +163,7 @@
      - + Math-4.0.0 (Boost-1.81)
      @@ -179,7 +227,7 @@
      - + Math-3.4.0 (Boost-1.80)
      @@ -207,7 +255,7 @@
      - + Math-3.3.0 (Boost-1.79)
      @@ -249,7 +297,7 @@
      - + Math-3.2.0 (Boost-1.78)
      @@ -286,7 +334,7 @@
      - + Math-3.1.0 (Boost-1.77)
      @@ -322,7 +370,7 @@
      - + Math-3.0.0 (Boost-1.76)
      @@ -373,7 +421,7 @@
      - + Math-2.13.0 (Boost-1.75)
      @@ -424,7 +472,7 @@
      - + Math-2.12.0 (Boost-1.73)
      @@ -466,7 +514,7 @@
      - + Math-2.11.0 (Boost-1.72)
      @@ -528,7 +576,7 @@
      - + Math-2.10.0 (Boost-1.71)
      @@ -562,7 +610,7 @@
      - + Math-2.9.0 (Boost-1.70)
      @@ -616,7 +664,7 @@
      - + Math-2.8.0 (Boost-1.69)
      @@ -673,7 +721,7 @@
      - + Math-2.7.1 (Boost-1.68)
      @@ -687,7 +735,7 @@
      - + Math-2.7.0 (Boost-1.66)
      @@ -704,7 +752,7 @@
      - + Math-2.6.0 (Boost-1.65)
      @@ -741,7 +789,7 @@
      - + Math-2.5.2 (Boost-1.64)
      @@ -758,7 +806,7 @@
      - + Math-2.5.1 (Boost-1.63)
      @@ -774,7 +822,7 @@
      - + Math-2.5.0 (Boost-1.62)
      @@ -799,7 +847,7 @@
      - + Math-2.4.0 (Boost-1.61)
      @@ -810,7 +858,7 @@ Polynomial arithmetic added to tools.
      - + Math-2.3.0 (Boost-1.60)
      @@ -889,7 +937,7 @@
      - + Math-2.2.1

      @@ -908,7 +956,7 @@

      - + Math-2.2.0 (boost-1.58.0)
      @@ -952,7 +1000,7 @@
      - + Math-2.1.0 (boost-1.57.0)
      @@ -978,7 +1026,7 @@
      - + Math-2.0.0 (Boost-1.56.0)
      @@ -1029,7 +1077,7 @@
      - + Math-1.9.1
        @@ -1044,7 +1092,7 @@
      - + Math-1.9.0
        @@ -1111,7 +1159,7 @@
      - + Boost-1.55
        @@ -1170,7 +1218,7 @@ and Accurate Parallel Inversion of the Gamma Distribution, Thomas Luu

        - + Boost-1.54
        @@ -1224,7 +1272,7 @@
      - + Boost-1.53
        @@ -1259,7 +1307,7 @@
      - + Boost-1.52
        @@ -1306,14 +1354,14 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.51

      See Boost-1.52 - some items were added but not listed in time for the release.

      - + Boost-1.50
        @@ -1350,7 +1398,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.49
        @@ -1394,7 +1442,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.48
        @@ -1445,7 +1493,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.47
        @@ -1462,7 +1510,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.46.1
      • @@ -1470,7 +1518,7 @@ by switching to use the Students t distribution (or Normal distribution #5113.
      - + Boost-1.46.0
        @@ -1485,7 +1533,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.45.0
        @@ -1502,7 +1550,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.44.0
        @@ -1516,7 +1564,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.41.0
      • @@ -1524,7 +1572,7 @@ by switching to use the Students t distribution (or Normal distribution its inverse.
      - + Boost-1.40.0
        @@ -1560,7 +1608,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.38.0
        @@ -1572,14 +1620,14 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.37.0
      • Improved accuracy and testing of the inverse hypergeometric functions.
      - + Boost-1.36.0
        @@ -1612,7 +1660,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Boost-1.35.0: Post Review First Official Release
      @@ -1644,7 +1692,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 4: Second Review Candidate (1st March 2007)
      @@ -1658,7 +1706,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 3: First Review Candidate (31st Dec 2006)
      @@ -1686,7 +1734,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 2: Released September 10th 2006
      @@ -1722,7 +1770,7 @@ by switching to use the Students t distribution (or Normal distribution
      - + Milestone 1: Released March 31st 2006
      @@ -1754,9 +1802,7 @@ by switching to use the Students t distribution (or Normal distribution Sandbox and trunk last synchonised at revision: .

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric.html b/doc/html/math_toolkit/hypergeometric.html index a00a07a33..f2b82cef2 100644 --- a/doc/html/math_toolkit/hypergeometric.html +++ b/doc/html/math_toolkit/hypergeometric.html @@ -4,10 +4,11 @@ Hypergeometric Functions - + + @@ -41,9 +42,7 @@ References -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html index 896e86e06..cfbb85f1e 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_0f1.html @@ -4,10 +4,11 @@ Hypergeometric 0F1 - + + @@ -93,9 +94,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html index d3359ab2b..8ce438981 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f0.html @@ -4,10 +4,11 @@ Hypergeometric 1F0 - + + @@ -81,9 +82,7 @@ 1F0(a, z) = (1-z)-a

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html index d4c3df9b9..dfd2a3660 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_1f1.html @@ -4,10 +4,11 @@ Hypergeometric 1F1 - + + @@ -772,9 +773,7 @@ if more than half the digits are destroyed by cancellation.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html index a9001e984..31b2540b3 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_2f0.html @@ -4,10 +4,11 @@ Hypergeometric 2F0 - + + @@ -102,9 +103,7 @@ Otherwise we use the defining series.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html index 318128141..fbb719372 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_pfq.html @@ -4,10 +4,11 @@ Hypergeometric pFq - + + @@ -139,9 +140,7 @@ via logarithms.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html b/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html index 6b4b09598..51d697e7e 100644 --- a/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html +++ b/doc/html/math_toolkit/hypergeometric/hypergeometric_refs.html @@ -4,10 +4,11 @@ Hypergeometric References - + + @@ -91,9 +92,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals.html b/doc/html/math_toolkit/internals.html index 07b265fc2..4e2a0856a 100644 --- a/doc/html/math_toolkit/internals.html +++ b/doc/html/math_toolkit/internals.html @@ -4,10 +4,11 @@ Internal tools - + + @@ -49,9 +50,7 @@
      Color Maps
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/agm.html b/doc/html/math_toolkit/internals/agm.html index b9c89bd6d..963727536 100644 --- a/doc/html/math_toolkit/internals/agm.html +++ b/doc/html/math_toolkit/internals/agm.html @@ -4,10 +4,11 @@ Arithmetic-Geometric Mean - + + @@ -116,9 +117,7 @@ 2003. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/centered_continued_fraction.html b/doc/html/math_toolkit/internals/centered_continued_fraction.html index 0706f5e6e..02dbdcbf6 100644 --- a/doc/html/math_toolkit/internals/centered_continued_fraction.html +++ b/doc/html/math_toolkit/internals/centered_continued_fraction.html @@ -4,10 +4,11 @@ Centered Continued Fractions - + + @@ -87,9 +88,7 @@ respect to its characterization as a centered continued fraction.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/cf.html b/doc/html/math_toolkit/internals/cf.html index 7ef644f0a..d0c89c2e8 100644 --- a/doc/html/math_toolkit/internals/cf.html +++ b/doc/html/math_toolkit/internals/cf.html @@ -4,10 +4,11 @@ Continued Fraction Evaluation - + + @@ -367,9 +368,7 @@ } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/cohen_acceleration.html b/doc/html/math_toolkit/internals/cohen_acceleration.html index 5b88a9b05..e504fbc63 100644 --- a/doc/html/math_toolkit/internals/cohen_acceleration.html +++ b/doc/html/math_toolkit/internals/cohen_acceleration.html @@ -4,10 +4,11 @@ Cohen Acceleration - + + @@ -151,9 +152,7 @@ 9.1 (2000): 3-12. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/color_maps.html b/doc/html/math_toolkit/internals/color_maps.html index be499c5b2..b23427513 100644 --- a/doc/html/math_toolkit/internals/color_maps.html +++ b/doc/html/math_toolkit/internals/color_maps.html @@ -4,10 +4,11 @@ Color Maps - + + @@ -156,9 +157,7 @@ About it . -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/engel_expansion.html b/doc/html/math_toolkit/internals/engel_expansion.html index 738844dd8..f57df92bf 100644 --- a/doc/html/math_toolkit/internals/engel_expansion.html +++ b/doc/html/math_toolkit/internals/engel_expansion.html @@ -4,10 +4,11 @@ Engel Expansion - + + @@ -65,9 +66,7 @@ autoengel=engel_expansion<__float128,checked_int1024_t>(pi<__float128>()); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/error_test.html b/doc/html/math_toolkit/internals/error_test.html index 8ab8f6598..90ff11fcd 100644 --- a/doc/html/math_toolkit/internals/error_test.html +++ b/doc/html/math_toolkit/internals/error_test.html @@ -4,10 +4,11 @@ Relative Error and Testing - + + @@ -220,9 +221,7 @@ // -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/luroth_expansion.html b/doc/html/math_toolkit/internals/luroth_expansion.html index 8ccaf8cde..dc92fae64 100644 --- a/doc/html/math_toolkit/internals/luroth_expansion.html +++ b/doc/html/math_toolkit/internals/luroth_expansion.html @@ -4,10 +4,11 @@ Luroth Expansions - + + @@ -97,9 +98,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/minimax.html b/doc/html/math_toolkit/internals/minimax.html index 40b1d9dc3..2b7004ce1 100644 --- a/doc/html/math_toolkit/internals/minimax.html +++ b/doc/html/math_toolkit/internals/minimax.html @@ -4,10 +4,11 @@ Minimax Approximations and the Remez Algorithm - + + @@ -265,9 +266,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/recurrence.html b/doc/html/math_toolkit/internals/recurrence.html index 9a2160e03..dcd27f026 100644 --- a/doc/html/math_toolkit/internals/recurrence.html +++ b/doc/html/math_toolkit/internals/recurrence.html @@ -4,10 +4,11 @@ Tools For 3-Term Recurrence Relations - + + @@ -283,9 +284,7 @@ returned successively to Fn-1, Fn-2 etc.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/series_evaluation.html b/doc/html/math_toolkit/internals/series_evaluation.html index 5d345dfda..9fe60a354 100644 --- a/doc/html/math_toolkit/internals/series_evaluation.html +++ b/doc/html/math_toolkit/internals/series_evaluation.html @@ -4,10 +4,11 @@ Series Evaluation - + + @@ -234,9 +235,7 @@ examples.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/simple_continued_fraction.html b/doc/html/math_toolkit/internals/simple_continued_fraction.html index 213e766c3..3ce36560d 100644 --- a/doc/html/math_toolkit/internals/simple_continued_fraction.html +++ b/doc/html/math_toolkit/internals/simple_continued_fraction.html @@ -4,10 +4,11 @@ Simple Continued Fractions - + + @@ -102,9 +103,7 @@ geometric mean is precisely 2.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/test_data.html b/doc/html/math_toolkit/internals/test_data.html index ce368af8f..2e9229699 100644 --- a/doc/html/math_toolkit/internals/test_data.html +++ b/doc/html/math_toolkit/internals/test_data.html @@ -4,10 +4,11 @@ Graphing, Profiling, and Generating Test Data for Special Functions - + + @@ -545,9 +546,7 @@ need for the original pseudo-parameter to be included in program output.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals/tuples.html b/doc/html/math_toolkit/internals/tuples.html index 611d06674..712f11478 100644 --- a/doc/html/math_toolkit/internals/tuples.html +++ b/doc/html/math_toolkit/internals/tuples.html @@ -4,10 +4,11 @@ Tuples - + + @@ -66,9 +67,7 @@ portability.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/internals_overview.html b/doc/html/math_toolkit/internals_overview.html index 4be342709..7e15f059a 100644 --- a/doc/html/math_toolkit/internals_overview.html +++ b/doc/html/math_toolkit/internals_overview.html @@ -4,10 +4,11 @@ Overview - + + @@ -42,9 +43,7 @@ submissions to this library.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/interp.html b/doc/html/math_toolkit/interp.html index b02526702..fa33d5019 100644 --- a/doc/html/math_toolkit/interp.html +++ b/doc/html/math_toolkit/interp.html @@ -4,10 +4,11 @@ Interpreting these Results - + + @@ -55,9 +56,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/intro_pol_overview.html b/doc/html/math_toolkit/intro_pol_overview.html index 172d994ff..bdb428749 100644 --- a/doc/html/math_toolkit/intro_pol_overview.html +++ b/doc/html/math_toolkit/intro_pol_overview.html @@ -4,10 +4,11 @@ Policies - + + @@ -99,9 +100,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/inv_hyper.html b/doc/html/math_toolkit/inv_hyper.html index 548d02ad6..32b68b3b4 100644 --- a/doc/html/math_toolkit/inv_hyper.html +++ b/doc/html/math_toolkit/inv_hyper.html @@ -4,10 +4,11 @@ Inverse Hyperbolic Functions - + + @@ -34,9 +35,7 @@
      atanh
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/inv_hyper/acosh.html b/doc/html/math_toolkit/inv_hyper/acosh.html index 1daa9605f..da1af1d83 100644 --- a/doc/html/math_toolkit/inv_hyper/acosh.html +++ b/doc/html/math_toolkit/inv_hyper/acosh.html @@ -4,10 +4,11 @@ acosh - + + @@ -117,9 +118,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/inv_hyper/asinh.html b/doc/html/math_toolkit/inv_hyper/asinh.html index 0cf7d5d5e..bfc1b4071 100644 --- a/doc/html/math_toolkit/inv_hyper/asinh.html +++ b/doc/html/math_toolkit/inv_hyper/asinh.html @@ -4,10 +4,11 @@ asinh - + + @@ -112,9 +113,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/inv_hyper/atanh.html b/doc/html/math_toolkit/inv_hyper/atanh.html index 6173d7687..be189fb04 100644 --- a/doc/html/math_toolkit/inv_hyper/atanh.html +++ b/doc/html/math_toolkit/inv_hyper/atanh.html @@ -4,10 +4,11 @@ atanh - + + @@ -121,9 +122,7 @@ denoting std -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html b/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html index 50848f8d3..e1cc07b26 100644 --- a/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html +++ b/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html @@ -4,10 +4,11 @@ Inverse Hyperbolic Functions Overview - + + @@ -132,9 +133,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/issues.html b/doc/html/math_toolkit/issues.html index bbd93c6c8..3622a3478 100644 --- a/doc/html/math_toolkit/issues.html +++ b/doc/html/math_toolkit/issues.html @@ -4,10 +4,11 @@ Known Issues, and TODO List - + + @@ -1188,9 +1189,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi.html b/doc/html/math_toolkit/jacobi.html index 7e889fd1b..896244ca9 100644 --- a/doc/html/math_toolkit/jacobi.html +++ b/doc/html/math_toolkit/jacobi.html @@ -4,10 +4,11 @@ Jacobi Elliptic Functions - + + @@ -57,9 +58,7 @@ sn -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jac_over.html b/doc/html/math_toolkit/jacobi/jac_over.html index 5ad7acc79..d50bb1169 100644 --- a/doc/html/math_toolkit/jacobi/jac_over.html +++ b/doc/html/math_toolkit/jacobi/jac_over.html @@ -4,10 +4,11 @@ Overview of the Jacobi Elliptic Functions - + + @@ -119,9 +120,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_cd.html b/doc/html/math_toolkit/jacobi/jacobi_cd.html index 6e1bb0135..caedb1328 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cd.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function cd - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_cn.html b/doc/html/math_toolkit/jacobi/jacobi_cn.html index ec535074d..2c8b29f4a 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cn.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function cn - + + @@ -64,9 +65,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_cs.html b/doc/html/math_toolkit/jacobi/jacobi_cs.html index c8fcba93e..5f48391c9 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cs.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cs.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function cs - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_dc.html b/doc/html/math_toolkit/jacobi/jacobi_dc.html index b1bd60360..e9d4c07af 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dc.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function dc - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_dn.html b/doc/html/math_toolkit/jacobi/jacobi_dn.html index 5444c7767..c76b16b7b 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dn.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function dn - + + @@ -64,9 +65,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_ds.html b/doc/html/math_toolkit/jacobi/jacobi_ds.html index ef749c44b..4aa916b2e 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ds.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ds.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function ds - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_elliptic.html b/doc/html/math_toolkit/jacobi/jacobi_elliptic.html index 2ecae058f..4447204dc 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_elliptic.html +++ b/doc/html/math_toolkit/jacobi/jacobi_elliptic.html @@ -4,10 +4,11 @@ Jacobi Elliptic SN, CN and DN - + + @@ -754,9 +755,7 @@ geometric means.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_nc.html b/doc/html/math_toolkit/jacobi/jacobi_nc.html index 33e52e2c3..778027e45 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nc.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function nc - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_nd.html b/doc/html/math_toolkit/jacobi/jacobi_nd.html index b45b3a96e..d810fdcfb 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nd.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function nd - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_ns.html b/doc/html/math_toolkit/jacobi/jacobi_ns.html index 4a4b98868..9a9ad99a9 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ns.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ns.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function ns - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_sc.html b/doc/html/math_toolkit/jacobi/jacobi_sc.html index b1c8a62f5..4ed248f20 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sc.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function sc - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_sd.html b/doc/html/math_toolkit/jacobi/jacobi_sd.html index 9d415832a..a715ada55 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sd.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function sd - + + @@ -68,9 +69,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi/jacobi_sn.html b/doc/html/math_toolkit/jacobi/jacobi_sn.html index 348626cf6..b7f7e7424 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sn.html @@ -4,10 +4,11 @@ Jacobi Elliptic Function sn - + + @@ -64,9 +65,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta.html b/doc/html/math_toolkit/jacobi_theta.html index d9087cbc2..58cf0232e 100644 --- a/doc/html/math_toolkit/jacobi_theta.html +++ b/doc/html/math_toolkit/jacobi_theta.html @@ -4,10 +4,11 @@ Jacobi Theta Functions - + + @@ -39,9 +40,7 @@ Function θ4 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html index 8ca3f0a71..f061b15f2 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta1.html @@ -4,10 +4,11 @@ Jacobi Theta Function θ1 - + + @@ -133,9 +134,7 @@ in a small number of iterations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html index d59dd9791..683334845 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta2.html @@ -4,10 +4,11 @@ Jacobi Theta Function θ2 - + + @@ -133,9 +134,7 @@ in a small number of iterations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html index deea68a79..e2520c8b0 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta3.html @@ -4,10 +4,11 @@ Jacobi Theta Function θ3 - + + @@ -150,9 +151,7 @@ in a small number of iterations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html index ae5006a16..cc37e870e 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta4.html @@ -4,10 +4,11 @@ Jacobi Theta Function θ4 - + + @@ -150,9 +151,7 @@ in a small number of iterations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html b/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html index 9eab9402a..896167e4c 100644 --- a/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html +++ b/doc/html/math_toolkit/jacobi_theta/jacobi_theta_overview.html @@ -4,10 +4,11 @@ Overview of the Jacobi Theta Functions - + + @@ -156,9 +157,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/lambert_w.html b/doc/html/math_toolkit/lambert_w.html index 8fac2c1a7..fa00f1a33 100644 --- a/doc/html/math_toolkit/lambert_w.html +++ b/doc/html/math_toolkit/lambert_w.html @@ -4,10 +4,11 @@ Lambert W function - + + @@ -705,8 +706,9 @@ with the functions lambert

      z < -std::numeric_limits<T>::min(), means that z is zero or denormalized - (if std::numeric_limits<T>::has_denorm_min == - true), for example: r = lambert_wm1(-std::numeric_limits<double>::denorm_min()); + (if boost::math::detail::has_denorm_now<T>() == true), + for example: r = + lambert_wm1(-std::numeric_limits<double>::denorm_min()); and an overflow_error exception is thrown, and will give a message like:

      @@ -1907,9 +1909,7 @@ if (f(w) / f'(w -

      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/lanczos.html b/doc/html/math_toolkit/lanczos.html index cd9323de6..80b54f502 100644 --- a/doc/html/math_toolkit/lanczos.html +++ b/doc/html/math_toolkit/lanczos.html @@ -4,10 +4,11 @@ The Lanczos Approximation - + + @@ -568,9 +569,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/linear_regression.html b/doc/html/math_toolkit/linear_regression.html index 71a06032c..060bf019e 100644 --- a/doc/html/math_toolkit/linear_regression.html +++ b/doc/html/math_toolkit/linear_regression.html @@ -4,10 +4,11 @@ Linear Regression - + - + + @@ -20,7 +21,7 @@

      -PrevUpHomeNext +PrevUpHomeNext

      @@ -211,9 +212,7 @@ BMSimpleOrdinaryLeastSquaresWRSquared<double>_RMS 1 %

      - - - -
      +

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/math_toolkit/ljung_box.html b/doc/html/math_toolkit/ljung_box.html index 53b026114..edba513b6 100644 --- a/doc/html/math_toolkit/ljung_box.html +++ b/doc/html/math_toolkit/ljung_box.html @@ -4,10 +4,11 @@ The Ljung-Box Test - + + @@ -114,9 +115,7 @@ p+q.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/logs_and_tables.html b/doc/html/math_toolkit/logs_and_tables.html index d3d2a639d..5dba04f38 100644 --- a/doc/html/math_toolkit/logs_and_tables.html +++ b/doc/html/math_toolkit/logs_and_tables.html @@ -4,10 +4,11 @@ Error logs and tables - + + @@ -33,9 +34,7 @@ Rate Tables -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/logs_and_tables/all_table.html b/doc/html/math_toolkit/logs_and_tables/all_table.html index a02eac14c..0f3c9cffe 100644 --- a/doc/html/math_toolkit/logs_and_tables/all_table.html +++ b/doc/html/math_toolkit/logs_and_tables/all_table.html @@ -4,10 +4,11 @@ Tables of Error Rates for all Functions - + + @@ -12046,9 +12047,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/logs_and_tables/logs.html b/doc/html/math_toolkit/logs_and_tables/logs.html index eeb0b33b8..74ae8541f 100644 --- a/doc/html/math_toolkit/logs_and_tables/logs.html +++ b/doc/html/math_toolkit/logs_and_tables/logs.html @@ -4,10 +4,11 @@ Error Logs For Error Rate Tables - + + @@ -3139,9 +3140,7 @@ 30, 6.33825e+29, -0
      underflow
      30, 1.26765e+30, -0

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/macros.html b/doc/html/math_toolkit/macros.html index 942619c49..d1194f3cf 100644 --- a/doc/html/math_toolkit/macros.html +++ b/doc/html/math_toolkit/macros.html @@ -4,10 +4,11 @@ Floating-Point Constant Macros - + + @@ -69,9 +70,7 @@ See the complete list of constants.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/main_faq.html b/doc/html/math_toolkit/main_faq.html index 8c380f591..c56890de5 100644 --- a/doc/html/math_toolkit/main_faq.html +++ b/doc/html/math_toolkit/main_faq.html @@ -4,10 +4,11 @@ Boost.Math Frequently Asked Questions (FAQs) - + + @@ -368,9 +369,7 @@ needed for your application.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/main_intro.html b/doc/html/math_toolkit/main_intro.html index b37d4ddc2..6b033b2c9 100644 --- a/doc/html/math_toolkit/main_intro.html +++ b/doc/html/math_toolkit/main_intro.html @@ -4,10 +4,11 @@ About the Math Toolkit - + + @@ -178,9 +179,7 @@ (forward mode) of mathematical functions of single and multiple variables.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/main_tr1.html b/doc/html/math_toolkit/main_tr1.html index 8d1b2bc82..d8c4d8c58 100644 --- a/doc/html/math_toolkit/main_tr1.html +++ b/doc/html/math_toolkit/main_tr1.html @@ -4,10 +4,11 @@ C99 and TR1 C Functions Overview - + + @@ -598,9 +599,7 @@ longdoublex); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/makima.html b/doc/html/math_toolkit/makima.html index 9169fcfa0..c308ecae4 100644 --- a/doc/html/math_toolkit/makima.html +++ b/doc/html/math_toolkit/makima.html @@ -4,10 +4,11 @@ Modified Akima interpolation - + + @@ -126,9 +127,7 @@ since this object simply constructs derivatives and forwards the data to cubic_hermite.hpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/mem_typedef.html b/doc/html/math_toolkit/mem_typedef.html index 047e633e2..ca2370fff 100644 --- a/doc/html/math_toolkit/mem_typedef.html +++ b/doc/html/math_toolkit/mem_typedef.html @@ -4,10 +4,11 @@ Quaternion Member Typedefs - + + @@ -53,9 +54,7 @@ These provide easy access to the type the template is built upon.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/minimum_typdefs.html b/doc/html/math_toolkit/minimum_typdefs.html index 24f32457e..75aa1b02f 100644 --- a/doc/html/math_toolkit/minimum_typdefs.html +++ b/doc/html/math_toolkit/minimum_typdefs.html @@ -4,10 +4,11 @@ Minimum-width floating-point typedefs - + + @@ -43,9 +44,7 @@ will also be supported, etc.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/multiprecision.html b/doc/html/math_toolkit/multiprecision.html index 981a5c3e1..768017298 100644 --- a/doc/html/math_toolkit/multiprecision.html +++ b/doc/html/math_toolkit/multiprecision.html @@ -4,10 +4,11 @@ Cost of High-Precision Non-built-in Floating-point - + + @@ -107,9 +108,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/naive_monte_carlo.html b/doc/html/math_toolkit/naive_monte_carlo.html index 8231578d0..50431971a 100644 --- a/doc/html/math_toolkit/naive_monte_carlo.html +++ b/doc/html/math_toolkit/naive_monte_carlo.html @@ -4,10 +4,11 @@ Naive Monte Carlo Integration - + + @@ -218,9 +219,7 @@
      naive_monte_carlo<Real, decltype(g), std::mt19937> mc(g, bounds, (Real) 0.001);
       
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/namespaces.html b/doc/html/math_toolkit/namespaces.html index 91675be02..9055183fe 100644 --- a/doc/html/math_toolkit/namespaces.html +++ b/doc/html/math_toolkit/namespaces.html @@ -4,10 +4,11 @@ Namespaces - + + @@ -86,9 +87,7 @@

      - - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/navigation.html b/doc/html/math_toolkit/navigation.html index f96ffccc1..d04cd30c1 100644 --- a/doc/html/math_toolkit/navigation.html +++ b/doc/html/math_toolkit/navigation.html @@ -4,10 +4,11 @@ Navigation - + + @@ -27,7 +28,7 @@ Navigation

      - +

      Boost.Math documentation is provided in both HTML and PDF formats. @@ -85,9 +86,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/new_const.html b/doc/html/math_toolkit/new_const.html index 66ee6754b..ee168e19f 100644 --- a/doc/html/math_toolkit/new_const.html +++ b/doc/html/math_toolkit/new_const.html @@ -4,10 +4,11 @@ Defining New Constants - + + @@ -244,9 +245,7 @@ }// namespace boost -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float.html b/doc/html/math_toolkit/next_float.html index 99b353d1f..19aa6a13e 100644 --- a/doc/html/math_toolkit/next_float.html +++ b/doc/html/math_toolkit/next_float.html @@ -4,10 +4,11 @@ Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values - + + @@ -97,9 +98,7 @@ plots reveal math-function accuracy.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/float_advance.html b/doc/html/math_toolkit/next_float/float_advance.html index 1d4d28bdd..20193660d 100644 --- a/doc/html/math_toolkit/next_float/float_advance.html +++ b/doc/html/math_toolkit/next_float/float_advance.html @@ -4,10 +4,11 @@ Advancing a floating-point Value by a Specific Representation Distance (ULP) float_advance - + + @@ -53,9 +54,7 @@ Returns a floating-point number r such that float_distance(val, r) == distance.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/float_distance.html b/doc/html/math_toolkit/next_float/float_distance.html index c3d449584..1c8956b4a 100644 --- a/doc/html/math_toolkit/next_float/float_distance.html +++ b/doc/html/math_toolkit/next_float/float_distance.html @@ -4,10 +4,11 @@ Calculating the Representation Distance Between Two floating-point Values (ULP) float_distance - + + @@ -87,9 +88,7 @@ an exact integer by type FPT, but in practice this is unlikely to be a issue.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/float_next.html b/doc/html/math_toolkit/next_float/float_next.html index c556bfa82..65cd2cec4 100644 --- a/doc/html/math_toolkit/next_float/float_next.html +++ b/doc/html/math_toolkit/next_float/float_next.html @@ -4,10 +4,11 @@ Finding the Next Greater Representable Value (float_next) - + + @@ -57,9 +58,7 @@
      nextafter(val, (std::numeric_limits<FPT>::max)());
       
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/float_prior.html b/doc/html/math_toolkit/next_float/float_prior.html index 9cb59d996..de078e9c5 100644 --- a/doc/html/math_toolkit/next_float/float_prior.html +++ b/doc/html/math_toolkit/next_float/float_prior.html @@ -4,10 +4,11 @@ Finding the Next Smaller Representable Value (float_prior) - + + @@ -57,9 +58,7 @@
      nextafter(val, -(std::numeric_limits<FPT>::max)());  // Note most negative value -max.
       
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/nextafter.html b/doc/html/math_toolkit/next_float/nextafter.html index 0e6b80d26..9b4b9342c 100644 --- a/doc/html/math_toolkit/next_float/nextafter.html +++ b/doc/html/math_toolkit/next_float/nextafter.html @@ -4,10 +4,11 @@ Finding the Next Representable Value in a Specific Direction (nextafter) - + + @@ -111,9 +112,7 @@ nextafter(0.1F,10)is0.099999994 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/next_float/ulp.html b/doc/html/math_toolkit/next_float/ulp.html index 487326bb1..86959c37a 100644 --- a/doc/html/math_toolkit/next_float/ulp.html +++ b/doc/html/math_toolkit/next_float/ulp.html @@ -4,10 +4,11 @@ Obtaining the Size of a Unit In the Last Place - ULP - + + @@ -109,11 +110,10 @@ When the argument becomes very small, it may be that there is no floating-point value that represents one ULP. Whether this is the case or not depends not only on whether the hardware may sometimes support - denormals (as signalled by std::numeric_limits<FPT>::has_denorm), - but also whether these are currently enabled at runtime (for example - on SSE hardware, the DAZ or FTZ flags will disable denormal support). - In this situation, the ulp - function may return a value that is many orders of magnitude too large. + denormals (as signalled by boost::math::detail::has_denorm_now<FPT>()), but also whether these are currently + enabled at runtime (for example on SSE hardware, the DAZ or FTZ flags + will disable denormal support). In this situation, the ulp function may return a value that + is many orders of magnitude too large.

      @@ -145,9 +145,7 @@ xc) / ulp(xt).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/norms.html b/doc/html/math_toolkit/norms.html index 8a656bf44..8da588c41 100644 --- a/doc/html/math_toolkit/norms.html +++ b/doc/html/math_toolkit/norms.html @@ -4,10 +4,11 @@ Norms - + + @@ -360,9 +361,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/number_series.html b/doc/html/math_toolkit/number_series.html index 8ecbc138d..0f85421c9 100644 --- a/doc/html/math_toolkit/number_series.html +++ b/doc/html/math_toolkit/number_series.html @@ -4,10 +4,11 @@ Number Series - + + @@ -35,9 +36,7 @@ Numbers -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/number_series/bernoulli_numbers.html b/doc/html/math_toolkit/number_series/bernoulli_numbers.html index ec16aa3bf..0ecd87502 100644 --- a/doc/html/math_toolkit/number_series/bernoulli_numbers.html +++ b/doc/html/math_toolkit/number_series/bernoulli_numbers.html @@ -4,10 +4,11 @@ Bernoulli Numbers - + + @@ -365,9 +366,7 @@ and also obtain much

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/number_series/fibonacci_numbers.html b/doc/html/math_toolkit/number_series/fibonacci_numbers.html index d76286d0f..b543d86b6 100644 --- a/doc/html/math_toolkit/number_series/fibonacci_numbers.html +++ b/doc/html/math_toolkit/number_series/fibonacci_numbers.html @@ -4,10 +4,11 @@ Fibonacci Numbers - + + @@ -178,9 +179,7 @@ version.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/number_series/primes.html b/doc/html/math_toolkit/number_series/primes.html index bcad5eaec..10e8499bc 100644 --- a/doc/html/math_toolkit/number_series/primes.html +++ b/doc/html/math_toolkit/number_series/primes.html @@ -4,10 +4,11 @@ Prime Numbers - + + @@ -69,9 +70,7 @@ if the compiler supports C++14 constexpr functions.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/number_series/tangent_numbers.html b/doc/html/math_toolkit/number_series/tangent_numbers.html index be8a1f3cf..885a4494a 100644 --- a/doc/html/math_toolkit/number_series/tangent_numbers.html +++ b/doc/html/math_toolkit/number_series/tangent_numbers.html @@ -4,10 +4,11 @@ Tangent Numbers - + + @@ -121,9 +122,7 @@ numbers documentation for details.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_create.html b/doc/html/math_toolkit/oct_create.html index e76ecdb9c..418c7a51d 100644 --- a/doc/html/math_toolkit/oct_create.html +++ b/doc/html/math_toolkit/oct_create.html @@ -4,10 +4,11 @@ Octonion Creation Functions - + + @@ -65,9 +66,7 @@ the complex value operation arg as the situation is somewhat more complicated.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_header.html b/doc/html/math_toolkit/oct_header.html index 5679493fa..203014293 100644 --- a/doc/html/math_toolkit/oct_header.html +++ b/doc/html/math_toolkit/oct_header.html @@ -4,10 +4,11 @@ Header File - + + @@ -30,9 +31,7 @@ The interface and implementation are both supplied by the header file octonion.hpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_history.html b/doc/html/math_toolkit/oct_history.html index b8036cd06..1afae0c89 100644 --- a/doc/html/math_toolkit/oct_history.html +++ b/doc/html/math_toolkit/oct_history.html @@ -4,10 +4,11 @@ History - + + @@ -92,9 +93,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_mem_fun.html b/doc/html/math_toolkit/oct_mem_fun.html index 35b6cbdf1..5cc4caa12 100644 --- a/doc/html/math_toolkit/oct_mem_fun.html +++ b/doc/html/math_toolkit/oct_mem_fun.html @@ -4,10 +4,11 @@ Octonion Member Functions - + + @@ -240,9 +241,7 @@ for the multiplication, remember to group any two factors using parenthesis.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_non_mem.html b/doc/html/math_toolkit/oct_non_mem.html index 388f9949b..9ecc4cbba 100644 --- a/doc/html/math_toolkit/oct_non_mem.html +++ b/doc/html/math_toolkit/oct_non_mem.html @@ -4,10 +4,11 @@ Octonion Non-Member Operators - + + @@ -204,9 +205,7 @@ } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_overview.html b/doc/html/math_toolkit/oct_overview.html index b7060d92a..4ac38cc49 100644 --- a/doc/html/math_toolkit/oct_overview.html +++ b/doc/html/math_toolkit/oct_overview.html @@ -4,10 +4,11 @@ Overview - + + @@ -67,9 +68,7 @@ known since quite a long time ago).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_specialization.html b/doc/html/math_toolkit/oct_specialization.html index caedb45d1..b3e5e4256 100644 --- a/doc/html/math_toolkit/oct_specialization.html +++ b/doc/html/math_toolkit/oct_specialization.html @@ -4,10 +4,11 @@ Octonion Specializations - + + @@ -223,9 +224,7 @@ }}// namespaces -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_synopsis.html b/doc/html/math_toolkit/oct_synopsis.html index d3bdc3ae6..a2d51a9b2 100644 --- a/doc/html/math_toolkit/oct_synopsis.html +++ b/doc/html/math_toolkit/oct_synopsis.html @@ -4,10 +4,11 @@ Synopsis - + + @@ -122,9 +123,7 @@ }}// namespaces -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_tests.html b/doc/html/math_toolkit/oct_tests.html index 86b2d67e3..df3b07f34 100644 --- a/doc/html/math_toolkit/oct_tests.html +++ b/doc/html/math_toolkit/oct_tests.html @@ -4,10 +4,11 @@ Test Program - + + @@ -41,9 +42,7 @@ standard input (instead of hard-coding it in the test).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_todo.html b/doc/html/math_toolkit/oct_todo.html index f78835fcc..eeec84a3b 100644 --- a/doc/html/math_toolkit/oct_todo.html +++ b/doc/html/math_toolkit/oct_todo.html @@ -4,10 +4,11 @@ To Do - + + @@ -38,9 +39,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_trans.html b/doc/html/math_toolkit/oct_trans.html index df543a689..859d0ba71 100644 --- a/doc/html/math_toolkit/oct_trans.html +++ b/doc/html/math_toolkit/oct_trans.html @@ -4,10 +4,11 @@ Octonions Transcendentals - + + @@ -129,9 +130,7 @@ Computes the n-th power of the octonion q.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_typedefs.html b/doc/html/math_toolkit/oct_typedefs.html index 79953ca99..7c59f5eb9 100644 --- a/doc/html/math_toolkit/oct_typedefs.html +++ b/doc/html/math_toolkit/oct_typedefs.html @@ -4,10 +4,11 @@ Octonion Member Typedefs - + + @@ -53,9 +54,7 @@ These provide easy access to the type the template is built upon.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/oct_value_ops.html b/doc/html/math_toolkit/oct_value_ops.html index fbbc70268..b3892eb43 100644 --- a/doc/html/math_toolkit/oct_value_ops.html +++ b/doc/html/math_toolkit/oct_value_ops.html @@ -4,10 +4,11 @@ Octonion Value Operations - + + @@ -89,9 +90,7 @@ norm.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/octonion.html b/doc/html/math_toolkit/octonion.html index 97b209886..69d64e26c 100644 --- a/doc/html/math_toolkit/octonion.html +++ b/doc/html/math_toolkit/octonion.html @@ -4,10 +4,11 @@ Template Class octonion - + + @@ -95,9 +96,7 @@ }}// namespaces -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/overview_tr1.html b/doc/html/math_toolkit/overview_tr1.html index 08d0076b7..9fa7548f7 100644 --- a/doc/html/math_toolkit/overview_tr1.html +++ b/doc/html/math_toolkit/overview_tr1.html @@ -4,10 +4,11 @@ C99 and C++ TR1 C-style Functions - + + @@ -598,9 +599,7 @@ longdoublex); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/owens_t.html b/doc/html/math_toolkit/owens_t.html index 2ea13feaf..82fa969af 100644 --- a/doc/html/math_toolkit/owens_t.html +++ b/doc/html/math_toolkit/owens_t.html @@ -4,10 +4,11 @@ Owen's T function - + + @@ -304,9 +305,7 @@ is close to 1, and greater than 95 decimal places elsewhere.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pchip.html b/doc/html/math_toolkit/pchip.html index d430591ff..95031b706 100644 --- a/doc/html/math_toolkit/pchip.html +++ b/doc/html/math_toolkit/pchip.html @@ -4,10 +4,11 @@ PCHIP interpolation - + + @@ -119,9 +120,7 @@ interpolator, so the performance is stated in the documentation for cubic_hermite.hpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/perf_over1.html b/doc/html/math_toolkit/perf_over1.html index 115daa775..ee179e050 100644 --- a/doc/html/math_toolkit/perf_over1.html +++ b/doc/html/math_toolkit/perf_over1.html @@ -4,10 +4,11 @@ Performance - + + @@ -69,9 +70,7 @@ this library compares to some other open source alternatives.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/perf_over2.html b/doc/html/math_toolkit/perf_over2.html index 91b4b5d77..7dd368ddb 100644 --- a/doc/html/math_toolkit/perf_over2.html +++ b/doc/html/math_toolkit/perf_over2.html @@ -4,10 +4,11 @@ Performance Overview - + + @@ -69,9 +70,7 @@ this library compares to some other open source alternatives.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/perf_test_app.html b/doc/html/math_toolkit/perf_test_app.html index 612edcc08..d76bd1f94 100644 --- a/doc/html/math_toolkit/perf_test_app.html +++ b/doc/html/math_toolkit/perf_test_app.html @@ -4,10 +4,11 @@ The Performance Test Applications - + + @@ -99,9 +100,7 @@ the compiler.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_overview.html b/doc/html/math_toolkit/pol_overview.html index 910e229f5..3854748b8 100644 --- a/doc/html/math_toolkit/pol_overview.html +++ b/doc/html/math_toolkit/pol_overview.html @@ -4,10 +4,11 @@ Policy Overview - + + @@ -99,9 +100,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref.html b/doc/html/math_toolkit/pol_ref.html index d7ec9d1a5..22f32ccd2 100644 --- a/doc/html/math_toolkit/pol_ref.html +++ b/doc/html/math_toolkit/pol_ref.html @@ -4,10 +4,11 @@ Policy Reference - + + @@ -45,9 +46,7 @@
      Policy Class Reference
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/assert_undefined.html b/doc/html/math_toolkit/pol_ref/assert_undefined.html index 38965e75e..4bb5ec171 100644 --- a/doc/html/math_toolkit/pol_ref/assert_undefined.html +++ b/doc/html/math_toolkit/pol_ref/assert_undefined.html @@ -4,10 +4,11 @@ Mathematically Undefined Function Policies - + + @@ -83,9 +84,7 @@ Macros to Change the Policy Defaults.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html b/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html index 14663c001..1b187cc22 100644 --- a/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html +++ b/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html @@ -4,10 +4,11 @@ Discrete Quantile Policies - + + @@ -233,9 +234,7 @@ (rounded from 68.1584).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/error_handling_policies.html b/doc/html/math_toolkit/pol_ref/error_handling_policies.html index 61acead8d..c175fd00f 100644 --- a/doc/html/math_toolkit/pol_ref/error_handling_policies.html +++ b/doc/html/math_toolkit/pol_ref/error_handling_policies.html @@ -4,10 +4,11 @@ Error Handling Policies - + + @@ -754,9 +755,7 @@ doubleq=quantile(my_norm(),0.05);// = -1.64485 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/internal_promotion.html b/doc/html/math_toolkit/pol_ref/internal_promotion.html index d5fc11135..5db79d677 100644 --- a/doc/html/math_toolkit/pol_ref/internal_promotion.html +++ b/doc/html/math_toolkit/pol_ref/internal_promotion.html @@ -4,10 +4,11 @@ Internal Floating-point Promotion Policies - + + @@ -131,9 +132,7 @@ floatq=quantile(my_norm(),0.05f); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/iteration_pol.html b/doc/html/math_toolkit/pol_ref/iteration_pol.html index d861c9bce..ea0bd5f7e 100644 --- a/doc/html/math_toolkit/pol_ref/iteration_pol.html +++ b/doc/html/math_toolkit/pol_ref/iteration_pol.html @@ -4,10 +4,11 @@ Iteration Limits Policies - + + @@ -48,9 +49,7 @@ before the special function gives up and returns the result of evaluation_error.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/namespace_pol.html b/doc/html/math_toolkit/pol_ref/namespace_pol.html index bb03649c6..ecb578fe3 100644 --- a/doc/html/math_toolkit/pol_ref/namespace_pol.html +++ b/doc/html/math_toolkit/pol_ref/namespace_pol.html @@ -4,10 +4,11 @@ Setting Polices at Namespace Scope - + + @@ -139,9 +140,7 @@ with the "_distribution" suffix removed.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/pol_ref_ref.html b/doc/html/math_toolkit/pol_ref/pol_ref_ref.html index 1db3e8e84..c38c641cc 100644 --- a/doc/html/math_toolkit/pol_ref/pol_ref_ref.html +++ b/doc/html/math_toolkit/pol_ref/pol_ref_ref.html @@ -4,10 +4,11 @@ Policy Class Reference - + + @@ -242,9 +243,7 @@ only on the policy types that they actually use.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/policy_defaults.html b/doc/html/math_toolkit/pol_ref/policy_defaults.html index f483931a4..73ee7e004 100644 --- a/doc/html/math_toolkit/pol_ref/policy_defaults.html +++ b/doc/html/math_toolkit/pol_ref/policy_defaults.html @@ -4,10 +4,11 @@ Using Macros to Change the Policy Defaults - + + @@ -239,9 +240,7 @@ in a source .cpp file.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_ref/precision_pol.html b/doc/html/math_toolkit/pol_ref/precision_pol.html index a89560f2c..705295fc8 100644 --- a/doc/html/math_toolkit/pol_ref/precision_pol.html +++ b/doc/html/math_toolkit/pol_ref/precision_pol.html @@ -4,10 +4,11 @@ Precision Policies - + + @@ -91,9 +92,7 @@ 0.05);// 5% quantile. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial.html b/doc/html/math_toolkit/pol_tutorial.html index d8a16b821..4a95b3795 100644 --- a/doc/html/math_toolkit/pol_tutorial.html +++ b/doc/html/math_toolkit/pol_tutorial.html @@ -4,10 +4,11 @@ Policy Tutorial - + + @@ -47,9 +48,7 @@ Quantiles of Discrete Distributions -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html b/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html index b884c06ce..1c6c45d57 100644 --- a/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html @@ -4,10 +4,11 @@ Setting Policies for Distributions on an Ad Hoc Basis - + + @@ -86,9 +87,7 @@

      quantile is: 40
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html b/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html index 20856ed96..59919961c 100644 --- a/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html @@ -4,10 +4,11 @@ Changing the Policy on an Ad Hoc Basis for the Special Functions - + + @@ -155,9 +156,7 @@ errno = 33 } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html b/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html index 6a589ce92..7b9fa8fa0 100644 --- a/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html @@ -4,10 +4,11 @@ Changing the Policy Defaults - + + @@ -239,9 +240,7 @@ cdf returned a NaN! errno is set to: 33 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/namespace_policies.html b/doc/html/math_toolkit/pol_tutorial/namespace_policies.html index b2af59f47..0be96325b 100644 --- a/doc/html/math_toolkit/pol_tutorial/namespace_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/namespace_policies.html @@ -4,10 +4,11 @@ Setting Policies at Namespace or Translation Unit Scope - + + @@ -347,9 +348,7 @@ Result of quantile(complement(binom, 0.05)) is: 8 } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html b/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html index 920998f4b..cb920fd2d 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html @@ -4,10 +4,11 @@ Policies Have Sensible Defaults - + + @@ -139,9 +140,7 @@ typedefnormalise<my_policy,digits2<9>>::typemy_policy_9;// errno on error, and limited precision. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/policy_usage.html b/doc/html/math_toolkit/pol_tutorial/policy_usage.html index 8bb0dd916..ab16e0189 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_usage.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_usage.html @@ -4,10 +4,11 @@ So How are Policies Used Anyway? - + + @@ -54,9 +55,7 @@ The following sections introduce these methods in more detail.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html b/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html index 4a299c32a..3fd89e1e6 100644 --- a/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html +++ b/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html @@ -4,10 +4,11 @@ Understanding Quantiles of Discrete Distributions - + + @@ -398,9 +399,7 @@ real 18.701 30.299 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html b/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html index 2bc55d8d8..4de77094f 100644 --- a/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html +++ b/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html @@ -4,10 +4,11 @@ Calling User Defined Error Handlers - + + @@ -435,9 +436,7 @@ Result of tgamma(-190.5) is: 0 then notices that it is dividing by infinity and so underflows.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html b/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html index 2af940ea3..5332a0439 100644 --- a/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html +++ b/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html @@ -4,10 +4,11 @@ So Just What is a Policy Anyway? - + + @@ -82,9 +83,7 @@ >my_policy; -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/polynomials.html b/doc/html/math_toolkit/polynomials.html index bc0e52fd8..ff88e552a 100644 --- a/doc/html/math_toolkit/polynomials.html +++ b/doc/html/math_toolkit/polynomials.html @@ -4,10 +4,11 @@ Polynomials - + + @@ -317,9 +318,7 @@ The source code is at polynomial_arithmetic.cpp

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers.html b/doc/html/math_toolkit/powers.html index 4942bad9f..7d3baaf17 100644 --- a/doc/html/math_toolkit/powers.html +++ b/doc/html/math_toolkit/powers.html @@ -4,10 +4,11 @@ Basic Functions - + + @@ -41,9 +42,7 @@
      logaddexp and logsumexp
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/cbrt.html b/doc/html/math_toolkit/powers/cbrt.html index 186a9dc90..8dd57b039 100644 --- a/doc/html/math_toolkit/powers/cbrt.html +++ b/doc/html/math_toolkit/powers/cbrt.html @@ -4,10 +4,11 @@ cbrt - + + @@ -146,9 +147,7 @@ calculated using NTL::RR at 1000-bit precision.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/cos_pi.html b/doc/html/math_toolkit/powers/cos_pi.html index c11c0bf59..3c3325952 100644 --- a/doc/html/math_toolkit/powers/cos_pi.html +++ b/doc/html/math_toolkit/powers/cos_pi.html @@ -4,10 +4,11 @@ cos_pi - + + @@ -150,9 +151,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/ct_pow.html b/doc/html/math_toolkit/powers/ct_pow.html index aa4b96218..0fbd674b8 100644 --- a/doc/html/math_toolkit/powers/ct_pow.html +++ b/doc/html/math_toolkit/powers/ct_pow.html @@ -4,10 +4,11 @@ Compile Time Power of a Runtime Base - + + @@ -255,9 +256,7 @@ improving the implementation. Algorithms, 2nd ed., Addison-Wesley, Reading, MA, 1981

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/expm1.html b/doc/html/math_toolkit/powers/expm1.html index 6907d193e..be5faa03e 100644 --- a/doc/html/math_toolkit/powers/expm1.html +++ b/doc/html/math_toolkit/powers/expm1.html @@ -4,10 +4,11 @@ expm1 - + + @@ -156,9 +157,7 @@ calculated using NTL::RR at 1000-bit precision.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/hypot.html b/doc/html/math_toolkit/powers/hypot.html index 1f23074c7..028f1dbdc 100644 --- a/doc/html/math_toolkit/powers/hypot.html +++ b/doc/html/math_toolkit/powers/hypot.html @@ -4,10 +4,11 @@ hypot - + + @@ -84,9 +85,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/log1p.html b/doc/html/math_toolkit/powers/log1p.html index 655b3f71c..d9db79536 100644 --- a/doc/html/math_toolkit/powers/log1p.html +++ b/doc/html/math_toolkit/powers/log1p.html @@ -4,10 +4,11 @@ log1p - + + @@ -171,9 +172,7 @@ calculated using NTL::RR at 1000-bit precision.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/logaddexp.html b/doc/html/math_toolkit/powers/logaddexp.html index 66fe9738c..65569874b 100644 --- a/doc/html/math_toolkit/powers/logaddexp.html +++ b/doc/html/math_toolkit/powers/logaddexp.html @@ -4,10 +4,11 @@ logaddexp and logsumexp - + + @@ -146,9 +147,7 @@ is the Log-Sum-Exp Function? -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/powm1.html b/doc/html/math_toolkit/powers/powm1.html index d13d0987b..179a25e5e 100644 --- a/doc/html/math_toolkit/powers/powm1.html +++ b/doc/html/math_toolkit/powers/powm1.html @@ -4,10 +4,11 @@ powm1 - + + @@ -150,9 +151,7 @@ at 1000-bit precision.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/rsqrt.html b/doc/html/math_toolkit/powers/rsqrt.html index 411cd5d61..11b5d56a1 100644 --- a/doc/html/math_toolkit/powers/rsqrt.html +++ b/doc/html/math_toolkit/powers/rsqrt.html @@ -4,10 +4,11 @@ Reciprocal square root - + + @@ -96,9 +97,7 @@ Rsqrt<cpp_bin_float_100>9393ns9393ns72967 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/sin_pi.html b/doc/html/math_toolkit/powers/sin_pi.html index 50b839712..6122beefa 100644 --- a/doc/html/math_toolkit/powers/sin_pi.html +++ b/doc/html/math_toolkit/powers/sin_pi.html @@ -4,10 +4,11 @@ sin_pi - + + @@ -150,9 +151,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/powers/sqrt1pm1.html b/doc/html/math_toolkit/powers/sqrt1pm1.html index 9c6717de4..8be59d586 100644 --- a/doc/html/math_toolkit/powers/sqrt1pm1.html +++ b/doc/html/math_toolkit/powers/sqrt1pm1.html @@ -4,10 +4,11 @@ sqrt1pm1 - + + @@ -148,9 +149,7 @@ at 1000-bit precision.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quartic_roots.html b/doc/html/math_toolkit/quartic_roots.html index f03dd34e6..acebfb797 100644 --- a/doc/html/math_toolkit/quartic_roots.html +++ b/doc/html/math_toolkit/quartic_roots.html @@ -4,10 +4,11 @@ Roots of Quartic Polynomials - + + @@ -68,9 +69,7 @@ your system.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat.html b/doc/html/math_toolkit/quat.html index 0d51daf60..9534563cc 100644 --- a/doc/html/math_toolkit/quat.html +++ b/doc/html/math_toolkit/quat.html @@ -4,10 +4,11 @@ Template Class quaternion - + + @@ -80,9 +81,7 @@ }// namespace boost -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_header.html b/doc/html/math_toolkit/quat_header.html index ac90fcf96..ed33dd040 100644 --- a/doc/html/math_toolkit/quat_header.html +++ b/doc/html/math_toolkit/quat_header.html @@ -4,10 +4,11 @@ Header File - + + @@ -30,9 +31,7 @@ The interface and implementation are both supplied by the header file quaternion.hpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_history.html b/doc/html/math_toolkit/quat_history.html index c0bb97d44..ce37895fb 100644 --- a/doc/html/math_toolkit/quat_history.html +++ b/doc/html/math_toolkit/quat_history.html @@ -4,10 +4,11 @@ History - + + @@ -94,9 +95,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_mem_fun.html b/doc/html/math_toolkit/quat_mem_fun.html index 6a69c8f6a..5a2ab3b7e 100644 --- a/doc/html/math_toolkit/quat_mem_fun.html +++ b/doc/html/math_toolkit/quat_mem_fun.html @@ -4,10 +4,11 @@ Quaternion Member Functions - + + @@ -217,9 +218,7 @@ unspecialized form, the base type's assignment operators must not throw.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_non_mem.html b/doc/html/math_toolkit/quat_non_mem.html index 6e1f2e85e..844bbbf5a 100644 --- a/doc/html/math_toolkit/quat_non_mem.html +++ b/doc/html/math_toolkit/quat_non_mem.html @@ -4,10 +4,11 @@ Quaternion Non-Member Operators - + + @@ -205,9 +206,7 @@ } -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_overview.html b/doc/html/math_toolkit/quat_overview.html index 036f35987..d7dbd746f 100644 --- a/doc/html/math_toolkit/quat_overview.html +++ b/doc/html/math_toolkit/quat_overview.html @@ -4,10 +4,11 @@ Overview - + + @@ -77,9 +78,7 @@ root, do not.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_synopsis.html b/doc/html/math_toolkit/quat_synopsis.html index d5c5de839..11a71292f 100644 --- a/doc/html/math_toolkit/quat_synopsis.html +++ b/doc/html/math_toolkit/quat_synopsis.html @@ -4,10 +4,11 @@ Synopsis - + + @@ -109,9 +110,7 @@ }// namespace boost -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_tests.html b/doc/html/math_toolkit/quat_tests.html index 5a4d0b54a..2a311a00e 100644 --- a/doc/html/math_toolkit/quat_tests.html +++ b/doc/html/math_toolkit/quat_tests.html @@ -4,10 +4,11 @@ Test Program - + + @@ -42,9 +43,7 @@ standard input (instead of hard-coding it in the test).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quat_todo.html b/doc/html/math_toolkit/quat_todo.html index 5bf303d08..91a8c2e1c 100644 --- a/doc/html/math_toolkit/quat_todo.html +++ b/doc/html/math_toolkit/quat_todo.html @@ -4,10 +4,11 @@ To Do - + + @@ -42,9 +43,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/quintic_hermite.html b/doc/html/math_toolkit/quintic_hermite.html index b28715839..b2909a87c 100644 --- a/doc/html/math_toolkit/quintic_hermite.html +++ b/doc/html/math_toolkit/quintic_hermite.html @@ -4,10 +4,11 @@ Quintic Hermite interpolation - + + @@ -222,9 +223,7 @@ CardinalQuinticHermiteAOS<double>_BigO5.64(1) -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rational.html b/doc/html/math_toolkit/rational.html index d6ad6f9c3..52a764679 100644 --- a/doc/html/math_toolkit/rational.html +++ b/doc/html/math_toolkit/rational.html @@ -4,10 +4,11 @@ Polynomial and Rational Function Evaluation - + + @@ -212,9 +213,7 @@ changing the default settings.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rationale.html b/doc/html/math_toolkit/rationale.html index f896eed07..c498c2499 100644 --- a/doc/html/math_toolkit/rationale.html +++ b/doc/html/math_toolkit/rationale.html @@ -4,10 +4,11 @@ Rationale - + + @@ -136,9 +137,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/real_concepts.html b/doc/html/math_toolkit/real_concepts.html index 6e7918450..af2cf6e40 100644 --- a/doc/html/math_toolkit/real_concepts.html +++ b/doc/html/math_toolkit/real_concepts.html @@ -4,10 +4,11 @@ Conceptual Requirements for Real Number Types - + + @@ -1357,9 +1358,7 @@ in any function that makes use of the gamma/beta/erf family of functions.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/refs.html b/doc/html/math_toolkit/refs.html index 4dd108f64..36f099026 100644 --- a/doc/html/math_toolkit/refs.html +++ b/doc/html/math_toolkit/refs.html @@ -4,10 +4,11 @@ References - + + @@ -78,10 +79,10 @@ by N.A.J. Hastings, Brian Peacock, Merran Evans, ISBN: 0471371246, Wiley 2000.

      - Extreme Value - Distributions, Theory and Applications Samuel Kotz & Saralees Nadarajah, - ISBN 978-1-86094-224-2 & 1-86094-224-5 Oct 2000, Chapter 1.2 discusses - the various extreme value distributions. + Extreme + Value Distributions, Theory and Applications Samuel Kotz & Saralees + Nadarajah, ISBN 978-1-86094-224-2 & 1-86094-224-5 Oct 2000, Chapter 1.2 + discusses the various extreme value distributions.

      pugh.pdf @@ -196,9 +197,7 @@ in finance.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/relative_error.html b/doc/html/math_toolkit/relative_error.html index 5aab6c620..575ea9077 100644 --- a/doc/html/math_toolkit/relative_error.html +++ b/doc/html/math_toolkit/relative_error.html @@ -4,10 +4,11 @@ Relative Error - + + @@ -106,9 +107,7 @@ for more information.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/remez.html b/doc/html/math_toolkit/remez.html index 03a1ad224..343bd3ab5 100644 --- a/doc/html/math_toolkit/remez.html +++ b/doc/html/math_toolkit/remez.html @@ -4,10 +4,11 @@ The Remez Method - + + @@ -536,9 +537,7 @@ Physics, vol.1, No. 3, 1994.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/result_type.html b/doc/html/math_toolkit/result_type.html index d147b54fb..ea53ca219 100644 --- a/doc/html/math_toolkit/result_type.html +++ b/doc/html/math_toolkit/result_type.html @@ -4,10 +4,11 @@ Calculation of the Type of the Result - + + @@ -165,9 +166,7 @@ 5.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_comparison.html b/doc/html/math_toolkit/root_comparison.html index c886cc232..c545227eb 100644 --- a/doc/html/math_toolkit/root_comparison.html +++ b/doc/html/math_toolkit/root_comparison.html @@ -4,10 +4,11 @@ Comparison of Root Finding Algorithms - + + @@ -36,9 +37,7 @@ of Elliptic Integral Root Finding Algorithms -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html index f8a544863..a0158901a 100644 --- a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html +++ b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html @@ -4,10 +4,11 @@ Comparison of Cube Root Finding Algorithms - + + @@ -1569,9 +1570,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html index 1373fb8be..9cc8024f5 100644 --- a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html +++ b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html @@ -4,10 +4,11 @@ Comparison of Elliptic Integral Root Finding Algorithms - + + @@ -1850,9 +1851,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_comparison/root_n_comparison.html b/doc/html/math_toolkit/root_comparison/root_n_comparison.html index 51bf8503f..67f92e92f 100644 --- a/doc/html/math_toolkit/root_comparison/root_n_comparison.html +++ b/doc/html/math_toolkit/root_comparison/root_n_comparison.html @@ -4,10 +4,11 @@ Comparison of Nth-root Finding Algorithms - + + @@ -5267,9 +5268,7 @@ And of course, compiler optimisation is crucial for speed.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples.html b/doc/html/math_toolkit/root_finding_examples.html index b76a0e12d..4f279cd35 100644 --- a/doc/html/math_toolkit/root_finding_examples.html +++ b/doc/html/math_toolkit/root_finding_examples.html @@ -4,10 +4,11 @@ Examples of Root-Finding (with and without derivatives) - + + @@ -70,9 +71,7 @@ easily.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html b/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html index 447490f5a..f67517a6a 100644 --- a/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/5th_root_eg.html @@ -4,10 +4,11 @@ Computing the Fifth Root - + + @@ -147,9 +148,7 @@ and root_finding_n_example.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html b/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html index 520f8e828..2bc257481 100644 --- a/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html @@ -4,10 +4,11 @@ Finding the Cubed Root With and Without Derivatives - + + @@ -465,9 +466,7 @@ and reusing it, omits error handling, and does not handle negative values Full code of this example is at root_finding_example.cpp,

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html b/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html index 8382257dc..32c1ce278 100644 --- a/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html @@ -4,10 +4,11 @@ A More complex example - Inverting the Elliptic Integrals - + + @@ -253,9 +254,7 @@ Full code of this example is at root_elliptic_finding.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/lambda.html b/doc/html/math_toolkit/root_finding_examples/lambda.html index 291d1923f..598d98f59 100644 --- a/doc/html/math_toolkit/root_finding_examples/lambda.html +++ b/doc/html/math_toolkit/root_finding_examples/lambda.html @@ -4,10 +4,11 @@ Using C++11 Lambda's - + + @@ -59,9 +60,7 @@ Full code of this example is at root_finding_example.cpp,

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html b/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html index 71a55f318..11ce9ccc4 100644 --- a/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html +++ b/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html @@ -4,10 +4,11 @@ Root-finding using Boost.Multiprecision - + + @@ -271,9 +272,7 @@ value = 2, cube root =1.2599210498948731647672106072782283505702514647015 Full code of this example is at root_finding_multiprecision_example.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/root_finding_examples/nth_root.html b/doc/html/math_toolkit/root_finding_examples/nth_root.html index 534d27ba2..1e76bdd15 100644 --- a/doc/html/math_toolkit/root_finding_examples/nth_root.html +++ b/doc/html/math_toolkit/root_finding_examples/nth_root.html @@ -4,10 +4,11 @@ Generalizing to Compute the nth root - + + @@ -168,9 +169,7 @@ Full code of this example is at root_finding_n_example.cpp.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_deriv.html b/doc/html/math_toolkit/roots_deriv.html index 47737b68f..7ace9a436 100644 --- a/doc/html/math_toolkit/roots_deriv.html +++ b/doc/html/math_toolkit/roots_deriv.html @@ -4,10 +4,11 @@ Root Finding With Derivatives: Newton-Raphson, Halley & Schröder - + + @@ -359,9 +360,7 @@ See root-finding examples.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv.html b/doc/html/math_toolkit/roots_noderiv.html index f1a80f892..8073172f1 100644 --- a/doc/html/math_toolkit/roots_noderiv.html +++ b/doc/html/math_toolkit/roots_noderiv.html @@ -4,10 +4,11 @@ Root Finding Without Derivatives - + + @@ -200,9 +201,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/TOMS748.html b/doc/html/math_toolkit/roots_noderiv/TOMS748.html index e9fd0a8e3..130d98223 100644 --- a/doc/html/math_toolkit/roots_noderiv/TOMS748.html +++ b/doc/html/math_toolkit/roots_noderiv/TOMS748.html @@ -4,10 +4,11 @@ Algorithm TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions - + + @@ -178,9 +179,7 @@ termination condition tol was satisfied.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/bisect.html b/doc/html/math_toolkit/roots_noderiv/bisect.html index 3373d3f88..6fa318bb5 100644 --- a/doc/html/math_toolkit/roots_noderiv/bisect.html +++ b/doc/html/math_toolkit/roots_noderiv/bisect.html @@ -4,10 +4,11 @@ Bisection - + + @@ -135,9 +136,7 @@ tol was satisfied.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/bracket_solve.html b/doc/html/math_toolkit/roots_noderiv/bracket_solve.html index 2801de063..a386408ac 100644 --- a/doc/html/math_toolkit/roots_noderiv/bracket_solve.html +++ b/doc/html/math_toolkit/roots_noderiv/bracket_solve.html @@ -4,10 +4,11 @@ Bracket and Solve Root - + + @@ -167,9 +168,7 @@ was satisfied.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/brent.html b/doc/html/math_toolkit/roots_noderiv/brent.html index e1f0e04d9..cae96c99e 100644 --- a/doc/html/math_toolkit/roots_noderiv/brent.html +++ b/doc/html/math_toolkit/roots_noderiv/brent.html @@ -4,10 +4,11 @@ Brent-Decker Algorithm - + + @@ -34,9 +35,7 @@ and solve are superior and provide equivalent functionality.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/implementation.html b/doc/html/math_toolkit/roots_noderiv/implementation.html index 04a308642..fc9b6ac03 100644 --- a/doc/html/math_toolkit/roots_noderiv/implementation.html +++ b/doc/html/math_toolkit/roots_noderiv/implementation.html @@ -4,10 +4,11 @@ Implementation - + + @@ -44,9 +45,7 @@ The implementation here is a faithful translation of this paper into C++.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/roots_noderiv/root_termination.html b/doc/html/math_toolkit/roots_noderiv/root_termination.html index 65435c89e..7aced32cb 100644 --- a/doc/html/math_toolkit/roots_noderiv/root_termination.html +++ b/doc/html/math_toolkit/roots_noderiv/root_termination.html @@ -4,10 +4,11 @@ Termination Condition Functors - + + @@ -83,9 +84,7 @@ as soon as both ends of the interval round to the same nearest integer.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rounding.html b/doc/html/math_toolkit/rounding.html index 1f3294404..f9c1c4d6b 100644 --- a/doc/html/math_toolkit/rounding.html +++ b/doc/html/math_toolkit/rounding.html @@ -4,10 +4,11 @@ Rounding Truncation and Integer Conversion - + + @@ -34,9 +35,7 @@ Splitting (modf) -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rounding/modf.html b/doc/html/math_toolkit/rounding/modf.html index 294c5a175..005f52a25 100644 --- a/doc/html/math_toolkit/rounding/modf.html +++ b/doc/html/math_toolkit/rounding/modf.html @@ -4,10 +4,11 @@ Integer and Fractional Part Splitting (modf) - + + @@ -64,9 +65,7 @@ by default this throws an instance of boost::math::rounding_error.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rounding/round.html b/doc/html/math_toolkit/rounding/round.html index 0bb17969c..607dfaa9c 100644 --- a/doc/html/math_toolkit/rounding/round.html +++ b/doc/html/math_toolkit/rounding/round.html @@ -4,10 +4,11 @@ Rounding Functions - + + @@ -64,9 +65,7 @@ by default this throws an instance of boost::math::rounding_error.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/rounding/trunc.html b/doc/html/math_toolkit/rounding/trunc.html index 4287e8d47..ca124c9eb 100644 --- a/doc/html/math_toolkit/rounding/trunc.html +++ b/doc/html/math_toolkit/rounding/trunc.html @@ -4,10 +4,11 @@ Truncation Functions - + + @@ -66,9 +67,7 @@ by default this throws an instance of boost::math::rounding_error.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/runs_test.html b/doc/html/math_toolkit/runs_test.html index 6c759cc02..63c82ca11 100644 --- a/doc/html/math_toolkit/runs_test.html +++ b/doc/html/math_toolkit/runs_test.html @@ -4,10 +4,11 @@ Runs tests - + + @@ -212,9 +213,7 @@ BMRunsAboveAndBelowThreshold<double>_BigO5.59N5.59N -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_beta.html b/doc/html/math_toolkit/sf_beta.html index f43596808..25d9d56c6 100644 --- a/doc/html/math_toolkit/sf_beta.html +++ b/doc/html/math_toolkit/sf_beta.html @@ -4,10 +4,11 @@ Beta Functions - + + @@ -36,9 +37,7 @@ Incomplete Beta Function -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_beta/beta_derivative.html b/doc/html/math_toolkit/sf_beta/beta_derivative.html index 5ffe5563f..ebde10061 100644 --- a/doc/html/math_toolkit/sf_beta/beta_derivative.html +++ b/doc/html/math_toolkit/sf_beta/beta_derivative.html @@ -4,10 +4,11 @@ Derivative of the Incomplete Beta Function - + + @@ -84,9 +85,7 @@ the documentation for that function for more information.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_beta/beta_function.html b/doc/html/math_toolkit/sf_beta/beta_function.html index 14e9e9245..2795fbd41 100644 --- a/doc/html/math_toolkit/sf_beta/beta_function.html +++ b/doc/html/math_toolkit/sf_beta/beta_function.html @@ -4,10 +4,11 @@ Beta - + + @@ -286,9 +287,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_beta/ibeta_function.html b/doc/html/math_toolkit/sf_beta/ibeta_function.html index 2ff888003..9605cf3cd 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_function.html @@ -4,10 +4,11 @@ Incomplete Beta Functions - + + @@ -882,9 +883,7 @@ and Morris TOMS 708 paper.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html b/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html index a506ec68e..61648a563 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html @@ -4,10 +4,11 @@ The Incomplete Beta Function Inverses - + + @@ -904,9 +905,7 @@ are required to find the root.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_erf.html b/doc/html/math_toolkit/sf_erf.html index e3daeff4a..06ffa7d06 100644 --- a/doc/html/math_toolkit/sf_erf.html +++ b/doc/html/math_toolkit/sf_erf.html @@ -4,10 +4,11 @@ Error Functions - + + @@ -32,9 +33,7 @@
      Error Function Inverses
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_erf/error_function.html b/doc/html/math_toolkit/sf_erf/error_function.html index 1a743cdc6..90d310bfc 100644 --- a/doc/html/math_toolkit/sf_erf/error_function.html +++ b/doc/html/math_toolkit/sf_erf/error_function.html @@ -4,10 +4,11 @@ Error Function erf and complement erfc - + + @@ -523,9 +524,7 @@ z)) / z;

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_erf/error_inv.html b/doc/html/math_toolkit/sf_erf/error_inv.html index 5418bfddd..5847f551d 100644 --- a/doc/html/math_toolkit/sf_erf/error_inv.html +++ b/doc/html/math_toolkit/sf_erf/error_inv.html @@ -4,10 +4,11 @@ Error Function Inverses - + + @@ -358,9 +359,7 @@ that the tail goes on for a very long way indeed).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma.html b/doc/html/math_toolkit/sf_gamma.html index c637e057d..72a67095d 100644 --- a/doc/html/math_toolkit/sf_gamma.html +++ b/doc/html/math_toolkit/sf_gamma.html @@ -4,10 +4,11 @@ Gamma Functions - + + @@ -40,9 +41,7 @@ the Incomplete Gamma Function -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/digamma.html b/doc/html/math_toolkit/sf_gamma/digamma.html index 7cdbdd62d..33b09393c 100644 --- a/doc/html/math_toolkit/sf_gamma/digamma.html +++ b/doc/html/math_toolkit/sf_gamma/digamma.html @@ -4,10 +4,11 @@ Digamma - + + @@ -465,9 +466,7 @@ will not be zero.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html b/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html index 0ba6ace86..d4d84aaf7 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html @@ -4,10 +4,11 @@ Derivative of the Incomplete Gamma Function - + + @@ -89,9 +90,7 @@ documentation for that function for more information.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/gamma_ratios.html b/doc/html/math_toolkit/sf_gamma/gamma_ratios.html index e981c9157..5dd4ff67c 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_ratios.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_ratios.html @@ -4,10 +4,11 @@ Ratios of Gamma Functions - + + @@ -402,9 +403,7 @@ which case table lookup of factorials can be used to calculate the ratio.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/igamma.html b/doc/html/math_toolkit/sf_gamma/igamma.html index 86ab20d95..9ab91403e 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma.html +++ b/doc/html/math_toolkit/sf_gamma/igamma.html @@ -4,10 +4,11 @@ Incomplete Gamma Functions - + + @@ -997,9 +998,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/igamma_inv.html b/doc/html/math_toolkit/sf_gamma/igamma_inv.html index 98b281a94..b438558e9 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma_inv.html +++ b/doc/html/math_toolkit/sf_gamma/igamma_inv.html @@ -4,10 +4,11 @@ Incomplete Gamma Function Inverses - + + @@ -607,9 +608,7 @@ so, the root is usually found in fewer than 10 iterations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/lgamma.html b/doc/html/math_toolkit/sf_gamma/lgamma.html index 1e2f2977f..dad6cac67 100644 --- a/doc/html/math_toolkit/sf_gamma/lgamma.html +++ b/doc/html/math_toolkit/sf_gamma/lgamma.html @@ -4,10 +4,11 @@ Log Gamma - + + @@ -476,9 +477,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/polygamma.html b/doc/html/math_toolkit/sf_gamma/polygamma.html index f9ef2e753..6c43abb36 100644 --- a/doc/html/math_toolkit/sf_gamma/polygamma.html +++ b/doc/html/math_toolkit/sf_gamma/polygamma.html @@ -4,10 +4,11 @@ Polygamma - + + @@ -401,9 +402,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/tgamma.html b/doc/html/math_toolkit/sf_gamma/tgamma.html index cff1526f0..32a381573 100644 --- a/doc/html/math_toolkit/sf_gamma/tgamma.html +++ b/doc/html/math_toolkit/sf_gamma/tgamma.html @@ -4,10 +4,11 @@ Gamma - + + @@ -518,9 +519,7 @@ can be used directly.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_gamma/trigamma.html b/doc/html/math_toolkit/sf_gamma/trigamma.html index 0f97aaa97..ec708a042 100644 --- a/doc/html/math_toolkit/sf_gamma/trigamma.html +++ b/doc/html/math_toolkit/sf_gamma/trigamma.html @@ -4,10 +4,11 @@ Trigamma - + + @@ -210,9 +211,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_implementation.html b/doc/html/math_toolkit/sf_implementation.html index 6d5b9d578..f73be55a4 100644 --- a/doc/html/math_toolkit/sf_implementation.html +++ b/doc/html/math_toolkit/sf_implementation.html @@ -4,10 +4,11 @@ Additional Implementation Notes - + + @@ -843,9 +844,7 @@ done enhanced and now reasonably mature and usable, by Paul A. Bristow, is at .\boost-sandbox\SOC\2007\visualization).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly.html b/doc/html/math_toolkit/sf_poly.html index 6cd11175b..09e69033a 100644 --- a/doc/html/math_toolkit/sf_poly.html +++ b/doc/html/math_toolkit/sf_poly.html @@ -4,10 +4,11 @@ Polynomials - + + @@ -41,9 +42,7 @@
      Jacobi Polynomials
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html b/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html index 06124f7ee..a052b6397 100644 --- a/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html +++ b/doc/html/math_toolkit/sf_poly/cardinal_b_splines.html @@ -4,10 +4,11 @@ Cardinal B-splines - + + @@ -205,9 +206,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/chebyshev.html b/doc/html/math_toolkit/sf_poly/chebyshev.html index 089a304cf..bfeb0ceff 100644 --- a/doc/html/math_toolkit/sf_poly/chebyshev.html +++ b/doc/html/math_toolkit/sf_poly/chebyshev.html @@ -4,10 +4,11 @@ Chebyshev Polynomials - + + @@ -243,9 +244,7 @@ in the constructor.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/gegenbauer.html b/doc/html/math_toolkit/sf_poly/gegenbauer.html index 0375bd042..4833c8912 100644 --- a/doc/html/math_toolkit/sf_poly/gegenbauer.html +++ b/doc/html/math_toolkit/sf_poly/gegenbauer.html @@ -4,10 +4,11 @@ Gegenbauer Polynomials - + + @@ -149,9 +150,7 @@ In this case, only the zeroth Gegenbauer polynomial is nonzero.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/hermite.html b/doc/html/math_toolkit/sf_poly/hermite.html index 932ebe83b..fcc095a1a 100644 --- a/doc/html/math_toolkit/sf_poly/hermite.html +++ b/doc/html/math_toolkit/sf_poly/hermite.html @@ -4,10 +4,11 @@ Hermite Polynomials - + + @@ -227,9 +228,7 @@ error near one of the roots of the polynomials.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/jacobi.html b/doc/html/math_toolkit/sf_poly/jacobi.html index 5abeaccf3..bf83420bf 100644 --- a/doc/html/math_toolkit/sf_poly/jacobi.html +++ b/doc/html/math_toolkit/sf_poly/jacobi.html @@ -4,10 +4,11 @@ Jacobi Polynomials - + + @@ -91,9 +92,7 @@ rising.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/laguerre.html b/doc/html/math_toolkit/sf_poly/laguerre.html index 8297c8099..fc1b4f855 100644 --- a/doc/html/math_toolkit/sf_poly/laguerre.html +++ b/doc/html/math_toolkit/sf_poly/laguerre.html @@ -4,10 +4,11 @@ Laguerre (and Associated) Polynomials - + + @@ -370,9 +371,7 @@ error near one of the roots of the polynomials.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/legendre.html b/doc/html/math_toolkit/sf_poly/legendre.html index aeb73ceb8..c1a3ed639 100644 --- a/doc/html/math_toolkit/sf_poly/legendre.html +++ b/doc/html/math_toolkit/sf_poly/legendre.html @@ -4,10 +4,11 @@ Legendre (and Associated) Polynomials - + + @@ -637,9 +638,7 @@ error near one of the roots of the polynomials.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html b/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html index fbe5f02e6..fc96a1e7c 100644 --- a/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html +++ b/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html @@ -4,10 +4,11 @@ Legendre-Stieltjes Polynomials - + + @@ -124,9 +125,7 @@ doublenorm=std::sqrt(E.norm_sq()); -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sf_poly/sph_harm.html b/doc/html/math_toolkit/sf_poly/sph_harm.html index 5621e622e..f859df972 100644 --- a/doc/html/math_toolkit/sf_poly/sph_harm.html +++ b/doc/html/math_toolkit/sf_poly/sph_harm.html @@ -4,10 +4,11 @@ Spherical Harmonics - + + @@ -318,9 +319,7 @@ calculate values near the roots of the associated Legendre functions.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sign_functions.html b/doc/html/math_toolkit/sign_functions.html index 178c7130c..75aea5307 100644 --- a/doc/html/math_toolkit/sign_functions.html +++ b/doc/html/math_toolkit/sign_functions.html @@ -4,10 +4,11 @@ Sign Manipulation Functions - + + @@ -232,9 +233,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/signal_statistics.html b/doc/html/math_toolkit/signal_statistics.html index 5a2a56f93..f598764af 100644 --- a/doc/html/math_toolkit/signal_statistics.html +++ b/doc/html/math_toolkit/signal_statistics.html @@ -4,10 +4,11 @@ Signal Statistics - + + @@ -316,9 +317,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sinc.html b/doc/html/math_toolkit/sinc.html index c442a3b37..73313eb81 100644 --- a/doc/html/math_toolkit/sinc.html +++ b/doc/html/math_toolkit/sinc.html @@ -4,10 +4,11 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions - + + @@ -34,9 +35,7 @@
      sinhc_pi
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sinc/sinc_overview.html b/doc/html/math_toolkit/sinc/sinc_overview.html index 56953b2aa..54054a77b 100644 --- a/doc/html/math_toolkit/sinc/sinc_overview.html +++ b/doc/html/math_toolkit/sinc/sinc_overview.html @@ -4,10 +4,11 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview - + + @@ -66,9 +67,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sinc/sinc_pi.html b/doc/html/math_toolkit/sinc/sinc_pi.html index a2c082f21..1d00a1220 100644 --- a/doc/html/math_toolkit/sinc/sinc_pi.html +++ b/doc/html/math_toolkit/sinc/sinc_pi.html @@ -4,10 +4,11 @@ sinc_pi - + + @@ -62,9 +63,7 @@ documentation for more details.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/sinc/sinhc_pi.html b/doc/html/math_toolkit/sinc/sinhc_pi.html index 774c15786..5aa54574e 100644 --- a/doc/html/math_toolkit/sinc/sinhc_pi.html +++ b/doc/html/math_toolkit/sinc/sinhc_pi.html @@ -4,10 +4,11 @@ sinhc_pi - + + @@ -67,9 +68,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/spec.html b/doc/html/math_toolkit/spec.html index 7543862c0..9fd7b1b0d 100644 --- a/doc/html/math_toolkit/spec.html +++ b/doc/html/math_toolkit/spec.html @@ -4,10 +4,11 @@ Quaternion Specializations - + + @@ -173,9 +174,7 @@ }// namespace boost -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/special_tut.html b/doc/html/math_toolkit/special_tut.html index 36ca6fee2..732220d71 100644 --- a/doc/html/math_toolkit/special_tut.html +++ b/doc/html/math_toolkit/special_tut.html @@ -4,10 +4,11 @@ Tutorial: How to Write a New Special Function - + + @@ -32,9 +33,7 @@
      Testing
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/special_tut/special_tut_impl.html b/doc/html/math_toolkit/special_tut/special_tut_impl.html index c85aa5a77..9abe4d116 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_impl.html +++ b/doc/html/math_toolkit/special_tut/special_tut_impl.html @@ -4,10 +4,11 @@ Implementation - + + @@ -371,9 +372,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/special_tut/special_tut_test.html b/doc/html/math_toolkit/special_tut/special_tut_test.html index 06bbed71e..22f8c4de9 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_test.html +++ b/doc/html/math_toolkit/special_tut/special_tut_test.html @@ -4,10 +4,11 @@ Testing - + + @@ -506,9 +507,7 @@ and follow their examples.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/specified_typedefs.html b/doc/html/math_toolkit/specified_typedefs.html index f71cab8f0..18f6e0fdd 100644 --- a/doc/html/math_toolkit/specified_typedefs.html +++ b/doc/html/math_toolkit/specified_typedefs.html @@ -4,10 +4,11 @@ Overview - + + @@ -89,9 +90,7 @@ distribution as an example of a statistical distribution from Boost.Math.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/standalone.html b/doc/html/math_toolkit/standalone.html index 92689749f..fbe0b4733 100644 --- a/doc/html/math_toolkit/standalone.html +++ b/doc/html/math_toolkit/standalone.html @@ -4,10 +4,11 @@ Standalone Usage - + + @@ -67,9 +68,7 @@ bleeding edge code (develop branch).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut.html b/doc/html/math_toolkit/stat_tut.html index 5727011c1..e35cfb5ce 100644 --- a/doc/html/math_toolkit/stat_tut.html +++ b/doc/html/math_toolkit/stat_tut.html @@ -4,10 +4,11 @@ Statistical Distributions Tutorial - + + @@ -137,9 +138,7 @@ few worked examples of applying the library to statistical tests.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/dist_params.html b/doc/html/math_toolkit/stat_tut/dist_params.html index 378c2c0e1..16eb43bc9 100644 --- a/doc/html/math_toolkit/stat_tut/dist_params.html +++ b/doc/html/math_toolkit/stat_tut/dist_params.html @@ -4,10 +4,11 @@ Discrete Probability Distributions - + + @@ -81,9 +82,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview.html b/doc/html/math_toolkit/stat_tut/overview.html index 958650e21..afc8c2a66 100644 --- a/doc/html/math_toolkit/stat_tut/overview.html +++ b/doc/html/math_toolkit/stat_tut/overview.html @@ -4,10 +4,11 @@ Overview of Statistical Distributions - + + @@ -41,9 +42,7 @@
      Summary
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/complements.html b/doc/html/math_toolkit/stat_tut/overview/complements.html index 698fef80c..f4bb058c7 100644 --- a/doc/html/math_toolkit/stat_tut/overview/complements.html +++ b/doc/html/math_toolkit/stat_tut/overview/complements.html @@ -4,10 +4,11 @@ Complements are supported too - and when to use them - + + @@ -181,9 +182,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/generic.html b/doc/html/math_toolkit/stat_tut/overview/generic.html index e3f040c67..0f84ebd4e 100644 --- a/doc/html/math_toolkit/stat_tut/overview/generic.html +++ b/doc/html/math_toolkit/stat_tut/overview/generic.html @@ -4,10 +4,11 @@ Generic operations common to all distributions are non-member functions - + + @@ -238,9 +239,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/headers.html b/doc/html/math_toolkit/stat_tut/overview/headers.html index a1a78fa5d..28de31003 100644 --- a/doc/html/math_toolkit/stat_tut/overview/headers.html +++ b/doc/html/math_toolkit/stat_tut/overview/headers.html @@ -4,10 +4,11 @@ Headers and Namespaces - + + @@ -60,9 +61,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/objects.html b/doc/html/math_toolkit/stat_tut/overview/objects.html index 6df398453..1d04da942 100644 --- a/doc/html/math_toolkit/stat_tut/overview/objects.html +++ b/doc/html/math_toolkit/stat_tut/overview/objects.html @@ -4,10 +4,11 @@ Distributions are Objects - + + @@ -116,9 +117,7 @@ and quantiles etc for these distributions.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/parameters.html b/doc/html/math_toolkit/stat_tut/overview/parameters.html index 4f1280ee2..3c363c1a5 100644 --- a/doc/html/math_toolkit/stat_tut/overview/parameters.html +++ b/doc/html/math_toolkit/stat_tut/overview/parameters.html @@ -4,10 +4,11 @@ Parameters can be calculated - + + @@ -54,9 +55,7 @@ sample size.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/overview/summary.html b/doc/html/math_toolkit/stat_tut/overview/summary.html index 2771da5ab..cd04f51e6 100644 --- a/doc/html/math_toolkit/stat_tut/overview/summary.html +++ b/doc/html/math_toolkit/stat_tut/overview/summary.html @@ -4,10 +4,11 @@ Summary - + + @@ -56,9 +57,7 @@ Now that you have the basics, the next section looks at some worked examples.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/variates.html b/doc/html/math_toolkit/stat_tut/variates.html index 851e1afca..9f782b593 100644 --- a/doc/html/math_toolkit/stat_tut/variates.html +++ b/doc/html/math_toolkit/stat_tut/variates.html @@ -4,10 +4,11 @@ Random Variates and Distribution Parameters - + + @@ -57,9 +58,7 @@
      pdf(binomial_distribution<RealType>(n, p), k);
       
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg.html b/doc/html/math_toolkit/stat_tut/weg.html index 404cd9be6..d73cbd2cf 100644 --- a/doc/html/math_toolkit/stat_tut/weg.html +++ b/doc/html/math_toolkit/stat_tut/weg.html @@ -4,10 +4,11 @@ Worked Examples - + + @@ -110,9 +111,7 @@ from Within C# -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg.html index ff0fee7f8..4ce94ce3b 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg.html @@ -4,10 +4,11 @@ Binomial Distribution Examples - + + @@ -42,9 +43,7 @@ Distribution.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html index 535ab436a..64a8def68 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html @@ -4,10 +4,11 @@ Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution - + + @@ -222,9 +223,7 @@ _______________________________________________________________________ small.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html index 07d7eda55..fd49d7d12 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html @@ -4,10 +4,11 @@ Estimating Sample Sizes for a Binomial Distribution. - + + @@ -141,9 +142,7 @@ ____________________________ chance of no failure).

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html index 6765aad9a..5d3089be1 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html @@ -4,10 +4,11 @@ Binomial Coin-Flipping Example - + + @@ -261,9 +262,7 @@ Probability of getting up to (<=) heads 10 1 or 1 in 1, or 100% -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html index a526b64fa..ba0ddd874 100644 --- a/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html @@ -4,10 +4,11 @@ Binomial Quiz Example - + + @@ -439,9 +440,7 @@ If guessing then percentiles 1 to 99% will get 0 to 7.788 right. for full source code and output.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/c_sharp.html b/doc/html/math_toolkit/stat_tut/weg/c_sharp.html index ac17f35f5..5254fa938 100644 --- a/doc/html/math_toolkit/stat_tut/weg/c_sharp.html +++ b/doc/html/math_toolkit/stat_tut/weg/c_sharp.html @@ -4,10 +4,11 @@ Using the Distributions from Within C# - + + @@ -39,9 +40,7 @@ properties.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg.html index d4ca42e55..02fe70434 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg.html @@ -4,10 +4,11 @@ Chi Squared Distribution Examples - + + @@ -36,9 +37,7 @@ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html index f764ce6d5..29afb1650 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html @@ -4,10 +4,11 @@ Confidence Intervals on the Standard Deviation - + + @@ -231,9 +232,7 @@ ________________________________________ convincing + or -1% confidence.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html index fd09f65be..2058f4332 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html @@ -4,10 +4,11 @@ Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation - + + @@ -163,9 +164,7 @@ _______________________________________________________________ that we would need a sample size of 51.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html index bd410f10e..49879499b 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html @@ -4,10 +4,11 @@ Chi-Square Test for the Standard Deviation - + + @@ -278,9 +279,7 @@ Standard Deviation > 10.000 ACCEPTED and so we reject the manufacturers claim.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html b/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html index 3755da6ed..2e84f7851 100644 --- a/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html @@ -4,10 +4,11 @@ Distribution Construction Examples - + + @@ -329,9 +330,7 @@ error C3861: 'mybetad0': identifier not found for full source code.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/error_eg.html b/doc/html/math_toolkit/stat_tut/weg/error_eg.html index 7bb87bba7..c66c630da 100644 --- a/doc/html/math_toolkit/stat_tut/weg/error_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/error_eg.html @@ -4,10 +4,11 @@ Error Handling Example - + + @@ -187,9 +188,7 @@ errno is set to: 33
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/f_eg.html b/doc/html/math_toolkit/stat_tut/weg/f_eg.html index ba5b54bae..ed93aa136 100644 --- a/doc/html/math_toolkit/stat_tut/weg/f_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/f_eg.html @@ -4,10 +4,11 @@ F Distribution Examples - + + @@ -310,9 +311,7 @@ Standard deviation 1 is greater than standard deviation 2 ACCEPTED conclude that there is a change for the better in our standard deviation.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg.html index 92a469107..48f453a52 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg.html @@ -4,10 +4,11 @@ Find Location and Scale Examples - + + @@ -36,9 +37,7 @@ mean and standard deviation example -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html index 76a23c672..f1bc26bdc 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html @@ -4,10 +4,11 @@ Find Location (Mean) Example - + + @@ -171,9 +172,7 @@ Normal distribution with mean = 0.355146 has fraction <= 2 = 0.95 Normal distribution with mean = 0.355146 has fraction > 2 = 0.05 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html index ec32943ca..d359bc900 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html @@ -4,10 +4,11 @@ Find mean and standard deviation example - + + @@ -436,9 +437,7 @@ for full source code & appended program output.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html index 4a60a24b4..d7d8768f7 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html @@ -4,10 +4,11 @@ Find Scale (Standard Deviation) Example - + + @@ -190,9 +191,7 @@ Normal distribution with mean = 0.946339 has fraction <= -2 = 0.001 Normal distribution with mean = 0.946339 has fraction > -2 = 0.999 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html b/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html index dbbe89e65..72d5ba46e 100644 --- a/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html @@ -4,10 +4,11 @@ Geometric Distribution Examples - + + @@ -403,9 +404,7 @@ negative_binomial confidence interval example.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html b/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html index 1d651f752..01a346f6a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html @@ -4,10 +4,11 @@ Inverse Chi-Squared Distribution Bayes Example - + + @@ -342,9 +343,7 @@ See the full source C++ of this example at ../../example/inverse_chi_squared_bayes_eg.cpp

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/nag_library.html b/doc/html/math_toolkit/stat_tut/weg/nag_library.html index d98301e8d..f07286527 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nag_library.html +++ b/doc/html/math_toolkit/stat_tut/weg/nag_library.html @@ -4,10 +4,11 @@ Comparison with C, R, FORTRAN-style Free Functions - + + @@ -97,9 +98,7 @@ for details.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html b/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html index 668f53b4a..0da80791a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html @@ -4,10 +4,11 @@ Non Central Chi Squared Example - + + @@ -34,9 +35,7 @@ Chi Squared Distribution.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html b/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html index c5c20d8b4..c89bfd89f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html @@ -4,10 +4,11 @@ Tables of the power function of the chi2 test. - + + @@ -1268,9 +1269,7 @@ test at the 5% significance for the full C++ source code.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html index f663fd70c..c02fe4902 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html @@ -4,10 +4,11 @@ Negative Binomial Distribution Examples - + + @@ -43,9 +44,7 @@ Binomial Distribution.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html index b8799de46..ee043e030 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html @@ -4,10 +4,11 @@ Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution - + + @@ -202,9 +203,7 @@ ___________________________________________ value of 0.1.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html index 6bf357dc4..5833bcb19 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html @@ -4,10 +4,11 @@ Estimating Sample Sizes for the Negative Binomial. - + + @@ -188,9 +189,7 @@ ____________________________ certainty.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html index 4792c2c0a..5e84a9981 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html @@ -4,10 +4,11 @@ Negative Binomial Sales Quota Example. - + + @@ -476,9 +477,7 @@ If confidence of meeting quota is 0.95, then finishing house is 21 Number of failures argument is -1, but must be >= 0 ! -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html index eef70c672..47a93aa3d 100644 --- a/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html +++ b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html @@ -4,10 +4,11 @@ Negative Binomial Table Printing Example. - + + @@ -117,9 +118,7 @@ 63,0.000246103187649585660.99882473495070978 -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/normal_example.html b/doc/html/math_toolkit/stat_tut/weg/normal_example.html index 22f05bab2..e5ef09bca 100644 --- a/doc/html/math_toolkit/stat_tut/weg/normal_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/normal_example.html @@ -4,10 +4,11 @@ Normal Distribution Examples - + + @@ -34,9 +35,7 @@ Distribution.)

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html b/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html index 018b093c5..a67cb4894 100644 --- a/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html +++ b/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html @@ -4,10 +4,11 @@ Some Miscellaneous Examples of the Normal (Gaussian) Distribution - + + @@ -499,9 +500,7 @@ Fraction 3 standard deviations within either side of mean is 0.997300203936740 cout<<"95% of bolts are shorter than "<<quantile(bolts,0.95)<<endl; -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg.html b/doc/html/math_toolkit/stat_tut/weg/st_eg.html index a20ce7313..453a6e090 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg.html @@ -4,10 +4,11 @@ Student's t Distribution Examples - + + @@ -41,9 +42,7 @@ two paired samples with the Student's t distribution -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html index 32d902243..4a84eb377 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html @@ -4,10 +4,11 @@ Comparing two paired samples with the Student's t distribution - + + @@ -62,9 +63,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html index e992c0276..30456616a 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html @@ -4,10 +4,11 @@ Calculating confidence intervals on the mean with the Students-t distribution - + + @@ -249,9 +250,7 @@ confident in the location of the mean.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html index 5ad2834d0..9b15a9f9e 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html @@ -4,10 +4,11 @@ Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test - + + @@ -160,9 +161,7 @@ _______________________________________________________________ example at the 95% level, 14 measurements in total for a two-sided test.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html index 59e12d32c..dea5a807e 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html @@ -4,10 +4,11 @@ Testing a sample mean for difference from a "true" mean - + + @@ -315,9 +316,7 @@ Mean > 38.900 REJECTED more accurate data), is needed for a more convincing conclusion.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html b/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html index 1dc8c6166..fee1de4b2 100644 --- a/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html +++ b/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html @@ -4,10 +4,11 @@ Comparing the means of two samples with the Students-t test - + + @@ -343,9 +344,7 @@ than Japanese models.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/t_test.html b/doc/html/math_toolkit/t_test.html index 5cef11e3e..47d5e49d2 100644 --- a/doc/html/math_toolkit/t_test.html +++ b/doc/html/math_toolkit/t_test.html @@ -4,10 +4,11 @@ t-tests - + + @@ -254,9 +255,7 @@ OneSampleTTestKnownMeanAndVariance<double>207ns -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/threads.html b/doc/html/math_toolkit/threads.html index 38e4a88ce..76ae2574c 100644 --- a/doc/html/math_toolkit/threads.html +++ b/doc/html/math_toolkit/threads.html @@ -4,10 +4,11 @@ Thread Safety - + + @@ -33,9 +34,7 @@ removed.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tr1_ref.html b/doc/html/math_toolkit/tr1_ref.html index af9772bac..4253638b2 100644 --- a/doc/html/math_toolkit/tr1_ref.html +++ b/doc/html/math_toolkit/tr1_ref.html @@ -4,10 +4,11 @@ TR1 C Functions Quick Reference - + + @@ -540,9 +541,7 @@

      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tradoffs.html b/doc/html/math_toolkit/tradoffs.html index dd301a9f8..f5608e235 100644 --- a/doc/html/math_toolkit/tradoffs.html +++ b/doc/html/math_toolkit/tradoffs.html @@ -4,10 +4,11 @@ Trading Accuracy for Performance - + + @@ -2549,9 +2550,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/trans.html b/doc/html/math_toolkit/trans.html index 8aa5404b1..6ada811a9 100644 --- a/doc/html/math_toolkit/trans.html +++ b/doc/html/math_toolkit/trans.html @@ -4,10 +4,11 @@ Quaternion Transcendentals - + + @@ -125,9 +126,7 @@ Computes the n-th power of the quaternion q.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/trapezoidal.html b/doc/html/math_toolkit/trapezoidal.html index ea30cf447..4659213fb 100644 --- a/doc/html/math_toolkit/trapezoidal.html +++ b/doc/html/math_toolkit/trapezoidal.html @@ -4,10 +4,11 @@ Trapezoidal Quadrature - + + @@ -226,9 +227,7 @@ (2003): 265-275.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tuning.html b/doc/html/math_toolkit/tuning.html index 2698db5c5..e37daaa18 100644 --- a/doc/html/math_toolkit/tuning.html +++ b/doc/html/math_toolkit/tuning.html @@ -4,10 +4,11 @@ Performance Tuning Macros - + + @@ -7909,9 +7910,7 @@
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tutorial.html b/doc/html/math_toolkit/tutorial.html index 9f9d224d9..9ef444129 100644 --- a/doc/html/math_toolkit/tutorial.html +++ b/doc/html/math_toolkit/tutorial.html @@ -4,10 +4,11 @@ Tutorial - + + @@ -34,9 +35,7 @@ Types -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tutorial/non_templ.html b/doc/html/math_toolkit/tutorial/non_templ.html index b4ffe3c88..6a798c93e 100644 --- a/doc/html/math_toolkit/tutorial/non_templ.html +++ b/doc/html/math_toolkit/tutorial/non_templ.html @@ -4,10 +4,11 @@ Use in non-template code - + + @@ -67,9 +68,7 @@ Some examples of using constants are at constants_eg1.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tutorial/templ.html b/doc/html/math_toolkit/tutorial/templ.html index 77efab435..5c3c37052 100644 --- a/doc/html/math_toolkit/tutorial/templ.html +++ b/doc/html/math_toolkit/tutorial/templ.html @@ -4,10 +4,11 @@ Use in template code - + + @@ -138,9 +139,7 @@
      - - - -
      +
      PrevUpHomeNext diff --git a/doc/html/math_toolkit/tutorial/user_def.html b/doc/html/math_toolkit/tutorial/user_def.html index fb8e3facf..ce6f9150a 100644 --- a/doc/html/math_toolkit/tutorial/user_def.html +++ b/doc/html/math_toolkit/tutorial/user_def.html @@ -4,10 +4,11 @@ Use With User-Defined Types - + + @@ -317,9 +318,7 @@ Current runtime precision indicates that the constant will be constructed from a string on each call. -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ulps_plots.html b/doc/html/math_toolkit/ulps_plots.html index 4b468d6dc..b006e367b 100644 --- a/doc/html/math_toolkit/ulps_plots.html +++ b/doc/html/math_toolkit/ulps_plots.html @@ -4,10 +4,11 @@ ULPs Plots - + + @@ -208,9 +209,7 @@ https://blogs.mathworks.com/cleve/2017/01/23/ulps-plots-reveal-math-function-accurary/ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/univariate_statistics.html b/doc/html/math_toolkit/univariate_statistics.html index 0ce43dadc..04b92ecc4 100644 --- a/doc/html/math_toolkit/univariate_statistics.html +++ b/doc/html/math_toolkit/univariate_statistics.html @@ -4,10 +4,11 @@ Univariate Statistics - + + @@ -523,9 +524,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/value_op.html b/doc/html/math_toolkit/value_op.html index 8485c8e06..c5b7042d2 100644 --- a/doc/html/math_toolkit/value_op.html +++ b/doc/html/math_toolkit/value_op.html @@ -4,10 +4,11 @@ Quaternion Value Operations - + + @@ -90,9 +91,7 @@ root of the Cayley norm.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/vector_barycentric.html b/doc/html/math_toolkit/vector_barycentric.html index 21a157c33..7c8241dfb 100644 --- a/doc/html/math_toolkit/vector_barycentric.html +++ b/doc/html/math_toolkit/vector_barycentric.html @@ -4,10 +4,11 @@ Vector-valued Barycentric Rational Interpolation - + + @@ -109,9 +110,7 @@ both values at once.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/wavelet_transforms.html b/doc/html/math_toolkit/wavelet_transforms.html index 64a5d58a9..353635361 100644 --- a/doc/html/math_toolkit/wavelet_transforms.html +++ b/doc/html/math_toolkit/wavelet_transforms.html @@ -4,10 +4,11 @@ Wavelet Transforms - + + @@ -90,9 +91,7 @@

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/whittaker_shannon.html b/doc/html/math_toolkit/whittaker_shannon.html index ae4ab001c..ffdea709f 100644 --- a/doc/html/math_toolkit/whittaker_shannon.html +++ b/doc/html/math_toolkit/whittaker_shannon.html @@ -4,10 +4,11 @@ Whittaker-Shannon interpolation - + + @@ -99,9 +100,7 @@ n is the number of points to interpolate.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/z_test.html b/doc/html/math_toolkit/z_test.html index 43adb19d1..139c76651 100644 --- a/doc/html/math_toolkit/z_test.html +++ b/doc/html/math_toolkit/z_test.html @@ -4,10 +4,11 @@ z-tests - + + @@ -155,9 +156,7 @@ not need to be equal.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/zetas.html b/doc/html/math_toolkit/zetas.html index ccb10f0ed..6985a23f7 100644 --- a/doc/html/math_toolkit/zetas.html +++ b/doc/html/math_toolkit/zetas.html @@ -4,10 +4,11 @@ Zeta Functions - + + @@ -28,9 +29,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/zetas/zeta.html b/doc/html/math_toolkit/zetas/zeta.html index 8c18c4a01..16e1b91b3 100644 --- a/doc/html/math_toolkit/zetas/zeta.html +++ b/doc/html/math_toolkit/zetas/zeta.html @@ -4,10 +4,11 @@ Riemann Zeta Function - + + @@ -387,9 +388,7 @@ are of great benefit to some infinite series calculations.

      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/octonions.html b/doc/html/octonions.html index 63b22d440..e33d95f51 100644 --- a/doc/html/octonions.html +++ b/doc/html/octonions.html @@ -4,10 +4,11 @@ Chapter 17. Octonions - - + + + @@ -46,9 +47,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/overview.html b/doc/html/overview.html index 0a2f0fe4e..dfcf52c9b 100644 --- a/doc/html/overview.html +++ b/doc/html/overview.html @@ -4,10 +4,11 @@ Chapter 1. Overview - - - + + + + @@ -53,9 +54,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/perf.html b/doc/html/perf.html index 1383fdd8b..572914560 100644 --- a/doc/html/perf.html +++ b/doc/html/perf.html @@ -4,10 +4,11 @@ Chapter 22. Performance - - + + + @@ -43,9 +44,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/policy.html b/doc/html/policy.html index d1b2f9d5d..6217f4049 100644 --- a/doc/html/policy.html +++ b/doc/html/policy.html @@ -4,10 +4,11 @@ Chapter 21. Policies: Controlling Precision, Error Handling etc - - + + + @@ -72,9 +73,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/poly.html b/doc/html/poly.html index bbf641faa..95269f5ad 100644 --- a/doc/html/poly.html +++ b/doc/html/poly.html @@ -4,10 +4,11 @@ Chapter 11. Polynomials and Rational Functions - - + + + @@ -35,9 +36,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/quadrature.html b/doc/html/quadrature.html index a8f989918..20ee60ca6 100644 --- a/doc/html/quadrature.html +++ b/doc/html/quadrature.html @@ -4,10 +4,11 @@ Chapter 13. Quadrature and Differentiation - - + + + @@ -56,9 +57,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/quaternions.html b/doc/html/quaternions.html index 51d01f1bb..3ecfef471 100644 --- a/doc/html/quaternions.html +++ b/doc/html/quaternions.html @@ -4,10 +4,11 @@ Chapter 16. Quaternions - - + + + @@ -47,9 +48,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/root_finding.html b/doc/html/root_finding.html index 3e83b07fc..e7d5cb320 100644 --- a/doc/html/root_finding.html +++ b/doc/html/root_finding.html @@ -4,10 +4,11 @@ Chapter 10. Root Finding & Minimization Algorithms - - + + + @@ -116,9 +117,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/special.html b/doc/html/special.html index bd3c56e4c..37a7a6d2d 100644 --- a/doc/html/special.html +++ b/doc/html/special.html @@ -4,10 +4,11 @@ Chapter 8. Special Functions - - + + + @@ -240,9 +241,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/standalone_HTML.manifest b/doc/html/standalone_HTML.manifest index 719bb49ba..e08f31642 100644 --- a/doc/html/standalone_HTML.manifest +++ b/doc/html/standalone_HTML.manifest @@ -162,6 +162,7 @@ math_toolkit/z_test.html math_toolkit/runs_test.html math_toolkit/ljung_box.html math_toolkit/linear_regression.html +math_toolkit/chatterjee_correlation.html vector_functionals.html math_toolkit/norms.html special.html diff --git a/doc/html/statistics.html b/doc/html/statistics.html index f84711f38..38ea19d8a 100644 --- a/doc/html/statistics.html +++ b/doc/html/statistics.html @@ -4,10 +4,11 @@ Chapter 6. Statistics - - + + + @@ -37,12 +38,11 @@
      Runs tests
      The Ljung-Box Test
      Linear Regression
      +
      Chatterjee Correlation
      -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/status.html b/doc/html/status.html index 5f6c96026..9bdf1a7e6 100644 --- a/doc/html/status.html +++ b/doc/html/status.html @@ -4,10 +4,11 @@ Chapter 24. Library Status - - + + + @@ -34,9 +35,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/using_udt.html b/doc/html/using_udt.html index 3d361c18c..53c48b57c 100644 --- a/doc/html/using_udt.html +++ b/doc/html/using_udt.html @@ -4,10 +4,11 @@ Chapter 20. Use with User-Defined Floating-Point Types - Boost.Multiprecision and others - - + + + @@ -54,9 +55,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/utils.html b/doc/html/utils.html index 200bc8f05..473f43eb0 100644 --- a/doc/html/utils.html +++ b/doc/html/utils.html @@ -4,10 +4,11 @@ Chapter 2. Floating Point Utilities - - + + + @@ -70,9 +71,7 @@ -
      - - -
      +

      PrevUpHomeNext diff --git a/doc/html/vector_functionals.html b/doc/html/vector_functionals.html index c413640a8..67a8f380d 100644 --- a/doc/html/vector_functionals.html +++ b/doc/html/vector_functionals.html @@ -4,10 +4,11 @@ Chapter 7. Vector Functionals - Norms - - - + + + + @@ -20,7 +21,7 @@

      -PrevUpHomeNext +PrevUpHomeNext

      @@ -30,9 +31,7 @@
      Norms

      - - - -
      +

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/math.qbk b/doc/math.qbk index f3374a73d..f4e80a39a 100644 --- a/doc/math.qbk +++ b/doc/math.qbk @@ -9,7 +9,7 @@ ] [authors [Agrawal, Nikhar], [Bikineev, Anton], [Borland, Matthew], [Bristow, Paul A.], [Holin, Hubert], [Guazzone, Marco], [Kormanyos, Christopher], [Lalande, Bruno], [Maddock, John], [Miller, Evan], [Murphy, Jeremy W.], [Pulver, Matthew], [Råde, Johan], [Sobotta, Benjamin], [Sewani, Gautam], [Thompson, Nicholas], [van den Berg, Thijs], [Walker, Daryle], [Zhang, Xiaogang]] [/last-revision $Date$] - [version 4.1.0] + [version 4.1.1] ] [template mathpart[id title] diff --git a/doc/overview/roadmap.qbk b/doc/overview/roadmap.qbk index 10196bcfd..b1c8b694d 100644 --- a/doc/overview/roadmap.qbk +++ b/doc/overview/roadmap.qbk @@ -8,6 +8,22 @@ All old bug reports including closed ones can be viewed on Trac Recent issues on GitHub [@https://github.com/boostorg/math/issues?utf8=%E2%9C%93&q=is%3Aissue here]. +[h4 Math-4.1.1 (Boost-1.84)] + +* Improve ccmath error detection. +* Remove use of deprecated std::numeric_limits<>::has_denorm, see [@https://github.com/boostorg/math/issues/1028 1028]. +* Correct non-convergence bug in non-central-t distribution, see [@https://github.com/boostorg/math/issues/1035 1035]. +* Adjust Bessel function approximation to [sub 1]F[sub 1] to avoid taking tgamma at a negative integer, see [@https://github.com/boostorg/math/issues/1034 1034]. +* Avoid spurious overflow and divide by zero in ibeta, see [@https://github.com/boostorg/math/issues/1006 1006]. +* Improve accuracy when using Sterling's approximation to tgamma, completes work started in [@https://github.com/boostorg/math/pull/1007 1007]. +* Fix inverse_discrete_quantile for large initial guesses, see [@https://github.com/boostorg/math/pull/1007 1007]. +* Improve Newton root finding, see [@https://github.com/boostorg/math/pull/1000 1000]. +* Fix median_absolute_deviation for non-zero centre, see [@https://github.com/boostorg/math/pull/997 997]. +* Fix up cstdfloat.hpp for gcc-14. +* Update to work for the new types declared in . +* Change hypergeometric_distribution to use 64 rather than 32 bit integers to avoid unnecessary overflow and restrictions on use. + + [h4 Math-4.1.0 (Boost-1.82)] * Added Estrin's method for polynomial evaluation. diff --git a/include/boost/math/special_functions/detail/round_fwd.hpp b/include/boost/math/special_functions/detail/round_fwd.hpp index c58459e36..5d2e2688c 100644 --- a/include/boost/math/special_functions/detail/round_fwd.hpp +++ b/include/boost/math/special_functions/detail/round_fwd.hpp @@ -21,37 +21,37 @@ namespace boost { template - typename tools::promote_args::type trunc(const T& v, const Policy& pol); + constexpr typename tools::promote_args::type trunc(const T& v, const Policy& pol); template - typename tools::promote_args::type trunc(const T& v); + constexpr typename tools::promote_args::type trunc(const T& v); template - int itrunc(const T& v, const Policy& pol); + constexpr int itrunc(const T& v, const Policy& pol); template - int itrunc(const T& v); + constexpr int itrunc(const T& v); template - long ltrunc(const T& v, const Policy& pol); + constexpr long ltrunc(const T& v, const Policy& pol); template - long ltrunc(const T& v); + constexpr long ltrunc(const T& v); template - long long lltrunc(const T& v, const Policy& pol); + constexpr long long lltrunc(const T& v, const Policy& pol); template - long long lltrunc(const T& v); + constexpr long long lltrunc(const T& v); template - typename tools::promote_args::type round(const T& v, const Policy& pol); + constexpr typename tools::promote_args::type round(const T& v, const Policy& pol); template - typename tools::promote_args::type round(const T& v); + constexpr typename tools::promote_args::type round(const T& v); template - int iround(const T& v, const Policy& pol); + constexpr int iround(const T& v, const Policy& pol); template - int iround(const T& v); + constexpr int iround(const T& v); template - long lround(const T& v, const Policy& pol); + constexpr long lround(const T& v, const Policy& pol); template - long lround(const T& v); + constexpr long lround(const T& v); template - long long llround(const T& v, const Policy& pol); + constexpr long long llround(const T& v, const Policy& pol); template - long long llround(const T& v); + constexpr long long llround(const T& v); template T modf(const T& v, T* ipart, const Policy& pol); template diff --git a/include/boost/math/special_functions/round.hpp b/include/boost/math/special_functions/round.hpp index e74acba85..a482aa2e9 100644 --- a/include/boost/math/special_functions/round.hpp +++ b/include/boost/math/special_functions/round.hpp @@ -12,7 +12,7 @@ #endif #include -#include +#include #include #include #include @@ -30,12 +30,12 @@ namespace boost{ namespace math{ namespace detail{ template -inline tools::promote_args_t round(const T& v, const Policy& pol, const std::false_type&) +constexpr inline tools::promote_args_t round(const T& v, const Policy& pol, const std::false_type&) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; - if(!(boost::math::isfinite)(v)) + if(!BOOST_MATH_CONSTEXPR_ISFINITE(v)) { return policies::raise_rounding_error("boost::math::round<%1%>(%1%)", nullptr, static_cast(v), static_cast(v), pol); } @@ -54,18 +54,18 @@ inline tools::promote_args_t round(const T& v, const Policy& pol, const std:: { // subtract v from ceil(v) first in order to avoid rounding // errors on largest representable integer numbers - result_type c(ceil(v)); + result_type c(BOOST_MATH_CONSTEXPR_CEIL(v)); return T(0.5) < c - v ? c - 1 : c; } else { // see former branch - result_type f(floor(v)); + result_type f(BOOST_MATH_CONSTEXPR_FLOOR(v)); return T(0.5) < v - f ? f + 1 : f; } } template -inline tools::promote_args_t round(const T& v, const Policy&, const std::true_type&) +constexpr inline tools::promote_args_t round(const T& v, const Policy&, const std::true_type&) { return v; } @@ -73,12 +73,12 @@ inline tools::promote_args_t round(const T& v, const Policy&, const std::true } // namespace detail template -inline tools::promote_args_t round(const T& v, const Policy& pol) +constexpr inline tools::promote_args_t round(const T& v, const Policy& pol) { return detail::round(v, pol, std::integral_constant::value>()); } template -inline tools::promote_args_t round(const T& v) +constexpr inline tools::promote_args_t round(const T& v) { return round(v, policies::policy<>()); } @@ -96,7 +96,7 @@ inline tools::promote_args_t round(const T& v) // https://stackoverflow.com/questions/27442885/syntax-error-with-stdnumeric-limitsmax // template -inline int iround(const T& v, const Policy& pol) +constexpr inline int iround(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; @@ -138,13 +138,13 @@ inline int iround(const T& v, const Policy& pol) return static_cast(r); } template -inline int iround(const T& v) +constexpr inline int iround(const T& v) { return iround(v, policies::policy<>()); } template -inline long lround(const T& v, const Policy& pol) +constexpr inline long lround(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; @@ -186,13 +186,13 @@ inline long lround(const T& v, const Policy& pol) return static_cast(r); } template -inline long lround(const T& v) +constexpr inline long lround(const T& v) { return lround(v, policies::policy<>()); } template -inline long long llround(const T& v, const Policy& pol) +constexpr inline long long llround(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = boost::math::tools::promote_args_t; @@ -234,7 +234,7 @@ inline long long llround(const T& v, const Policy& pol) return static_cast(r); } template -inline long long llround(const T& v) +constexpr inline long long llround(const T& v) { return llround(v, policies::policy<>()); } diff --git a/include/boost/math/special_functions/trunc.hpp b/include/boost/math/special_functions/trunc.hpp index a084de560..e7515fa7d 100644 --- a/include/boost/math/special_functions/trunc.hpp +++ b/include/boost/math/special_functions/trunc.hpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include @@ -27,19 +27,19 @@ namespace boost{ namespace math{ namespace detail{ template -inline tools::promote_args_t trunc(const T& v, const Policy& pol, const std::false_type&) +constexpr inline tools::promote_args_t trunc(const T& v, const Policy& pol, const std::false_type&) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; - if(!(boost::math::isfinite)(v)) + if(!BOOST_MATH_CONSTEXPR_ISFINITE(v)) { return policies::raise_rounding_error("boost::math::trunc<%1%>(%1%)", nullptr, static_cast(v), static_cast(v), pol); } - return (v >= 0) ? static_cast(floor(v)) : static_cast(ceil(v)); + return (v >= 0) ? static_cast(BOOST_MATH_CONSTEXPR_FLOOR(v)) : static_cast(BOOST_MATH_CONSTEXPR_CEIL(v)); } template -inline tools::promote_args_t trunc(const T& v, const Policy&, const std::true_type&) +constexpr inline tools::promote_args_t trunc(const T& v, const Policy&, const std::true_type&) { return v; } @@ -47,12 +47,12 @@ inline tools::promote_args_t trunc(const T& v, const Policy&, const std::true } template -inline tools::promote_args_t trunc(const T& v, const Policy& pol) +constexpr inline tools::promote_args_t trunc(const T& v, const Policy& pol) { return detail::trunc(v, pol, std::integral_constant::value>()); } template -inline tools::promote_args_t trunc(const T& v) +constexpr inline tools::promote_args_t trunc(const T& v) { return trunc(v, policies::policy<>()); } @@ -70,7 +70,7 @@ inline tools::promote_args_t trunc(const T& v) // https://stackoverflow.com/questions/27442885/syntax-error-with-stdnumeric-limitsmax // template -inline int itrunc(const T& v, const Policy& pol) +constexpr inline int itrunc(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; @@ -111,13 +111,13 @@ inline int itrunc(const T& v, const Policy& pol) return static_cast(r); } template -inline int itrunc(const T& v) +constexpr inline int itrunc(const T& v) { return itrunc(v, policies::policy<>()); } template -inline long ltrunc(const T& v, const Policy& pol) +constexpr inline long ltrunc(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; @@ -158,13 +158,13 @@ inline long ltrunc(const T& v, const Policy& pol) return static_cast(r); } template -inline long ltrunc(const T& v) +constexpr inline long ltrunc(const T& v) { return ltrunc(v, policies::policy<>()); } template -inline long long lltrunc(const T& v, const Policy& pol) +constexpr inline long long lltrunc(const T& v, const Policy& pol) { BOOST_MATH_STD_USING using result_type = tools::promote_args_t; @@ -205,20 +205,20 @@ inline long long lltrunc(const T& v, const Policy& pol) return static_cast(r); } template -inline long long lltrunc(const T& v) +constexpr inline long long lltrunc(const T& v) { return lltrunc(v, policies::policy<>()); } template -inline typename std::enable_if::value, int>::type +constexpr inline typename std::enable_if::value, int>::type iconvert(const T& v, const Policy&) { return static_cast(v); } template -inline typename std::enable_if::value, int>::type +constexpr inline typename std::enable_if::value, int>::type iconvert(const T& v, const Policy& pol) { using boost::math::itrunc; @@ -226,14 +226,14 @@ inline typename std::enable_if::value, int>::type } template -inline typename std::enable_if::value, long>::type +constexpr inline typename std::enable_if::value, long>::type lconvert(const T& v, const Policy&) { return static_cast(v); } template -inline typename std::enable_if::value, long>::type +constexpr inline typename std::enable_if::value, long>::type lconvert(const T& v, const Policy& pol) { using boost::math::ltrunc; @@ -241,14 +241,14 @@ inline typename std::enable_if::value, long>::ty } template -inline typename std::enable_if::value, long long>::type +constexpr inline typename std::enable_if::value, long long>::type llconvertert(const T& v, const Policy&) { return static_cast(v); } template -inline typename std::enable_if::value, long long>::type +constexpr inline typename std::enable_if::value, long long>::type llconvertert(const T& v, const Policy& pol) { using boost::math::lltrunc; From fd0a0bf207186514c88b69ea1c99fc4faf4ba650 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Sat, 18 Nov 2023 08:23:17 +0100 Subject: [PATCH 18/21] Revert "Update version history." This reverts commit 430f0dc6e2f3da95bdf4e666586cad6b4cc7b03f. --- doc/html/backgrounders.html | 12 +- doc/html/constants.html | 12 +- doc/html/cstdfloat.html | 12 +- doc/html/dist.html | 12 +- doc/html/extern_c.html | 12 +- doc/html/filters.html | 12 +- doc/html/gcd_lcm.html | 12 +- doc/html/index.html | 12 +- doc/html/indexes.html | 12 +- doc/html/indexes/s01.html | 14 +- doc/html/indexes/s02.html | 12 +- doc/html/indexes/s03.html | 12 +- doc/html/indexes/s04.html | 12 +- doc/html/indexes/s05.html | 25 +-- doc/html/internals.html | 12 +- doc/html/interpolation.html | 12 +- doc/html/inverse_complex.html | 12 +- doc/html/math_toolkit/acknowledgement.html | 10 +- doc/html/math_toolkit/acknowledgements.html | 10 +- doc/html/math_toolkit/acos.html | 10 +- doc/html/math_toolkit/acosh.html | 10 +- doc/html/math_toolkit/airy.html | 10 +- doc/html/math_toolkit/airy/ai.html | 10 +- doc/html/math_toolkit/airy/aip.html | 10 +- doc/html/math_toolkit/airy/airy_root.html | 10 +- doc/html/math_toolkit/airy/bi.html | 10 +- doc/html/math_toolkit/airy/bip.html | 10 +- doc/html/math_toolkit/anderson_darling.html | 10 +- doc/html/math_toolkit/archetypes.html | 10 +- doc/html/math_toolkit/asin.html | 10 +- doc/html/math_toolkit/asinh.html | 10 +- doc/html/math_toolkit/atan.html | 10 +- doc/html/math_toolkit/atanh.html | 10 +- doc/html/math_toolkit/autodiff.html | 10 +- doc/html/math_toolkit/bad_guess.html | 10 +- doc/html/math_toolkit/bad_roots.html | 10 +- doc/html/math_toolkit/barycentric.html | 10 +- doc/html/math_toolkit/bessel.html | 10 +- .../bessel/bessel_derivatives.html | 10 +- .../math_toolkit/bessel/bessel_first.html | 10 +- doc/html/math_toolkit/bessel/bessel_over.html | 10 +- doc/html/math_toolkit/bessel/bessel_root.html | 10 +- doc/html/math_toolkit/bessel/mbessel.html | 10 +- doc/html/math_toolkit/bessel/sph_bessel.html | 10 +- doc/html/math_toolkit/bezier_polynomial.html | 10 +- doc/html/math_toolkit/bilinear_uniform.html | 10 +- .../math_toolkit/bivariate_statistics.html | 10 +- doc/html/math_toolkit/brent_minima.html | 10 +- doc/html/math_toolkit/building.html | 10 +- doc/html/math_toolkit/c99.html | 10 +- doc/html/math_toolkit/cardinal_cubic_b.html | 10 +- .../math_toolkit/cardinal_quadratic_b.html | 10 +- doc/html/math_toolkit/cardinal_quintic_b.html | 10 +- .../math_toolkit/cardinal_trigonometric.html | 10 +- doc/html/math_toolkit/catmull_rom.html | 10 +- doc/html/math_toolkit/ccmath.html | 10 +- .../math_toolkit/chatterjee_correlation.html | 132 --------------- doc/html/math_toolkit/comp_compilers.html | 10 +- doc/html/math_toolkit/comparisons.html | 10 +- doc/html/math_toolkit/compilers_overview.html | 10 +- doc/html/math_toolkit/complex_history.html | 10 +- .../math_toolkit/complex_implementation.html | 10 +- doc/html/math_toolkit/cond.html | 10 +- doc/html/math_toolkit/config_macros.html | 10 +- doc/html/math_toolkit/constants.html | 10 +- doc/html/math_toolkit/constants_faq.html | 10 +- doc/html/math_toolkit/constants_intro.html | 10 +- doc/html/math_toolkit/contact.html | 10 +- doc/html/math_toolkit/conventions.html | 12 +- doc/html/math_toolkit/create.html | 10 +- doc/html/math_toolkit/credits.html | 10 +- doc/html/math_toolkit/cubic_hermite.html | 10 +- doc/html/math_toolkit/cubic_roots.html | 10 +- doc/html/math_toolkit/daubechies.html | 58 +------ doc/html/math_toolkit/daubechies_filters.html | 10 +- doc/html/math_toolkit/diff.html | 10 +- doc/html/math_toolkit/diff0.html | 10 +- doc/html/math_toolkit/directories.html | 10 +- doc/html/math_toolkit/dist_concept.html | 10 +- doc/html/math_toolkit/dist_ref.html | 10 +- .../dist_ref/dist_algorithms.html | 10 +- doc/html/math_toolkit/dist_ref/dists.html | 10 +- .../dist_ref/dists/arcine_dist.html | 10 +- .../dist_ref/dists/bernoulli_dist.html | 10 +- .../dist_ref/dists/beta_dist.html | 10 +- .../dist_ref/dists/binomial_dist.html | 12 +- .../dist_ref/dists/cauchy_dist.html | 10 +- .../dist_ref/dists/chi_squared_dist.html | 10 +- .../dist_ref/dists/empirical_cdf.html | 10 +- .../math_toolkit/dist_ref/dists/exp_dist.html | 12 +- .../dist_ref/dists/extreme_dist.html | 12 +- .../math_toolkit/dist_ref/dists/f_dist.html | 10 +- .../dist_ref/dists/gamma_dist.html | 10 +- .../dist_ref/dists/geometric_dist.html | 10 +- .../dist_ref/dists/hyperexponential_dist.html | 10 +- .../dist_ref/dists/hypergeometric_dist.html | 30 ++-- .../dists/inverse_chi_squared_dist.html | 10 +- .../dist_ref/dists/inverse_gamma_dist.html | 10 +- .../dist_ref/dists/inverse_gaussian_dist.html | 10 +- .../dists/kolmogorov_smirnov_dist.html | 10 +- .../dist_ref/dists/laplace_dist.html | 10 +- .../dist_ref/dists/logistic_dist.html | 10 +- .../dist_ref/dists/lognormal_dist.html | 10 +- .../dist_ref/dists/nc_beta_dist.html | 10 +- .../dist_ref/dists/nc_chi_squared_dist.html | 10 +- .../dist_ref/dists/nc_f_dist.html | 10 +- .../dist_ref/dists/nc_t_dist.html | 10 +- .../dists/negative_binomial_dist.html | 10 +- .../dist_ref/dists/normal_dist.html | 10 +- .../math_toolkit/dist_ref/dists/pareto.html | 10 +- .../dist_ref/dists/poisson_dist.html | 10 +- .../math_toolkit/dist_ref/dists/rayleigh.html | 10 +- .../dist_ref/dists/skew_normal_dist.html | 10 +- .../dist_ref/dists/students_t_dist.html | 10 +- .../dist_ref/dists/triangular_dist.html | 15 +- .../dist_ref/dists/uniform_dist.html | 10 +- .../dist_ref/dists/weibull_dist.html | 12 +- doc/html/math_toolkit/dist_ref/nmp.html | 10 +- doc/html/math_toolkit/double_exponential.html | 10 +- .../double_exponential/de_caveats.html | 10 +- .../double_exponential/de_exp_sinh.html | 10 +- .../double_exponential/de_levels.html | 10 +- .../double_exponential/de_overview.html | 10 +- .../double_exponential/de_refes.html | 10 +- .../double_exponential/de_sinh_sinh.html | 10 +- .../double_exponential/de_tanh_sinh.html | 10 +- .../de_tanh_sinh_2_arg.html | 10 +- .../double_exponential/de_thread.html | 10 +- .../double_exponential/de_tol.html | 10 +- doc/html/math_toolkit/ellint.html | 10 +- doc/html/math_toolkit/ellint/ellint_1.html | 10 +- doc/html/math_toolkit/ellint/ellint_2.html | 10 +- doc/html/math_toolkit/ellint/ellint_3.html | 10 +- .../math_toolkit/ellint/ellint_carlson.html | 10 +- doc/html/math_toolkit/ellint/ellint_d.html | 10 +- .../math_toolkit/ellint/ellint_intro.html | 10 +- .../math_toolkit/ellint/heuman_lambda.html | 10 +- doc/html/math_toolkit/ellint/jacobi_zeta.html | 10 +- doc/html/math_toolkit/error_handling.html | 10 +- doc/html/math_toolkit/estrin.html | 10 +- doc/html/math_toolkit/exact_typdefs.html | 10 +- doc/html/math_toolkit/examples.html | 10 +- doc/html/math_toolkit/exp.html | 10 +- doc/html/math_toolkit/expint.html | 10 +- doc/html/math_toolkit/expint/expint_i.html | 10 +- doc/html/math_toolkit/expint/expint_n.html | 10 +- doc/html/math_toolkit/factorials.html | 10 +- .../math_toolkit/factorials/sf_binomial.html | 10 +- .../factorials/sf_double_factorial.html | 10 +- .../math_toolkit/factorials/sf_factorial.html | 10 +- .../factorials/sf_falling_factorial.html | 10 +- .../factorials/sf_rising_factorial.html | 10 +- doc/html/math_toolkit/fastest_typdefs.html | 10 +- doc/html/math_toolkit/float128.html | 10 +- .../math_toolkit/float128/exp_function.html | 10 +- .../math_toolkit/float128/overloading.html | 10 +- doc/html/math_toolkit/float128/typeinfo.html | 10 +- doc/html/math_toolkit/float128_hints.html | 10 +- doc/html/math_toolkit/float_comparison.html | 10 +- doc/html/math_toolkit/fourier_integrals.html | 10 +- doc/html/math_toolkit/fp_facets.html | 10 +- doc/html/math_toolkit/fp_facets/examples.html | 10 +- .../math_toolkit/fp_facets/facets_intro.html | 10 +- .../math_toolkit/fp_facets/portability.html | 10 +- .../math_toolkit/fp_facets/rationale.html | 10 +- .../math_toolkit/fp_facets/reference.html | 10 +- doc/html/math_toolkit/fpclass.html | 10 +- doc/html/math_toolkit/future.html | 10 +- doc/html/math_toolkit/gauss.html | 10 +- doc/html/math_toolkit/gauss_kronrod.html | 10 +- doc/html/math_toolkit/getting_best.html | 10 +- doc/html/math_toolkit/greatest_typdefs.html | 10 +- doc/html/math_toolkit/hankel.html | 10 +- doc/html/math_toolkit/hankel/cyl_hankel.html | 10 +- doc/html/math_toolkit/hankel/sph_hankel.html | 10 +- doc/html/math_toolkit/high_precision.html | 10 +- .../math_toolkit/high_precision/e_float.html | 10 +- .../math_toolkit/high_precision/float128.html | 10 +- .../math_toolkit/high_precision/use_mpfr.html | 10 +- .../high_precision/use_multiprecision.html | 10 +- .../math_toolkit/high_precision/use_ntl.html | 10 +- .../high_precision/using_test.html | 10 +- .../high_precision/why_high_precision.html | 10 +- doc/html/math_toolkit/hints.html | 10 +- doc/html/math_toolkit/history1.html | 155 +++++++----------- doc/html/math_toolkit/history2.html | 155 +++++++----------- doc/html/math_toolkit/hypergeometric.html | 10 +- .../hypergeometric/hypergeometric_0f1.html | 10 +- .../hypergeometric/hypergeometric_1f0.html | 10 +- .../hypergeometric/hypergeometric_1f1.html | 10 +- .../hypergeometric/hypergeometric_2f0.html | 10 +- .../hypergeometric/hypergeometric_pfq.html | 10 +- .../hypergeometric/hypergeometric_refs.html | 10 +- doc/html/math_toolkit/internals.html | 10 +- doc/html/math_toolkit/internals/agm.html | 10 +- .../centered_continued_fraction.html | 10 +- doc/html/math_toolkit/internals/cf.html | 10 +- .../internals/cohen_acceleration.html | 10 +- .../math_toolkit/internals/color_maps.html | 10 +- .../internals/engel_expansion.html | 10 +- .../math_toolkit/internals/error_test.html | 10 +- .../internals/luroth_expansion.html | 10 +- doc/html/math_toolkit/internals/minimax.html | 10 +- .../math_toolkit/internals/recurrence.html | 10 +- .../internals/series_evaluation.html | 10 +- .../internals/simple_continued_fraction.html | 10 +- .../math_toolkit/internals/test_data.html | 10 +- doc/html/math_toolkit/internals/tuples.html | 10 +- doc/html/math_toolkit/internals_overview.html | 10 +- doc/html/math_toolkit/interp.html | 10 +- doc/html/math_toolkit/intro_pol_overview.html | 10 +- doc/html/math_toolkit/inv_hyper.html | 10 +- doc/html/math_toolkit/inv_hyper/acosh.html | 10 +- doc/html/math_toolkit/inv_hyper/asinh.html | 10 +- doc/html/math_toolkit/inv_hyper/atanh.html | 10 +- .../inv_hyper/inv_hyper_over.html | 10 +- doc/html/math_toolkit/issues.html | 10 +- doc/html/math_toolkit/jacobi.html | 10 +- doc/html/math_toolkit/jacobi/jac_over.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cn.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_cs.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_dc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_dn.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_ds.html | 10 +- .../math_toolkit/jacobi/jacobi_elliptic.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_nc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_nd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_ns.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sc.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sd.html | 10 +- doc/html/math_toolkit/jacobi/jacobi_sn.html | 10 +- doc/html/math_toolkit/jacobi_theta.html | 10 +- .../jacobi_theta/jacobi_theta1.html | 10 +- .../jacobi_theta/jacobi_theta2.html | 10 +- .../jacobi_theta/jacobi_theta3.html | 10 +- .../jacobi_theta/jacobi_theta4.html | 10 +- .../jacobi_theta/jacobi_theta_overview.html | 10 +- doc/html/math_toolkit/lambert_w.html | 15 +- doc/html/math_toolkit/lanczos.html | 10 +- doc/html/math_toolkit/linear_regression.html | 16 +- doc/html/math_toolkit/ljung_box.html | 10 +- doc/html/math_toolkit/logs_and_tables.html | 10 +- .../logs_and_tables/all_table.html | 10 +- .../math_toolkit/logs_and_tables/logs.html | 10 +- doc/html/math_toolkit/macros.html | 10 +- doc/html/math_toolkit/main_faq.html | 10 +- doc/html/math_toolkit/main_intro.html | 10 +- doc/html/math_toolkit/main_tr1.html | 10 +- doc/html/math_toolkit/makima.html | 10 +- doc/html/math_toolkit/mem_typedef.html | 10 +- doc/html/math_toolkit/minimum_typdefs.html | 10 +- doc/html/math_toolkit/multiprecision.html | 10 +- doc/html/math_toolkit/naive_monte_carlo.html | 10 +- doc/html/math_toolkit/namespaces.html | 10 +- doc/html/math_toolkit/navigation.html | 12 +- doc/html/math_toolkit/new_const.html | 10 +- doc/html/math_toolkit/next_float.html | 10 +- .../next_float/float_advance.html | 10 +- .../next_float/float_distance.html | 10 +- .../math_toolkit/next_float/float_next.html | 10 +- .../math_toolkit/next_float/float_prior.html | 10 +- .../math_toolkit/next_float/nextafter.html | 10 +- doc/html/math_toolkit/next_float/ulp.html | 19 ++- doc/html/math_toolkit/norms.html | 10 +- doc/html/math_toolkit/number_series.html | 10 +- .../number_series/bernoulli_numbers.html | 10 +- .../number_series/fibonacci_numbers.html | 10 +- .../math_toolkit/number_series/primes.html | 10 +- .../number_series/tangent_numbers.html | 10 +- doc/html/math_toolkit/oct_create.html | 10 +- doc/html/math_toolkit/oct_header.html | 10 +- doc/html/math_toolkit/oct_history.html | 10 +- doc/html/math_toolkit/oct_mem_fun.html | 10 +- doc/html/math_toolkit/oct_non_mem.html | 10 +- doc/html/math_toolkit/oct_overview.html | 10 +- doc/html/math_toolkit/oct_specialization.html | 10 +- doc/html/math_toolkit/oct_synopsis.html | 10 +- doc/html/math_toolkit/oct_tests.html | 10 +- doc/html/math_toolkit/oct_todo.html | 10 +- doc/html/math_toolkit/oct_trans.html | 10 +- doc/html/math_toolkit/oct_typedefs.html | 10 +- doc/html/math_toolkit/oct_value_ops.html | 10 +- doc/html/math_toolkit/octonion.html | 10 +- doc/html/math_toolkit/overview_tr1.html | 10 +- doc/html/math_toolkit/owens_t.html | 10 +- doc/html/math_toolkit/pchip.html | 10 +- doc/html/math_toolkit/perf_over1.html | 10 +- doc/html/math_toolkit/perf_over2.html | 10 +- doc/html/math_toolkit/perf_test_app.html | 10 +- doc/html/math_toolkit/pol_overview.html | 10 +- doc/html/math_toolkit/pol_ref.html | 10 +- .../pol_ref/assert_undefined.html | 10 +- .../pol_ref/discrete_quant_ref.html | 10 +- .../pol_ref/error_handling_policies.html | 10 +- .../pol_ref/internal_promotion.html | 10 +- .../math_toolkit/pol_ref/iteration_pol.html | 10 +- .../math_toolkit/pol_ref/namespace_pol.html | 10 +- .../math_toolkit/pol_ref/pol_ref_ref.html | 10 +- .../math_toolkit/pol_ref/policy_defaults.html | 10 +- .../math_toolkit/pol_ref/precision_pol.html | 10 +- doc/html/math_toolkit/pol_tutorial.html | 10 +- .../pol_tutorial/ad_hoc_dist_policies.html | 10 +- .../pol_tutorial/ad_hoc_sf_policies.html | 10 +- .../changing_policy_defaults.html | 10 +- .../pol_tutorial/namespace_policies.html | 10 +- .../pol_tutorial/policy_tut_defaults.html | 10 +- .../pol_tutorial/policy_usage.html | 10 +- .../pol_tutorial/understand_dis_quant.html | 10 +- .../pol_tutorial/user_def_err_pol.html | 10 +- .../pol_tutorial/what_is_a_policy.html | 10 +- doc/html/math_toolkit/polynomials.html | 10 +- doc/html/math_toolkit/powers.html | 10 +- doc/html/math_toolkit/powers/cbrt.html | 10 +- doc/html/math_toolkit/powers/cos_pi.html | 10 +- doc/html/math_toolkit/powers/ct_pow.html | 10 +- doc/html/math_toolkit/powers/expm1.html | 10 +- doc/html/math_toolkit/powers/hypot.html | 10 +- doc/html/math_toolkit/powers/log1p.html | 10 +- doc/html/math_toolkit/powers/logaddexp.html | 10 +- doc/html/math_toolkit/powers/powm1.html | 10 +- doc/html/math_toolkit/powers/rsqrt.html | 10 +- doc/html/math_toolkit/powers/sin_pi.html | 10 +- doc/html/math_toolkit/powers/sqrt1pm1.html | 10 +- doc/html/math_toolkit/quartic_roots.html | 10 +- doc/html/math_toolkit/quat.html | 10 +- doc/html/math_toolkit/quat_header.html | 10 +- doc/html/math_toolkit/quat_history.html | 10 +- doc/html/math_toolkit/quat_mem_fun.html | 10 +- doc/html/math_toolkit/quat_non_mem.html | 10 +- doc/html/math_toolkit/quat_overview.html | 10 +- doc/html/math_toolkit/quat_synopsis.html | 10 +- doc/html/math_toolkit/quat_tests.html | 10 +- doc/html/math_toolkit/quat_todo.html | 10 +- doc/html/math_toolkit/quintic_hermite.html | 10 +- doc/html/math_toolkit/rational.html | 10 +- doc/html/math_toolkit/rationale.html | 10 +- doc/html/math_toolkit/real_concepts.html | 10 +- doc/html/math_toolkit/refs.html | 18 +- doc/html/math_toolkit/relative_error.html | 10 +- doc/html/math_toolkit/remez.html | 10 +- doc/html/math_toolkit/result_type.html | 10 +- doc/html/math_toolkit/root_comparison.html | 10 +- .../root_comparison/cbrt_comparison.html | 10 +- .../root_comparison/elliptic_comparison.html | 10 +- .../root_comparison/root_n_comparison.html | 10 +- .../math_toolkit/root_finding_examples.html | 10 +- .../root_finding_examples/5th_root_eg.html | 10 +- .../root_finding_examples/cbrt_eg.html | 10 +- .../root_finding_examples/elliptic_eg.html | 10 +- .../root_finding_examples/lambda.html | 10 +- .../multiprecision_root.html | 10 +- .../root_finding_examples/nth_root.html | 10 +- doc/html/math_toolkit/roots_deriv.html | 10 +- doc/html/math_toolkit/roots_noderiv.html | 10 +- .../math_toolkit/roots_noderiv/TOMS748.html | 10 +- .../math_toolkit/roots_noderiv/bisect.html | 10 +- .../roots_noderiv/bracket_solve.html | 10 +- .../math_toolkit/roots_noderiv/brent.html | 10 +- .../roots_noderiv/implementation.html | 10 +- .../roots_noderiv/root_termination.html | 10 +- doc/html/math_toolkit/rounding.html | 10 +- doc/html/math_toolkit/rounding/modf.html | 10 +- doc/html/math_toolkit/rounding/round.html | 10 +- doc/html/math_toolkit/rounding/trunc.html | 10 +- doc/html/math_toolkit/runs_test.html | 10 +- doc/html/math_toolkit/sf_beta.html | 10 +- .../math_toolkit/sf_beta/beta_derivative.html | 10 +- .../math_toolkit/sf_beta/beta_function.html | 10 +- .../math_toolkit/sf_beta/ibeta_function.html | 10 +- .../sf_beta/ibeta_inv_function.html | 10 +- doc/html/math_toolkit/sf_erf.html | 10 +- .../math_toolkit/sf_erf/error_function.html | 10 +- doc/html/math_toolkit/sf_erf/error_inv.html | 10 +- doc/html/math_toolkit/sf_gamma.html | 10 +- doc/html/math_toolkit/sf_gamma/digamma.html | 10 +- .../sf_gamma/gamma_derivatives.html | 10 +- .../math_toolkit/sf_gamma/gamma_ratios.html | 10 +- doc/html/math_toolkit/sf_gamma/igamma.html | 10 +- .../math_toolkit/sf_gamma/igamma_inv.html | 10 +- doc/html/math_toolkit/sf_gamma/lgamma.html | 10 +- doc/html/math_toolkit/sf_gamma/polygamma.html | 10 +- doc/html/math_toolkit/sf_gamma/tgamma.html | 10 +- doc/html/math_toolkit/sf_gamma/trigamma.html | 10 +- doc/html/math_toolkit/sf_implementation.html | 10 +- doc/html/math_toolkit/sf_poly.html | 10 +- .../sf_poly/cardinal_b_splines.html | 10 +- doc/html/math_toolkit/sf_poly/chebyshev.html | 10 +- doc/html/math_toolkit/sf_poly/gegenbauer.html | 10 +- doc/html/math_toolkit/sf_poly/hermite.html | 10 +- doc/html/math_toolkit/sf_poly/jacobi.html | 10 +- doc/html/math_toolkit/sf_poly/laguerre.html | 10 +- doc/html/math_toolkit/sf_poly/legendre.html | 10 +- .../sf_poly/legendre_stieltjes.html | 10 +- doc/html/math_toolkit/sf_poly/sph_harm.html | 10 +- doc/html/math_toolkit/sign_functions.html | 10 +- doc/html/math_toolkit/signal_statistics.html | 10 +- doc/html/math_toolkit/sinc.html | 10 +- doc/html/math_toolkit/sinc/sinc_overview.html | 10 +- doc/html/math_toolkit/sinc/sinc_pi.html | 10 +- doc/html/math_toolkit/sinc/sinhc_pi.html | 10 +- doc/html/math_toolkit/spec.html | 10 +- doc/html/math_toolkit/special_tut.html | 10 +- .../special_tut/special_tut_impl.html | 10 +- .../special_tut/special_tut_test.html | 10 +- doc/html/math_toolkit/specified_typedefs.html | 10 +- doc/html/math_toolkit/standalone.html | 10 +- doc/html/math_toolkit/stat_tut.html | 10 +- .../math_toolkit/stat_tut/dist_params.html | 10 +- doc/html/math_toolkit/stat_tut/overview.html | 10 +- .../stat_tut/overview/complements.html | 10 +- .../stat_tut/overview/generic.html | 10 +- .../stat_tut/overview/headers.html | 10 +- .../stat_tut/overview/objects.html | 10 +- .../stat_tut/overview/parameters.html | 10 +- .../stat_tut/overview/summary.html | 10 +- doc/html/math_toolkit/stat_tut/variates.html | 10 +- doc/html/math_toolkit/stat_tut/weg.html | 10 +- .../math_toolkit/stat_tut/weg/binom_eg.html | 10 +- .../stat_tut/weg/binom_eg/binom_conf.html | 10 +- .../stat_tut/weg/binom_eg/binom_size_eg.html | 10 +- .../binom_eg/binomial_coinflip_example.html | 10 +- .../weg/binom_eg/binomial_quiz_example.html | 10 +- .../math_toolkit/stat_tut/weg/c_sharp.html | 10 +- doc/html/math_toolkit/stat_tut/weg/cs_eg.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_intervals.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_size.html | 10 +- .../stat_tut/weg/cs_eg/chi_sq_test.html | 10 +- .../stat_tut/weg/dist_construct_eg.html | 10 +- .../math_toolkit/stat_tut/weg/error_eg.html | 10 +- doc/html/math_toolkit/stat_tut/weg/f_eg.html | 10 +- .../math_toolkit/stat_tut/weg/find_eg.html | 10 +- .../weg/find_eg/find_location_eg.html | 10 +- .../weg/find_eg/find_mean_and_sd_eg.html | 10 +- .../stat_tut/weg/find_eg/find_scale_eg.html | 10 +- .../stat_tut/weg/geometric_eg.html | 10 +- .../stat_tut/weg/inverse_chi_squared_eg.html | 10 +- .../stat_tut/weg/nag_library.html | 10 +- .../math_toolkit/stat_tut/weg/nccs_eg.html | 10 +- .../stat_tut/weg/nccs_eg/nccs_power_eg.html | 10 +- .../stat_tut/weg/neg_binom_eg.html | 10 +- .../weg/neg_binom_eg/neg_binom_conf.html | 10 +- .../weg/neg_binom_eg/neg_binom_size_eg.html | 10 +- .../negative_binomial_example1.html | 10 +- .../negative_binomial_example2.html | 10 +- .../stat_tut/weg/normal_example.html | 10 +- .../weg/normal_example/normal_misc.html | 10 +- doc/html/math_toolkit/stat_tut/weg/st_eg.html | 10 +- .../stat_tut/weg/st_eg/paired_st.html | 10 +- .../weg/st_eg/tut_mean_intervals.html | 10 +- .../stat_tut/weg/st_eg/tut_mean_size.html | 10 +- .../stat_tut/weg/st_eg/tut_mean_test.html | 10 +- .../weg/st_eg/two_sample_students_t.html | 10 +- doc/html/math_toolkit/t_test.html | 10 +- doc/html/math_toolkit/threads.html | 10 +- doc/html/math_toolkit/tr1_ref.html | 10 +- doc/html/math_toolkit/tradoffs.html | 10 +- doc/html/math_toolkit/trans.html | 10 +- doc/html/math_toolkit/trapezoidal.html | 10 +- doc/html/math_toolkit/tuning.html | 10 +- doc/html/math_toolkit/tutorial.html | 10 +- doc/html/math_toolkit/tutorial/non_templ.html | 10 +- doc/html/math_toolkit/tutorial/templ.html | 10 +- doc/html/math_toolkit/tutorial/user_def.html | 10 +- doc/html/math_toolkit/ulps_plots.html | 10 +- .../math_toolkit/univariate_statistics.html | 10 +- doc/html/math_toolkit/value_op.html | 10 +- doc/html/math_toolkit/vector_barycentric.html | 10 +- doc/html/math_toolkit/wavelet_transforms.html | 10 +- doc/html/math_toolkit/whittaker_shannon.html | 10 +- doc/html/math_toolkit/z_test.html | 10 +- doc/html/math_toolkit/zetas.html | 10 +- doc/html/math_toolkit/zetas/zeta.html | 10 +- doc/html/octonions.html | 12 +- doc/html/overview.html | 14 +- doc/html/perf.html | 12 +- doc/html/policy.html | 12 +- doc/html/poly.html | 12 +- doc/html/quadrature.html | 12 +- doc/html/quaternions.html | 12 +- doc/html/root_finding.html | 12 +- doc/html/special.html | 12 +- doc/html/standalone_HTML.manifest | 1 - doc/html/statistics.html | 13 +- doc/html/status.html | 12 +- doc/html/using_udt.html | 12 +- doc/html/utils.html | 12 +- doc/html/vector_functionals.html | 18 +- doc/math.qbk | 2 +- doc/overview/roadmap.qbk | 16 -- .../special_functions/detail/round_fwd.hpp | 32 ++-- .../boost/math/special_functions/round.hpp | 28 ++-- .../boost/math/special_functions/trunc.hpp | 38 ++--- 493 files changed, 3132 insertions(+), 2466 deletions(-) delete mode 100644 doc/html/math_toolkit/chatterjee_correlation.html diff --git a/doc/html/backgrounders.html b/doc/html/backgrounders.html index 86ab4b66b..b29bcfd47 100644 --- a/doc/html/backgrounders.html +++ b/doc/html/backgrounders.html @@ -4,11 +4,10 @@ Chapter 23. Backgrounders - - + + - @@ -51,7 +50,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/constants.html b/doc/html/constants.html index 6ebbbe5ad..d606b0db5 100644 --- a/doc/html/constants.html +++ b/doc/html/constants.html @@ -4,11 +4,10 @@ Chapter 4. Mathematical Constants - - + + - @@ -44,7 +43,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/cstdfloat.html b/doc/html/cstdfloat.html index bd34f4960..bf38d84cf 100644 --- a/doc/html/cstdfloat.html +++ b/doc/html/cstdfloat.html @@ -4,11 +4,10 @@ Chapter 3. Specified-width floating-point typedefs - - + + - @@ -52,7 +51,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/dist.html b/doc/html/dist.html index a0c6c3092..204ba0679 100644 --- a/doc/html/dist.html +++ b/doc/html/dist.html @@ -4,11 +4,10 @@ Chapter 5. Statistical Distributions and Functions - - + + - @@ -207,7 +206,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/extern_c.html b/doc/html/extern_c.html index 27485f538..9a0139565 100644 --- a/doc/html/extern_c.html +++ b/doc/html/extern_c.html @@ -4,11 +4,10 @@ Chapter 9. TR1 and C99 external "C" Functions - - + + - @@ -35,7 +34,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/filters.html b/doc/html/filters.html index e66f21719..332d9b21e 100644 --- a/doc/html/filters.html +++ b/doc/html/filters.html @@ -4,11 +4,10 @@ Chapter 14. Filters - - + + - @@ -31,7 +30,9 @@
      Daubechies Filters
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/gcd_lcm.html b/doc/html/gcd_lcm.html index 083588afd..a656eb9b5 100644 --- a/doc/html/gcd_lcm.html +++ b/doc/html/gcd_lcm.html @@ -4,11 +4,10 @@ Chapter 18. Integer Utilities (Greatest Common Divisor and Least Common Multiple) - - + + - @@ -36,7 +35,9 @@ continue to exist and redirect to the moved headers.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/index.html b/doc/html/index.html index ebf1df493..b5ebdf6e1 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,12 +1,11 @@ -Math Toolkit 4.1.1 +Math Toolkit 4.1.0 - + - @@ -23,7 +22,7 @@

      -Math Toolkit 4.1.1

      +Math Toolkit 4.1.0

      Nikhar Agrawal @@ -134,7 +133,10 @@ This manual is also available in

      +
      + + +

      Last revised: February 23, 2023 at 18:11:17 GMT


      Next
      diff --git a/doc/html/indexes.html b/doc/html/indexes.html index 2b99eff98..f3d154153 100644 --- a/doc/html/indexes.html +++ b/doc/html/indexes.html @@ -4,11 +4,10 @@ Chapter 25. Indexes - - + + - @@ -37,7 +36,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s01.html b/doc/html/indexes/s01.html index bdd752183..2b5d2dfe8 100644 --- a/doc/html/indexes/s01.html +++ b/doc/html/indexes/s01.html @@ -4,11 +4,10 @@ Function Index - + - @@ -25,7 +24,7 @@

      -Function Index

      +Function Index

      1 2 4 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s02.html b/doc/html/indexes/s02.html index db175c17e..4850bc7c7 100644 --- a/doc/html/indexes/s02.html +++ b/doc/html/indexes/s02.html @@ -4,11 +4,10 @@ Class Index - + - @@ -25,7 +24,7 @@

      -Class Index

      +Class Index

      A B C D E F G H I K L M N O P Q R S T U V W

      @@ -467,7 +466,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index 2c28b9410..2b8a2b5b6 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -4,11 +4,10 @@ Typedef Index - + - @@ -25,7 +24,7 @@

      -Typedef Index

      +Typedef Index

      A B C D E F G H I K L N P R S T U V W

      @@ -386,7 +385,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index e6748a300..644a77435 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -4,11 +4,10 @@ Macro Index - + - @@ -25,7 +24,7 @@

      -Macro Index

      +Macro Index

      B F

      @@ -374,7 +373,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/indexes/s05.html b/doc/html/indexes/s05.html index ba5052d7f..1d13dcd6b 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -4,10 +4,9 @@ Index - + - @@ -24,7 +23,7 @@

      -Index

      +Index

      1 2 4 5 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _

      -
      + + +
      +

      PrevUpHome diff --git a/doc/html/internals.html b/doc/html/internals.html index 56aa0eccc..daf0ab7b2 100644 --- a/doc/html/internals.html +++ b/doc/html/internals.html @@ -4,11 +4,10 @@ Chapter 19. Internal Details: Series, Rationals and Continued Fractions, Testing, and Development Tools - - + + - @@ -57,7 +56,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/interpolation.html b/doc/html/interpolation.html index b603e1853..2d54f4611 100644 --- a/doc/html/interpolation.html +++ b/doc/html/interpolation.html @@ -4,11 +4,10 @@ Chapter 12. Interpolation - - + + - @@ -51,7 +50,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/inverse_complex.html b/doc/html/inverse_complex.html index ffffbc759..781eea65c 100644 --- a/doc/html/inverse_complex.html +++ b/doc/html/inverse_complex.html @@ -4,11 +4,10 @@ Chapter 15. Complex Number Functions - - + + - @@ -47,7 +46,9 @@ Report on C++ Library Extensions.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acknowledgement.html b/doc/html/math_toolkit/acknowledgement.html index 32ec4dd3e..52eaee594 100644 --- a/doc/html/math_toolkit/acknowledgement.html +++ b/doc/html/math_toolkit/acknowledgement.html @@ -4,11 +4,10 @@ Acknowledgements - + - @@ -34,7 +33,9 @@ section. Thank you to all who contributed to the discution about this library.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acknowledgements.html b/doc/html/math_toolkit/acknowledgements.html index 15d676258..0a0906b9d 100644 --- a/doc/html/math_toolkit/acknowledgements.html +++ b/doc/html/math_toolkit/acknowledgements.html @@ -4,11 +4,10 @@ Acknowledgements - + - @@ -34,7 +33,9 @@ section. Thank you to all who contributed to the discussion about this library.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acos.html b/doc/html/math_toolkit/acos.html index dc9e90dc6..f813c0b1d 100644 --- a/doc/html/math_toolkit/acos.html +++ b/doc/html/math_toolkit/acos.html @@ -4,11 +4,10 @@ acos - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/acosh.html b/doc/html/math_toolkit/acosh.html index f137666ea..a0130c330 100644 --- a/doc/html/math_toolkit/acosh.html +++ b/doc/html/math_toolkit/acosh.html @@ -4,11 +4,10 @@ acosh - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy.html b/doc/html/math_toolkit/airy.html index f278a7397..272a42631 100644 --- a/doc/html/math_toolkit/airy.html +++ b/doc/html/math_toolkit/airy.html @@ -4,11 +4,10 @@ Airy Functions - + - @@ -35,7 +34,9 @@
      Finding Zeros of Airy Functions
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/ai.html b/doc/html/math_toolkit/airy/ai.html index 2aa435784..bc4cde153 100644 --- a/doc/html/math_toolkit/airy/ai.html +++ b/doc/html/math_toolkit/airy/ai.html @@ -4,11 +4,10 @@ Airy Ai Function - + - @@ -116,7 +115,9 @@

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/aip.html b/doc/html/math_toolkit/airy/aip.html index 13621f8ca..a16bc4113 100644 --- a/doc/html/math_toolkit/airy/aip.html +++ b/doc/html/math_toolkit/airy/aip.html @@ -4,11 +4,10 @@ Airy Ai' Function - + - @@ -108,7 +107,9 @@

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/airy_root.html b/doc/html/math_toolkit/airy/airy_root.html index 43bfee0ee..4f5dcfdbc 100644 --- a/doc/html/math_toolkit/airy/airy_root.html +++ b/doc/html/math_toolkit/airy/airy_root.html @@ -4,11 +4,10 @@ Finding Zeros of Airy Functions - + - @@ -461,7 +460,9 @@ airy_ai_zeros: Alpha.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/bi.html b/doc/html/math_toolkit/airy/bi.html index 78e19f584..14b6541e9 100644 --- a/doc/html/math_toolkit/airy/bi.html +++ b/doc/html/math_toolkit/airy/bi.html @@ -4,11 +4,10 @@ Airy Bi Function - + - @@ -107,7 +106,9 @@

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/airy/bip.html b/doc/html/math_toolkit/airy/bip.html index 411b622fb..77ac68c13 100644 --- a/doc/html/math_toolkit/airy/bip.html +++ b/doc/html/math_toolkit/airy/bip.html @@ -4,11 +4,10 @@ Airy Bi' Function - + - @@ -108,7 +107,9 @@

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/anderson_darling.html b/doc/html/math_toolkit/anderson_darling.html index 6ee8655a7..f9a66831e 100644 --- a/doc/html/math_toolkit/anderson_darling.html +++ b/doc/html/math_toolkit/anderson_darling.html @@ -4,11 +4,10 @@ The Anderson-Darling Test - + - @@ -191,7 +190,9 @@ of the Anderson-Darling test statistic agrees with Mathematica.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/archetypes.html b/doc/html/math_toolkit/archetypes.html index 01a053991..6b8083aab 100644 --- a/doc/html/math_toolkit/archetypes.html +++ b/doc/html/math_toolkit/archetypes.html @@ -4,11 +4,10 @@ Conceptual Archetypes for Reals and Distributions - + - @@ -178,7 +177,9 @@ implemented in there too.)

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/asin.html b/doc/html/math_toolkit/asin.html index d24d24160..f41968c9f 100644 --- a/doc/html/math_toolkit/asin.html +++ b/doc/html/math_toolkit/asin.html @@ -4,11 +4,10 @@ asin - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/asinh.html b/doc/html/math_toolkit/asinh.html index 42166c69b..f495ad9a4 100644 --- a/doc/html/math_toolkit/asinh.html +++ b/doc/html/math_toolkit/asinh.html @@ -4,11 +4,10 @@ asinh - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/atan.html b/doc/html/math_toolkit/atan.html index 6ebf1f0a3..6189591fe 100644 --- a/doc/html/math_toolkit/atan.html +++ b/doc/html/math_toolkit/atan.html @@ -4,11 +4,10 @@ atan - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/atanh.html b/doc/html/math_toolkit/atanh.html index 4e63a8612..16e89c8fb 100644 --- a/doc/html/math_toolkit/atanh.html +++ b/doc/html/math_toolkit/atanh.html @@ -4,11 +4,10 @@ atanh - + - @@ -48,7 +47,9 @@ Formula:

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/autodiff.html b/doc/html/math_toolkit/autodiff.html index fd4fdc587..6e4b20a98 100644 --- a/doc/html/math_toolkit/autodiff.html +++ b/doc/html/math_toolkit/autodiff.html @@ -4,11 +4,10 @@ Automatic Differentiation - + - @@ -400,7 +399,9 @@ put gamma = 0.00199852 manual.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bad_guess.html b/doc/html/math_toolkit/bad_guess.html index d873721a2..756d31764 100644 --- a/doc/html/math_toolkit/bad_guess.html +++ b/doc/html/math_toolkit/bad_guess.html @@ -4,11 +4,10 @@ The Effect of a Poor Initial Guess - + - @@ -758,7 +757,9 @@ when using derivatives.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bad_roots.html b/doc/html/math_toolkit/bad_roots.html index df4e4eccc..f26e434e0 100644 --- a/doc/html/math_toolkit/bad_roots.html +++ b/doc/html/math_toolkit/bad_roots.html @@ -4,11 +4,10 @@ Examples Where Root Finding Goes Wrong - + - @@ -109,7 +108,9 @@ and for z0 > 0 the steps are actually divergent.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/barycentric.html b/doc/html/math_toolkit/barycentric.html index 5d443533a..659ded546 100644 --- a/doc/html/math_toolkit/barycentric.html +++ b/doc/html/math_toolkit/barycentric.html @@ -4,11 +4,10 @@ Barycentric Rational Interpolation - + - @@ -269,7 +268,9 @@ Abscissa value that yields a potential of 3 = 0.604728 Root was found in 10 iterations. -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel.html b/doc/html/math_toolkit/bessel.html index ba429d56e..bfcd26d3b 100644 --- a/doc/html/math_toolkit/bessel.html +++ b/doc/html/math_toolkit/bessel.html @@ -4,11 +4,10 @@ Bessel Functions - + - @@ -41,7 +40,9 @@ the Bessel Functions -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_derivatives.html b/doc/html/math_toolkit/bessel/bessel_derivatives.html index 9c3b68f06..129a03766 100644 --- a/doc/html/math_toolkit/bessel/bessel_derivatives.html +++ b/doc/html/math_toolkit/bessel/bessel_derivatives.html @@ -4,11 +4,10 @@ Derivatives of the Bessel Functions - + - @@ -1437,7 +1436,9 @@

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_first.html b/doc/html/math_toolkit/bessel/bessel_first.html index 46e55e05d..e5942506b 100644 --- a/doc/html/math_toolkit/bessel/bessel_first.html +++ b/doc/html/math_toolkit/bessel/bessel_first.html @@ -4,11 +4,10 @@ Bessel Functions of the First and Second Kinds - + - @@ -1368,7 +1367,9 @@ are also computed by recursions (involving gamma functions), but recurrence.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_over.html b/doc/html/math_toolkit/bessel/bessel_over.html index 1960c93ce..c2a200ddf 100644 --- a/doc/html/math_toolkit/bessel/bessel_over.html +++ b/doc/html/math_toolkit/bessel/bessel_over.html @@ -4,11 +4,10 @@ Bessel Function Overview - + - @@ -216,7 +215,9 @@ is also known as the spherical and sph_neumann.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/bessel_root.html b/doc/html/math_toolkit/bessel/bessel_root.html index 92971a064..f2d03c3a7 100644 --- a/doc/html/math_toolkit/bessel/bessel_root.html +++ b/doc/html/math_toolkit/bessel/bessel_root.html @@ -4,11 +4,10 @@ Finding Zeros of Bessel Functions of the First and Second Kinds - + - @@ -756,7 +755,9 @@ Alpha.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/mbessel.html b/doc/html/math_toolkit/bessel/mbessel.html index bfd73b84d..1d5880d21 100644 --- a/doc/html/math_toolkit/bessel/mbessel.html +++ b/doc/html/math_toolkit/bessel/mbessel.html @@ -4,11 +4,10 @@ Modified Bessel Functions of the First and Second Kinds - + - @@ -1181,7 +1180,9 @@ are also computed by recursions (involving gamma functions), but two values and fν, the Wronskian yields Iν(x) directly.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bessel/sph_bessel.html b/doc/html/math_toolkit/bessel/sph_bessel.html index d42a7bbfe..025b803cc 100644 --- a/doc/html/math_toolkit/bessel/sph_bessel.html +++ b/doc/html/math_toolkit/bessel/sph_bessel.html @@ -4,11 +4,10 @@ Spherical Bessel Functions of the First and Second Kinds - + - @@ -273,7 +272,9 @@ for small x: main definition as x → 0.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bezier_polynomial.html b/doc/html/math_toolkit/bezier_polynomial.html index 6dd232725..5ec26eeeb 100644 --- a/doc/html/math_toolkit/bezier_polynomial.html +++ b/doc/html/math_toolkit/bezier_polynomial.html @@ -4,11 +4,10 @@ Bezier Polynomials - + - @@ -234,7 +233,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bilinear_uniform.html b/doc/html/math_toolkit/bilinear_uniform.html index e5b9a43fd..26cca6dff 100644 --- a/doc/html/math_toolkit/bilinear_uniform.html +++ b/doc/html/math_toolkit/bilinear_uniform.html @@ -4,11 +4,10 @@ Bilinear Uniform Interpolation - + - @@ -125,7 +124,9 @@ Bilinear<double>/819213.2ns -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/bivariate_statistics.html b/doc/html/math_toolkit/bivariate_statistics.html index 5b39e5da5..1435f6165 100644 --- a/doc/html/math_toolkit/bivariate_statistics.html +++ b/doc/html/math_toolkit/bivariate_statistics.html @@ -4,11 +4,10 @@ Bivariate Statistics - + - @@ -138,7 +137,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/brent_minima.html b/doc/html/math_toolkit/brent_minima.html index 4315a77e3..de2304809 100644 --- a/doc/html/math_toolkit/brent_minima.html +++ b/doc/html/math_toolkit/brent_minima.html @@ -4,11 +4,10 @@ Locating Function Minima using Brent's algorithm - + - @@ -650,7 +649,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/building.html b/doc/html/math_toolkit/building.html index f49a9f9e3..c270a5a7d 100644 --- a/doc/html/math_toolkit/building.html +++ b/doc/html/math_toolkit/building.html @@ -4,11 +4,10 @@ If and How to Build a Boost.Math Library, and its Examples and Tests - + - @@ -146,7 +145,9 @@ the sources. Boost.Build will do this automatically when appropriate.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/c99.html b/doc/html/math_toolkit/c99.html index 3867e1376..588156932 100644 --- a/doc/html/math_toolkit/c99.html +++ b/doc/html/math_toolkit/c99.html @@ -4,11 +4,10 @@ C99 C Functions - + - @@ -462,7 +461,9 @@ ISO Standard

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_cubic_b.html b/doc/html/math_toolkit/cardinal_cubic_b.html index faf45cf96..62dca0037 100644 --- a/doc/html/math_toolkit/cardinal_cubic_b.html +++ b/doc/html/math_toolkit/cardinal_cubic_b.html @@ -4,11 +4,10 @@ Cardinal Cubic B-spline interpolation - + - @@ -312,7 +311,9 @@ The population of the United States surpassed 100 million on the 11th month of 1 Found in 3 iterations -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_quadratic_b.html b/doc/html/math_toolkit/cardinal_quadratic_b.html index fed84661e..adf171794 100644 --- a/doc/html/math_toolkit/cardinal_quadratic_b.html +++ b/doc/html/math_toolkit/cardinal_quadratic_b.html @@ -4,11 +4,10 @@ Cardinal Quadratic B-spline interpolation - + - @@ -84,7 +83,9 @@ differentiable, but not three or four times differentiable.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_quintic_b.html b/doc/html/math_toolkit/cardinal_quintic_b.html index 796123935..30d27e017 100644 --- a/doc/html/math_toolkit/cardinal_quintic_b.html +++ b/doc/html/math_toolkit/cardinal_quintic_b.html @@ -4,11 +4,10 @@ Cardinal Quintic B-spline interpolation - + - @@ -121,7 +120,9 @@ of data by spline functions. Diss. City, University of London, 1975.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cardinal_trigonometric.html b/doc/html/math_toolkit/cardinal_trigonometric.html index 4c9049f63..230f548a4 100644 --- a/doc/html/math_toolkit/cardinal_trigonometric.html +++ b/doc/html/math_toolkit/cardinal_trigonometric.html @@ -4,11 +4,10 @@ Cardinal Trigonometric interpolation - + - @@ -149,7 +148,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/catmull_rom.html b/doc/html/math_toolkit/catmull_rom.html index 7867e8ff3..dfe10da16 100644 --- a/doc/html/math_toolkit/catmull_rom.html +++ b/doc/html/math_toolkit/catmull_rom.html @@ -4,11 +4,10 @@ Catmull-Rom Splines - + - @@ -352,7 +351,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/ccmath.html b/doc/html/math_toolkit/ccmath.html index 670550ee7..ad68936f9 100644 --- a/doc/html/math_toolkit/ccmath.html +++ b/doc/html/math_toolkit/ccmath.html @@ -4,11 +4,10 @@ Constexpr CMath - + - @@ -233,7 +232,9 @@ }// Namespaces -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/chatterjee_correlation.html b/doc/html/math_toolkit/chatterjee_correlation.html deleted file mode 100644 index b00f73260..000000000 --- a/doc/html/math_toolkit/chatterjee_correlation.html +++ /dev/null @@ -1,132 +0,0 @@ - - - -Chatterjee Correlation - - - - - - - - - - - - - - - - -
      Boost C++ LibrariesHomeLibrariesPeopleFAQMore
      -
      -
      -PrevUpHomeNext -
      -
      - -

      - - Synopsis -

      -
      #include <boost/math/statistics/chatterjee_correlation.hpp>
      -
      -namespace boost::math::statistics {
      -
      -    C++17:
      -    template <typename ExecutionPolicy, typename Container>
      -    auto chatterjee_correlation(ExecutionPolicy&& exec, const Container& u, const Container& v);
      -
      -    C++11:
      -    template <typename Container>
      -    auto chatterjee_correlation(const Container& u, const Container& v);
      -}
      -
      -

      - - Description -

      -

      - The classical correlation coefficients like the Pearson's correlation are useful - primarily for distinguishing when one dataset depends linearly on another. - However, Pearson's correlation coefficient has a known weakness in that when - the dependent variable has an obvious functional relationship with the independent - variable, the value of the correlation coefficient can take on any value. As - Chatterjee says: -

      -

      - > Ideally, one would like a coefficient that approaches its maximum value - if and only if one variable looks more and more like a noiseless function of - the other, just as Pearson correlation is close to its maximum value if and - only if one variable is close to being a noiseless linear function of the other. -

      -

      - This is the problem Chatterjee's coefficient solves. Let X and Y be random - variables, where Y is not constant, and let (X_i, Y_i) be samples from this - distribution. Rearrange these samples so that X_(0) < X_{(1)} < ... X_{(n-1)} - and create (R(X_{(i)}), R(Y_{(i)})). The Chatterjee correlation is then given - by -

      -

      - -

      -

      - In the limit of an infinite amount of i.i.d data, the statistic lies in [0, - 1]. However, if the data is not infinite, the statistic may be negative. If - X and Y are independent, the value is zero, and if Y is a measurable function - of X, then the statistic is unity. The complexity is O(n log n). -

      -

      - An example is given below: -

      -
      std::vector<double> X{1,2,3,4,5};
      -std::vector<double> Y{1,2,3,4,5};
      -using boost::math::statistics::chatterjee_correlation;
      -double coeff = chatterjee_correlation(X, Y);
      -
      -

      - The implementation follows Chatterjee's - paper. -

      -

      - Nota bene: If the input is an integer type the output - will be a double precision type. -

      -

      - - Invariants -

      -

      - The function expects at least two samples, a non-constant vector Y, and the - same number of X's as Y's. If Y is constant, the result is a quiet NaN. The - data set must be sorted by X values. If there are ties in the values of X, - then the statistic is random due to the random breaking of ties. Of course, - random numbers are not used internally, but the result is not guaranteed to - be identical on different systems. -

      -

      - - References -

      -
      • - Chatterjee, Sourav. "A new coefficient of correlation." Journal - of the American Statistical Association 116.536 (2021): 2009-2022. -
      -
      - -
      -
      -PrevUpHomeNext -
      - - diff --git a/doc/html/math_toolkit/comp_compilers.html b/doc/html/math_toolkit/comp_compilers.html index 703c20936..e33a1aa75 100644 --- a/doc/html/math_toolkit/comp_compilers.html +++ b/doc/html/math_toolkit/comp_compilers.html @@ -4,11 +4,10 @@ Comparing Different Compilers - + - @@ -3193,7 +3192,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/comparisons.html b/doc/html/math_toolkit/comparisons.html index 403cf326e..9f52bfddc 100644 --- a/doc/html/math_toolkit/comparisons.html +++ b/doc/html/math_toolkit/comparisons.html @@ -4,11 +4,10 @@ Comparisons to Other Open Source Libraries - + - @@ -4719,7 +4718,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/compilers_overview.html b/doc/html/math_toolkit/compilers_overview.html index 72a0a507f..92984b75b 100644 --- a/doc/html/math_toolkit/compilers_overview.html +++ b/doc/html/math_toolkit/compilers_overview.html @@ -4,11 +4,10 @@ Compilers - + - @@ -665,7 +664,9 @@ acceptable or not.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/complex_history.html b/doc/html/math_toolkit/complex_history.html index c2518faa2..a8a2a30c8 100644 --- a/doc/html/math_toolkit/complex_history.html +++ b/doc/html/math_toolkit/complex_history.html @@ -4,11 +4,10 @@ History - + - @@ -36,7 +35,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/complex_implementation.html b/doc/html/math_toolkit/complex_implementation.html index b5573b7d1..98ee347ff 100644 --- a/doc/html/math_toolkit/complex_implementation.html +++ b/doc/html/math_toolkit/complex_implementation.html @@ -4,11 +4,10 @@ Implementation and Accuracy - + - @@ -45,7 +44,9 @@ paper for more information on the implementation methodology.

      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/cond.html b/doc/html/math_toolkit/cond.html index 95329b7ff..8b3a9fd1a 100644 --- a/doc/html/math_toolkit/cond.html +++ b/doc/html/math_toolkit/cond.html @@ -4,11 +4,10 @@ Condition Numbers - + - @@ -167,7 +166,9 @@ -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/config_macros.html b/doc/html/math_toolkit/config_macros.html index 7681b650c..4a3bb6cd4 100644 --- a/doc/html/math_toolkit/config_macros.html +++ b/doc/html/math_toolkit/config_macros.html @@ -4,11 +4,10 @@ Configuration Macros - + - @@ -365,7 +364,9 @@
      -
      + + +
      +

      PrevUpHomeNext diff --git a/doc/html/math_toolkit/constants.html b/doc/html/math_toolkit/constants.html index e3b72df28..be6e72dfa 100644 --- a/doc/html/math_toolkit/constants.html +++ b/doc/html/math_toolkit/constants.html @@ -4,11 +4,10 @@ The Mathematical Constants - + - @@ -1756,7 +1755,9 @@

      -