diff --git a/doc/html/backgrounders.html b/doc/html/backgrounders.html index 01a8d8ec4..964e00b12 100644 --- a/doc/html/backgrounders.html +++ b/doc/html/backgrounders.html @@ -3,7 +3,7 @@ Chapter 20. Backgrounders - + @@ -27,7 +27,7 @@ Chapter 20. Backgrounders

Table of Contents

-
+
Additional Implementation Notes
Tutorial: How to Write a New diff --git a/doc/html/constants.html b/doc/html/constants.html index 62e25607f..b1640fa55 100644 --- a/doc/html/constants.html +++ b/doc/html/constants.html @@ -3,7 +3,7 @@ Chapter 4. Mathematical Constants - + @@ -27,7 +27,7 @@ Chapter 4. Mathematical Constants

Table of Contents

-
+
Introduction
Tutorial
diff --git a/doc/html/cstdfloat.html b/doc/html/cstdfloat.html index fc44694cf..b9b3193d3 100644 --- a/doc/html/cstdfloat.html +++ b/doc/html/cstdfloat.html @@ -3,7 +3,7 @@ Chapter 3. Specified-width floating-point typedefs - + @@ -27,7 +27,7 @@ Chapter 3. Specified-width floating-point typedefs

Table of Contents

-
+
Overview
Rationale
Exact-Width Floating-Point diff --git a/doc/html/dist.html b/doc/html/dist.html index ad9820f26..66f2d3bb3 100644 --- a/doc/html/dist.html +++ b/doc/html/dist.html @@ -3,7 +3,7 @@ Chapter 5. Statistical Distributions and Functions - + @@ -27,7 +27,7 @@ Chapter 5. Statistical Distributions and Functions

Table of Contents

-
+
Statistical Distributions Tutorial
Overview of Distributions
diff --git a/doc/html/extern_c.html b/doc/html/extern_c.html index 4d13cf5ea..31d9a9da5 100644 --- a/doc/html/extern_c.html +++ b/doc/html/extern_c.html @@ -3,7 +3,7 @@ Chapter 7. TR1 and C99 external "C" Functions - + @@ -27,7 +27,7 @@ Chapter 7. TR1 and C99 external "C" Functions

Table of Contents

-
+
C99 and TR1 C Functions Overview
C99 C Functions
TR1 C Functions Quick Reference
diff --git a/doc/html/gcd_lcm.html b/doc/html/gcd_lcm.html index 3f22b0af9..56a86efa2 100644 --- a/doc/html/gcd_lcm.html +++ b/doc/html/gcd_lcm.html @@ -3,7 +3,7 @@ Chapter 15. Integer Utilities (Greatest Common Divisor and Least Common Multiple) - + diff --git a/doc/html/index.html b/doc/html/index.html index 3ffe72505..761b47174 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Math Toolkit 2.6.2 - + @@ -93,7 +93,7 @@ This manual is also available in

Table of Contents

-
+
1. Overview
2. Floating Point Utilities
3. Specified-width floating-point typedefs
@@ -122,7 +122,7 @@ This manual is also available in -

Last revised: September 02, 2018 at 07:28:45 GMT

+

Last revised: October 04, 2018 at 13:21:42 GMT


diff --git a/doc/html/indexes.html b/doc/html/indexes.html index 833bec429..afc066fbd 100644 --- a/doc/html/indexes.html +++ b/doc/html/indexes.html @@ -3,7 +3,7 @@ Chapter 22. Indexes - + @@ -27,7 +27,7 @@
Chapter 22. Indexes

Table of Contents

-
+
Function Index
Class Index
Typedef Index
diff --git a/doc/html/indexes/s01.html b/doc/html/indexes/s01.html index 164eb7b01..5feb81e41 100644 --- a/doc/html/indexes/s01.html +++ b/doc/html/indexes/s01.html @@ -3,7 +3,7 @@ Function Index - + @@ -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

@@ -329,6 +329,10 @@
  • +

    branch

    +
    +
  • +
  • brent_find_minima

  • @@ -1955,13 +1959,6 @@
  • -

    ln

    -
    -
  • -
  • location

  • -

    more

    -
    -
  • -
  • msg

  • @@ -2396,6 +2384,7 @@
  • prime

  • -

    required

    -
    -
  • -
  • riemann_zeta

    -Class Index

    +Class Index

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

    diff --git a/doc/html/indexes/s03.html b/doc/html/indexes/s03.html index 1fd501312..cabb7e152 100644 --- a/doc/html/indexes/s03.html +++ b/doc/html/indexes/s03.html @@ -3,7 +3,7 @@ Typedef Index - + @@ -24,7 +24,7 @@

    -Typedef Index

    +Typedef Index

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

    diff --git a/doc/html/indexes/s04.html b/doc/html/indexes/s04.html index 48a2c8452..369e0af2e 100644 --- a/doc/html/indexes/s04.html +++ b/doc/html/indexes/s04.html @@ -3,7 +3,7 @@ Macro Index - + @@ -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 fea9b4474..5700f1422 100644 --- a/doc/html/indexes/s05.html +++ b/doc/html/indexes/s05.html @@ -3,7 +3,7 @@ Index - + @@ -23,7 +23,7 @@

    -Index

    +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

    @@ -480,6 +480,7 @@
  • constants

  • expression

  • operator

  • +
  • prime

  • r

  • @@ -995,6 +996,10 @@
  • +

    branch

    +
    +
  • +
  • brent_find_minima

  • @@ -3774,7 +3779,6 @@
  • accuracy

  • Cephes

  • distribution

  • -
  • more

  • P

  • performance

  • @@ -3980,7 +3984,6 @@
  • BOOST_MATH_DISCRETE_QUANTILE_POLICY

  • BOOST_MATH_OVERFLOW_ERROR_POLICY

  • expression

  • -
  • more

  • normal

  • @@ -4543,7 +4546,6 @@

    Table of Contents

    -
    +
    Overview
    Internal tools
    diff --git a/doc/html/interpolation.html b/doc/html/interpolation.html index d44c86d08..b67206cdf 100644 --- a/doc/html/interpolation.html +++ b/doc/html/interpolation.html @@ -3,7 +3,7 @@ Chapter 10. Interpolation - + @@ -27,7 +27,7 @@ Chapter 10. Interpolation

    Table of Contents

    -
    +
    Cubic B-spline interpolation
    Barycentric Rational Interpolation
    diff --git a/doc/html/inverse_complex.html b/doc/html/inverse_complex.html index b7c975be6..c6b247dcb 100644 --- a/doc/html/inverse_complex.html +++ b/doc/html/inverse_complex.html @@ -3,7 +3,7 @@ Chapter 12. Complex Number Functions - + @@ -27,7 +27,7 @@ Chapter 12. Complex Number Functions

    Table of Contents

    -
    +
    Implementation and Accuracy
    asin
    diff --git a/doc/html/math_toolkit/acknowledgement.html b/doc/html/math_toolkit/acknowledgement.html index 1c5944c91..67ce2815e 100644 --- a/doc/html/math_toolkit/acknowledgement.html +++ b/doc/html/math_toolkit/acknowledgement.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/math_toolkit/acknowledgements.html b/doc/html/math_toolkit/acknowledgements.html index bdf237c94..81d4e78f1 100644 --- a/doc/html/math_toolkit/acknowledgements.html +++ b/doc/html/math_toolkit/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/math_toolkit/acos.html b/doc/html/math_toolkit/acos.html index 15873aec5..7188b39fb 100644 --- a/doc/html/math_toolkit/acos.html +++ b/doc/html/math_toolkit/acos.html @@ -3,7 +3,7 @@ acos - + diff --git a/doc/html/math_toolkit/acosh.html b/doc/html/math_toolkit/acosh.html index f8c339b27..b4a73350a 100644 --- a/doc/html/math_toolkit/acosh.html +++ b/doc/html/math_toolkit/acosh.html @@ -3,7 +3,7 @@ acosh - + diff --git a/doc/html/math_toolkit/airy.html b/doc/html/math_toolkit/airy.html index 01eba06e3..f12228c54 100644 --- a/doc/html/math_toolkit/airy.html +++ b/doc/html/math_toolkit/airy.html @@ -3,7 +3,7 @@ Airy Functions - + @@ -26,7 +26,7 @@ -
    +
    Airy Ai Function
    Airy Bi Function
    Airy Ai' Function
    diff --git a/doc/html/math_toolkit/airy/ai.html b/doc/html/math_toolkit/airy/ai.html index 18544cc99..c79d2b342 100644 --- a/doc/html/math_toolkit/airy/ai.html +++ b/doc/html/math_toolkit/airy/ai.html @@ -3,7 +3,7 @@ Airy Ai Function - + diff --git a/doc/html/math_toolkit/airy/aip.html b/doc/html/math_toolkit/airy/aip.html index 64d14e0a6..228a2356f 100644 --- a/doc/html/math_toolkit/airy/aip.html +++ b/doc/html/math_toolkit/airy/aip.html @@ -3,7 +3,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 b5ed91923..05c2389bf 100644 --- a/doc/html/math_toolkit/airy/airy_root.html +++ b/doc/html/math_toolkit/airy/airy_root.html @@ -3,7 +3,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 a4a8b117e..fc5327ca0 100644 --- a/doc/html/math_toolkit/airy/bi.html +++ b/doc/html/math_toolkit/airy/bi.html @@ -3,7 +3,7 @@ Airy Bi Function - + diff --git a/doc/html/math_toolkit/airy/bip.html b/doc/html/math_toolkit/airy/bip.html index 886e85b1f..91a79fdb1 100644 --- a/doc/html/math_toolkit/airy/bip.html +++ b/doc/html/math_toolkit/airy/bip.html @@ -3,7 +3,7 @@ Airy Bi' Function - + diff --git a/doc/html/math_toolkit/archetypes.html b/doc/html/math_toolkit/archetypes.html index a4796f881..d042e4000 100644 --- a/doc/html/math_toolkit/archetypes.html +++ b/doc/html/math_toolkit/archetypes.html @@ -3,7 +3,7 @@ Conceptual Archetypes for Reals and Distributions - + diff --git a/doc/html/math_toolkit/asin.html b/doc/html/math_toolkit/asin.html index a009a0eab..ea6829742 100644 --- a/doc/html/math_toolkit/asin.html +++ b/doc/html/math_toolkit/asin.html @@ -3,7 +3,7 @@ asin - + diff --git a/doc/html/math_toolkit/asinh.html b/doc/html/math_toolkit/asinh.html index f2849459a..3def42d15 100644 --- a/doc/html/math_toolkit/asinh.html +++ b/doc/html/math_toolkit/asinh.html @@ -3,7 +3,7 @@ asinh - + diff --git a/doc/html/math_toolkit/atan.html b/doc/html/math_toolkit/atan.html index 725dc8d33..e4973553a 100644 --- a/doc/html/math_toolkit/atan.html +++ b/doc/html/math_toolkit/atan.html @@ -3,7 +3,7 @@ atan - + diff --git a/doc/html/math_toolkit/atanh.html b/doc/html/math_toolkit/atanh.html index 3f3756547..089c90b9a 100644 --- a/doc/html/math_toolkit/atanh.html +++ b/doc/html/math_toolkit/atanh.html @@ -3,7 +3,7 @@ atanh - + diff --git a/doc/html/math_toolkit/bad_guess.html b/doc/html/math_toolkit/bad_guess.html index 330d99a8e..f21fe798a 100644 --- a/doc/html/math_toolkit/bad_guess.html +++ b/doc/html/math_toolkit/bad_guess.html @@ -3,7 +3,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 895d0ea19..32fe9a5aa 100644 --- a/doc/html/math_toolkit/bad_roots.html +++ b/doc/html/math_toolkit/bad_roots.html @@ -3,7 +3,7 @@ Examples Where Root Finding Goes Wrong - + @@ -40,7 +40,7 @@ If you start in the wrong place, such as z0 here:

    - +

    Then almost any root-finding algorithm will descend into a local minima rather @@ -55,7 +55,7 @@ is essentially zero:

    - +

    In this situation the next iteration will shoot off to infinity (assuming we're @@ -75,7 +75,7 @@ this case:

    - +

    An initial Newton step would take you further from the root than you started, @@ -90,7 +90,7 @@ Consider starting at z0 in this situation:

    - +

    The first derivative is essentially infinite, and the second close to zero diff --git a/doc/html/math_toolkit/barycentric.html b/doc/html/math_toolkit/barycentric.html index 37c3aadc6..d0cab596c 100644 --- a/doc/html/math_toolkit/barycentric.html +++ b/doc/html/math_toolkit/barycentric.html @@ -3,7 +3,7 @@ Barycentric Rational Interpolation - + @@ -42,6 +42,8 @@ barycentric_rational(const Real* const x, const Real* const y, size_t n, size_t approximation_order = 3); Real operator()(Real x) const; + + Real prime(Real x) const; }; }} @@ -78,6 +80,11 @@

    double x = 2.3;
     double y = interpolant(x);
     
    +

    + and to evaluate its derivative use +

    +
    double y = interpolant.prime(x);
    +

    Although this algorithm is robust, it can surprise you. The main way this occurs is if the sample spacing at the endpoints is much larger than the spacing in @@ -87,7 +94,9 @@

    The reference used for implementation of this algorithm is Barycentric - rational interpolation with no poles and a high rate of interpolation. + rational interpolation with no poles and a high rate of interpolation, + and the evaluation of the derivative is given by Some + New Aspects of Rational Interpolation.

    diff --git a/doc/html/math_toolkit/bessel.html b/doc/html/math_toolkit/bessel.html index b95eb9fd9..c7a768009 100644 --- a/doc/html/math_toolkit/bessel.html +++ b/doc/html/math_toolkit/bessel.html @@ -3,7 +3,7 @@ Bessel Functions - + @@ -26,7 +26,7 @@ -
    +
    Bessel Function Overview
    Bessel Functions of the First and Second Kinds
    diff --git a/doc/html/math_toolkit/bessel/bessel_derivatives.html b/doc/html/math_toolkit/bessel/bessel_derivatives.html index 1e8b949ce..3cf4c121a 100644 --- a/doc/html/math_toolkit/bessel/bessel_derivatives.html +++ b/doc/html/math_toolkit/bessel/bessel_derivatives.html @@ -3,7 +3,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 48647eb77..13814e6f3 100644 --- a/doc/html/math_toolkit/bessel/bessel_first.html +++ b/doc/html/math_toolkit/bessel/bessel_first.html @@ -3,7 +3,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 bc097a88c..5a51a2ca4 100644 --- a/doc/html/math_toolkit/bessel/bessel_over.html +++ b/doc/html/math_toolkit/bessel/bessel_over.html @@ -3,7 +3,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 bb45854ae..a7245d0a1 100644 --- a/doc/html/math_toolkit/bessel/bessel_root.html +++ b/doc/html/math_toolkit/bessel/bessel_root.html @@ -3,7 +3,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 6fa140560..cdc018723 100644 --- a/doc/html/math_toolkit/bessel/mbessel.html +++ b/doc/html/math_toolkit/bessel/mbessel.html @@ -3,7 +3,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 1b0c67079..5f49b85c7 100644 --- a/doc/html/math_toolkit/bessel/sph_bessel.html +++ b/doc/html/math_toolkit/bessel/sph_bessel.html @@ -3,7 +3,7 @@ Spherical Bessel Functions of the First and Second Kinds - + diff --git a/doc/html/math_toolkit/brent_minima.html b/doc/html/math_toolkit/brent_minima.html index 6f2b3a585..6d794d096 100644 --- a/doc/html/math_toolkit/brent_minima.html +++ b/doc/html/math_toolkit/brent_minima.html @@ -3,7 +3,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 60635005b..a8bbf2987 100644 --- a/doc/html/math_toolkit/building.html +++ b/doc/html/math_toolkit/building.html @@ -3,7 +3,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 bd04a3df4..cdc4a5fd0 100644 --- a/doc/html/math_toolkit/c99.html +++ b/doc/html/math_toolkit/c99.html @@ -3,7 +3,7 @@ C99 C Functions - + diff --git a/doc/html/math_toolkit/comp_compilers.html b/doc/html/math_toolkit/comp_compilers.html index f01b6b6ce..f58045aeb 100644 --- a/doc/html/math_toolkit/comp_compilers.html +++ b/doc/html/math_toolkit/comp_compilers.html @@ -3,7 +3,7 @@ Comparing Different Compilers - + diff --git a/doc/html/math_toolkit/comparisons.html b/doc/html/math_toolkit/comparisons.html index d88d6d766..a65a3f869 100644 --- a/doc/html/math_toolkit/comparisons.html +++ b/doc/html/math_toolkit/comparisons.html @@ -3,7 +3,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 f4b7ed142..0a3c86604 100644 --- a/doc/html/math_toolkit/compilers_overview.html +++ b/doc/html/math_toolkit/compilers_overview.html @@ -3,7 +3,7 @@ Compilers - + diff --git a/doc/html/math_toolkit/complex_history.html b/doc/html/math_toolkit/complex_history.html index 00bc465a8..98d435476 100644 --- a/doc/html/math_toolkit/complex_history.html +++ b/doc/html/math_toolkit/complex_history.html @@ -3,7 +3,7 @@ History - + diff --git a/doc/html/math_toolkit/complex_implementation.html b/doc/html/math_toolkit/complex_implementation.html index 971bc9101..1429ce897 100644 --- a/doc/html/math_toolkit/complex_implementation.html +++ b/doc/html/math_toolkit/complex_implementation.html @@ -3,7 +3,7 @@ Implementation and Accuracy - + diff --git a/doc/html/math_toolkit/config_macros.html b/doc/html/math_toolkit/config_macros.html index bed303beb..aed6d5023 100644 --- a/doc/html/math_toolkit/config_macros.html +++ b/doc/html/math_toolkit/config_macros.html @@ -3,7 +3,7 @@ Configuration Macros - + diff --git a/doc/html/math_toolkit/constants.html b/doc/html/math_toolkit/constants.html index 53a5909f9..b35d4cf97 100644 --- a/doc/html/math_toolkit/constants.html +++ b/doc/html/math_toolkit/constants.html @@ -3,7 +3,7 @@ The Mathematical Constants - + diff --git a/doc/html/math_toolkit/constants_faq.html b/doc/html/math_toolkit/constants_faq.html index 7ad761118..85e419e84 100644 --- a/doc/html/math_toolkit/constants_faq.html +++ b/doc/html/math_toolkit/constants_faq.html @@ -3,7 +3,7 @@ FAQs - + diff --git a/doc/html/math_toolkit/constants_intro.html b/doc/html/math_toolkit/constants_intro.html index 666d4dcba..578f4e368 100644 --- a/doc/html/math_toolkit/constants_intro.html +++ b/doc/html/math_toolkit/constants_intro.html @@ -3,7 +3,7 @@ Introduction - + diff --git a/doc/html/math_toolkit/contact.html b/doc/html/math_toolkit/contact.html index 09519ffef..d93410661 100644 --- a/doc/html/math_toolkit/contact.html +++ b/doc/html/math_toolkit/contact.html @@ -3,7 +3,7 @@ Contact Info and Support - + diff --git a/doc/html/math_toolkit/conventions.html b/doc/html/math_toolkit/conventions.html index 31048d466..4f3fceb39 100644 --- a/doc/html/math_toolkit/conventions.html +++ b/doc/html/math_toolkit/conventions.html @@ -3,7 +3,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 dd6b33e00..c8d61dcba 100644 --- a/doc/html/math_toolkit/create.html +++ b/doc/html/math_toolkit/create.html @@ -3,7 +3,7 @@ Quaternion Creation Functions - + diff --git a/doc/html/math_toolkit/credits.html b/doc/html/math_toolkit/credits.html index 18aa473e4..d5a841dea 100644 --- a/doc/html/math_toolkit/credits.html +++ b/doc/html/math_toolkit/credits.html @@ -3,7 +3,7 @@ Credits and Acknowledgements - + diff --git a/doc/html/math_toolkit/cubic_b.html b/doc/html/math_toolkit/cubic_b.html index 98884e073..44edecf74 100644 --- a/doc/html/math_toolkit/cubic_b.html +++ b/doc/html/math_toolkit/cubic_b.html @@ -3,7 +3,7 @@ Cubic B-spline interpolation - + @@ -39,7 +39,7 @@ { public: - template <class BidiIterator> + template <class BidiIterator> cubic_b_spline(BidiIterator a, BidiIterator b, Real left_endpoint, Real step_size, Real left_endpoint_derivative = std::numeric_limits<Real>::quiet_NaN(), Real right_endpoint_derivative = std::numeric_limits<Real>::quiet_NaN()); diff --git a/doc/html/math_toolkit/diff.html b/doc/html/math_toolkit/diff.html index a7e6b3c67..37acb4b9a 100644 --- a/doc/html/math_toolkit/diff.html +++ b/doc/html/math_toolkit/diff.html @@ -3,7 +3,7 @@ Numerical Differentiation - + diff --git a/doc/html/math_toolkit/directories.html b/doc/html/math_toolkit/directories.html index 7662f6c77..910bb9f61 100644 --- a/doc/html/math_toolkit/directories.html +++ b/doc/html/math_toolkit/directories.html @@ -3,7 +3,7 @@ Directory and File Structure - + diff --git a/doc/html/math_toolkit/dist_concept.html b/doc/html/math_toolkit/dist_concept.html index 784641718..c78170e9d 100644 --- a/doc/html/math_toolkit/dist_concept.html +++ b/doc/html/math_toolkit/dist_concept.html @@ -3,7 +3,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 1a7db9a95..3a3a6f17e 100644 --- a/doc/html/math_toolkit/dist_ref.html +++ b/doc/html/math_toolkit/dist_ref.html @@ -3,7 +3,7 @@ Statistical Distributions Reference - + @@ -26,7 +26,7 @@

    Statistical Distributions Reference

    -
    +
    Non-Member Properties
    Distributions
    diff --git a/doc/html/math_toolkit/dist_ref/dist_algorithms.html b/doc/html/math_toolkit/dist_ref/dist_algorithms.html index 05c36c9b7..a5dd5e28f 100644 --- a/doc/html/math_toolkit/dist_ref/dist_algorithms.html +++ b/doc/html/math_toolkit/dist_ref/dist_algorithms.html @@ -3,7 +3,7 @@ Distribution Algorithms - + diff --git a/doc/html/math_toolkit/dist_ref/dists.html b/doc/html/math_toolkit/dist_ref/dists.html index 532a0a06e..684c68fe3 100644 --- a/doc/html/math_toolkit/dist_ref/dists.html +++ b/doc/html/math_toolkit/dist_ref/dists.html @@ -3,7 +3,7 @@ Distributions - + @@ -26,7 +26,7 @@ -
    +
    Arcsine Distribution
    Bernoulli Distribution
    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 36ba922b5..fd95704eb 100644 --- a/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/arcine_dist.html @@ -3,7 +3,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 8bbbd42e5..ca6c61d8b 100644 --- a/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html @@ -3,7 +3,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 2dd6fd013..6ca925a5c 100644 --- a/doc/html/math_toolkit/dist_ref/dists/beta_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/beta_dist.html @@ -3,7 +3,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 95ed086d9..b4fc079c8 100644 --- a/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html @@ -3,7 +3,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 fb23cea11..a6f846380 100644 --- a/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html @@ -3,7 +3,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 ecec89178..434a91563 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 @@ -3,7 +3,7 @@ Chi Squared Distribution - + 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 a8906b839..edc68e018 100644 --- a/doc/html/math_toolkit/dist_ref/dists/exp_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/exp_dist.html @@ -3,7 +3,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 5c32d6019..9bcc2cc1d 100644 --- a/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html @@ -3,7 +3,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 498c7ef4b..cbe35b12d 100644 --- a/doc/html/math_toolkit/dist_ref/dists/f_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/f_dist.html @@ -3,7 +3,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 9cfee6000..4a0831950 100644 --- a/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html @@ -3,7 +3,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 be86825f5..de6913831 100644 --- a/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html @@ -3,7 +3,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 440895e0d..8572a88b7 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html @@ -3,7 +3,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 104a50908..13d1a29f2 100644 --- a/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html @@ -3,7 +3,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 11863e933..dd1f3def3 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 @@ -3,7 +3,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 5652d1e4c..151c2d912 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 @@ -3,7 +3,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 cd3117426..44784fe19 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 @@ -3,7 +3,7 @@ Inverse Gaussian (or Inverse Normal) 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 61ca8960d..77c07279e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html @@ -3,7 +3,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 47be074cb..27cfb205e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html @@ -3,7 +3,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 779b91597..3a9e2e3a4 100644 --- a/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html @@ -3,7 +3,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 1223971bd..06d1e948f 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 @@ -3,7 +3,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 0f486f43a..8887213d2 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 @@ -3,7 +3,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 7853f700e..734434f0a 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 @@ -3,7 +3,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 8e56697b8..bd85ec45e 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 @@ -3,7 +3,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 c419f24a9..e8060775e 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 @@ -3,7 +3,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 1ed47d3c5..60755b85f 100644 --- a/doc/html/math_toolkit/dist_ref/dists/normal_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/normal_dist.html @@ -3,7 +3,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 8d6208c7b..661540ff7 100644 --- a/doc/html/math_toolkit/dist_ref/dists/pareto.html +++ b/doc/html/math_toolkit/dist_ref/dists/pareto.html @@ -3,7 +3,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 53d8317b8..03fb0188e 100644 --- a/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html @@ -3,7 +3,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 f9fa05871..1473d9e33 100644 --- a/doc/html/math_toolkit/dist_ref/dists/rayleigh.html +++ b/doc/html/math_toolkit/dist_ref/dists/rayleigh.html @@ -3,7 +3,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 6b0d047fe..d0ec9f4c4 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 @@ -3,7 +3,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 29a13aaf1..a19130e26 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 @@ -3,7 +3,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 c1bf97aff..7b648f098 100644 --- a/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html @@ -3,7 +3,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 53b2ca1bc..a61b9a4e9 100644 --- a/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html @@ -3,7 +3,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 753523c2a..b21005b3d 100644 --- a/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html +++ b/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html @@ -3,7 +3,7 @@ Weibull Distribution - + diff --git a/doc/html/math_toolkit/dist_ref/nmp.html b/doc/html/math_toolkit/dist_ref/nmp.html index 5de59eeff..e21da808c 100644 --- a/doc/html/math_toolkit/dist_ref/nmp.html +++ b/doc/html/math_toolkit/dist_ref/nmp.html @@ -3,7 +3,7 @@ Non-Member Properties - + diff --git a/doc/html/math_toolkit/double_exponential.html b/doc/html/math_toolkit/double_exponential.html index 59aed0a56..873d8765a 100644 --- a/doc/html/math_toolkit/double_exponential.html +++ b/doc/html/math_toolkit/double_exponential.html @@ -3,7 +3,7 @@ Double-exponential quadrature - + @@ -26,7 +26,7 @@ -
    +
    Overview
    tanh_sinh
    Handling diff --git a/doc/html/math_toolkit/double_exponential/de_caveats.html b/doc/html/math_toolkit/double_exponential/de_caveats.html index 66bb3c8dc..5cba6b0a8 100644 --- a/doc/html/math_toolkit/double_exponential/de_caveats.html +++ b/doc/html/math_toolkit/double_exponential/de_caveats.html @@ -3,7 +3,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 2b35f152c..d3c3fe8c3 100644 --- a/doc/html/math_toolkit/double_exponential/de_exp_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_exp_sinh.html @@ -3,7 +3,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 88f3992e3..dc46d9d2b 100644 --- a/doc/html/math_toolkit/double_exponential/de_levels.html +++ b/doc/html/math_toolkit/double_exponential/de_levels.html @@ -3,7 +3,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 19a74bb98..7c63e0b46 100644 --- a/doc/html/math_toolkit/double_exponential/de_overview.html +++ b/doc/html/math_toolkit/double_exponential/de_overview.html @@ -3,7 +3,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 22382424f..242d8ca3f 100644 --- a/doc/html/math_toolkit/double_exponential/de_refes.html +++ b/doc/html/math_toolkit/double_exponential/de_refes.html @@ -3,7 +3,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 a9be0b814..25f127bf3 100644 --- a/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_sinh_sinh.html @@ -3,7 +3,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 5dd6bccfd..19dddf922 100644 --- a/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html +++ b/doc/html/math_toolkit/double_exponential/de_tanh_sinh.html @@ -3,7 +3,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 dd51944ca..b4b6d7e09 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 @@ -3,7 +3,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 d9c3fee52..8f4fc8203 100644 --- a/doc/html/math_toolkit/double_exponential/de_thread.html +++ b/doc/html/math_toolkit/double_exponential/de_thread.html @@ -3,7 +3,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 387b4c04b..eea707c75 100644 --- a/doc/html/math_toolkit/double_exponential/de_tol.html +++ b/doc/html/math_toolkit/double_exponential/de_tol.html @@ -3,7 +3,7 @@ Setting the Termination Condition for Integration - + diff --git a/doc/html/math_toolkit/ellint.html b/doc/html/math_toolkit/ellint.html index 3d774eccb..95436dbc8 100644 --- a/doc/html/math_toolkit/ellint.html +++ b/doc/html/math_toolkit/ellint.html @@ -3,7 +3,7 @@ Elliptic Integrals - + @@ -26,7 +26,7 @@ -
    +
    Elliptic Integral Overview
    Elliptic Integrals - Carlson Form
    diff --git a/doc/html/math_toolkit/ellint/ellint_1.html b/doc/html/math_toolkit/ellint/ellint_1.html index 07e89a5fc..af6fbd439 100644 --- a/doc/html/math_toolkit/ellint/ellint_1.html +++ b/doc/html/math_toolkit/ellint/ellint_1.html @@ -3,7 +3,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 2d381b2fa..d978c111a 100644 --- a/doc/html/math_toolkit/ellint/ellint_2.html +++ b/doc/html/math_toolkit/ellint/ellint_2.html @@ -3,7 +3,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 d39519e1a..2c7ac79ac 100644 --- a/doc/html/math_toolkit/ellint/ellint_3.html +++ b/doc/html/math_toolkit/ellint/ellint_3.html @@ -3,7 +3,7 @@ Elliptic Integrals of the Third Kind - Legendre Form - + @@ -305,7 +305,7 @@ Π(n, φ+mπ, k) = Π(n, φ, k) + 2mΠ(n, k) ; n <= 1

    - Π(n, φ+mπ, k) = Π(n, φ, k) ; n > 1 [1] + Π(n, φ+mπ, k) = Π(n, φ, k) ; n > 1 [1]

    are used to move φ   to the range [0, π/2]. @@ -324,7 +324,7 @@

    -

    +

    [1] I haven't been able to find a literature reference for this relation, but it appears to be the convention used by Mathematica. Intuitively the first diff --git a/doc/html/math_toolkit/ellint/ellint_carlson.html b/doc/html/math_toolkit/ellint/ellint_carlson.html index a97718e47..6d2adee3f 100644 --- a/doc/html/math_toolkit/ellint/ellint_carlson.html +++ b/doc/html/math_toolkit/ellint/ellint_carlson.html @@ -3,7 +3,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 9d4683b19..c1df360b5 100644 --- a/doc/html/math_toolkit/ellint/ellint_d.html +++ b/doc/html/math_toolkit/ellint/ellint_d.html @@ -3,7 +3,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 e4fdd5228..313b0e6ea 100644 --- a/doc/html/math_toolkit/ellint/ellint_intro.html +++ b/doc/html/math_toolkit/ellint/ellint_intro.html @@ -3,7 +3,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 0efb96316..33671eeeb 100644 --- a/doc/html/math_toolkit/ellint/heuman_lambda.html +++ b/doc/html/math_toolkit/ellint/heuman_lambda.html @@ -3,7 +3,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 f5731eed0..d53606fc5 100644 --- a/doc/html/math_toolkit/ellint/jacobi_zeta.html +++ b/doc/html/math_toolkit/ellint/jacobi_zeta.html @@ -3,7 +3,7 @@ Jacobi Zeta Function - + diff --git a/doc/html/math_toolkit/error_handling.html b/doc/html/math_toolkit/error_handling.html index 796388927..73ab28cab 100644 --- a/doc/html/math_toolkit/error_handling.html +++ b/doc/html/math_toolkit/error_handling.html @@ -3,7 +3,7 @@ Error Handling - + diff --git a/doc/html/math_toolkit/exact_typdefs.html b/doc/html/math_toolkit/exact_typdefs.html index ab01932ad..76faadc82 100644 --- a/doc/html/math_toolkit/exact_typdefs.html +++ b/doc/html/math_toolkit/exact_typdefs.html @@ -3,7 +3,7 @@ Exact-Width Floating-Point typedefs - + diff --git a/doc/html/math_toolkit/examples.html b/doc/html/math_toolkit/examples.html index 837eb48ac..7095a7fe2 100644 --- a/doc/html/math_toolkit/examples.html +++ b/doc/html/math_toolkit/examples.html @@ -3,7 +3,7 @@ Examples - + diff --git a/doc/html/math_toolkit/exp.html b/doc/html/math_toolkit/exp.html index 09da3c020..6b5f714a9 100644 --- a/doc/html/math_toolkit/exp.html +++ b/doc/html/math_toolkit/exp.html @@ -3,7 +3,7 @@ The Quaternionic Exponential - + diff --git a/doc/html/math_toolkit/expint.html b/doc/html/math_toolkit/expint.html index b25e4ea38..12db3ea63 100644 --- a/doc/html/math_toolkit/expint.html +++ b/doc/html/math_toolkit/expint.html @@ -3,7 +3,7 @@ Exponential Integrals - + @@ -26,7 +26,7 @@

    -
    + diff --git a/doc/html/math_toolkit/expint/expint_i.html b/doc/html/math_toolkit/expint/expint_i.html index baf71c47f..398b7284a 100644 --- a/doc/html/math_toolkit/expint/expint_i.html +++ b/doc/html/math_toolkit/expint/expint_i.html @@ -3,7 +3,7 @@ Exponential Integral Ei - + @@ -272,7 +272,7 @@ a minimax rational approximation rescaled so that it is evaluated over [-1,1]. Note that while the rational approximation over [0,6] converges rapidly to the minimax solution it is rather ill-conditioned in practice. Cody and Thacher - [5] experienced the same issue and converted the polynomials into + [5] experienced the same issue and converted the polynomials into Chebeshev form to ensure stable computation. By experiment we found that the polynomials are just as stable in polynomial as Chebyshev form, provided they are computed over the interval [-1,1]. @@ -299,7 +299,7 @@ involved.

    -

    +

    [5] W. J. Cody and H. C. Thacher, Jr., Rational Chebyshev approximations for the exponential integral E1(x), Math. Comp. 22 (1968), 641-649, and W. diff --git a/doc/html/math_toolkit/expint/expint_n.html b/doc/html/math_toolkit/expint/expint_n.html index 41f945e2f..3a8bedc20 100644 --- a/doc/html/math_toolkit/expint/expint_n.html +++ b/doc/html/math_toolkit/expint/expint_n.html @@ -3,7 +3,7 @@ Exponential Integral En - + diff --git a/doc/html/math_toolkit/factorials.html b/doc/html/math_toolkit/factorials.html index c6675b28a..39051ce4e 100644 --- a/doc/html/math_toolkit/factorials.html +++ b/doc/html/math_toolkit/factorials.html @@ -3,7 +3,7 @@ Factorials and Binomial Coefficients - + @@ -26,7 +26,7 @@

    -
    +
    Factorial
    Double Factorial
    Rising Factorial
    diff --git a/doc/html/math_toolkit/factorials/sf_binomial.html b/doc/html/math_toolkit/factorials/sf_binomial.html index d88a56f57..eb27d379e 100644 --- a/doc/html/math_toolkit/factorials/sf_binomial.html +++ b/doc/html/math_toolkit/factorials/sf_binomial.html @@ -3,7 +3,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 52e18cc3b..04d73c631 100644 --- a/doc/html/math_toolkit/factorials/sf_double_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_double_factorial.html @@ -3,7 +3,7 @@ Double Factorial - + diff --git a/doc/html/math_toolkit/factorials/sf_factorial.html b/doc/html/math_toolkit/factorials/sf_factorial.html index df36ec20e..f52d21e62 100644 --- a/doc/html/math_toolkit/factorials/sf_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_factorial.html @@ -3,7 +3,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 bfe6c7551..97d886cb2 100644 --- a/doc/html/math_toolkit/factorials/sf_falling_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_falling_factorial.html @@ -3,7 +3,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 ecea89e54..d1b4c3d34 100644 --- a/doc/html/math_toolkit/factorials/sf_rising_factorial.html +++ b/doc/html/math_toolkit/factorials/sf_rising_factorial.html @@ -3,7 +3,7 @@ Rising Factorial - + diff --git a/doc/html/math_toolkit/fastest_typdefs.html b/doc/html/math_toolkit/fastest_typdefs.html index 0ebeee820..9d2eaa1bb 100644 --- a/doc/html/math_toolkit/fastest_typdefs.html +++ b/doc/html/math_toolkit/fastest_typdefs.html @@ -3,7 +3,7 @@ Fastest floating-point typedefs - + diff --git a/doc/html/math_toolkit/float128.html b/doc/html/math_toolkit/float128.html index 2ef080e54..7f6e8a64b 100644 --- a/doc/html/math_toolkit/float128.html +++ b/doc/html/math_toolkit/float128.html @@ -3,7 +3,7 @@ Implementation of Float128 type - + @@ -26,7 +26,7 @@ -
    +
    Overloading template functions with float128_t
    Exponential function
    diff --git a/doc/html/math_toolkit/float128/exp_function.html b/doc/html/math_toolkit/float128/exp_function.html index 7abce6358..fecb099a0 100644 --- a/doc/html/math_toolkit/float128/exp_function.html +++ b/doc/html/math_toolkit/float128/exp_function.html @@ -3,7 +3,7 @@ Exponential function - + diff --git a/doc/html/math_toolkit/float128/overloading.html b/doc/html/math_toolkit/float128/overloading.html index 79f6e7ae6..38c2e2c9e 100644 --- a/doc/html/math_toolkit/float128/overloading.html +++ b/doc/html/math_toolkit/float128/overloading.html @@ -3,7 +3,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 d654f626f..bad4f7d35 100644 --- a/doc/html/math_toolkit/float128/typeinfo.html +++ b/doc/html/math_toolkit/float128/typeinfo.html @@ -3,7 +3,7 @@ typeinfo - + diff --git a/doc/html/math_toolkit/float128_hints.html b/doc/html/math_toolkit/float128_hints.html index 25ba7dc3e..fd93a88f9 100644 --- a/doc/html/math_toolkit/float128_hints.html +++ b/doc/html/math_toolkit/float128_hints.html @@ -3,7 +3,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 e9d9a956d..fe062c43d 100644 --- a/doc/html/math_toolkit/float_comparison.html +++ b/doc/html/math_toolkit/float_comparison.html @@ -3,7 +3,7 @@ Floating-point Comparison - + diff --git a/doc/html/math_toolkit/fp_facets.html b/doc/html/math_toolkit/fp_facets.html index 0c62cc964..96d7cbbd0 100644 --- a/doc/html/math_toolkit/fp_facets.html +++ b/doc/html/math_toolkit/fp_facets.html @@ -3,7 +3,7 @@ Facets for Floating-Point Infinities and NaNs - + @@ -27,7 +27,7 @@ Facets for Floating-Point Infinities and NaNs
    -
    +
    Introduction
    Reference
    Examples
    diff --git a/doc/html/math_toolkit/fp_facets/examples.html b/doc/html/math_toolkit/fp_facets/examples.html index 284e1955f..eba0723d4 100644 --- a/doc/html/math_toolkit/fp_facets/examples.html +++ b/doc/html/math_toolkit/fp_facets/examples.html @@ -3,7 +3,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 29517b27d..1163a2d55 100644 --- a/doc/html/math_toolkit/fp_facets/facets_intro.html +++ b/doc/html/math_toolkit/fp_facets/facets_intro.html @@ -3,7 +3,7 @@ Introduction - + diff --git a/doc/html/math_toolkit/fp_facets/portability.html b/doc/html/math_toolkit/fp_facets/portability.html index 3b648079c..305d88d8b 100644 --- a/doc/html/math_toolkit/fp_facets/portability.html +++ b/doc/html/math_toolkit/fp_facets/portability.html @@ -3,7 +3,7 @@ Portability - + diff --git a/doc/html/math_toolkit/fp_facets/rationale.html b/doc/html/math_toolkit/fp_facets/rationale.html index 6a2678fa9..3115511a3 100644 --- a/doc/html/math_toolkit/fp_facets/rationale.html +++ b/doc/html/math_toolkit/fp_facets/rationale.html @@ -3,7 +3,7 @@ Design Rationale - + diff --git a/doc/html/math_toolkit/fp_facets/reference.html b/doc/html/math_toolkit/fp_facets/reference.html index 707b8793d..3e1b9164a 100644 --- a/doc/html/math_toolkit/fp_facets/reference.html +++ b/doc/html/math_toolkit/fp_facets/reference.html @@ -3,7 +3,7 @@ Reference - + diff --git a/doc/html/math_toolkit/fpclass.html b/doc/html/math_toolkit/fpclass.html index e18dbc05e..62afc73cd 100644 --- a/doc/html/math_toolkit/fpclass.html +++ b/doc/html/math_toolkit/fpclass.html @@ -3,7 +3,7 @@ Floating-Point Classification: Infinities and NaNs - + diff --git a/doc/html/math_toolkit/future.html b/doc/html/math_toolkit/future.html index 0949e03e7..708f189ba 100644 --- a/doc/html/math_toolkit/future.html +++ b/doc/html/math_toolkit/future.html @@ -3,7 +3,7 @@ Extras/Future Directions - + diff --git a/doc/html/math_toolkit/gauss.html b/doc/html/math_toolkit/gauss.html index 826859bae..49f9b6876 100644 --- a/doc/html/math_toolkit/gauss.html +++ b/doc/html/math_toolkit/gauss.html @@ -3,7 +3,7 @@ Gauss-Legendre quadrature - + diff --git a/doc/html/math_toolkit/gauss_kronrod.html b/doc/html/math_toolkit/gauss_kronrod.html index 280ba9fba..76f21a7f7 100644 --- a/doc/html/math_toolkit/gauss_kronrod.html +++ b/doc/html/math_toolkit/gauss_kronrod.html @@ -3,7 +3,7 @@ Gauss-Kronrod Quadrature - + diff --git a/doc/html/math_toolkit/getting_best.html b/doc/html/math_toolkit/getting_best.html index 187aff7f4..085eb8eb1 100644 --- a/doc/html/math_toolkit/getting_best.html +++ b/doc/html/math_toolkit/getting_best.html @@ -3,7 +3,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 02fd35be2..062e2f0c0 100644 --- a/doc/html/math_toolkit/greatest_typdefs.html +++ b/doc/html/math_toolkit/greatest_typdefs.html @@ -3,7 +3,7 @@ Greatest-width floating-point typedef - + diff --git a/doc/html/math_toolkit/hankel.html b/doc/html/math_toolkit/hankel.html index 101544e72..78c504e0c 100644 --- a/doc/html/math_toolkit/hankel.html +++ b/doc/html/math_toolkit/hankel.html @@ -3,7 +3,7 @@ Hankel Functions - + @@ -26,7 +26,7 @@ -
    + diff --git a/doc/html/math_toolkit/hankel/cyl_hankel.html b/doc/html/math_toolkit/hankel/cyl_hankel.html index 03cb9e29e..415109090 100644 --- a/doc/html/math_toolkit/hankel/cyl_hankel.html +++ b/doc/html/math_toolkit/hankel/cyl_hankel.html @@ -3,7 +3,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 aa8298e18..64e34490e 100644 --- a/doc/html/math_toolkit/hankel/sph_hankel.html +++ b/doc/html/math_toolkit/hankel/sph_hankel.html @@ -3,7 +3,7 @@ Spherical Hankel Functions - + diff --git a/doc/html/math_toolkit/high_precision.html b/doc/html/math_toolkit/high_precision.html index 9309c3ce8..68c1e1408 100644 --- a/doc/html/math_toolkit/high_precision.html +++ b/doc/html/math_toolkit/high_precision.html @@ -3,7 +3,7 @@ Using Boost.Math with High-Precision Floating-Point Libraries - + @@ -27,7 +27,7 @@ Using Boost.Math with High-Precision Floating-Point Libraries
    -
    +
    Why use a high-precision library rather than built-in floating-point types?
    Using diff --git a/doc/html/math_toolkit/high_precision/e_float.html b/doc/html/math_toolkit/high_precision/e_float.html index d9bc918a6..c1b06ccdc 100644 --- a/doc/html/math_toolkit/high_precision/e_float.html +++ b/doc/html/math_toolkit/high_precision/e_float.html @@ -3,7 +3,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 cc432dcb6..6fafd3cfb 100644 --- a/doc/html/math_toolkit/high_precision/float128.html +++ b/doc/html/math_toolkit/high_precision/float128.html @@ -3,7 +3,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 b807b31e2..6bb9d1fbf 100644 --- a/doc/html/math_toolkit/high_precision/use_mpfr.html +++ b/doc/html/math_toolkit/high_precision/use_mpfr.html @@ -3,7 +3,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 03b2032f2..e4a3ed210 100644 --- a/doc/html/math_toolkit/high_precision/use_multiprecision.html +++ b/doc/html/math_toolkit/high_precision/use_multiprecision.html @@ -3,7 +3,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 6103e79c8..c231a7ab8 100644 --- a/doc/html/math_toolkit/high_precision/use_ntl.html +++ b/doc/html/math_toolkit/high_precision/use_ntl.html @@ -3,7 +3,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 f346e2153..13f1a0b5f 100644 --- a/doc/html/math_toolkit/high_precision/using_test.html +++ b/doc/html/math_toolkit/high_precision/using_test.html @@ -3,7 +3,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 8c8f9cc7e..1bd1c4841 100644 --- a/doc/html/math_toolkit/high_precision/why_high_precision.html +++ b/doc/html/math_toolkit/high_precision/why_high_precision.html @@ -3,7 +3,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 a1a83cd53..b3e6c94a9 100644 --- a/doc/html/math_toolkit/hints.html +++ b/doc/html/math_toolkit/hints.html @@ -3,7 +3,7 @@ Other Hints and tips - + diff --git a/doc/html/math_toolkit/history1.html b/doc/html/math_toolkit/history1.html index fb6884eb5..68e69e7bd 100644 --- a/doc/html/math_toolkit/history1.html +++ b/doc/html/math_toolkit/history1.html @@ -3,7 +3,7 @@ History and What's New - + diff --git a/doc/html/math_toolkit/history2.html b/doc/html/math_toolkit/history2.html index c2bc5f6a7..826fc6330 100644 --- a/doc/html/math_toolkit/history2.html +++ b/doc/html/math_toolkit/history2.html @@ -3,7 +3,7 @@ History and What's New - + diff --git a/doc/html/math_toolkit/internals.html b/doc/html/math_toolkit/internals.html index 1fbab75ca..a54d9f790 100644 --- a/doc/html/math_toolkit/internals.html +++ b/doc/html/math_toolkit/internals.html @@ -3,7 +3,7 @@ Internal tools - + @@ -26,7 +26,7 @@ -
    +
    Series Evaluation
    Continued Fraction Evaluation
    Tuples
    diff --git a/doc/html/math_toolkit/internals/cf.html b/doc/html/math_toolkit/internals/cf.html index 1741bc5ce..937a77ca1 100644 --- a/doc/html/math_toolkit/internals/cf.html +++ b/doc/html/math_toolkit/internals/cf.html @@ -3,7 +3,7 @@ Continued Fraction Evaluation - + diff --git a/doc/html/math_toolkit/internals/error_test.html b/doc/html/math_toolkit/internals/error_test.html index 7ad6ab405..7c2d5ba51 100644 --- a/doc/html/math_toolkit/internals/error_test.html +++ b/doc/html/math_toolkit/internals/error_test.html @@ -3,7 +3,7 @@ Relative Error and Testing - + diff --git a/doc/html/math_toolkit/internals/minimax.html b/doc/html/math_toolkit/internals/minimax.html index 54f57fd3e..65e3aa068 100644 --- a/doc/html/math_toolkit/internals/minimax.html +++ b/doc/html/math_toolkit/internals/minimax.html @@ -3,7 +3,7 @@ Minimax Approximations and the Remez Algorithm - + diff --git a/doc/html/math_toolkit/internals/series_evaluation.html b/doc/html/math_toolkit/internals/series_evaluation.html index b39f7b7e7..fa79b3148 100644 --- a/doc/html/math_toolkit/internals/series_evaluation.html +++ b/doc/html/math_toolkit/internals/series_evaluation.html @@ -3,7 +3,7 @@ Series Evaluation - + diff --git a/doc/html/math_toolkit/internals/test_data.html b/doc/html/math_toolkit/internals/test_data.html index b167b796b..1be114c1e 100644 --- a/doc/html/math_toolkit/internals/test_data.html +++ b/doc/html/math_toolkit/internals/test_data.html @@ -3,7 +3,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 d85196ef1..29be65bd3 100644 --- a/doc/html/math_toolkit/internals/tuples.html +++ b/doc/html/math_toolkit/internals/tuples.html @@ -3,7 +3,7 @@ Tuples - + diff --git a/doc/html/math_toolkit/internals_overview.html b/doc/html/math_toolkit/internals_overview.html index e76117741..24df6a3c9 100644 --- a/doc/html/math_toolkit/internals_overview.html +++ b/doc/html/math_toolkit/internals_overview.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/math_toolkit/interp.html b/doc/html/math_toolkit/interp.html index df458b7a2..10359ebf3 100644 --- a/doc/html/math_toolkit/interp.html +++ b/doc/html/math_toolkit/interp.html @@ -3,7 +3,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 bbf4f4893..20cc0e9e5 100644 --- a/doc/html/math_toolkit/intro_pol_overview.html +++ b/doc/html/math_toolkit/intro_pol_overview.html @@ -3,7 +3,7 @@ Policies - + diff --git a/doc/html/math_toolkit/inv_hyper.html b/doc/html/math_toolkit/inv_hyper.html index 6e78dae0d..cf5c9647f 100644 --- a/doc/html/math_toolkit/inv_hyper.html +++ b/doc/html/math_toolkit/inv_hyper.html @@ -3,7 +3,7 @@ Inverse Hyperbolic Functions - + @@ -26,7 +26,7 @@ -
    +
    Inverse Hyperbolic Functions Overview
    acosh
    diff --git a/doc/html/math_toolkit/inv_hyper/acosh.html b/doc/html/math_toolkit/inv_hyper/acosh.html index 09655b0a4..abd02ad8b 100644 --- a/doc/html/math_toolkit/inv_hyper/acosh.html +++ b/doc/html/math_toolkit/inv_hyper/acosh.html @@ -3,7 +3,7 @@ acosh - + diff --git a/doc/html/math_toolkit/inv_hyper/asinh.html b/doc/html/math_toolkit/inv_hyper/asinh.html index 447527263..d635e7aab 100644 --- a/doc/html/math_toolkit/inv_hyper/asinh.html +++ b/doc/html/math_toolkit/inv_hyper/asinh.html @@ -3,7 +3,7 @@ asinh - + diff --git a/doc/html/math_toolkit/inv_hyper/atanh.html b/doc/html/math_toolkit/inv_hyper/atanh.html index 0459d9a76..d22735f4f 100644 --- a/doc/html/math_toolkit/inv_hyper/atanh.html +++ b/doc/html/math_toolkit/inv_hyper/atanh.html @@ -3,7 +3,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 fe3ad9f75..2a1d7ac9a 100644 --- a/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html +++ b/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html @@ -3,7 +3,7 @@ Inverse Hyperbolic Functions Overview - + diff --git a/doc/html/math_toolkit/issues.html b/doc/html/math_toolkit/issues.html index e037ae68d..4efd3dd9a 100644 --- a/doc/html/math_toolkit/issues.html +++ b/doc/html/math_toolkit/issues.html @@ -3,7 +3,7 @@ Known Issues, and TODO List - + diff --git a/doc/html/math_toolkit/jacobi.html b/doc/html/math_toolkit/jacobi.html index f86d2e06f..4d829bc84 100644 --- a/doc/html/math_toolkit/jacobi.html +++ b/doc/html/math_toolkit/jacobi.html @@ -3,7 +3,7 @@ Jacobi Elliptic Functions - + @@ -26,7 +26,7 @@ -
    +
    Overvew of the Jacobi Elliptic Functions
    Jacobi Elliptic diff --git a/doc/html/math_toolkit/jacobi/jac_over.html b/doc/html/math_toolkit/jacobi/jac_over.html index e8e8463df..3b0e855ca 100644 --- a/doc/html/math_toolkit/jacobi/jac_over.html +++ b/doc/html/math_toolkit/jacobi/jac_over.html @@ -3,7 +3,7 @@ Overvew of the Jacobi Elliptic Functions - + @@ -31,7 +31,7 @@ There are twelve Jacobi Elliptic functions, of which the three copolar functions sn, cn and dn are the most important as the other nine can be computed from these three - [2] [3] [4]. + [2] [3] [4].

    These functions each take two arguments: a parameter, and a variable as described @@ -88,7 +88,7 @@ to use jacobi_elliptic.

    -

    +

    [2] Wikipedia: Jacobi elliptic functions diff --git a/doc/html/math_toolkit/jacobi/jacobi_cd.html b/doc/html/math_toolkit/jacobi/jacobi_cd.html index 37fea1f40..028ec60b4 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cd.html @@ -3,7 +3,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 29c642890..b84b0edcc 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cn.html @@ -3,7 +3,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 921154727..4c55cf59c 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_cs.html +++ b/doc/html/math_toolkit/jacobi/jacobi_cs.html @@ -3,7 +3,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 35a664fe1..9f64c91ce 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dc.html @@ -3,7 +3,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 047f6d4be..e7db94b8c 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_dn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_dn.html @@ -3,7 +3,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 0ed5c740e..532db8c05 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ds.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ds.html @@ -3,7 +3,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 70f9c1af4..d7b6b9f97 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_elliptic.html +++ b/doc/html/math_toolkit/jacobi/jacobi_elliptic.html @@ -3,7 +3,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 f382727d0..0529d628b 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nc.html @@ -3,7 +3,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 14f49a79b..eeeeddefd 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_nd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_nd.html @@ -3,7 +3,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 397f9b611..b8281f5a2 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_ns.html +++ b/doc/html/math_toolkit/jacobi/jacobi_ns.html @@ -3,7 +3,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 176256c60..ab3e01c62 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sc.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sc.html @@ -3,7 +3,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 f3b664250..0c2d10eab 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sd.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sd.html @@ -3,7 +3,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 1af05798e..d081db49c 100644 --- a/doc/html/math_toolkit/jacobi/jacobi_sn.html +++ b/doc/html/math_toolkit/jacobi/jacobi_sn.html @@ -3,7 +3,7 @@ Jacobi Elliptic Function sn - + diff --git a/doc/html/math_toolkit/lambert_w.html b/doc/html/math_toolkit/lambert_w.html index 035b122ce..9044384e1 100644 --- a/doc/html/math_toolkit/lambert_w.html +++ b/doc/html/math_toolkit/lambert_w.html @@ -3,7 +3,7 @@ Lambert W function - + @@ -70,7 +70,9 @@ 0) there are two real solutions on two branches called variously W0, W+, W-1, Wp, Wm, W-. Two principal branches functions called lambert_w0 and lambert_wm1, and their - 1st derivative, are provided by Boost's real-only implementation. + 1st derivatives, lambert_w0_prime + and lambert_wm1_prime are provided + by Boost's real-only implementation.

    In the graphs below, the red line is the W0 branch, and the blue line the W-1 @@ -95,8 +97,11 @@ the first z argument.

    - For C++ types float the maximum - z argument (std::numeric_limits<>::max)() Lambert_w0(3.2e+38) = 84.29, and for double, lambert_w0(1.797e+308) = 703.3. + For C++ fundamental + (built-in) types, the maximum z argument (std::numeric_limits<T>::max)() for + float is Lambert_w0(3.2e+38) = + 84.29, and for double is lambert_w0(1.797e+308) + = 703.3.

    The final Policy argument is optional and can @@ -149,7 +154,7 @@

    Other floating-point types can be used too, here float, - including user defined types like Boost.Multiprecision. + including user-defined types like Boost.Multiprecision. It is convenient to use a function like show_value to display all (and only) potentially significant decimal digits, including any significant trailing zeros, (std::numeric_limits<T>::max_digits10) for the type T. @@ -314,7 +319,7 @@ Argument z = 1 is out of range (z <= 0) for Lambert W-1 branch! (Try Lambert W0 branch?)

    - Show error reporting if a value is passed to lambert_w0 + Showing an error reported if a value is passed to lambert_w0 that is out of range, (and was probably meant to be passed to lambert_wm1 instead).

    double z = +1.;
    @@ -371,7 +376,7 @@
     std::cout << "voltage = " << v << ", current = " << icalc << ", " << log(icalc) << std::endl; // voltage = 0.9, current = 0.00108485, -6.82631
     

    - the formula can be rendered in C++ + the formulas can be rendered in C++

    double iv(double v, double vt, double rsat, double re, double isat, double nu = 1.)
     {
    @@ -405,8 +410,9 @@
     

    The plotted points for no external series resistance (derived from their published plot as the raw data are not publicly available) are used to extrapolate back - to estimate the intrinsic emitter resistance as 0.3 ohm. Its effect is visible - when the straight line from low voltages starts to curve. + to estimate the intrinsic emitter resistance as 0.3 ohm. The effect of external + series resistance is visible when the colored lines start to curve away from + the straight line as voltage increases.

    See lambert_w_diode.cpp @@ -453,7 +459,7 @@

    This implementation provides good precision and excellent speed for __fundamental - types float and double. + float and double.

    All the functions usually return values within a few Unit @@ -464,7 +470,7 @@

    By default, this implementation provides the best possible speed. Very slightly average higher precision and less bias might be obtained by adding a Halley step refinement, but - at the cost of more than doubling the run time. + at the cost of more than doubling the runtime.

    @@ -486,7 +492,7 @@ from a higher precision type, typically a Boost.Multiprecision type like cpp_bin_float_50, but at the cost of increasing run-time >100-fold; this has been used here - to provide our reference values for testing. + to provide some of our reference values for testing.

    For example, we get a reference value using a high precision type, for example; @@ -649,7 +655,7 @@

    As noted in the implementation section, the distribution of these differences is somewhat biased for Lambert W-1 and this might be reduced using a double Halley step at small runtime cost. But - if you are serisouly concerned to get really precise computations, the only + if you are seriously concerned to get really precise computations, the only way is using a higher precision type and then reduce to the desired type. Fortunately, Boost.Multiprecision makes this very easy to program, if much slower. @@ -755,9 +761,16 @@ Compilers

    - The code has been tested on VS 15.7.5, Clang 6.0.0 and GCC 8.1.0; it is expected - to work on all C++ compilers. As expected, debug mode is very much slower. - The release version optimisation also varied. + The code has been tested on VS 15.8.5, Clang 7.0.0 and GCC 8.1.0; it is expected + to work on all C++11 compilers. For details of which compilers are expected + to work see lambert_w tests and examples in:
    Boost + Test Summary report for master branch (used for latest release)
    + Boost + Test Summary report for latest developer branch. +

    +

    + As expected, debug mode is very much slower. The release version optimisation + also varied.

    @@ -824,7 +837,7 @@ desired result type. This strategy is used by Maple and WolframAlpha, for example, using arbitrary precision arithmetic, and some of their high-precision values are used for testing this library. This method - is also used to provide Boost.Test + is also used to provide some Boost.Test values using Boost.Multiprecision, typically, a 50 decimal digit type like cpp_bin_float_50 static_cast to a float, double @@ -845,8 +858,8 @@ is not justified and the algorithms here do not implement this. But because the Boost.Lambert_W algorithms has been tested using Boost.Multiprecision, users who require this can always easily achieve the nearest representation - for the fundamental_types - if the application justifies the very large extra - computation cost. + for __fundamental - if the application justifies the very large extra computation + cost.

    @@ -1115,7 +1128,7 @@ if (f(w) / f'(w

    Table 6.74. Rational polynomial Lambert W0 and typical improvement from a single @@ -1247,9 +1260,9 @@ if (f(w) / f'(w


    - With the rational polynomial approximation method, there are a third one bit - from the best and none more than two bits. Adding a Halley step (or iteration) - reduces the number that are one bit different from about a third down to one + With the rational polynomial approximation method, there are a third one-bit + from the best and none more than two-bits. Adding a Halley step (or iteration) + reduces the number that are one-bit different from about a third down to one in 30; this is unavoidable 'computational noise'. An extra Halley step would double the runtime for a tiny gain and so is not chosen for this implementation, but remains a option, as detailed above. @@ -1407,10 +1420,10 @@ if (f(w) / f'(w The arrays are as const and constexpr and static as possible (for the compiler version), using BOOST_STATIC_CONSTEXPR macro. - (See lambert_w_lookup_table_generator.cpp + (See lambert_w_lookup_table_generator.cpp The precision was chosen to ensure that if used as long double arrays, then the values output - to lambert_w_lookup_table.ipp + to lambert_w_lookup_table.ipp will be the nearest representable value for the type chose by a typedef in lambert_w.hpp.

    typedef double lookup_t; // Type for lookup table (`double` or `float`, or even `long double`?)
    @@ -1777,9 +1790,10 @@ if (f(w) / f'(w
     

    A further method of testing over a wide range of argument z values was devised - by Nick Thompson (cunningly also to test the recently written quadrature routines!). - These are definite integral formulas involving the W function that are exactly - known constants, for example, LambertW0(1/(z²) == √(2π), see Definite + by Nick Thompson (cunningly also to test the recently written quadrature routines + including Boost.Multiprecision + !). These are definite integral formulas involving the W function that are + exactly known constants, for example, LambertW0(1/(z²) == √(2π), see Definite Integrals. Some care was needed to avoid overflow and underflow as the integral function must evaluate to a finite result over the entire range.

    diff --git a/doc/html/math_toolkit/lanczos.html b/doc/html/math_toolkit/lanczos.html index 8b3341399..00a190abc 100644 --- a/doc/html/math_toolkit/lanczos.html +++ b/doc/html/math_toolkit/lanczos.html @@ -3,7 +3,7 @@ The Lanczos Approximation - + diff --git a/doc/html/math_toolkit/logs_and_tables.html b/doc/html/math_toolkit/logs_and_tables.html index 269531958..b9ff2085a 100644 --- a/doc/html/math_toolkit/logs_and_tables.html +++ b/doc/html/math_toolkit/logs_and_tables.html @@ -3,7 +3,7 @@ Error logs and tables - + @@ -26,7 +26,7 @@ -
    +
    Tables of Error Rates for all Functions
    Error Logs For Error 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 ffc942977..db02b38c6 100644 --- a/doc/html/math_toolkit/logs_and_tables/all_table.html +++ b/doc/html/math_toolkit/logs_and_tables/all_table.html @@ -3,7 +3,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 f598fc3af..353abcdf1 100644 --- a/doc/html/math_toolkit/logs_and_tables/logs.html +++ b/doc/html/math_toolkit/logs_and_tables/logs.html @@ -3,7 +3,7 @@ Error Logs For Error Rate Tables - + diff --git a/doc/html/math_toolkit/macros.html b/doc/html/math_toolkit/macros.html index 2e4590817..bf68fd68c 100644 --- a/doc/html/math_toolkit/macros.html +++ b/doc/html/math_toolkit/macros.html @@ -3,7 +3,7 @@ Floating-Point Constant Macros - + diff --git a/doc/html/math_toolkit/main_faq.html b/doc/html/math_toolkit/main_faq.html index 3ad6901ac..defc118a0 100644 --- a/doc/html/math_toolkit/main_faq.html +++ b/doc/html/math_toolkit/main_faq.html @@ -3,7 +3,7 @@ Frequently Asked Questions FAQ - + diff --git a/doc/html/math_toolkit/main_intro.html b/doc/html/math_toolkit/main_intro.html index 52184b773..b3d11120c 100644 --- a/doc/html/math_toolkit/main_intro.html +++ b/doc/html/math_toolkit/main_intro.html @@ -3,7 +3,7 @@ About the Math Toolkit - + diff --git a/doc/html/math_toolkit/main_tr1.html b/doc/html/math_toolkit/main_tr1.html index 518a71521..bb60e9013 100644 --- a/doc/html/math_toolkit/main_tr1.html +++ b/doc/html/math_toolkit/main_tr1.html @@ -3,7 +3,7 @@ C99 and TR1 C Functions Overview - + diff --git a/doc/html/math_toolkit/mem_typedef.html b/doc/html/math_toolkit/mem_typedef.html index 7c16ddae2..0aad8c6ec 100644 --- a/doc/html/math_toolkit/mem_typedef.html +++ b/doc/html/math_toolkit/mem_typedef.html @@ -3,7 +3,7 @@ Quaternion Member Typedefs - + diff --git a/doc/html/math_toolkit/minimum_typdefs.html b/doc/html/math_toolkit/minimum_typdefs.html index 3c6c5ca96..066e51c98 100644 --- a/doc/html/math_toolkit/minimum_typdefs.html +++ b/doc/html/math_toolkit/minimum_typdefs.html @@ -3,7 +3,7 @@ Minimum-width floating-point typedefs - + diff --git a/doc/html/math_toolkit/multiprecision.html b/doc/html/math_toolkit/multiprecision.html index 33f74d5db..edc63100f 100644 --- a/doc/html/math_toolkit/multiprecision.html +++ b/doc/html/math_toolkit/multiprecision.html @@ -3,7 +3,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 89e91bb60..b8e3c8d46 100644 --- a/doc/html/math_toolkit/naive_monte_carlo.html +++ b/doc/html/math_toolkit/naive_monte_carlo.html @@ -3,7 +3,7 @@ Naive Monte Carlo Integration - + diff --git a/doc/html/math_toolkit/namespaces.html b/doc/html/math_toolkit/namespaces.html index 125a44eba..c667a6f09 100644 --- a/doc/html/math_toolkit/namespaces.html +++ b/doc/html/math_toolkit/namespaces.html @@ -3,7 +3,7 @@ Namespaces - + diff --git a/doc/html/math_toolkit/navigation.html b/doc/html/math_toolkit/navigation.html index e9e766356..751e91f09 100644 --- a/doc/html/math_toolkit/navigation.html +++ b/doc/html/math_toolkit/navigation.html @@ -3,7 +3,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 f76eb2cac..c2ceb2e24 100644 --- a/doc/html/math_toolkit/new_const.html +++ b/doc/html/math_toolkit/new_const.html @@ -3,7 +3,7 @@ Defining New Constants - + diff --git a/doc/html/math_toolkit/next_float.html b/doc/html/math_toolkit/next_float.html index ab7debb17..4e08ef6a6 100644 --- a/doc/html/math_toolkit/next_float.html +++ b/doc/html/math_toolkit/next_float.html @@ -3,7 +3,7 @@ Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values - + @@ -27,7 +27,7 @@ Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values

    -
    +
    Finding the Next Representable Value in a Specific Direction (nextafter)
    Finding the Next diff --git a/doc/html/math_toolkit/next_float/float_advance.html b/doc/html/math_toolkit/next_float/float_advance.html index a10fa940c..e3d054b86 100644 --- a/doc/html/math_toolkit/next_float/float_advance.html +++ b/doc/html/math_toolkit/next_float/float_advance.html @@ -3,7 +3,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 b72bbfc6a..5c246be04 100644 --- a/doc/html/math_toolkit/next_float/float_distance.html +++ b/doc/html/math_toolkit/next_float/float_distance.html @@ -3,7 +3,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 f3514fb5f..a825adba8 100644 --- a/doc/html/math_toolkit/next_float/float_next.html +++ b/doc/html/math_toolkit/next_float/float_next.html @@ -3,7 +3,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 404d755bb..8c2df14c9 100644 --- a/doc/html/math_toolkit/next_float/float_prior.html +++ b/doc/html/math_toolkit/next_float/float_prior.html @@ -3,7 +3,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 980e6110e..4a916a706 100644 --- a/doc/html/math_toolkit/next_float/nextafter.html +++ b/doc/html/math_toolkit/next_float/nextafter.html @@ -3,7 +3,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 f326c7ae4..bf3020928 100644 --- a/doc/html/math_toolkit/next_float/ulp.html +++ b/doc/html/math_toolkit/next_float/ulp.html @@ -3,7 +3,7 @@ Obtaining the Size of a Unit In the Last Place - ULP - + diff --git a/doc/html/math_toolkit/number_series.html b/doc/html/math_toolkit/number_series.html index b4a9c50d4..d0f8d0145 100644 --- a/doc/html/math_toolkit/number_series.html +++ b/doc/html/math_toolkit/number_series.html @@ -3,7 +3,7 @@ Number Series - + @@ -26,7 +26,7 @@ -
    +
    Bernoulli Numbers
    Tangent Numbers
    diff --git a/doc/html/math_toolkit/number_series/bernoulli_numbers.html b/doc/html/math_toolkit/number_series/bernoulli_numbers.html index 3517e8748..75b95ed8e 100644 --- a/doc/html/math_toolkit/number_series/bernoulli_numbers.html +++ b/doc/html/math_toolkit/number_series/bernoulli_numbers.html @@ -3,7 +3,7 @@ Bernoulli Numbers - + diff --git a/doc/html/math_toolkit/number_series/primes.html b/doc/html/math_toolkit/number_series/primes.html index 4a685709b..f40a692c8 100644 --- a/doc/html/math_toolkit/number_series/primes.html +++ b/doc/html/math_toolkit/number_series/primes.html @@ -3,7 +3,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 bd94deac8..faa32f701 100644 --- a/doc/html/math_toolkit/number_series/tangent_numbers.html +++ b/doc/html/math_toolkit/number_series/tangent_numbers.html @@ -3,7 +3,7 @@ Tangent Numbers - + diff --git a/doc/html/math_toolkit/oct_create.html b/doc/html/math_toolkit/oct_create.html index f4c5933be..132e15189 100644 --- a/doc/html/math_toolkit/oct_create.html +++ b/doc/html/math_toolkit/oct_create.html @@ -3,7 +3,7 @@ Octonion Creation Functions - + diff --git a/doc/html/math_toolkit/oct_header.html b/doc/html/math_toolkit/oct_header.html index f9b01bdbe..7202805ab 100644 --- a/doc/html/math_toolkit/oct_header.html +++ b/doc/html/math_toolkit/oct_header.html @@ -3,7 +3,7 @@ Header File - + diff --git a/doc/html/math_toolkit/oct_history.html b/doc/html/math_toolkit/oct_history.html index f963e001e..13c01e53a 100644 --- a/doc/html/math_toolkit/oct_history.html +++ b/doc/html/math_toolkit/oct_history.html @@ -3,7 +3,7 @@ History - + diff --git a/doc/html/math_toolkit/oct_mem_fun.html b/doc/html/math_toolkit/oct_mem_fun.html index 307237ced..a278ba783 100644 --- a/doc/html/math_toolkit/oct_mem_fun.html +++ b/doc/html/math_toolkit/oct_mem_fun.html @@ -3,7 +3,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 fae267726..7b64161ac 100644 --- a/doc/html/math_toolkit/oct_non_mem.html +++ b/doc/html/math_toolkit/oct_non_mem.html @@ -3,7 +3,7 @@ Octonion Non-Member Operators - + diff --git a/doc/html/math_toolkit/oct_overview.html b/doc/html/math_toolkit/oct_overview.html index 9fe70717e..920f8fdee 100644 --- a/doc/html/math_toolkit/oct_overview.html +++ b/doc/html/math_toolkit/oct_overview.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/math_toolkit/oct_specialization.html b/doc/html/math_toolkit/oct_specialization.html index 23063da35..d576495ab 100644 --- a/doc/html/math_toolkit/oct_specialization.html +++ b/doc/html/math_toolkit/oct_specialization.html @@ -3,7 +3,7 @@ Octonion Specializations - + diff --git a/doc/html/math_toolkit/oct_synopsis.html b/doc/html/math_toolkit/oct_synopsis.html index a114cf707..a2d50a15d 100644 --- a/doc/html/math_toolkit/oct_synopsis.html +++ b/doc/html/math_toolkit/oct_synopsis.html @@ -3,7 +3,7 @@ Synopsis - + diff --git a/doc/html/math_toolkit/oct_tests.html b/doc/html/math_toolkit/oct_tests.html index 69b68a34a..5b62b0490 100644 --- a/doc/html/math_toolkit/oct_tests.html +++ b/doc/html/math_toolkit/oct_tests.html @@ -3,7 +3,7 @@ Test Program - + diff --git a/doc/html/math_toolkit/oct_todo.html b/doc/html/math_toolkit/oct_todo.html index 86ce110b2..206b70565 100644 --- a/doc/html/math_toolkit/oct_todo.html +++ b/doc/html/math_toolkit/oct_todo.html @@ -3,7 +3,7 @@ To Do - + diff --git a/doc/html/math_toolkit/oct_trans.html b/doc/html/math_toolkit/oct_trans.html index 91679c46c..75608535a 100644 --- a/doc/html/math_toolkit/oct_trans.html +++ b/doc/html/math_toolkit/oct_trans.html @@ -3,7 +3,7 @@ Octonions Transcendentals - + diff --git a/doc/html/math_toolkit/oct_typedefs.html b/doc/html/math_toolkit/oct_typedefs.html index a32b11163..25ee1178b 100644 --- a/doc/html/math_toolkit/oct_typedefs.html +++ b/doc/html/math_toolkit/oct_typedefs.html @@ -3,7 +3,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 87c1f189e..957b55829 100644 --- a/doc/html/math_toolkit/oct_value_ops.html +++ b/doc/html/math_toolkit/oct_value_ops.html @@ -3,7 +3,7 @@ Octonion Value Operations - + diff --git a/doc/html/math_toolkit/octonion.html b/doc/html/math_toolkit/octonion.html index 1f6211246..28eb0b58d 100644 --- a/doc/html/math_toolkit/octonion.html +++ b/doc/html/math_toolkit/octonion.html @@ -3,7 +3,7 @@ Template Class octonion - + diff --git a/doc/html/math_toolkit/overview_tr1.html b/doc/html/math_toolkit/overview_tr1.html index 9f4968013..fe804ee4b 100644 --- a/doc/html/math_toolkit/overview_tr1.html +++ b/doc/html/math_toolkit/overview_tr1.html @@ -3,7 +3,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 e058be522..632ee6492 100644 --- a/doc/html/math_toolkit/owens_t.html +++ b/doc/html/math_toolkit/owens_t.html @@ -3,7 +3,7 @@ Owen's T function - + diff --git a/doc/html/math_toolkit/perf_over1.html b/doc/html/math_toolkit/perf_over1.html index 1ef509412..64929de73 100644 --- a/doc/html/math_toolkit/perf_over1.html +++ b/doc/html/math_toolkit/perf_over1.html @@ -3,7 +3,7 @@ Performance - + diff --git a/doc/html/math_toolkit/perf_over2.html b/doc/html/math_toolkit/perf_over2.html index 15b0d4092..9a29512dd 100644 --- a/doc/html/math_toolkit/perf_over2.html +++ b/doc/html/math_toolkit/perf_over2.html @@ -3,7 +3,7 @@ Performance Overview - + diff --git a/doc/html/math_toolkit/perf_test_app.html b/doc/html/math_toolkit/perf_test_app.html index eeec5ee3d..cb8f060f8 100644 --- a/doc/html/math_toolkit/perf_test_app.html +++ b/doc/html/math_toolkit/perf_test_app.html @@ -3,7 +3,7 @@ The Performance Test Applications - + diff --git a/doc/html/math_toolkit/pol_overview.html b/doc/html/math_toolkit/pol_overview.html index 1935c113b..0ae13f96d 100644 --- a/doc/html/math_toolkit/pol_overview.html +++ b/doc/html/math_toolkit/pol_overview.html @@ -3,7 +3,7 @@ Policy Overview - + diff --git a/doc/html/math_toolkit/pol_ref.html b/doc/html/math_toolkit/pol_ref.html index ef230a75a..c71743048 100644 --- a/doc/html/math_toolkit/pol_ref.html +++ b/doc/html/math_toolkit/pol_ref.html @@ -3,7 +3,7 @@ Policy Reference - + @@ -26,7 +26,7 @@ -
    +
    Error Handling Policies
    Internal Floating-point diff --git a/doc/html/math_toolkit/pol_ref/assert_undefined.html b/doc/html/math_toolkit/pol_ref/assert_undefined.html index 809db4c41..70cd537fd 100644 --- a/doc/html/math_toolkit/pol_ref/assert_undefined.html +++ b/doc/html/math_toolkit/pol_ref/assert_undefined.html @@ -3,7 +3,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 9dd25e8f6..433f07009 100644 --- a/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html +++ b/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html @@ -3,7 +3,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 0c6c94200..2b0f392b2 100644 --- a/doc/html/math_toolkit/pol_ref/error_handling_policies.html +++ b/doc/html/math_toolkit/pol_ref/error_handling_policies.html @@ -3,7 +3,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 609cca39b..00fee03c1 100644 --- a/doc/html/math_toolkit/pol_ref/internal_promotion.html +++ b/doc/html/math_toolkit/pol_ref/internal_promotion.html @@ -3,7 +3,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 403598094..730dfa69b 100644 --- a/doc/html/math_toolkit/pol_ref/iteration_pol.html +++ b/doc/html/math_toolkit/pol_ref/iteration_pol.html @@ -3,7 +3,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 7bfa201d3..aef9b549c 100644 --- a/doc/html/math_toolkit/pol_ref/namespace_pol.html +++ b/doc/html/math_toolkit/pol_ref/namespace_pol.html @@ -3,7 +3,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 5d1802c5d..64d18e943 100644 --- a/doc/html/math_toolkit/pol_ref/pol_ref_ref.html +++ b/doc/html/math_toolkit/pol_ref/pol_ref_ref.html @@ -3,7 +3,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 fb35e1620..9897ea75e 100644 --- a/doc/html/math_toolkit/pol_ref/policy_defaults.html +++ b/doc/html/math_toolkit/pol_ref/policy_defaults.html @@ -3,7 +3,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 e715a8c0f..e8be3d0be 100644 --- a/doc/html/math_toolkit/pol_ref/precision_pol.html +++ b/doc/html/math_toolkit/pol_ref/precision_pol.html @@ -3,7 +3,7 @@ Precision Policies - + diff --git a/doc/html/math_toolkit/pol_tutorial.html b/doc/html/math_toolkit/pol_tutorial.html index aef589411..d20825b47 100644 --- a/doc/html/math_toolkit/pol_tutorial.html +++ b/doc/html/math_toolkit/pol_tutorial.html @@ -3,7 +3,7 @@ Policy Tutorial - + @@ -26,7 +26,7 @@ -
    +
    So Just What is a Policy Anyway?
    Policies 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 7e8976686..c80a5a343 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 @@ -3,7 +3,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 f59815d0f..d132326b3 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 @@ -3,7 +3,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 97b64b956..d82031896 100644 --- a/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html @@ -3,7 +3,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 c2a143eea..78050d7fc 100644 --- a/doc/html/math_toolkit/pol_tutorial/namespace_policies.html +++ b/doc/html/math_toolkit/pol_tutorial/namespace_policies.html @@ -3,7 +3,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 97c45a1cd..528ee18ab 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html @@ -3,7 +3,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 47522df41..5267a9703 100644 --- a/doc/html/math_toolkit/pol_tutorial/policy_usage.html +++ b/doc/html/math_toolkit/pol_tutorial/policy_usage.html @@ -3,7 +3,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 bfcff099a..697c38144 100644 --- a/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html +++ b/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html @@ -3,7 +3,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 d8f7949ad..ab5f89a0e 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 @@ -3,7 +3,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 91673c164..419a00772 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 @@ -3,7 +3,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 133156509..7eae6ac7b 100644 --- a/doc/html/math_toolkit/polynomials.html +++ b/doc/html/math_toolkit/polynomials.html @@ -3,7 +3,7 @@ Polynomials - + diff --git a/doc/html/math_toolkit/powers.html b/doc/html/math_toolkit/powers.html index b656926d3..6f54223a9 100644 --- a/doc/html/math_toolkit/powers.html +++ b/doc/html/math_toolkit/powers.html @@ -3,7 +3,7 @@ Basic Functions - + @@ -26,7 +26,7 @@ -
    +
    sin_pi
    cos_pi
    log1p
    diff --git a/doc/html/math_toolkit/powers/cbrt.html b/doc/html/math_toolkit/powers/cbrt.html index 81bfc08dc..477c327cf 100644 --- a/doc/html/math_toolkit/powers/cbrt.html +++ b/doc/html/math_toolkit/powers/cbrt.html @@ -3,7 +3,7 @@ cbrt - + diff --git a/doc/html/math_toolkit/powers/cos_pi.html b/doc/html/math_toolkit/powers/cos_pi.html index fefa60d15..5735ce0ab 100644 --- a/doc/html/math_toolkit/powers/cos_pi.html +++ b/doc/html/math_toolkit/powers/cos_pi.html @@ -3,7 +3,7 @@ cos_pi - + diff --git a/doc/html/math_toolkit/powers/ct_pow.html b/doc/html/math_toolkit/powers/ct_pow.html index 10b94080f..d2508401e 100644 --- a/doc/html/math_toolkit/powers/ct_pow.html +++ b/doc/html/math_toolkit/powers/ct_pow.html @@ -3,7 +3,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 f2451d9d8..d478f0285 100644 --- a/doc/html/math_toolkit/powers/expm1.html +++ b/doc/html/math_toolkit/powers/expm1.html @@ -3,7 +3,7 @@ expm1 - + diff --git a/doc/html/math_toolkit/powers/hypot.html b/doc/html/math_toolkit/powers/hypot.html index be3dcbcaf..c5702eafe 100644 --- a/doc/html/math_toolkit/powers/hypot.html +++ b/doc/html/math_toolkit/powers/hypot.html @@ -3,7 +3,7 @@ hypot - + diff --git a/doc/html/math_toolkit/powers/log1p.html b/doc/html/math_toolkit/powers/log1p.html index cfc6e1836..1120741ec 100644 --- a/doc/html/math_toolkit/powers/log1p.html +++ b/doc/html/math_toolkit/powers/log1p.html @@ -3,7 +3,7 @@ log1p - + diff --git a/doc/html/math_toolkit/powers/powm1.html b/doc/html/math_toolkit/powers/powm1.html index d35ebd57b..05b6322ac 100644 --- a/doc/html/math_toolkit/powers/powm1.html +++ b/doc/html/math_toolkit/powers/powm1.html @@ -3,7 +3,7 @@ powm1 - + diff --git a/doc/html/math_toolkit/powers/sin_pi.html b/doc/html/math_toolkit/powers/sin_pi.html index 7afd286a8..b3c2ae2ae 100644 --- a/doc/html/math_toolkit/powers/sin_pi.html +++ b/doc/html/math_toolkit/powers/sin_pi.html @@ -3,7 +3,7 @@ sin_pi - + diff --git a/doc/html/math_toolkit/powers/sqrt1pm1.html b/doc/html/math_toolkit/powers/sqrt1pm1.html index 1d84158e2..184780152 100644 --- a/doc/html/math_toolkit/powers/sqrt1pm1.html +++ b/doc/html/math_toolkit/powers/sqrt1pm1.html @@ -3,7 +3,7 @@ sqrt1pm1 - + diff --git a/doc/html/math_toolkit/quat.html b/doc/html/math_toolkit/quat.html index 7539fe81c..22fbfa9c6 100644 --- a/doc/html/math_toolkit/quat.html +++ b/doc/html/math_toolkit/quat.html @@ -3,7 +3,7 @@ Template Class quaternion - + diff --git a/doc/html/math_toolkit/quat_header.html b/doc/html/math_toolkit/quat_header.html index 7baa0df44..ce2b37fa0 100644 --- a/doc/html/math_toolkit/quat_header.html +++ b/doc/html/math_toolkit/quat_header.html @@ -3,7 +3,7 @@ Header File - + diff --git a/doc/html/math_toolkit/quat_history.html b/doc/html/math_toolkit/quat_history.html index 9405c4801..ec9d9fa68 100644 --- a/doc/html/math_toolkit/quat_history.html +++ b/doc/html/math_toolkit/quat_history.html @@ -3,7 +3,7 @@ History - + diff --git a/doc/html/math_toolkit/quat_mem_fun.html b/doc/html/math_toolkit/quat_mem_fun.html index 9757f4342..0c320b088 100644 --- a/doc/html/math_toolkit/quat_mem_fun.html +++ b/doc/html/math_toolkit/quat_mem_fun.html @@ -3,7 +3,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 6277f04f7..ccd8f3778 100644 --- a/doc/html/math_toolkit/quat_non_mem.html +++ b/doc/html/math_toolkit/quat_non_mem.html @@ -3,7 +3,7 @@ Quaternion Non-Member Operators - + diff --git a/doc/html/math_toolkit/quat_overview.html b/doc/html/math_toolkit/quat_overview.html index bc851d0cf..5348714db 100644 --- a/doc/html/math_toolkit/quat_overview.html +++ b/doc/html/math_toolkit/quat_overview.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/math_toolkit/quat_synopsis.html b/doc/html/math_toolkit/quat_synopsis.html index 6f12d543b..c46ec88e1 100644 --- a/doc/html/math_toolkit/quat_synopsis.html +++ b/doc/html/math_toolkit/quat_synopsis.html @@ -3,7 +3,7 @@ Synopsis - + diff --git a/doc/html/math_toolkit/quat_tests.html b/doc/html/math_toolkit/quat_tests.html index 80d54e846..47d082fd1 100644 --- a/doc/html/math_toolkit/quat_tests.html +++ b/doc/html/math_toolkit/quat_tests.html @@ -3,7 +3,7 @@ Test Program - + diff --git a/doc/html/math_toolkit/quat_todo.html b/doc/html/math_toolkit/quat_todo.html index 662826151..f30f43e2f 100644 --- a/doc/html/math_toolkit/quat_todo.html +++ b/doc/html/math_toolkit/quat_todo.html @@ -3,7 +3,7 @@ To Do - + diff --git a/doc/html/math_toolkit/rational.html b/doc/html/math_toolkit/rational.html index e83aa42df..b03900330 100644 --- a/doc/html/math_toolkit/rational.html +++ b/doc/html/math_toolkit/rational.html @@ -3,7 +3,7 @@ Polynomial and Rational Function Evaluation - + diff --git a/doc/html/math_toolkit/rationale.html b/doc/html/math_toolkit/rationale.html index 6b7e529ec..6b7e5dbee 100644 --- a/doc/html/math_toolkit/rationale.html +++ b/doc/html/math_toolkit/rationale.html @@ -3,7 +3,7 @@ Rationale - + diff --git a/doc/html/math_toolkit/real_concepts.html b/doc/html/math_toolkit/real_concepts.html index dcd4ede60..90792897e 100644 --- a/doc/html/math_toolkit/real_concepts.html +++ b/doc/html/math_toolkit/real_concepts.html @@ -3,7 +3,7 @@ Conceptual Requirements for Real Number Types - + diff --git a/doc/html/math_toolkit/refs.html b/doc/html/math_toolkit/refs.html index 9421461f2..bf3f63b24 100644 --- a/doc/html/math_toolkit/refs.html +++ b/doc/html/math_toolkit/refs.html @@ -3,7 +3,7 @@ References - + diff --git a/doc/html/math_toolkit/relative_error.html b/doc/html/math_toolkit/relative_error.html index 6ea4eb096..8ce69228a 100644 --- a/doc/html/math_toolkit/relative_error.html +++ b/doc/html/math_toolkit/relative_error.html @@ -3,7 +3,7 @@ Relative Error - + diff --git a/doc/html/math_toolkit/remez.html b/doc/html/math_toolkit/remez.html index 83edb4dd0..23210a4f7 100644 --- a/doc/html/math_toolkit/remez.html +++ b/doc/html/math_toolkit/remez.html @@ -3,7 +3,7 @@ The Remez Method - + diff --git a/doc/html/math_toolkit/result_type.html b/doc/html/math_toolkit/result_type.html index 63884ee25..2fedb167e 100644 --- a/doc/html/math_toolkit/result_type.html +++ b/doc/html/math_toolkit/result_type.html @@ -3,7 +3,7 @@ Calculation of the Type of the Result - + @@ -40,7 +40,7 @@ floating-point arguments. But that leaves the question:

    -

    +

    "Given a special function with N arguments of types T1, T2, T3 ... TN, then what type is the result?" @@ -60,8 +60,8 @@

  • For each type in the argument list, if that type is an integer type then - it is treated as if it were of type double for the purposes of further - analysis. + it is treated as if it were of type double + for the purposes of further analysis.
  • If any of the arguments is a user-defined class type, then the result type diff --git a/doc/html/math_toolkit/root_comparison.html b/doc/html/math_toolkit/root_comparison.html index 42d007dca..ca64d27e0 100644 --- a/doc/html/math_toolkit/root_comparison.html +++ b/doc/html/math_toolkit/root_comparison.html @@ -3,7 +3,7 @@ Comparison of Root Finding Algorithms - + @@ -27,7 +27,7 @@ Comparison of Root Finding Algorithms
  • -
    +
    Comparison of Cube Root Finding Algorithms
    Comparison diff --git a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html index 8a2fc6c62..f3ac5cf6c 100644 --- a/doc/html/math_toolkit/root_comparison/cbrt_comparison.html +++ b/doc/html/math_toolkit/root_comparison/cbrt_comparison.html @@ -3,7 +3,7 @@ Comparison of Cube Root Finding Algorithms - + @@ -441,7 +441,7 @@

    - 78125 + 171875

    @@ -463,7 +463,7 @@

    - 62500 + 187500

    @@ -485,7 +485,7 @@

    - 93750 + 187500

    @@ -507,12 +507,12 @@

    - 11890625 + 7250000

    - 1.1 + 1.0

    @@ -536,12 +536,12 @@

    - 468750 + 703125

    - 6.0 + 4.1

    @@ -558,12 +558,12 @@

    - 906250 + 953125

    - 15. + 5.1

    @@ -580,12 +580,12 @@

    - 906250 + 953125

    - 9.7 + 5.1

    @@ -602,12 +602,12 @@

    - 80859375 + 51171875

    - 7.6 + 7.1

    @@ -631,7 +631,29 @@

    - 203125 + 484375 +

    + + +

    + 2.8 +

    + + +

    + 0 +

    + + + + +

    + 6 +

    + + +

    + 484375

    @@ -653,34 +675,12 @@

    - 234375 + 500000

    - 3.8 -

    - - -

    - 0 -

    - - - - -

    - 6 -

    - - -

    - 187500 -

    - - -

    - 2.0 + 2.7

    @@ -697,12 +697,12 @@

    - 10640625 + 7906250

    - 1.0 + 1.1

    @@ -726,12 +726,12 @@

    - 234375 + 484375

    - 3.0 + 2.8

    @@ -748,12 +748,12 @@

    - 265625 + 515625

    - 4.3 + 2.8

    @@ -770,12 +770,12 @@

    - 234375 + 500000

    - 2.5 + 2.7

    @@ -792,12 +792,12 @@

    - 26250000 + 18515625

    - 2.5 + 2.6

    @@ -821,12 +821,12 @@

    - 296875 + 515625

    - 3.8 + 3.0

    @@ -843,12 +843,12 @@

    - 281250 + 515625

    - 4.5 + 2.8

    @@ -865,12 +865,12 @@

    - 234375 + 500000

    - 2.5 + 2.7

    @@ -887,12 +887,12 @@

    - 32437500 + 22562500

    - 3.0 + 3.1

    diff --git a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html index c790a2f7f..3f72084d0 100644 --- a/doc/html/math_toolkit/root_comparison/elliptic_comparison.html +++ b/doc/html/math_toolkit/root_comparison/elliptic_comparison.html @@ -3,7 +3,7 @@ Comparison of Elliptic Integral Root Finding Algoritghms - + @@ -323,12 +323,12 @@

    - 906 + 875

    - 2.07 + 1.44

    @@ -345,12 +345,12 @@

    - 1312 + 1328

    - 1.79 + 1.67

    @@ -367,12 +367,12 @@

    - 1281 + 1328

    - 1.75 + 1.67

    @@ -389,12 +389,12 @@

    - 1690625 + 987500

    - 1.52 + 1.47

    @@ -418,12 +418,12 @@

    - 640 + 781

    - 1.46 + 1.28

    @@ -440,12 +440,12 @@

    - 875 + 984

    - 1.19 + 1.24

    @@ -462,12 +462,12 @@

    - 843 + 984

    - 1.15 + 1.24

    @@ -484,12 +484,12 @@

    - 1368750 + 801562

    - 1.23 + 1.19

    @@ -513,7 +513,7 @@

    - 437 + 609

    @@ -535,7 +535,7 @@

    - 734 + 796

    @@ -557,7 +557,7 @@

    - 734 + 796

    @@ -579,7 +579,7 @@

    - 1109375 + 671875

    @@ -608,12 +608,12 @@

    - 671 + 796

    - 1.54 + 1.31

    @@ -630,12 +630,12 @@

    - 1296 + 1453

    - 1.77 + 1.83

    @@ -652,12 +652,12 @@

    - 1406 + 1453

    - 1.92 + 1.83

    @@ -674,12 +674,12 @@

    - 1462500 + 843750

    - 1.32 + 1.26

    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 fbcd8a101..e89b80aea 100644 --- a/doc/html/math_toolkit/root_comparison/root_n_comparison.html +++ b/doc/html/math_toolkit/root_comparison/root_n_comparison.html @@ -3,7 +3,7 @@ Comparison of Nth-root Finding Algorithms - + @@ -120,10 +120,9 @@

    - Program - ..\example\root_n_finding_algorithms.cpp, Microsoft Visual C++ version 14.1, - Dinkumware standard library version 650, Win32 Compiled in optimise mode., - _X86_SSE2 + Program + root_n_finding_algorithms.cpp, Microsoft Visual C++ version 14.1, Dinkumware + standard library version 650, Win32 Compiled in optimise mode., _X86_SSE2

    Fraction of full accuracy 1 @@ -319,12 +318,12 @@

    - 457 + 662

    - 2.00 + 1.00

    @@ -341,12 +340,12 @@

    - 860 + 985

    - 3.54 + 1.31

    @@ -363,12 +362,12 @@

    - 806 + 979

    - 3.02 + 1.30

    @@ -385,12 +384,12 @@

    - 226875 + 135312

    - 8.11 + 7.16

    @@ -414,12 +413,12 @@

    - 228 + 725

    - 1.00 + 1.10

    @@ -436,7 +435,7 @@

    - 243 + 751

    @@ -458,12 +457,12 @@

    - 298 + 753

    - 1.12 + 1.00

    @@ -480,7 +479,7 @@

    - 27968 + 18906

    @@ -509,12 +508,12 @@

    - 250 + 748

    - 1.10 + 1.13

    @@ -531,12 +530,12 @@

    - 268 + 764

    - 1.10 + 1.02

    @@ -553,12 +552,12 @@

    - 267 + 773

    - 1.00 + 1.03

    @@ -575,12 +574,12 @@

    - 52812 + 35625

    - 1.89 + 1.88

    @@ -604,12 +603,12 @@

    - 256 + 748

    - 1.12 + 1.13

    @@ -626,12 +625,12 @@

    - 271 + 762

    - 1.12 + 1.01

    @@ -648,7 +647,7 @@

    - 270 + 762

    @@ -670,12 +669,12 @@

    - 61406 + 44687

    - 2.20 + 2.36

    @@ -880,12 +879,12 @@

    - 825 + 937

    - 3.06 + 1.24

    @@ -902,12 +901,12 @@

    - 1145 + 1240

    - 4.06 + 1.56

    @@ -924,12 +923,12 @@

    - 1159 + 1206

    - 4.17 + 1.54

    @@ -946,12 +945,12 @@

    - 295781 + 178593

    - 8.12 + 6.53

    @@ -975,7 +974,7 @@

    - 270 + 754

    @@ -997,7 +996,7 @@

    - 282 + 793

    @@ -1019,7 +1018,7 @@

    - 278 + 784

    @@ -1041,7 +1040,7 @@

    - 36406 + 27343

    @@ -1070,12 +1069,12 @@

    - 303 + 812

    - 1.12 + 1.08

    @@ -1092,12 +1091,12 @@

    - 329 + 835

    - 1.17 + 1.05

    @@ -1114,12 +1113,12 @@

    - 335 + 835

    - 1.21 + 1.07

    @@ -1136,12 +1135,12 @@

    - 78281 + 55312

    - 2.15 + 2.02

    @@ -1165,12 +1164,12 @@

    - 340 + 821

    - 1.26 + 1.09

    @@ -1187,12 +1186,12 @@

    - 432 + 843

    - 1.53 + 1.06

    @@ -1209,12 +1208,12 @@

    - 367 + 845

    - 1.32 + 1.08

    @@ -1231,12 +1230,12 @@

    - 85156 + 78906

    - 2.34 + 2.89

    @@ -1441,12 +1440,12 @@

    - 714 + 1037

    - 3.16 + 1.33

    @@ -1463,12 +1462,12 @@

    - 909 + 1235

    - 4.19 + 1.55

    @@ -1485,12 +1484,12 @@

    - 793 + 1229

    - 3.69 + 1.54

    @@ -1507,12 +1506,12 @@

    - 211718 + 265781

    - 9.28 + 8.18

    @@ -1536,7 +1535,7 @@

    - 226 + 781

    @@ -1558,7 +1557,7 @@

    - 217 + 796

    @@ -1580,7 +1579,7 @@

    - 215 + 796

    @@ -1602,7 +1601,7 @@

    - 22812 + 32500

    @@ -1631,12 +1630,12 @@

    - 262 + 818

    - 1.16 + 1.05

    @@ -1653,12 +1652,12 @@

    - 260 + 843

    - 1.20 + 1.06

    @@ -1675,12 +1674,12 @@

    - 260 + 853

    - 1.21 + 1.07

    @@ -1697,12 +1696,12 @@

    - 40781 + 57187

    - 1.79 + 1.76

    @@ -1726,12 +1725,12 @@

    - 332 + 859

    - 1.47 + 1.10

    @@ -1748,12 +1747,12 @@

    - 314 + 896

    - 1.45 + 1.13

    @@ -1770,12 +1769,12 @@

    - 310 + 898

    - 1.44 + 1.13

    @@ -1792,12 +1791,12 @@

    - 67187 + 97500

    - 2.95 + 3.00

    @@ -1813,7 +1812,7 @@

    - Program + Program root_n_finding_algorithms.cpp, Microsoft Visual C++ version 12.0, Dinkumware standard library version 610, Win32 Compiled in optimise mode., _X64_AVX

    @@ -3505,7 +3504,7 @@

    - Program + Program ..\example\root_n_finding_algorithms.cpp, GNU C++ version 7.1.0, GNU libstdc++ version 20170502, Win32 Compiled in optimise mode., _X64_SSE2

    diff --git a/doc/html/math_toolkit/root_finding_examples.html b/doc/html/math_toolkit/root_finding_examples.html index 7b223d0b2..2abd7dafc 100644 --- a/doc/html/math_toolkit/root_finding_examples.html +++ b/doc/html/math_toolkit/root_finding_examples.html @@ -3,7 +3,7 @@ Examples of Root-Finding (with and without derivatives) - + @@ -27,7 +27,7 @@ Examples of Root-Finding (with and without derivatives)
    -
    +
    Finding the Cubed Root With and Without Derivatives
    Using C++11 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 3ffe978e8..443352fe1 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 @@ -3,7 +3,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 bc2f9b4bf..714a9ca75 100644 --- a/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/cbrt_eg.html @@ -3,7 +3,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 d90d86519..e56aceb39 100644 --- a/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html +++ b/doc/html/math_toolkit/root_finding_examples/elliptic_eg.html @@ -3,7 +3,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 b57ce6b49..ec16c9847 100644 --- a/doc/html/math_toolkit/root_finding_examples/lambda.html +++ b/doc/html/math_toolkit/root_finding_examples/lambda.html @@ -3,7 +3,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 81ed394ce..8df101226 100644 --- a/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html +++ b/doc/html/math_toolkit/root_finding_examples/multiprecision_root.html @@ -3,7 +3,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 d76f93ed1..246ac9156 100644 --- a/doc/html/math_toolkit/root_finding_examples/nth_root.html +++ b/doc/html/math_toolkit/root_finding_examples/nth_root.html @@ -3,7 +3,7 @@ Generalizing to Compute the nth root - + diff --git a/doc/html/math_toolkit/roots/root_comparison/cbrt_comparison.html b/doc/html/math_toolkit/roots/root_comparison/cbrt_comparison.html deleted file mode 100644 index f3066043f..000000000 --- a/doc/html/math_toolkit/roots/root_comparison/cbrt_comparison.html +++ /dev/null @@ -1,1589 +0,0 @@ - - - -Comparison of Cube Root Finding Algorithms - - - - - - - - - - - - - - - -
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    -
    -
    -PrevUpHomeNext -
    -
    - -

    - In the table below, the cube root of 28 was computed for three fundamental - (built-in) types floating-point types, and one Boost.Multiprecision - type cpp_bin_float - using 50 decimal digit precision, using four algorithms. -

    -

    - The 'exact' answer was computed using a 100 decimal digit type: -

    -
    cpp_bin_float_100 full_answer ("3.036588971875662519420809578505669635581453977248111123242141654169177268411884961770250390838097895");
    -
    -

    - Times were measured using Boost.Timer - using class cpu_timer. -

    -
      -
    • - Its is the number of iterations taken to find - the root. -
    • -
    • - Times is the CPU time-taken in arbitrary units. -
    • -
    • - Norm is a normalized time, in comparison to the - quickest algorithm (with value 1.00). -
    • -
    • - Dis is the distance from the nearest representation - of the 'exact' root in bits. Distance from the 'exact' answer is measured - by using function Boost.Math - float_distance. One or two bits distance means that all results - are effectively 'correct'. Zero means 'exact' - the nearest representable - value for the floating-point type. -
    • -
    -

    - The cube-root function is a simple function, and is a contrived example - for root-finding. It does allow us to investigate some of the factors controlling - efficiency that may be extrapolated to more complex functions. -

    -

    - The program used was root_finding_algorithms.cpp. - 100000 evaluations of each floating-point type and algorithm were used - and the CPU times were judged from repeat runs to have an uncertainty of - 10 %. Comparing MSVC for double - and long double - (which are identical on this patform) may give a guide to uncertainty of - timing. -

    -

    - The requested precision was set as follows: -

    -
    ---- - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Function -

    -
    -

    - Precision Requested -

    -
    -

    - TOMS748 -

    -
    -

    - numeric_limits<T>::digits - 2 -

    -
    -

    - Newton -

    -
    -

    - floor(numeric_limits<T>::digits * 0.6) -

    -
    -

    - Halley -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -

    - Schröder -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -
      -
    • - The C++ Standard cube root function std::cbrt - is only defined for built-in or fundamental types, so cannot be used - with any User-Defined floating-point types like Boost.Multiprecision. - This, and that the cube function is so impeccably-behaved, allows the - implementer to use many tricks to achieve a fast computation. On some - platforms,std::cbrt appeared several times as quick - as the more general boost::math::cbrt, - on other platforms / compiler options boost::math::cbrt - is noticeably faster. In general, the results are highly dependent - on the code-generation / processor architecture selection compiler - options used. One can assume that the standard library will have been - compiled with options nearly optimal for the platform - it was installed on, where as the user has more choice over the options - used for Boost.Math. Pick something too general/conservative and performance - suffers, while selecting options that make use of the latest instruction - set opcodes speed's things up noticeably. -
    • -
    • - Two compilers in optimise mode were compared: GCC 4.9.1 using Netbeans - IDS and Microsoft Visual Studio 2013 (Update 1) on the same hardware. - The number of iterations seemed consistent, but the relative run-times - surprisingly different. -
    • -
    • - boost::math::cbrt allows use with any - user-defined floating-point type, conveniently Boost.Multiprecision. - It too can take some advantage of the good-behaviour of the cube function, - compared to the more general implementation in the nth root-finding - examples. For example, it uses a polynomial approximation to generate - a better guess than dividing the exponent by three, and can avoid the - complex checks in Newton-Raphson - iteration required to prevent the search going wildly off-track. - For a known precision, it may also be possible to fix the number of - iterations, allowing inlining and loop unrolling. It also algebraically - simplifies the Halley steps leading to a big reduction in the number - of floating point operations required compared to a "black box" - implementation that calculates the derivatives seperately and then - combines them in the Halley code. Typically, it was found that computation - using type double took - a few times longer when using the various root-finding algorithms directly - rather than the hand coded/optimized cbrt - routine. -
    • -
    • - The importance of getting a good guess can be seen by the iteration - count for the multiprecision case: here we "cheat" a little - and use the cube-root calculated to double precision as the initial - guess. The limitation of this tactic is that the range of possible - (exponent) values may be less than the multiprecision type. -
    • -
    • - For fundamental - (built-in) types, there was little to choose between the three - derivative methods, but for cpp_bin_float, - Newton-Raphson - iteration was twice as fast. Note that the cube-root is an extreme - test case as the cost of calling the functor is so cheap that the runtimes - are largely dominated by the complexity of the iteration code. -
    • -
    • - Compiling with optimisation halved computation times, and any differences - between algorithms became nearly negligible. The optimisation speed-up - of the TOMS - Algorithm 748: enclosing zeros of continuous functions was - especially noticable. -
    • -
    • - Using a multiprecision type like cpp_bin_float_50 - for a precision of 50 decimal digits took a lot longer, as expected - because most computation uses software rather than 64-bit floating-point - hardware. Speeds are often more than 50 times slower. -
    • -
    • - Using cpp_bin_float_50, - TOMS Algorithm - 748: enclosing zeros of continuous functions was much slower - showing the benefit of using derivatives. Newton-Raphson - iteration was found to be twice as quick as either of the second-derivative - methods: this is an extreme case though, the function and its derivatives - are so cheap to compute that we're really measuring the complexity - of the boilerplate root-finding code. -
    • -
    • - For multiprecision types only one or two extra iterations - are needed to get the remaining 35 digits, whatever the algorithm used. - (The time taken was of course much greater for these types). -
    • -
    • - Using a 100 decimal-digit type only doubled the time and required only - a very few more iterations, so the cost of extra precision is mainly - the underlying cost of computing more digits, not in the way the algorithm - works. This confirms previous observations using NTL - A Library for doing Number Theory high-precision types. -
    • -
    -
    - - Program - root_finding_algorithms.cpp, Clang version 6.0.0 (tags/RELEASE_600/final), - Dinkumware standard library version 650, Win32, x64
    1000000 evaluations - of each of 5 root_finding algorithms.
    -
    -
    -

    Table 12.1. Cube root(28) for float, double, long double and cpp_bin_float_50

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algorithm -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - cbrt -

    -
    -

    - 0 -

    -
    -

    - 62500 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    - -

    - 0 -

    -
    -

    - 46875 -

    -
    -

    - 1.0 -

    -
    -

    - 1 -

    -
    - -

    - 0 -

    -
    -

    - 62500 -

    -
    -

    - 1.0 -

    -
    -

    - 1 -

    -
    - -

    - 0 -

    -
    -

    - 5750000 -

    -
    -

    - 1.1 -

    -
    -

    - 0 -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 8 -

    -
    -

    - 343750 -

    -
    -

    - 5.5 -

    -
    -

    - -1 -

    -
    - -

    - 11 -

    -
    -

    - 531250 -

    -
    -

    - 11. -

    -
    -

    - 2 -

    -
    - -

    - 11 -

    -
    -

    - 531250 -

    -
    -

    - 8.5 -

    -
    -

    - 2 -

    -
    - -

    - 6 -

    -
    -

    - 40031250 -

    -
    -

    - 7.4 -

    -
    -

    - -2 -

    -
    -
    -

    - Newton -

    -
    -

    - 5 -

    -
    -

    - 171875 -

    -
    -

    - 2.8 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 187500 -

    -
    -

    - 4.0 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 187500 -

    -
    -

    - 3.0 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 5406250 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 3 -

    -
    -

    - 187500 -

    -
    -

    - 3.0 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 218750 -

    -
    -

    - 4.7 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 203125 -

    -
    -

    - 3.3 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 12968750 -

    -
    -

    - 2.4 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 4 -

    -
    -

    - 203125 -

    -
    -

    - 3.3 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 250000 -

    -
    -

    - 5.3 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 218750 -

    -
    -

    - 3.5 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 15984375 -

    -
    -

    - 3.0 -

    -
    -

    - 0 -

    -
    -
    -
    -
    - - Program - root_finding_algorithms.cpp, GNU C++ version 7.2.0, GNU libstdc++ version - 20170814, Win32, x64
    1000000 evaluations of each of 5 root_finding - algorithms.
    -
    -
    -

    Table 12.2. Cube root(28) for float, double, long double and cpp_bin_float_50

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algorithm -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - cbrt -

    -
    -

    - 0 -

    -
    -

    - 46875 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    - -

    - 0 -

    -
    -

    - 125000 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    - -

    - 0 -

    -
    -

    - 109375 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    - -

    - 0 -

    -
    -

    - 3875000 -

    -
    -

    - 1.0 -

    -
    -

    - 0 -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 8 -

    -
    -

    - 281250 -

    -
    -

    - 6.0 -

    -
    -

    - -1 -

    -
    - -

    - 11 -

    -
    -

    - 453125 -

    -
    -

    - 3.6 -

    -
    -

    - 2 -

    -
    - -

    - 10 -

    -
    -

    - 1750000 -

    -
    -

    - 16. -

    -
    -

    - -1 -

    -
    - -

    - 6 -

    -
    -

    - 30312500 -

    -
    -

    - 7.8 -

    -
    -

    - -2 -

    -
    -
    -

    - Newton -

    -
    -

    - 5 -

    -
    -

    - 109375 -

    -
    -

    - 2.3 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 140625 -

    -
    -

    - 1.1 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 281250 -

    -
    -

    - 2.6 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 4125000 -

    -
    -

    - 1.1 -

    -
    -

    - -1 -

    -
    -
    -

    - Halley -

    -
    -

    - 3 -

    -
    -

    - 125000 -

    -
    -

    - 2.7 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 140625 -

    -
    -

    - 1.1 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 515625 -

    -
    -

    - 4.7 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 9171875 -

    -
    -

    - 2.4 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 4 -

    -
    -

    - 140625 -

    -
    -

    - 3.0 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 171875 -

    -
    -

    - 1.4 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 671875 -

    -
    -

    - 6.1 -

    -
    -

    - 0 -

    -
    - -

    - 2 -

    -
    -

    - 10578125 -

    -
    -

    - 2.7 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -
    - - - -
    -
    -
    -PrevUpHomeNext -
    - - diff --git a/doc/html/math_toolkit/roots/root_comparison/elliptic_comparison.html b/doc/html/math_toolkit/roots/root_comparison/elliptic_comparison.html deleted file mode 100644 index 44771f9f7..000000000 --- a/doc/html/math_toolkit/roots/root_comparison/elliptic_comparison.html +++ /dev/null @@ -1,1871 +0,0 @@ - - - -Comparison of Elliptic Integral Root Finding Algoritghms - - - - - - - - - - - - - - - -
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    -
    -
    -PrevUpHomeNext -
    -
    - -

    - A second example compares four root finding algorithms for locating the - second radius of an ellipse with first radius 28 and arc length 300, for - four floating-point types, float, - double, long - double and a Boost.Multiprecision - type cpp_bin_float_50. -

    -

    - Which is to say we're solving: -

    -
    4xE(sqrt(1 - 282 / x2)) - 300 = 0
    -

    - In each case the target accuracy was set using our "recomended" - accuracy limits (or at least limits that make a good starting point - which - is likely to give close to full accuracy without resorting to unnecessary - iterations). -

    -
    ---- - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Function -

    -
    -

    - Precision Requested -

    -
    -

    - TOMS748 -

    -
    -

    - numeric_limits<T>::digits - 2 -

    -
    -

    - Newton -

    -
    -

    - floor(numeric_limits<T>::digits * 0.6) -

    -
    -

    - Halley -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -

    - Schröder -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -

    - Tests used Microsoft Visual Studio 2013 (Update 1) and GCC 4.9.1 using - source code root_elliptic_finding.cpp. -

    -

    - The timing uncertainty (especially using MSVC) is at least 5% of normalized - time 'Norm'. -

    -

    - To pick out the 'best' and 'worst' algorithms are highlighted in blue and - red. More than one result can be 'best' when normalized times are indistinguishable - within the uncertainty. -

    -
    - - Program - root_elliptic_finding.cpp, - Microsoft Visual C++ version 14.0, Dinkumware standard library version - 650, Win32 Compiled in optimise mode., _X86_SSE2 -
    -
    -

    Table 12.12. root with radius 28 and arc length 300) for float, double, long - double and cpp_bin_float_50 types, using _X86_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 5 -

    -
    -

    - 828 -

    -
    -

    - 1.15 -

    -
    -

    - -1 -

    -
    - -

    - 9 -

    -
    -

    - 1453 -

    -
    -

    - 1.52 -

    -
    -

    - 1 -

    -
    - -

    - 9 -

    -
    -

    - 1437 -

    -
    -

    - 1.56 -

    -
    -

    - 1 -

    -
    - -

    - 11 -

    -
    -

    - 1326562 -

    -
    -

    - 1.46 -

    -
    -

    - -3 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 890 -

    -
    -

    - 1.24 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 1156 -

    -
    -

    - 1.21 -

    -
    -

    - 1 -

    -
    - -

    - 4 -

    -
    -

    - 1171 -

    -
    -

    - 1.27 -

    -
    -

    - 1 -

    -
    - -

    - 5 -

    -
    -

    - 1089062 -

    -
    -

    - 1.20 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 718 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 953 -

    -
    -

    - 1.00 -

    -
    -

    - 3 -

    -
    - -

    - 3 -

    -
    -

    - 921 -

    -
    -

    - 1.00 -

    -
    -

    - 3 -

    -
    - -

    - 4 -

    -
    -

    - 909375 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 3 -

    -
    -

    - 906 -

    -
    -

    - 1.26 -

    -
    -

    - -1 -

    -
    - -

    - 6 -

    -
    -

    - 1703 -

    -
    -

    - 1.79 -

    -
    -

    - 1 -

    -
    - -

    - 6 -

    -
    -

    - 1687 -

    -
    -

    - 1.83 -

    -
    -

    - 1 -

    -
    - -

    - 5 -

    -
    -

    - 1131250 -

    -
    -

    - 1.24 -

    -
    -

    - -2 -

    -
    -
    -
    -
    - - Program - root_elliptic_finding.cpp, - Microsoft Visual C++ version 12.0, Dinkumware standard library version - 610, Win32 Compiled in optimise mode., _X64_AVX -
    -
    -

    Table 12.13. root with radius 28 and arc length 300) for float, double, long - double and cpp_bin_float_50 types, using _X64_AVX

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 5 -

    -
    -

    - 500 -

    -
    -

    - 1.33 -

    -
    -

    - -1 -

    -
    - -

    - 9 -

    -
    -

    - 1046 -

    -
    -

    - 1.72 -

    -
    -

    - 1 -

    -
    - -

    - 9 -

    -
    -

    - 1062 -

    -
    -

    - 1.70 -

    -
    -

    - 1 -

    -
    - -

    - 11 -

    -
    -

    - 698437 -

    -
    -

    - 1.54 -

    -
    -

    - -3 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 484 -

    -
    -

    - 1.29 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 734 -

    -
    -

    - 1.21 -

    -
    -

    - 1 -

    -
    - -

    - 4 -

    -
    -

    - 687 -

    -
    -

    - 1.10 -

    -
    -

    - 1 -

    -
    - -

    - 5 -

    -
    -

    - 545312 -

    -
    -

    - 1.20 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 375 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 609 -

    -
    -

    - 1.00 -

    -
    -

    - 3 -

    -
    - -

    - 3 -

    -
    -

    - 625 -

    -
    -

    - 1.00 -

    -
    -

    - 3 -

    -
    - -

    - 4 -

    -
    -

    - 453125 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 3 -

    -
    -

    - 546 -

    -
    -

    - 1.46 -

    -
    -

    - -1 -

    -
    - -

    - 6 -

    -
    -

    - 1109 -

    -
    -

    - 1.82 -

    -
    -

    - 1 -

    -
    - -

    - 6 -

    -
    -

    - 1187 -

    -
    -

    - 1.90 -

    -
    -

    - 1 -

    -
    - -

    - 5 -

    -
    -

    - 564062 -

    -
    -

    - 1.24 -

    -
    -

    - -2 -

    -
    -
    -
    -
    - - Program - root_elliptic_finding.cpp, - GNU C++ version 7.2.0, GNU libstdc++ version 20170814, Win32 Compiled in - optimise mode., _X64_SSE2 -
    -
    -

    Table 12.14. root with radius 28 and arc length 300) for float, double, long - double and cpp_bin_float_50 types, using _X64_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 5 -

    -
    -

    - 437 -

    -
    -

    - 1.17 -

    -
    -

    - -1 -

    -
    - -

    - 8 -

    -
    -

    - 1234 -

    -
    -

    - 1.08 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 2562 -

    -
    -

    - 1.48 -

    -
    -

    - 4 -

    -
    - -

    - 11 -

    -
    -

    - 657812 -

    -
    -

    - 1.49 -

    -
    -

    - -3 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 437 -

    -
    -

    - 1.17 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 1421 -

    -
    -

    - 1.25 -

    -
    -

    - 1 -

    -
    - -

    - 4 -

    -
    -

    - 2031 -

    -
    -

    - 1.17 -

    -
    -

    - 1 -

    -
    - -

    - 5 -

    -
    -

    - 550000 -

    -
    -

    - 1.25 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 375 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 1140 -

    -
    -

    - 1.00 -

    -
    -

    - 1 -

    -
    - -

    - 3 -

    -
    -

    - 1734 -

    -
    -

    - 1.00 -

    -
    -

    - 7 -

    -
    - -

    - 4 -

    -
    -

    - 440625 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 3 -

    -
    -

    - 500 -

    -
    -

    - 1.33 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 1484 -

    -
    -

    - 1.30 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 2156 -

    -
    -

    - 1.24 -

    -
    -

    - 3 -

    -
    - -

    - 5 -

    -
    -

    - 535937 -

    -
    -

    - 1.22 -

    -
    -

    - -2 -

    -
    -
    -
    -

    - Remarks: -

    -
      -
    • - The function being solved is now moderately expensive to call, and - twice as expensive to call when obtaining the derivative than when - not. Consequently there is very little improvement in moving from a - derivative free method, to Newton iteration. However, once you've calculated - the first derivative the second comes almost for free, consequently - the third order methods (Halley) does much the best. -
    • -
    • - Of the two second order methods, Halley does best as would be expected: - the Schroder method offers better guarantees of quadratic - convergence, while Halley relies on a smooth function with a single - root to give cubic convergence. It's not entirely - clear why Schroder iteration often does worse than Newton. -
    • -
    -
    - - - -
    -
    -
    -PrevUpHomeNext -
    - - diff --git a/doc/html/math_toolkit/roots/root_comparison/root_n_comparison.html b/doc/html/math_toolkit/roots/root_comparison/root_n_comparison.html deleted file mode 100644 index d0c2cd770..000000000 --- a/doc/html/math_toolkit/roots/root_comparison/root_n_comparison.html +++ /dev/null @@ -1,5289 +0,0 @@ - - - -Comparison of Nth-root Finding Algorithms - - - - - - - - - - - - - - - -
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    -
    -
    -PrevUpHomeNext -
    -
    - -

    - A second example compares four generalized nth-root finding algorithms - for various n-th roots (5, 7 and 13) of a single value 28.0, for four floating-point - types, float, double, long - double and a Boost.Multiprecision - type cpp_bin_float_50. - In each case the target accuracy was set using our "recomended" - accuracy limits (or at least limits that make a good starting point - which - is likely to give close to full accuracy without resorting to unnecessary - iterations). -

    -
    ---- - - - - - - - - - - - - - - - - - - - - - - -
    -

    - Function -

    -
    -

    - Precision Requested -

    -
    -

    - TOMS748 -

    -
    -

    - numeric_limits<T>::digits - 2 -

    -
    -

    - Newton -

    -
    -

    - floor(numeric_limits<T>::digits * 0.6) -

    -
    -

    - Halley -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -

    - Schröder -

    -
    -

    - floor(numeric_limits<T>::digits * 0.4) -

    -
    -

    - Tests used Microsoft Visual Studio 2013 (Update 1) and GCC 4.9.1 using - source code root_n_finding_algorithms.cpp. -

    -

    - The timing uncertainty (especially using MSVC) is at least 5% of normalized - time 'Norm'. -

    -

    - To pick out the 'best' and 'worst' algorithms are highlighted in blue and - red. More than one result can be 'best' when normalized times are indistinguishable - within the uncertainty. -

    -
    - - Program - ..\example\root_n_finding_algorithms.cpp, Microsoft Visual C++ version - 14.0, Dinkumware standard library version 650, Win32 Compiled in optimise - mode., _X86_SSE2 -
    -

    - Fraction of full accuracy 1 -

    -
    -

    Table 12.3. 5th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X86_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 7 -

    -
    -

    - 795 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 11 -

    -
    -

    - 1106 -

    -
    -

    - 1.26 -

    -
    -

    - 1 -

    -
    - -

    - 11 -

    -
    -

    - 1135 -

    -
    -

    - 1.43 -

    -
    -

    - 1 -

    -
    - -

    - 12 -

    -
    -

    - 148750 -

    -
    -

    - 7.50 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 839 -

    -
    -

    - 1.06 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 879 -

    -
    -

    - 1.00 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 871 -

    -
    -

    - 1.09 -

    -
    -

    - -1 -

    -
    - -

    - 6 -

    -
    -

    - 19843 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 843 -

    -
    -

    - 1.06 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 903 -

    -
    -

    - 1.03 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 859 -

    -
    -

    - 1.08 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 37968 -

    -
    -

    - 1.91 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 2 -

    -
    -

    - 867 -

    -
    -

    - 1.09 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 920 -

    -
    -

    - 1.05 -

    -
    -

    - -1 -

    -
    - -

    - 3 -

    -
    -

    - 796 -

    -
    -

    - 1.00 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 47187 -

    -
    -

    - 2.38 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.4. 7th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X86_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 959 -

    -
    -

    - 1.26 -

    -
    -

    - 1 -

    -
    - -

    - 15 -

    -
    -

    - 1214 -

    -
    -

    - 1.56 -

    -
    -

    - 2 -

    -
    - -

    - 15 -

    -
    -

    - 1209 -

    -
    -

    - 1.52 -

    -
    -

    - 2 -

    -
    - -

    - 14 -

    -
    -

    - 184531 -

    -
    -

    - 6.79 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 5 -

    -
    -

    - 764 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 776 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 796 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 27187 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 795 -

    -
    -

    - 1.04 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 826 -

    -
    -

    - 1.06 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 865 -

    -
    -

    - 1.09 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 55625 -

    -
    -

    - 2.05 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 5 -

    -
    -

    - 826 -

    -
    -

    - 1.08 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 831 -

    -
    -

    - 1.07 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 832 -

    -
    -

    - 1.05 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 78750 -

    -
    -

    - 2.90 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.5. 11th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X86_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 1059 -

    -
    -

    - 1.37 -

    -
    -

    - -2 -

    -
    - -

    - 14 -

    -
    -

    - 1253 -

    -
    -

    - 1.60 -

    -
    -

    - 2 -

    -
    - -

    - 14 -

    -
    -

    - 1251 -

    -
    -

    - 1.60 -

    -
    -

    - 2 -

    -
    - -

    - 17 -

    -
    -

    - 275468 -

    -
    -

    - 8.81 -

    -
    -

    - 2 -

    -
    -
    -

    - Newton -

    -
    -

    - 6 -

    -
    -

    - 771 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 784 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 784 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 9 -

    -
    -

    - 31250 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 828 -

    -
    -

    - 1.07 -

    -
    -

    - -1 -

    -
    - -

    - 5 -

    -
    -

    - 831 -

    -
    -

    - 1.06 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 826 -

    -
    -

    - 1.05 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 56718 -

    -
    -

    - 1.81 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 6 -

    -
    -

    - 875 -

    -
    -

    - 1.13 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 881 -

    -
    -

    - 1.12 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 881 -

    -
    -

    - 1.12 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 97031 -

    -
    -

    - 3.10 -

    -
    -

    - 0 -

    -
    -
    -
    -
    - - Program - root_n_finding_algorithms.cpp, Microsoft Visual C++ version 12.0, Dinkumware - standard library version 610, Win32 Compiled in optimise mode., _X64_AVX -
    -

    - Fraction of full accuracy 1 -

    -
    -

    Table 12.6. 5th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_AVX

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 7 -

    -
    -

    - 239 -

    -
    -

    - 1.50 -

    -
    -

    - 0 -

    -
    - -

    - 11 -

    -
    -

    - 451 -

    -
    -

    - 2.53 -

    -
    -

    - 1 -

    -
    - -

    - 11 -

    -
    -

    - 439 -

    -
    -

    - 2.49 -

    -
    -

    - 1 -

    -
    - -

    - 12 -

    -
    -

    - 90312 -

    -
    -

    - 7.51 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 159 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 178 -

    -
    -

    - 1.00 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 176 -

    -
    -

    - 1.00 -

    -
    -

    - -1 -

    -
    - -

    - 6 -

    -
    -

    - 12031 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 168 -

    -
    -

    - 1.06 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 203 -

    -
    -

    - 1.14 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 198 -

    -
    -

    - 1.13 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 20937 -

    -
    -

    - 1.74 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 2 -

    -
    -

    - 173 -

    -
    -

    - 1.09 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 206 -

    -
    -

    - 1.16 -

    -
    -

    - -1 -

    -
    - -

    - 3 -

    -
    -

    - 203 -

    -
    -

    - 1.15 -

    -
    -

    - -1 -

    -
    - -

    - 4 -

    -
    -

    - 26250 -

    -
    -

    - 2.18 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.7. 7th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_AVX

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 385 -

    -
    -

    - 2.19 -

    -
    -

    - 1 -

    -
    - -

    - 15 -

    -
    -

    - 635 -

    -
    -

    - 3.13 -

    -
    -

    - 2 -

    -
    - -

    - 15 -

    -
    -

    - 621 -

    -
    -

    - 3.17 -

    -
    -

    - 2 -

    -
    - -

    - 14 -

    -
    -

    - 114843 -

    -
    -

    - 6.81 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 5 -

    -
    -

    - 176 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 203 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 196 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 16875 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 209 -

    -
    -

    - 1.19 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 254 -

    -
    -

    - 1.25 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 246 -

    -
    -

    - 1.26 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 32343 -

    -
    -

    - 1.92 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 5 -

    -
    -

    - 223 -

    -
    -

    - 1.27 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 273 -

    -
    -

    - 1.34 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 275 -

    -
    -

    - 1.40 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 45156 -

    -
    -

    - 2.68 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.8. 11th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_AVX

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 467 -

    -
    -

    - 2.42 -

    -
    -

    - -2 -

    -
    - -

    - 14 -

    -
    -

    - 648 -

    -
    -

    - 3.06 -

    -
    -

    - 2 -

    -
    - -

    - 14 -

    -
    -

    - 640 -

    -
    -

    - 2.99 -

    -
    -

    - 2 -

    -
    - -

    - 17 -

    -
    -

    - 170000 -

    -
    -

    - 8.85 -

    -
    -

    - 2 -

    -
    -
    -

    - Newton -

    -
    -

    - 6 -

    -
    -

    - 193 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 212 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 214 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 9 -

    -
    -

    - 19218 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 209 -

    -
    -

    - 1.08 -

    -
    -

    - -1 -

    -
    - -

    - 5 -

    -
    -

    - 256 -

    -
    -

    - 1.21 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 250 -

    -
    -

    - 1.17 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 32656 -

    -
    -

    - 1.70 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 6 -

    -
    -

    - 248 -

    -
    -

    - 1.28 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 306 -

    -
    -

    - 1.44 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 298 -

    -
    -

    - 1.39 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 53437 -

    -
    -

    - 2.78 -

    -
    -

    - 0 -

    -
    -
    -
    -
    - - Program - ..\example\root_n_finding_algorithms.cpp, GNU C++ version 7.2.0, GNU libstdc++ - version 20170814, Win32 Compiled in optimise mode., _X64_SSE2 -
    -

    - Fraction of full accuracy 1 -

    -
    -

    Table 12.9. 5th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 7 -

    -
    -

    - 260 -

    -
    -

    - 2.26 -

    -
    -

    - 0 -

    -
    - -

    - 11 -

    -
    -

    - 481 -

    -
    -

    - 3.51 -

    -
    -

    - 1 -

    -
    - -

    - 9 -

    -
    -

    - 1526 -

    -
    -

    - 6.78 -

    -
    -

    - 0 -

    -
    - -

    - 12 -

    -
    -

    - 70937 -

    -
    -

    - 8.11 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 3 -

    -
    -

    - 115 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 137 -

    -
    -

    - 1.00 -

    -
    -

    - -1 -

    -
    - -

    - 5 -

    -
    -

    - 225 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 8750 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 2 -

    -
    -

    - 135 -

    -
    -

    - 1.17 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 162 -

    -
    -

    - 1.18 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 412 -

    -
    -

    - 1.83 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 14687 -

    -
    -

    - 1.68 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 2 -

    -
    -

    - 135 -

    -
    -

    - 1.17 -

    -
    -

    - 0 -

    -
    - -

    - 3 -

    -
    -

    - 170 -

    -
    -

    - 1.24 -

    -
    -

    - -1 -

    -
    - -

    - 3 -

    -
    -

    - 425 -

    -
    -

    - 1.89 -

    -
    -

    - 0 -

    -
    - -

    - 4 -

    -
    -

    - 18906 -

    -
    -

    - 2.16 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.10. 7th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 465 -

    -
    -

    - 3.39 -

    -
    -

    - 1 -

    -
    - -

    - 15 -

    -
    -

    - 662 -

    -
    -

    - 4.24 -

    -
    -

    - 2 -

    -
    - -

    - 13 -

    -
    -

    - 2304 -

    -
    -

    - 8.17 -

    -
    -

    - 0 -

    -
    - -

    - 14 -

    -
    -

    - 91093 -

    -
    -

    - 7.29 -

    -
    -

    - 0 -

    -
    -
    -

    - Newton -

    -
    -

    - 5 -

    -
    -

    - 137 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 156 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 282 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 12500 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 181 -

    -
    -

    - 1.32 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 210 -

    -
    -

    - 1.35 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 540 -

    -
    -

    - 1.91 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 24062 -

    -
    -

    - 1.92 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 5 -

    -
    -

    - 201 -

    -
    -

    - 1.47 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 242 -

    -
    -

    - 1.55 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 660 -

    -
    -

    - 2.34 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 35625 -

    -
    -

    - 2.85 -

    -
    -

    - 0 -

    -
    -
    -
    -
    -

    Table 12.11. 11th root(28) for float, double, long double and cpp_bin_float_50 - types, using _X64_SSE2

    -
    ----------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -

    - float -

    -
    - - - - -

    - double -

    -
    - - - - -

    - long d -

    -
    - - - - -

    - cpp50 -

    -
    - -   
    -

    - Algo -

    -
    -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    - -

    - Its -

    -
    -

    - Times -

    -
    -

    - Norm -

    -
    -

    - Dis -

    -
    -
    -

    - TOMS748 -

    -
    -

    - 12 -

    -
    -

    - 562 -

    -
    -

    - 3.53 -

    -
    -

    - -2 -

    -
    - -

    - 14 -

    -
    -

    - 701 -

    -
    -

    - 3.85 -

    -
    -

    - 2 -

    -
    - -

    - 14 -

    -
    -

    - 2665 -

    -
    -

    - 9.10 -

    -
    -

    - 1 -

    -
    - -

    - 17 -

    -
    -

    - 137968 -

    -
    -

    - 9.60 -

    -
    -

    - 2 -

    -
    -
    -

    - Newton -

    -
    -

    - 6 -

    -
    -

    - 159 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 182 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 293 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    - -

    - 9 -

    -
    -

    - 14375 -

    -
    -

    - 1.00 -

    -
    -

    - 0 -

    -
    -
    -

    - Halley -

    -
    -

    - 4 -

    -
    -

    - 185 -

    -
    -

    - 1.16 -

    -
    -

    - -1 -

    -
    - -

    - 5 -

    -
    -

    - 220 -

    -
    -

    - 1.21 -

    -
    -

    - 0 -

    -
    - -

    - 5 -

    -
    -

    - 757 -

    -
    -

    - 2.58 -

    -
    -

    - 0 -

    -
    - -

    - 6 -

    -
    -

    - 26093 -

    -
    -

    - 1.82 -

    -
    -

    - 0 -

    -
    -
    -

    - Schröder -

    -
    -

    - 6 -

    -
    -

    - 246 -

    -
    -

    - 1.55 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 279 -

    -
    -

    - 1.53 -

    -
    -

    - 0 -

    -
    - -

    - 7 -

    -
    -

    - 1135 -

    -
    -

    - 3.87 -

    -
    -

    - 0 -

    -
    - -

    - 8 -

    -
    -

    - 41093 -

    -
    -

    - 2.86 -

    -
    -

    - 0 -

    -
    -
    -
    -

    - Some tentative conclusions can be drawn from this limited exercise. -

    -
      -
    • - Perhaps surprisingly, there is little difference between the various - algorithms for fundamental - (built-in) types floating-point types. Using the first derivatives - (Newton-Raphson - iteration) is usually the best, but while the improvement over - the no-derivative TOMS - Algorithm 748: enclosing zeros of continuous functions is considerable - in number of iterations, but little in execution time. This reflects - the fact that the function we are finding the root for is trivial to - evaluate, so runtimetimes are dominated by the time taken by the boilerplate - code in each method. -
    • -
    • - The extra cost of evaluating the second derivatives (Halley - or Schröder) - is usually too much for any net benefit: as with the cube root, these - functors are so cheap to evaluate that the runtime is largely dominated - by the complexity of the root finding method. -
    • -
    • - For a Boost.Multiprecision - floating-point type, the Newton-Raphson - iteration is a clear winner with a several-fold gain over TOMS Algorithm 748: - enclosing zeros of continuous functions, and again no improvement - from the second-derivative algorithms. -
    • -
    • - The run-time of 50 decimal-digit Boost.Multiprecision - is about 30-fold greater than double. -
    • -
    • - The column 'dis' showing the number of bits distance from the correct - result. The Newton-Raphson algorithm shows a bit or two better accuracy - than TOMS - Algorithm 748: enclosing zeros of continuous functions. -
    • -
    • - The goodness of the 'guess' is especially crucial for Boost.Multiprecision. - Separate experiments show that evaluating the 'guess' using double allows convergence to the final - exact result in one or two iterations. So in this contrived example, - crudely dividing the exponent by N for a 'guess', it would be far better - to use a pow<double> - or , if more precise pow<long double>, - function to estimate a 'guess'. The limitation of this tactic is that - the range of possible (exponent) values may be less than the multiprecision - type. -
    • -
    • - Using floating-point extension SSE2 - instructions made a modest ten-percent speedup. -
    • -
    • - Using MSVC, there was some improvement using 64-bit, markedly for - Boost.Multiprecision. -
    • -
    • - The GCC compiler 4.9.1 using 64-bit was at least five-folder faster - that 32-bit, apparently reflecting better optimization. -
    • -
    -

    - Clearly, your mileage will vary, but in - summary, Newton-Raphson - iteration seems the first choice of algorithm, and effort to find - a good 'guess' the first speed-up target, especially for Boost.Multiprecision. - And of course, compiler optimisation is crucial for speed. -

    -
    - - - -
    -
    -
    -PrevUpHomeNext -
    - - diff --git a/doc/html/math_toolkit/roots_deriv.html b/doc/html/math_toolkit/roots_deriv.html index 3c800181a..a7cebda10 100644 --- a/doc/html/math_toolkit/roots_deriv.html +++ b/doc/html/math_toolkit/roots_deriv.html @@ -3,7 +3,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 df7a3c481..c89b6489a 100644 --- a/doc/html/math_toolkit/roots_noderiv.html +++ b/doc/html/math_toolkit/roots_noderiv.html @@ -3,7 +3,7 @@ Root Finding Without Derivatives - + @@ -26,7 +26,7 @@ -
    +
    Bisection
    Bracket and Solve Root
    diff --git a/doc/html/math_toolkit/roots_noderiv/TOMS748.html b/doc/html/math_toolkit/roots_noderiv/TOMS748.html index 5486611d1..2c7222904 100644 --- a/doc/html/math_toolkit/roots_noderiv/TOMS748.html +++ b/doc/html/math_toolkit/roots_noderiv/TOMS748.html @@ -3,7 +3,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 c593b6e85..5b02933e6 100644 --- a/doc/html/math_toolkit/roots_noderiv/bisect.html +++ b/doc/html/math_toolkit/roots_noderiv/bisect.html @@ -3,7 +3,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 f5bcae40c..2f2c73f71 100644 --- a/doc/html/math_toolkit/roots_noderiv/bracket_solve.html +++ b/doc/html/math_toolkit/roots_noderiv/bracket_solve.html @@ -3,7 +3,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 8517c44c5..866de093a 100644 --- a/doc/html/math_toolkit/roots_noderiv/brent.html +++ b/doc/html/math_toolkit/roots_noderiv/brent.html @@ -3,7 +3,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 7cfce62a5..55db5e2c2 100644 --- a/doc/html/math_toolkit/roots_noderiv/implementation.html +++ b/doc/html/math_toolkit/roots_noderiv/implementation.html @@ -3,7 +3,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 563a3a11e..d55015396 100644 --- a/doc/html/math_toolkit/roots_noderiv/root_termination.html +++ b/doc/html/math_toolkit/roots_noderiv/root_termination.html @@ -3,7 +3,7 @@ Termination Condition Functors - + diff --git a/doc/html/math_toolkit/rounding.html b/doc/html/math_toolkit/rounding.html index e02e80e0c..75889419c 100644 --- a/doc/html/math_toolkit/rounding.html +++ b/doc/html/math_toolkit/rounding.html @@ -3,7 +3,7 @@ Rounding Truncation and Integer Conversion - + @@ -27,7 +27,7 @@ Rounding Truncation and Integer Conversion
    -
    +
    Rounding Functions
    Truncation Functions
    Integer and Fractional Part diff --git a/doc/html/math_toolkit/rounding/modf.html b/doc/html/math_toolkit/rounding/modf.html index 0699f118d..6cd12ae8b 100644 --- a/doc/html/math_toolkit/rounding/modf.html +++ b/doc/html/math_toolkit/rounding/modf.html @@ -3,7 +3,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 6eca18fb2..44ad3ba28 100644 --- a/doc/html/math_toolkit/rounding/round.html +++ b/doc/html/math_toolkit/rounding/round.html @@ -3,7 +3,7 @@ Rounding Functions - + diff --git a/doc/html/math_toolkit/rounding/trunc.html b/doc/html/math_toolkit/rounding/trunc.html index dd0408aa5..8b1478727 100644 --- a/doc/html/math_toolkit/rounding/trunc.html +++ b/doc/html/math_toolkit/rounding/trunc.html @@ -3,7 +3,7 @@ Truncation Functions - + diff --git a/doc/html/math_toolkit/sf_beta.html b/doc/html/math_toolkit/sf_beta.html index 11d68610a..c07633438 100644 --- a/doc/html/math_toolkit/sf_beta.html +++ b/doc/html/math_toolkit/sf_beta.html @@ -3,7 +3,7 @@ Beta Functions - + @@ -26,7 +26,7 @@ -
    +
    Beta
    Incomplete 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 8da115ce9..a3dfc22e7 100644 --- a/doc/html/math_toolkit/sf_beta/beta_derivative.html +++ b/doc/html/math_toolkit/sf_beta/beta_derivative.html @@ -3,7 +3,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 3cd14ada8..4e6accd76 100644 --- a/doc/html/math_toolkit/sf_beta/beta_function.html +++ b/doc/html/math_toolkit/sf_beta/beta_function.html @@ -3,7 +3,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 6b773985d..581f8b7dd 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_function.html @@ -3,7 +3,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 fd5f65cae..4f515971e 100644 --- a/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html +++ b/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html @@ -3,7 +3,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 fe6f8685e..0a91d5c74 100644 --- a/doc/html/math_toolkit/sf_erf.html +++ b/doc/html/math_toolkit/sf_erf.html @@ -3,7 +3,7 @@ Error Functions - + @@ -26,7 +26,7 @@ -
    + diff --git a/doc/html/math_toolkit/sf_erf/error_function.html b/doc/html/math_toolkit/sf_erf/error_function.html index f318b6b17..043b013b7 100644 --- a/doc/html/math_toolkit/sf_erf/error_function.html +++ b/doc/html/math_toolkit/sf_erf/error_function.html @@ -3,7 +3,7 @@ Error Functions - + diff --git a/doc/html/math_toolkit/sf_erf/error_inv.html b/doc/html/math_toolkit/sf_erf/error_inv.html index 04bdb3475..d64d5f229 100644 --- a/doc/html/math_toolkit/sf_erf/error_inv.html +++ b/doc/html/math_toolkit/sf_erf/error_inv.html @@ -3,7 +3,7 @@ Error Function Inverses - + diff --git a/doc/html/math_toolkit/sf_gamma.html b/doc/html/math_toolkit/sf_gamma.html index a3311ccdb..bfb247be2 100644 --- a/doc/html/math_toolkit/sf_gamma.html +++ b/doc/html/math_toolkit/sf_gamma.html @@ -3,7 +3,7 @@ Gamma Functions - + @@ -26,7 +26,7 @@ -
    +
    Gamma
    Log Gamma
    Digamma
    diff --git a/doc/html/math_toolkit/sf_gamma/digamma.html b/doc/html/math_toolkit/sf_gamma/digamma.html index 482458ecc..4d9d5a7da 100644 --- a/doc/html/math_toolkit/sf_gamma/digamma.html +++ b/doc/html/math_toolkit/sf_gamma/digamma.html @@ -3,7 +3,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 b2eae3ca5..734759f74 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html @@ -3,7 +3,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 3c2635356..197471dda 100644 --- a/doc/html/math_toolkit/sf_gamma/gamma_ratios.html +++ b/doc/html/math_toolkit/sf_gamma/gamma_ratios.html @@ -3,7 +3,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 133b5ad70..19dc71aae 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma.html +++ b/doc/html/math_toolkit/sf_gamma/igamma.html @@ -3,7 +3,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 71dd63e54..1a92a877d 100644 --- a/doc/html/math_toolkit/sf_gamma/igamma_inv.html +++ b/doc/html/math_toolkit/sf_gamma/igamma_inv.html @@ -3,7 +3,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 c40765f75..e4f79bd33 100644 --- a/doc/html/math_toolkit/sf_gamma/lgamma.html +++ b/doc/html/math_toolkit/sf_gamma/lgamma.html @@ -3,7 +3,7 @@ Log Gamma - + diff --git a/doc/html/math_toolkit/sf_gamma/polygamma.html b/doc/html/math_toolkit/sf_gamma/polygamma.html index e1ecb2188..933ad9703 100644 --- a/doc/html/math_toolkit/sf_gamma/polygamma.html +++ b/doc/html/math_toolkit/sf_gamma/polygamma.html @@ -3,7 +3,7 @@ Polygamma - + diff --git a/doc/html/math_toolkit/sf_gamma/tgamma.html b/doc/html/math_toolkit/sf_gamma/tgamma.html index 0db292ab1..288167ec9 100644 --- a/doc/html/math_toolkit/sf_gamma/tgamma.html +++ b/doc/html/math_toolkit/sf_gamma/tgamma.html @@ -3,7 +3,7 @@ Gamma - + diff --git a/doc/html/math_toolkit/sf_gamma/trigamma.html b/doc/html/math_toolkit/sf_gamma/trigamma.html index 7b90e9ce8..1447c2a09 100644 --- a/doc/html/math_toolkit/sf_gamma/trigamma.html +++ b/doc/html/math_toolkit/sf_gamma/trigamma.html @@ -3,7 +3,7 @@ Trigamma - + diff --git a/doc/html/math_toolkit/sf_implementation.html b/doc/html/math_toolkit/sf_implementation.html index 06162e31d..e8788fcb5 100644 --- a/doc/html/math_toolkit/sf_implementation.html +++ b/doc/html/math_toolkit/sf_implementation.html @@ -3,7 +3,7 @@ Additional Implementation Notes - + diff --git a/doc/html/math_toolkit/sf_poly.html b/doc/html/math_toolkit/sf_poly.html index 4b5c1d486..d5c380662 100644 --- a/doc/html/math_toolkit/sf_poly.html +++ b/doc/html/math_toolkit/sf_poly.html @@ -3,7 +3,7 @@ Polynomials - + @@ -26,7 +26,7 @@ -
    +
    Legendre (and Associated) Polynomials
    Legendre-Stieltjes diff --git a/doc/html/math_toolkit/sf_poly/chebyshev.html b/doc/html/math_toolkit/sf_poly/chebyshev.html index 8a1a72b84..c1274906f 100644 --- a/doc/html/math_toolkit/sf_poly/chebyshev.html +++ b/doc/html/math_toolkit/sf_poly/chebyshev.html @@ -3,7 +3,7 @@ Chebyshev Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/hermite.html b/doc/html/math_toolkit/sf_poly/hermite.html index 13cfb8db4..80860e7e4 100644 --- a/doc/html/math_toolkit/sf_poly/hermite.html +++ b/doc/html/math_toolkit/sf_poly/hermite.html @@ -3,7 +3,7 @@ Hermite Polynomials - + diff --git a/doc/html/math_toolkit/sf_poly/laguerre.html b/doc/html/math_toolkit/sf_poly/laguerre.html index 5bc446cb3..1b0bb004b 100644 --- a/doc/html/math_toolkit/sf_poly/laguerre.html +++ b/doc/html/math_toolkit/sf_poly/laguerre.html @@ -3,7 +3,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 52c1994aa..36958e655 100644 --- a/doc/html/math_toolkit/sf_poly/legendre.html +++ b/doc/html/math_toolkit/sf_poly/legendre.html @@ -3,7 +3,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 7887e4458..76bc0b6e2 100644 --- a/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html +++ b/doc/html/math_toolkit/sf_poly/legendre_stieltjes.html @@ -3,7 +3,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 ce4fbe31d..429858a5b 100644 --- a/doc/html/math_toolkit/sf_poly/sph_harm.html +++ b/doc/html/math_toolkit/sf_poly/sph_harm.html @@ -3,7 +3,7 @@ Spherical Harmonics - + diff --git a/doc/html/math_toolkit/sign_functions.html b/doc/html/math_toolkit/sign_functions.html index da3113023..6d699e01d 100644 --- a/doc/html/math_toolkit/sign_functions.html +++ b/doc/html/math_toolkit/sign_functions.html @@ -3,7 +3,7 @@ Sign Manipulation Functions - + diff --git a/doc/html/math_toolkit/sinc.html b/doc/html/math_toolkit/sinc.html index 1f8a986e9..a4b08959b 100644 --- a/doc/html/math_toolkit/sinc.html +++ b/doc/html/math_toolkit/sinc.html @@ -3,7 +3,7 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions - + @@ -27,7 +27,7 @@ Sinus Cardinal and Hyperbolic Sinus Cardinal Functions
    -
    +
    Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview
    sinc_pi
    diff --git a/doc/html/math_toolkit/sinc/sinc_overview.html b/doc/html/math_toolkit/sinc/sinc_overview.html index 0189e9287..424981763 100644 --- a/doc/html/math_toolkit/sinc/sinc_overview.html +++ b/doc/html/math_toolkit/sinc/sinc_overview.html @@ -3,7 +3,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 3cf87282a..318446413 100644 --- a/doc/html/math_toolkit/sinc/sinc_pi.html +++ b/doc/html/math_toolkit/sinc/sinc_pi.html @@ -3,7 +3,7 @@ sinc_pi - + diff --git a/doc/html/math_toolkit/sinc/sinhc_pi.html b/doc/html/math_toolkit/sinc/sinhc_pi.html index 4407838d1..9d356bc1a 100644 --- a/doc/html/math_toolkit/sinc/sinhc_pi.html +++ b/doc/html/math_toolkit/sinc/sinhc_pi.html @@ -3,7 +3,7 @@ sinhc_pi - + diff --git a/doc/html/math_toolkit/spec.html b/doc/html/math_toolkit/spec.html index 75f54fb8a..9a49c586a 100644 --- a/doc/html/math_toolkit/spec.html +++ b/doc/html/math_toolkit/spec.html @@ -3,7 +3,7 @@ Quaternion Specializations - + diff --git a/doc/html/math_toolkit/special_tut.html b/doc/html/math_toolkit/special_tut.html index 62771fda6..1870a1870 100644 --- a/doc/html/math_toolkit/special_tut.html +++ b/doc/html/math_toolkit/special_tut.html @@ -3,7 +3,7 @@ Tutorial: How to Write a New Special Function - + @@ -27,7 +27,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 3999e735c..e6bd84eb6 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_impl.html +++ b/doc/html/math_toolkit/special_tut/special_tut_impl.html @@ -3,7 +3,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 a0c3424ef..6ecd4a0c0 100644 --- a/doc/html/math_toolkit/special_tut/special_tut_test.html +++ b/doc/html/math_toolkit/special_tut/special_tut_test.html @@ -3,7 +3,7 @@ Testing - + diff --git a/doc/html/math_toolkit/specified_typedefs.html b/doc/html/math_toolkit/specified_typedefs.html index ed2cb7e90..cd835251b 100644 --- a/doc/html/math_toolkit/specified_typedefs.html +++ b/doc/html/math_toolkit/specified_typedefs.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/math_toolkit/stat_tut.html b/doc/html/math_toolkit/stat_tut.html index cefbaabbd..43b2216db 100644 --- a/doc/html/math_toolkit/stat_tut.html +++ b/doc/html/math_toolkit/stat_tut.html @@ -3,7 +3,7 @@ Statistical Distributions Tutorial - + @@ -26,7 +26,7 @@ -
    +
    Overview of Distributions
    Headers and diff --git a/doc/html/math_toolkit/stat_tut/dist_params.html b/doc/html/math_toolkit/stat_tut/dist_params.html index ff0dc730b..55a19d30a 100644 --- a/doc/html/math_toolkit/stat_tut/dist_params.html +++ b/doc/html/math_toolkit/stat_tut/dist_params.html @@ -3,7 +3,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 e86fbb1b5..ed904b52d 100644 --- a/doc/html/math_toolkit/stat_tut/overview.html +++ b/doc/html/math_toolkit/stat_tut/overview.html @@ -3,7 +3,7 @@ Overview of Distributions - + @@ -26,7 +26,7 @@ -
    +
    Headers and Namespaces
    Distributions diff --git a/doc/html/math_toolkit/stat_tut/overview/complements.html b/doc/html/math_toolkit/stat_tut/overview/complements.html index d2d25440b..5d0b98d2f 100644 --- a/doc/html/math_toolkit/stat_tut/overview/complements.html +++ b/doc/html/math_toolkit/stat_tut/overview/complements.html @@ -3,7 +3,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 dbdb944cd..adc774934 100644 --- a/doc/html/math_toolkit/stat_tut/overview/generic.html +++ b/doc/html/math_toolkit/stat_tut/overview/generic.html @@ -3,7 +3,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 8867da0ca..1b1ae7ea6 100644 --- a/doc/html/math_toolkit/stat_tut/overview/headers.html +++ b/doc/html/math_toolkit/stat_tut/overview/headers.html @@ -3,7 +3,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 7d1f01d8f..2f4b0567f 100644 --- a/doc/html/math_toolkit/stat_tut/overview/objects.html +++ b/doc/html/math_toolkit/stat_tut/overview/objects.html @@ -3,7 +3,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 0e1c1269b..ffd566dad 100644 --- a/doc/html/math_toolkit/stat_tut/overview/parameters.html +++ b/doc/html/math_toolkit/stat_tut/overview/parameters.html @@ -3,7 +3,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 c2c7d1725..dd3616ebf 100644 --- a/doc/html/math_toolkit/stat_tut/overview/summary.html +++ b/doc/html/math_toolkit/stat_tut/overview/summary.html @@ -3,7 +3,7 @@ Summary - + diff --git a/doc/html/math_toolkit/stat_tut/variates.html b/doc/html/math_toolkit/stat_tut/variates.html index d694d3424..9107b0951 100644 --- a/doc/html/math_toolkit/stat_tut/variates.html +++ b/doc/html/math_toolkit/stat_tut/variates.html @@ -3,7 +3,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 88aa8386e..3bebcd108 100644 --- a/doc/html/math_toolkit/stat_tut/weg.html +++ b/doc/html/math_toolkit/stat_tut/weg.html @@ -3,7 +3,7 @@ Worked Examples - + @@ -26,7 +26,7 @@ -
    -
    +
    Binomial Coin-Flipping Example
    Binomial 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 2b4d882d2..af18cc1cf 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 @@ -3,7 +3,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 970be9245..12437a564 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 @@ -3,7 +3,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 0842f04e7..cd825994c 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 @@ -3,7 +3,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 297a6afe0..7534b4b73 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 @@ -3,7 +3,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 4be6de3f8..3ed3ad49c 100644 --- a/doc/html/math_toolkit/stat_tut/weg/c_sharp.html +++ b/doc/html/math_toolkit/stat_tut/weg/c_sharp.html @@ -3,7 +3,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 347004157..0fc5d3d5f 100644 --- a/doc/html/math_toolkit/stat_tut/weg/cs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/cs_eg.html @@ -3,7 +3,7 @@ Chi Squared Distribution Examples - + @@ -27,7 +27,7 @@ Chi Squared Distribution Examples
    -
    +
    Confidence Intervals on the Standard Deviation
    Chi-Square 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 f706a46ca..802650885 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 @@ -3,7 +3,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 5e4914e07..24ef732d2 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 @@ -3,7 +3,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 86afb2041..a64f033e5 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 @@ -3,7 +3,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 c0cc9847b..85e2eb980 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 @@ -3,7 +3,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 972b91dd4..245f3fd8d 100644 --- a/doc/html/math_toolkit/stat_tut/weg/error_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/error_eg.html @@ -3,7 +3,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 785c93ed3..ce40e0265 100644 --- a/doc/html/math_toolkit/stat_tut/weg/f_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/f_eg.html @@ -3,7 +3,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 643edf1ad..4c31ed6b9 100644 --- a/doc/html/math_toolkit/stat_tut/weg/find_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/find_eg.html @@ -3,7 +3,7 @@ Find Location and Scale Examples - + @@ -27,7 +27,7 @@ Find Location and Scale Examples
    -
    +
    Find Location (Mean) Example
    Find 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 cb4b2d8df..ad9fb0188 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 @@ -3,7 +3,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 4810e5323..aae5a3f61 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 @@ -3,7 +3,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 cf773de03..f782d1ae7 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 @@ -3,7 +3,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 a0ed0fc30..d7556f9cd 100644 --- a/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html @@ -3,7 +3,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 6ae1d4c4c..b21e66686 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 @@ -3,7 +3,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 1c1482d78..fdf5be5d6 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nag_library.html +++ b/doc/html/math_toolkit/stat_tut/weg/nag_library.html @@ -3,7 +3,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 d95796762..ca84113be 100644 --- a/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html +++ b/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html @@ -3,7 +3,7 @@ Non Central Chi Squared Example - + @@ -27,7 +27,7 @@ Non Central Chi Squared Example
    -
    -
    +
    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_conf.html b/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html index 5cbf0c3a5..0d8301e47 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 @@ -3,7 +3,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 774518257..83aad1dca 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 @@ -3,7 +3,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 1e323710d..45e3d45e5 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 @@ -3,7 +3,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 1d1ff34cc..8adfc8ea4 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 @@ -3,7 +3,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 3767f9bfc..f36e48e02 100644 --- a/doc/html/math_toolkit/stat_tut/weg/normal_example.html +++ b/doc/html/math_toolkit/stat_tut/weg/normal_example.html @@ -3,7 +3,7 @@ Normal Distribution Examples - + @@ -27,7 +27,7 @@ Normal Distribution Examples
    -
    -
    +
    Calculating confidence intervals on the mean with the Students-t distribution
    Testing 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 c42f77f0b..f9b294508 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 @@ -3,7 +3,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 7fb479027..0de807549 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 @@ -3,7 +3,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 cfcf6ec12..6e870f679 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 @@ -3,7 +3,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 41e429b92..0749dda14 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 @@ -3,7 +3,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 16055d41e..fad631862 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 @@ -3,7 +3,7 @@ Comparing the means of two samples with the Students-t test - + diff --git a/doc/html/math_toolkit/threads.html b/doc/html/math_toolkit/threads.html index 16870ed03..abf1122b2 100644 --- a/doc/html/math_toolkit/threads.html +++ b/doc/html/math_toolkit/threads.html @@ -3,7 +3,7 @@ Thread Safety - + diff --git a/doc/html/math_toolkit/tr1_ref.html b/doc/html/math_toolkit/tr1_ref.html index b62edcd7a..bfaffaa5d 100644 --- a/doc/html/math_toolkit/tr1_ref.html +++ b/doc/html/math_toolkit/tr1_ref.html @@ -3,7 +3,7 @@ TR1 C Functions Quick Reference - + diff --git a/doc/html/math_toolkit/tradoffs.html b/doc/html/math_toolkit/tradoffs.html index 100cdfad1..6b5eb942b 100644 --- a/doc/html/math_toolkit/tradoffs.html +++ b/doc/html/math_toolkit/tradoffs.html @@ -3,7 +3,7 @@ Trading Accuracy for Performance - + diff --git a/doc/html/math_toolkit/trans.html b/doc/html/math_toolkit/trans.html index 4459dad8b..b68b239cd 100644 --- a/doc/html/math_toolkit/trans.html +++ b/doc/html/math_toolkit/trans.html @@ -3,7 +3,7 @@ Quaternion Transcendentals - + diff --git a/doc/html/math_toolkit/trapezoidal.html b/doc/html/math_toolkit/trapezoidal.html index 22079caef..99b3d0e12 100644 --- a/doc/html/math_toolkit/trapezoidal.html +++ b/doc/html/math_toolkit/trapezoidal.html @@ -3,7 +3,7 @@ Trapezoidal Quadrature - + diff --git a/doc/html/math_toolkit/tuning.html b/doc/html/math_toolkit/tuning.html index cf7628a41..c3212eb5f 100644 --- a/doc/html/math_toolkit/tuning.html +++ b/doc/html/math_toolkit/tuning.html @@ -3,7 +3,7 @@ Performance Tuning Macros - + diff --git a/doc/html/math_toolkit/tutorial.html b/doc/html/math_toolkit/tutorial.html index 7284e19bd..8bdf1650b 100644 --- a/doc/html/math_toolkit/tutorial.html +++ b/doc/html/math_toolkit/tutorial.html @@ -3,7 +3,7 @@ Tutorial - + @@ -26,7 +26,7 @@ -
    +
    Use in non-template code
    Use in template code
    diff --git a/doc/html/math_toolkit/tutorial/non_templ.html b/doc/html/math_toolkit/tutorial/non_templ.html index 5bc0367e0..637e59dd4 100644 --- a/doc/html/math_toolkit/tutorial/non_templ.html +++ b/doc/html/math_toolkit/tutorial/non_templ.html @@ -3,7 +3,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 1a0444bf0..59e80b82d 100644 --- a/doc/html/math_toolkit/tutorial/templ.html +++ b/doc/html/math_toolkit/tutorial/templ.html @@ -3,7 +3,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 131e8529d..dc93dba5a 100644 --- a/doc/html/math_toolkit/tutorial/user_def.html +++ b/doc/html/math_toolkit/tutorial/user_def.html @@ -3,7 +3,7 @@ Use With User-Defined Types - + diff --git a/doc/html/math_toolkit/value_op.html b/doc/html/math_toolkit/value_op.html index 3336cd241..3794e413e 100644 --- a/doc/html/math_toolkit/value_op.html +++ b/doc/html/math_toolkit/value_op.html @@ -3,7 +3,7 @@ Quaternion Value Operations - + diff --git a/doc/html/math_toolkit/zetas.html b/doc/html/math_toolkit/zetas.html index c30297d35..7d13dffbd 100644 --- a/doc/html/math_toolkit/zetas.html +++ b/doc/html/math_toolkit/zetas.html @@ -3,7 +3,7 @@ Zeta Functions - + @@ -26,7 +26,7 @@ - +
    diff --git a/doc/html/math_toolkit/zetas/zeta.html b/doc/html/math_toolkit/zetas/zeta.html index b9af300dc..d575ff6ed 100644 --- a/doc/html/math_toolkit/zetas/zeta.html +++ b/doc/html/math_toolkit/zetas/zeta.html @@ -3,7 +3,7 @@ Riemann Zeta Function - + diff --git a/doc/html/octonions.html b/doc/html/octonions.html index 1a3963092..97a3ad372 100644 --- a/doc/html/octonions.html +++ b/doc/html/octonions.html @@ -3,7 +3,7 @@ Chapter 14. Octonions - + @@ -27,7 +27,7 @@ Chapter 14. Octonions

    Table of Contents

    -
    +
    Overview
    Header File
    Synopsis
    diff --git a/doc/html/overview.html b/doc/html/overview.html index 86aba676e..8b47266a4 100644 --- a/doc/html/overview.html +++ b/doc/html/overview.html @@ -3,7 +3,7 @@ Chapter 1. Overview - + @@ -27,7 +27,7 @@ Chapter 1. Overview

    Table of Contents

    -
    +
    About the Math Toolkit
    Navigation
    Document Conventions
    diff --git a/doc/html/perf.html b/doc/html/perf.html index 8ae279afe..58de6cf44 100644 --- a/doc/html/perf.html +++ b/doc/html/perf.html @@ -3,7 +3,7 @@ Chapter 19. Performance - + @@ -27,7 +27,7 @@ Chapter 19. Performance

    Table of Contents

    -
    +
    Policy Overview
    Policy Tutorial
    diff --git a/doc/html/poly.html b/doc/html/poly.html index f7a658fba..1e9a7677c 100644 --- a/doc/html/poly.html +++ b/doc/html/poly.html @@ -3,7 +3,7 @@ Chapter 9. Polynomials and Rational Functions - + @@ -27,7 +27,7 @@ Chapter 9. Polynomials and Rational Functions

    Table of Contents

    -
    +
    Polynomials
    Polynomial and Rational Function Evaluation
    diff --git a/doc/html/quadrature.html b/doc/html/quadrature.html index 584b1610c..bd792e805 100644 --- a/doc/html/quadrature.html +++ b/doc/html/quadrature.html @@ -3,7 +3,7 @@ Chapter 11. Quadrature and Differentiation - + @@ -27,7 +27,7 @@ Chapter 11. Quadrature and Differentiation

    Table of Contents

    -
    +
    Trapezoidal Quadrature
    Gauss-Legendre quadrature
    Gauss-Kronrod Quadrature
    diff --git a/doc/html/quaternions.html b/doc/html/quaternions.html index dbdaa57da..24b1a6814 100644 --- a/doc/html/quaternions.html +++ b/doc/html/quaternions.html @@ -3,7 +3,7 @@ Chapter 13. Quaternions - + @@ -27,7 +27,7 @@ Chapter 13. Quaternions

    Table of Contents

    -
    +
    Overview
    Header File
    Synopsis
    diff --git a/doc/html/root_finding.html b/doc/html/root_finding.html index 383fa7a4c..ab684772f 100644 --- a/doc/html/root_finding.html +++ b/doc/html/root_finding.html @@ -3,7 +3,7 @@ Chapter 8. Root Finding & Minimization Algorithms - + @@ -27,7 +27,7 @@ Chapter 8. Root Finding & Minimization Algorithms

    Table of Contents

    -
    +
    Root Finding Without Derivatives
    Bisection
    diff --git a/doc/html/special.html b/doc/html/special.html index bafe68a82..647772fd7 100644 --- a/doc/html/special.html +++ b/doc/html/special.html @@ -3,7 +3,7 @@ Chapter 6. Special Functions - + @@ -27,7 +27,7 @@ Chapter 6. Special Functions

    Table of Contents

    -
    +
    History and What's New
    Known Issues, and TODO List
    Credits and Acknowledgements
    diff --git a/doc/html/using_udt.html b/doc/html/using_udt.html index 644e93b4d..0a1829e6d 100644 --- a/doc/html/using_udt.html +++ b/doc/html/using_udt.html @@ -3,7 +3,7 @@ Chapter 17. Use with User-Defined Floating-Point Types - Boost.Multiprecision and others - + @@ -28,7 +28,7 @@ others

    Table of Contents

    -
    +
    Using Boost.Math with High-Precision Floating-Point Libraries
    diff --git a/doc/html/utils.html b/doc/html/utils.html index dacc5630d..23b90ff92 100644 --- a/doc/html/utils.html +++ b/doc/html/utils.html @@ -3,7 +3,7 @@ Chapter 2. Floating Point Utilities - + @@ -27,7 +27,7 @@ Chapter 2. Floating Point Utilities

    Table of Contents

    -
    +
    Rounding Truncation and Integer Conversion
    diff --git a/doc/interpolators/cubic_b_spline.qbk b/doc/interpolators/cubic_b_spline.qbk index fec67cb67..de1475ff8 100644 --- a/doc/interpolators/cubic_b_spline.qbk +++ b/doc/interpolators/cubic_b_spline.qbk @@ -19,7 +19,7 @@ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) { public: - template + template cubic_b_spline(BidiIterator a, BidiIterator b, Real left_endpoint, Real step_size, Real left_endpoint_derivative = std::numeric_limits::quiet_NaN(), Real right_endpoint_derivative = std::numeric_limits::quiet_NaN()); @@ -113,4 +113,4 @@ In addition, constant, linear, and quadratic functions are interpolated to ensur [cubic_b_spline_example_out] -[endsect] +[endsect] [/section:cubic_b Cubic B-spline interpolation] diff --git a/doc/overview/result_type_calc.qbk b/doc/overview/result_type_calc.qbk index ff3b607fd..da50d0eda 100644 --- a/doc/overview/result_type_calc.qbk +++ b/doc/overview/result_type_calc.qbk @@ -24,7 +24,7 @@ is computed using the following logic: # Any arguments that are not template arguments are disregarded from further analysis. # For each type in the argument list, if that type is an integer type -then it is treated as if it were of type double for the purposes of +then it is treated as if it were of type `double` for the purposes of further analysis. # If any of the arguments is a user-defined class type, then the result type is the first such class type that is constructible from all of the other diff --git a/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk b/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk index a5210e7fd..c2d66cfe3 100644 --- a/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk +++ b/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk @@ -1,4 +1,4 @@ -[/..\example/../../../libs/math/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk +[/./../../../libs/math/doc/roots/elliptic_table_100_msvc_X86_SSE2.qbk Copyright 2015 Paul A. Bristow. Copyright 2015 John Maddock. Distributed under the Boost Software License, Version 1.0. @@ -13,8 +13,8 @@ Compiled in optimise mode., _X86_SSE2] [table:elliptic root with radius 28 and arc length 300) for float, double, long double and cpp_bin_float_50 types, using _X86_SSE2 [[][float][][][] [][double][][][] [][long d][][][] [][cpp50][][]] [[Algo ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ]] -[[TOMS748 ][ 6][ 906][2.07][ 0][ ][ 9][ 1312][1.79][ 1][ ][ 9][ 1281][1.75][ 1][ ][ 11][1690625][1.52][ -3][ ]] -[[Newton ][ 3][ 640][1.46][ -1][ ][ 4][ 875][1.19][ 1][ ][ 4][ 843][1.15][ 1][ ][ 5][1368750][1.23][ 0][ ]] -[[Halley ][ 2][ 437][[role blue 1.00]][ 0][ ][ 3][ 734][[role blue 1.00]][ 3][ ][ 3][ 734][[role blue 1.00]][ 3][ ][ 4][1109375][[role blue 1.00]][ 0][ ]] -[[Schr'''ö'''der][ 3][ 671][1.54][ -1][ ][ 6][ 1296][1.77][ 1][ ][ 6][ 1406][1.92][ 1][ ][ 5][1462500][1.32][ -2][ ]] +[[TOMS748 ][ 6][ 875][1.44][ 0][ ][ 9][ 1328][1.67][ 1][ ][ 9][ 1328][1.67][ 1][ ][ 11][987500][1.47][ -3][ ]] +[[Newton ][ 3][ 781][1.28][ -1][ ][ 4][ 984][1.24][ 1][ ][ 4][ 984][1.24][ 1][ ][ 5][801562][1.19][ 0][ ]] +[[Halley ][ 2][ 609][[role blue 1.00]][ 0][ ][ 3][ 796][[role blue 1.00]][ 3][ ][ 3][ 796][[role blue 1.00]][ 3][ ][ 4][671875][[role blue 1.00]][ 0][ ]] +[[Schr'''ö'''der][ 3][ 796][1.31][ -1][ ][ 6][ 1453][1.83][ 1][ ][ 6][ 1453][1.83][ 1][ ][ 5][843750][1.26][ -2][ ]] ] [/end of table root] diff --git a/doc/roots/root_comparison_tables_msvc.qbk b/doc/roots/root_comparison_tables_msvc.qbk index 9a4846b0f..92d68606c 100644 --- a/doc/roots/root_comparison_tables_msvc.qbk +++ b/doc/roots/root_comparison_tables_msvc.qbk @@ -11,9 +11,9 @@ http://www.boost.org/LICENSE_1_0.txt). [table:cbrt_4 Cube root(28) for float, double, long double and cpp_bin_float_50 [[][float][][][] [][double][][][] [][long d][][][] [][cpp50][][]] [[Algorithm][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ]] -[[cbrt ][ 0][78125][[role blue 1.0]][ 0][ ][ 0][62500][[role blue 1.0]][ 1][ ][ 0][93750][[role blue 1.0]][ 1][ ][ 0][11890625][1.1][ 0][ ]] -[[TOMS748 ][ 8][468750][[role red 6.0]][ -1][ ][ 11][906250][[role red 15.]][ 2][ ][ 11][906250][[role red 9.7]][ 2][ ][ 6][80859375][[role red 7.6]][ -2][ ]] -[[Newton ][ 5][203125][2.6][ 0][ ][ 6][234375][3.8][ 0][ ][ 6][187500][2.0][ 0][ ][ 2][10640625][[role blue 1.0]][ 0][ ]] -[[Halley ][ 3][234375][3.0][ 0][ ][ 4][265625][[role red 4.3]][ 0][ ][ 4][234375][2.5][ 0][ ][ 2][26250000][2.5][ 0][ ]] -[[Schr'''ö'''der][ 4][296875][3.8][ 0][ ][ 5][281250][[role red 4.5]][ 0][ ][ 5][234375][2.5][ 0][ ][ 2][32437500][3.0][ 0][ ]] +[[cbrt ][ 0][171875][[role blue 1.0]][ 0][ ][ 0][187500][[role blue 1.0]][ 1][ ][ 0][187500][[role blue 1.0]][ 1][ ][ 0][7250000][[role blue 1.0]][ 0][ ]] +[[TOMS748 ][ 8][703125][[role red 4.1]][ -1][ ][ 11][953125][[role red 5.1]][ 2][ ][ 11][953125][[role red 5.1]][ 2][ ][ 6][51171875][[role red 7.1]][ -2][ ]] +[[Newton ][ 5][484375][2.8][ 0][ ][ 6][484375][2.6][ 0][ ][ 6][500000][2.7][ 0][ ][ 2][7906250][1.1][ 0][ ]] +[[Halley ][ 3][484375][2.8][ 0][ ][ 4][515625][2.8][ 0][ ][ 4][500000][2.7][ 0][ ][ 2][18515625][2.6][ 0][ ]] +[[Schr'''ö'''der][ 4][515625][3.0][ 0][ ][ 5][515625][2.8][ 0][ ][ 5][500000][2.7][ 0][ ][ 2][22562500][3.1][ 0][ ]] ] [/end of table cbrt_4] diff --git a/doc/roots/roots_table_100_msvc_X86_SSE2.qbk b/doc/roots/roots_table_100_msvc_X86_SSE2.qbk index dee6062ac..fc4d6a9b2 100644 --- a/doc/roots/roots_table_100_msvc_X86_SSE2.qbk +++ b/doc/roots/roots_table_100_msvc_X86_SSE2.qbk @@ -1,4 +1,4 @@ -[/..\example/../../../libs/math/doc/roots/roots_table_100_msvc_X86_SSE2.qbk +[/./../../../libs/math/doc/roots/roots_table_100_msvc_X86_SSE2.qbk Copyright 2015 Paul A. Bristow. Copyright 2015 John Maddock. Distributed under the Boost Software License, Version 1.0. @@ -7,31 +7,31 @@ http://www.boost.org/LICENSE_1_0.txt). ] -[h6 Program ..\example\root_n_finding_algorithms.cpp, +[h6 Program root_n_finding_algorithms.cpp, Microsoft Visual C++ version 14.1, Dinkumware standard library version 650, Win32 Compiled in optimise mode., _X86_SSE2] Fraction of full accuracy 1 [table:root_5 5th root(28) for float, double, long double and cpp_bin_float_50 types, using _X86_SSE2 [[][float][][][] [][double][][][] [][long d][][][] [][cpp50][][]] [[Algo ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ]] -[[TOMS748 ][ 7][ 457][2.00][ 0][ ][ 11][ 860][3.54][ 1][ ][ 11][ 806][3.02][ 1][ ][ 12][226875][[role red 8.11]][ 0][ ]] -[[Newton ][ 3][ 228][[role blue 1.00]][ 0][ ][ 4][ 243][[role blue 1.00]][ -1][ ][ 4][ 298][1.12][ -1][ ][ 6][27968][[role blue 1.00]][ 0][ ]] -[[Halley ][ 2][ 250][1.10][ 0][ ][ 3][ 268][1.10][ 0][ ][ 3][ 267][[role blue 1.00]][ 0][ ][ 4][52812][1.89][ 0][ ]] -[[Schr'''ö'''der][ 2][ 256][1.12][ 0][ ][ 3][ 271][1.12][ -1][ ][ 3][ 270][[role blue 1.01]][ -1][ ][ 4][61406][2.20][ 0][ ]] +[[TOMS748 ][ 7][ 662][[role blue 1.00]][ 0][ ][ 11][ 985][1.31][ 1][ ][ 11][ 979][1.30][ 1][ ][ 12][135312][[role red 7.16]][ 0][ ]] +[[Newton ][ 3][ 725][1.10][ 0][ ][ 4][ 751][[role blue 1.00]][ -1][ ][ 4][ 753][[role blue 1.00]][ -1][ ][ 6][18906][[role blue 1.00]][ 0][ ]] +[[Halley ][ 2][ 748][1.13][ 0][ ][ 3][ 764][[role blue 1.02]][ 0][ ][ 3][ 773][[role blue 1.03]][ 0][ ][ 4][35625][1.88][ 0][ ]] +[[Schr'''ö'''der][ 2][ 748][1.13][ 0][ ][ 3][ 762][[role blue 1.01]][ -1][ ][ 3][ 762][[role blue 1.01]][ -1][ ][ 4][44687][2.36][ 0][ ]] ] [/end of table root] [table:root_7 7th root(28) for float, double, long double and cpp_bin_float_50 types, using _X86_SSE2 [[][float][][][] [][double][][][] [][long d][][][] [][cpp50][][]] [[Algo ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ]] -[[TOMS748 ][ 12][ 825][3.06][ 1][ ][ 15][ 1145][[role red 4.06]][ 2][ ][ 15][ 1159][[role red 4.17]][ 2][ ][ 14][295781][[role red 8.12]][ 0][ ]] -[[Newton ][ 5][ 270][[role blue 1.00]][ 0][ ][ 6][ 282][[role blue 1.00]][ 0][ ][ 6][ 278][[role blue 1.00]][ 0][ ][ 8][36406][[role blue 1.00]][ 0][ ]] -[[Halley ][ 4][ 303][1.12][ 0][ ][ 5][ 329][1.17][ 0][ ][ 5][ 335][1.21][ 0][ ][ 6][78281][2.15][ 0][ ]] -[[Schr'''ö'''der][ 5][ 340][1.26][ 0][ ][ 6][ 432][1.53][ 0][ ][ 6][ 367][1.32][ 0][ ][ 7][85156][2.34][ 0][ ]] +[[TOMS748 ][ 12][ 937][1.24][ 1][ ][ 15][ 1240][1.56][ 2][ ][ 15][ 1206][1.54][ 2][ ][ 14][178593][[role red 6.53]][ 0][ ]] +[[Newton ][ 5][ 754][[role blue 1.00]][ 0][ ][ 6][ 793][[role blue 1.00]][ 0][ ][ 6][ 784][[role blue 1.00]][ 0][ ][ 8][27343][[role blue 1.00]][ 0][ ]] +[[Halley ][ 4][ 812][1.08][ 0][ ][ 5][ 835][1.05][ 0][ ][ 5][ 835][1.07][ 0][ ][ 6][55312][2.02][ 0][ ]] +[[Schr'''ö'''der][ 5][ 821][1.09][ 0][ ][ 6][ 843][1.06][ 0][ ][ 6][ 845][1.08][ 0][ ][ 7][78906][2.89][ 0][ ]] ] [/end of table root] [table:root_11 11th root(28) for float, double, long double and cpp_bin_float_50 types, using _X86_SSE2 [[][float][][][] [][double][][][] [][long d][][][] [][cpp50][][]] [[Algo ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ][Its][Times][Norm][Dis][ ]] -[[TOMS748 ][ 12][ 714][3.16][ -2][ ][ 14][ 909][[role red 4.19]][ 2][ ][ 14][ 793][3.69][ 2][ ][ 17][211718][[role red 9.28]][ 2][ ]] -[[Newton ][ 6][ 226][[role blue 1.00]][ 0][ ][ 7][ 217][[role blue 1.00]][ 0][ ][ 7][ 215][[role blue 1.00]][ 0][ ][ 9][22812][[role blue 1.00]][ 0][ ]] -[[Halley ][ 4][ 262][1.16][ -1][ ][ 5][ 260][1.20][ 0][ ][ 5][ 260][1.21][ 0][ ][ 6][40781][1.79][ 0][ ]] -[[Schr'''ö'''der][ 6][ 332][1.47][ 0][ ][ 7][ 314][1.45][ 0][ ][ 7][ 310][1.44][ 0][ ][ 8][67187][2.95][ 0][ ]] +[[TOMS748 ][ 12][ 1037][1.33][ -2][ ][ 14][ 1235][1.55][ 2][ ][ 14][ 1229][1.54][ 2][ ][ 17][265781][[role red 8.18]][ 2][ ]] +[[Newton ][ 6][ 781][[role blue 1.00]][ 0][ ][ 7][ 796][[role blue 1.00]][ 0][ ][ 7][ 796][[role blue 1.00]][ 0][ ][ 9][32500][[role blue 1.00]][ 0][ ]] +[[Halley ][ 4][ 818][[role blue 1.05]][ -1][ ][ 5][ 843][1.06][ 0][ ][ 5][ 853][1.07][ 0][ ][ 6][57187][1.76][ 0][ ]] +[[Schr'''ö'''der][ 6][ 859][1.10][ 0][ ][ 7][ 896][1.13][ 0][ ][ 7][ 898][1.13][ 0][ ][ 8][97500][3.00][ 0][ ]] ] [/end of table root] diff --git a/doc/sf/lambert_w.qbk b/doc/sf/lambert_w.qbk index c390df87b..1b3c3b3b5 100644 --- a/doc/sf/lambert_w.qbk +++ b/doc/sf/lambert_w.qbk @@ -37,7 +37,8 @@ It is also called the Omega function, the inverse function of ['f(W) = W e[super On the z-interval \[0, [infin]\] there is just one real solution. On the interval (-1/e, 0) there are two real solutions on two branches called variously W0, W+, W-1, Wp, Wm, W-. -Two principal branches functions called `lambert_w0` and `lambert_wm1`, and their 1st derivative, +Two principal branches functions called `lambert_w0` and `lambert_wm1`, and their 1st derivatives, +`lambert_w0_prime` and `lambert_wm1_prime` are provided by Boost's real-only implementation. In the graphs below, the red line is the W0 branch, and the blue line the W-1 branch. @@ -56,9 +57,9 @@ with the functions `lambert_w0` and `lambert_wm1`, and their 1st derivatives, `lambert_w0_prime` and `lambert_wm1_prime`, from the first [^z] argument. -For C++ types `float` the maximum z argument `(std::numeric_limits<>::max)()` -Lambert_w0(3.2e+38) = 84.29, -and for `double`, lambert_w0(1.797e+308) = 703.3. +For C++ __fundamental_types, the maximum z argument `(std::numeric_limits::max)()` +for `float` is Lambert_w0(3.2e+38) = 84.29, +and for `double` is lambert_w0(1.797e+308) = 703.3. The final __Policy argument is optional and can be used to control the behaviour of the function: how it handles errors. @@ -88,7 +89,7 @@ Some examples follow, starting with the trivial: [lambert_w_simple_examples_0] Other floating-point types can be used too, here `float`, -including user defined types like __multiprecision. +including user-defined types like __multiprecision. It is convenient to use a function like `show_value` to display all (and only) potentially significant decimal digits, including any significant trailing zeros, (`std::numeric_limits::max_digits10`) for the type `T`. @@ -139,7 +140,7 @@ Policies can be used to control what action to take on errors: [lambert_w_simple_examples_error_message_1] -Show error reporting if a value is passed to `lambert_w0` that is out of range, +Showing an error reported if a value is passed to `lambert_w0` that is out of range, (and was probably meant to be passed to `lambert_wm1` instead). [lambert_w_simple_examples_out_of_range] @@ -172,7 +173,7 @@ Using these variables [lambert_w_diode_graph_1] -the formula can be rendered in C++ +the formulas can be rendered in C++ [lambert_w_diode_graph_2] @@ -183,7 +184,7 @@ to reproduce their Fig 2: The plotted points for no external series resistance (derived from their published plot as the raw data are not publicly available) are used to extrapolate back to estimate the intrinsic emitter resistance as 0.3 ohm. -Its effect is visible when the straight line from low voltages starts to curve. +The effect of external series resistance is visible when the colored lines start to curve away from the straight line as voltage increases. See [@../../example/lambert_w_diode.cpp lambert_w_diode.cpp] and [@../../example/lambert_w_diode_graph.cpp lambert_w_diode_graph.cpp] @@ -209,7 +210,7 @@ The symbolic algebra program __Maple also computes Lambert W to an arbitrary pre [h4:precision Controlling the compromise between Precision and Speed] [h5:small_floats Floating-point types `double` and `float`] -This implementation provides good precision and excellent speed for __fundamental types `float` and `double`. +This implementation provides good precision and excellent speed for __fundamental `float` and `double`. All the functions usually return values within a few __ulp for the floating-point type, except for very small arguments very near zero, @@ -218,7 +219,7 @@ and for arguments very close to the singularity at the branch point. By default, this implementation provides the best possible speed. Very slightly average higher precision and less bias might be obtained by adding a __halley step refinement, -but at the cost of more than doubling the run time. +but at the cost of more than doubling the runtime. [h5:big_floats Floating-point types larger than double] @@ -231,7 +232,7 @@ Higher precision types are always going to be [*very, very much slower]. The 'best' evaluation (the nearest __representable) can be achieved by `static_cast`ing from a higher precision type, typically a __multiprecision type like `cpp_bin_float_50`, but at the cost of increasing run-time >100-fold; -this has been used here to provide our reference values for testing. +this has been used here to provide some of our reference values for testing. [import ../../example/lambert_w_precision_example.cpp] @@ -280,7 +281,7 @@ with reference 'best' z50 evaluations using `cpp_bin_float_50` type reduced to ` As noted in the implementation section, the distribution of these differences is somewhat biased for Lambert W-1 and this might be reduced using a `double` Halley step at small runtime cost. -But if you are serisouly concerned to get really precise computations, +But if you are seriously concerned to get really precise computations, the only way is using a higher precision type and then reduce to the desired type. Fortunately, __multiprecision makes this very easy to program, if much slower. @@ -305,7 +306,7 @@ this case should be handled before calling `lambert_w0`). The range mathematically is -1/e <= z <= 0, but numerically, * `z == -1/e` (for the type T) returns exactly -1. -* `z == 0` returns -[infin] (or the nearest equivalent if `std::has_infinity == false`). +* `z == 0` returns -[infin] (or the nearest equivalent if `std::has_infinity == false`). * `z == std::numeric_limits::min()` returns the maximum (most negative) possible value of Lambert W for the type T. [br] For example, for `double`: lambert_wm1(-2.2250738585072014e-308) = -714.96865723796634 [br] and for `float`: lambert_wm1(-1.17549435e-38) = -91.8567734 [br] @@ -323,9 +324,14 @@ and anyway it only covers a tiny fraction of the range of possible z arguments v [h4:compilers Compilers] -The code has been tested on VS 15.7.5, Clang 6.0.0 and GCC 8.1.0; it is expected to work on all C++ compilers. +The code has been tested on VS 15.8.5, Clang 7.0.0 and GCC 8.1.0; it is expected to work on all C++11 compilers. +For details of which compilers are expected to work see lambert_w tests and examples in:[br] +[@https://www.boost.org/development/tests/master/developer/math.html Boost Test Summary report for master branch (used for latest release)][br] +[@https://www.boost.org/development/tests/develop/developer/math.html Boost Test Summary report for latest developer branch]. + As expected, debug mode is very much slower. The release version optimisation also varied. + [h5:diagnostics Diagnostics Macros] Several macros are provided to output diagnostic information (potentially [*much] output). @@ -363,7 +369,7 @@ it is usually necessary to use a higher precision type for intermediate computat finally static-casting back to the smaller desired result type. This strategy is used by __Maple and WolframAlpha, for example, using arbitrary precision arithmetic, and some of their high-precision values are used for testing this library. -This method is also used to provide __boost_test values using __multiprecision, +This method is also used to provide some __boost_test values using __multiprecision, typically, a 50 decimal digit type like `cpp_bin_float_50` `static_cast` to a `float`, `double` or `long double` type. @@ -376,7 +382,7 @@ In practical applications, the increased computation required (often towards a thousand-fold slower and requiring much additional code for __multiprecision) is not justified and the algorithms here do not implement this. But because the Boost.Lambert_W algorithms has been tested using __multiprecision, -users who require this can always easily achieve the nearest representation for the fundamental_types +users who require this can always easily achieve the nearest representation for __fundamental - if the application justifies the very large extra computation cost. [h5 Evolution of this implementation] @@ -475,7 +481,7 @@ For example, table below a test of Lambert W0 10000 values of argument z coverin Lambert W0 values computed using the Fukushima method with Schroeder refinement gave about 1/6 lambert_w0 values that are one bit different from the 'best', and < 1% that are a few bits 'wrong'. -If a Halley refinement step is added, only 1 in 30 are even one bit different, and only 2 two bits 'wrong'. +If a Halley refinement step is added, only 1 in 30 are even one bit different, and only 2 two-bits 'wrong'. [table:lambert_w0_plus_halley Rational polynomial Lambert W0 and typical improvement from a single Halley step. [[Method] [Exact] [One_bit] [Two_bits] [Few_bits] [inexact] [bias]] @@ -483,8 +489,8 @@ If a Halley refinement step is added, only 1 in 30 are even one bit different, a [[after Halley step ] [ 9724 ] [273] [ 3 ] [0] [ 279 ] [5] ] ] [/table:lambert_w0_plus_halley] -With the rational polynomial approximation method, there are a third one bit from the best and none more than two bits. -Adding a Halley step (or iteration) reduces the number that are one bit different from about a third down to one in 30; +With the rational polynomial approximation method, there are a third one-bit from the best and none more than two-bits. +Adding a Halley step (or iteration) reduces the number that are one-bit different from about a third down to one in 30; this is unavoidable 'computational noise'. An extra Halley step would double the runtime for a tiny gain and so is not chosen for this implementation, but remains a option, as detailed above. @@ -513,10 +519,10 @@ and output as C++ arrays 37 decimal digit `long double` literals using `max_digi The arrays are as `const` and `constexpr` and `static` as possible (for the compiler version), using BOOST_STATIC_CONSTEXPR macro. -(See [@../../test/lambert_w_lookup_table_generator.cpp lambert_w_lookup_table_generator.cpp] +(See [@../../tools/lambert_w_lookup_table_generator.cpp lambert_w_lookup_table_generator.cpp] The precision was chosen to ensure that if used as `long double` arrays, then the values output to -[@ ../../include/boost/math/special_functions/lambert_w_lookup_table.ipp lambert_w_lookup_table.ipp] +[@ ../../include/boost/math/special_functions/detail/lambert_w_lookup_table.ipp lambert_w_lookup_table.ipp] will be the nearest representable value for the type chose by a `typedef` in [@../../include/boost/math/special_functions/lambert_w.hpp lambert_w.hpp]. @@ -738,7 +744,7 @@ See source at: [h5:quadrature_testing Testing with quadrature] A further method of testing over a wide range of argument z values was devised by Nick Thompson -(cunningly also to test the recently written quadrature routines!). +(cunningly also to test the recently written quadrature routines including __multiprecision !). These are definite integral formulas involving the W function that are exactly known constants, for example, LambertW0(1/(z[sup2]) == [sqrt](2[pi]), see [@https://en.wikipedia.org/wiki/Lambert_W_function#Definite_integrals Definite Integrals].