|  | Home | Libraries | People | FAQ | More | 
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Table of Contents
Table 1. Compiler Comparison on Windows x64
| Function | 
                Microsoft Visual C++ version 14.2 | 
                GNU C++ version 9.2.0 | 
                GNU C++ version 9.2.0 | 
|---|---|---|---|
| assoc_laguerre | 
                1.41 | 
                1.08 | 
                1.00 | 
| assoc_legendre | 
                1.76 | 
                1.36 | 
                1.00 | 
| beta | 
                1.00 | 
                2.62 | 
                1.93 | 
| beta (incomplete) | 
                1.00 | 
                2.95 | 
                1.58 | 
| cbrt | 
                3.40 | 
                4.67 | 
                1.00 | 
| cyl_bessel_i | 
                1.00 | 
                3.38 | 
                1.38 | 
| cyl_bessel_i (integer order) | 
                1.00 | 
                3.06 | 
                1.00 | 
| cyl_bessel_j | 
                1.00 | 
                2.39 | 
                1.35 | 
| cyl_bessel_j (integer order) | 
                1.28 | 
                1.92 | 
                1.00 | 
| cyl_bessel_k | 
                1.11 | 
                19.68 | 
                1.00 | 
| cyl_bessel_k (integer order) | 
                1.06 | 
                18.17 | 
                1.00 | 
| cyl_neumann | 
                1.17 | 
                1.76 | 
                1.00 | 
| cyl_neumann (integer order) | 
                1.00 | 
                2.20 | 
                1.59 | 
| digamma | 
                1.00 | 
                3.45 | 
                2.30 | 
| ellint_1 | 
                1.57 | 
                1.41 | 
                1.00 | 
| ellint_1 (complete) | 
                1.64 | 
                1.64 | 
                1.00 | 
| ellint_2 | 
                1.81 | 
                1.50 | 
                1.00 | 
| ellint_2 (complete) | 
                3.11 | 
                2.11 | 
                1.00 | 
| ellint_3 | 
                3.47 | 
                1.68 | 
                1.00 | 
| ellint_3 (complete) | 
                inf | 
                -nan(ind) | 
                -nan(ind) | 
| ellint_rc | 
                1.55 | 
                2.21 | 
                1.00 | 
| ellint_rd | 
                1.32 | 
                1.26 | 
                1.00 | 
| ellint_rf | 
                1.27 | 
                1.94 | 
                1.00 | 
| ellint_rj | 
                1.46 | 
                2.29 | 
                1.00 | 
| erf | 
                1.30 | 
                1.85 | 
                1.00 | 
| erfc | 
                1.06 | 
                1.76 | 
                1.00 | 
| expint | 
                1.00 | 
                3.41 | 
                2.22 | 
| expint (En) | 
                1.00 | 
                1.94 | 
                1.29 | 
| expm1 | 
                1.00 | 
                3.00 | 
                2.36 | 
| gamma_p | 
                1.00 | 
                2.00 | 
                1.17 | 
| gamma_p_inv | 
                1.00 | 
                1.85 | 
                1.15 | 
| gamma_q | 
                1.00 | 
                2.10 | 
                1.21 | 
| gamma_q_inv | 
                1.00 | 
                1.66 | 
                1.14 | 
| ibeta | 
                1.00 | 
                2.63 | 
                1.31 | 
| ibeta_inv | 
                1.00 | 
                2.49 | 
                1.48 | 
| ibetac | 
                1.00 | 
                2.60 | 
                1.27 | 
| ibetac_inv | 
                1.00 | 
                2.85 | 
                1.74 | 
| jacobi_cn | 
                1.00 | 
                3.10 | 
                2.00 | 
| jacobi_dn | 
                1.00 | 
                3.03 | 
                1.93 | 
| jacobi_sn | 
                1.00 | 
                2.81 | 
                1.73 | 
| laguerre | 
                1.02 | 
                1.07 | 
                1.00 | 
| legendre | 
                1.11 | 
                1.25 | 
                1.00 | 
| legendre Q | 
                1.00 | 
                1.51 | 
                1.15 | 
| lgamma | 
                1.00 | 
                2.67 | 
                2.00 | 
| log1p | 
                1.00 | 
                2.07 | 
                1.21 | 
| polygamma | 
                1.00 | 
                1.85 | 
                1.91 | 
| sph_bessel | 
                1.01 | 
                1.48 | 
                1.00 | 
| sph_neumann | 
                1.07 | 
                2.96 | 
                1.00 | 
| tgamma | 
                1.00 | 
                3.50 | 
                2.14 | 
| tgamma (incomplete) | 
                1.00 | 
                2.30 | 
                1.64 | 
| trigamma | 
                1.00 | 
                2.83 | 
                1.17 | 
| zeta | 
                1.00 | 
                2.65 | 
                1.89 | 
Table 2. Compiler Option Comparison on Windows x64
| Function | cl /Od (x86 build) | cl /arch:sse2 /Ox (x86 build) | cl /Ox (x64 build) | 
|---|---|---|---|
| boost::math::cbrt | 
                5.05 | 
                1.20 | 
                1.00 | 
| boost::math::cyl_bessel_j (integer orders) | 
                4.38 | 
                1.00 | 
                1.02 | 
| boost::math::ibeta_inv | 
                4.52 | 
                1.11 | 
                1.00 | 
Table 3. Distribution performance comparison for different performance options with GNU C++ version 9.2.0 on Windows x64
| Function | boost 1.73 | 
                Boost | 
                Boost | 
                Boost | 
|---|---|---|---|---|
| ArcSine (CDF) | 
                1.10 | 
                1.30 | 
                1.00 | 
                3.20 | 
| ArcSine (PDF) | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.60 | 
| ArcSine (quantile) | 
                1.00 | 
                1.00 | 
                1.02 | 
                1.04 | 
| Beta (CDF) | 
                2.32 | 
                1.31 | 
                1.17 | 
                1.00 | 
| Beta (PDF) | 
                2.44 | 
                1.12 | 
                1.13 | 
                1.00 | 
| Beta (quantile) | 
                1.76 | 
                1.24 | 
                1.00 | 
                1.03 | 
| Binomial (CDF) | 
                3.57 | 
                1.30 | 
                1.27 | 
                1.00 | 
| Binomial (PDF) | 
                2.39 | 
                1.00 | 
                1.20 | 
                1.04 | 
| Binomial (quantile) | 
                3.20 | 
                1.42 | 
                1.19 | 
                1.00 | 
| Cauchy (CDF) | 
                1.12 | 
                1.18 | 
                1.00 | 
                3.18 | 
| Cauchy (PDF) | 
                1.33 | 
                1.67 | 
                1.00 | 
                1.33 | 
| Cauchy (quantile) | 
                1.32 | 
                1.21 | 
                1.00 | 
                1.21 | 
| ChiSquared (CDF) | 
                2.79 | 
                1.55 | 
                1.27 | 
                1.00 | 
| ChiSquared (PDF) | 
                1.82 | 
                1.00 | 
                1.01 | 
                1.02 | 
| ChiSquared (quantile) | 
                2.40 | 
                1.49 | 
                1.19 | 
                1.00 | 
| Exponential (CDF) | 
                1.14 | 
                1.00 | 
                1.03 | 
                1.00 | 
| Exponential (PDF) | 
                1.08 | 
                1.02 | 
                1.00 | 
                1.04 | 
| Exponential (quantile) | 
                1.89 | 
                1.00 | 
                1.05 | 
                1.21 | 
| ExtremeValue (CDF) | 
                1.05 | 
                1.02 | 
                1.00 | 
                1.04 | 
| ExtremeValue (PDF) | 
                1.04 | 
                1.04 | 
                1.00 | 
                1.03 | 
| ExtremeValue (quantile) | 
                1.07 | 
                1.02 | 
                1.00 | 
                1.13 | 
| F (CDF) | 
                3.55 | 
                1.58 | 
                1.23 | 
                1.00 | 
| F (PDF) | 
                2.29 | 
                1.06 | 
                1.02 | 
                1.00 | 
| F (quantile) | 
                2.17 | 
                1.14 | 
                1.00 | 
                1.07 | 
| Gamma (CDF) | 
                1.94 | 
                1.19 | 
                1.10 | 
                1.00 | 
| Gamma (PDF) | 
                1.55 | 
                1.00 | 
                1.00 | 
                1.01 | 
| Gamma (quantile) | 
                1.95 | 
                1.35 | 
                1.00 | 
                1.04 | 
| Geometric (CDF) | 
                1.38 | 
                1.00 | 
                1.00 | 
                1.07 | 
| Geometric (PDF) | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.02 | 
| Geometric (quantile) | 
                1.64 | 
                1.00 | 
                1.00 | 
                1.09 | 
| Hypergeometric (CDF) | 
                1.11 | 
                1.00 | 
                1.01 | 
                1.12 | 
| Hypergeometric (PDF) | 
                1.13 | 
                1.04 | 
                1.00 | 
                1.20 | 
| Hypergeometric (quantile) | 
                1.00 | 
                1.25 | 
                1.36 | 
                1.70 | 
| InverseChiSquared (CDF) | 
                3.48 | 
                1.70 | 
                1.33 | 
                1.00 | 
| InverseChiSquared (PDF) | 
                1.87 | 
                1.09 | 
                1.00 | 
                1.01 | 
| InverseChiSquared (quantile) | 
                2.81 | 
                1.57 | 
                1.22 | 
                1.00 | 
| InverseGamma (CDF) | 
                1.95 | 
                1.21 | 
                1.09 | 
                1.00 | 
| InverseGamma (PDF) | 
                1.67 | 
                1.09 | 
                1.05 | 
                1.00 | 
| InverseGamma (quantile) | 
                1.94 | 
                1.36 | 
                1.00 | 
                1.02 | 
| InverseGaussian (CDF) | 
                1.83 | 
                1.83 | 
                1.82 | 
                1.00 | 
| InverseGaussian (PDF) | 
                1.00 | 
                1.14 | 
                1.00 | 
                1.07 | 
| InverseGaussian (quantile) | 
                1.94 | 
                1.93 | 
                1.72 | 
                1.00 | 
| Laplace (CDF) | 
                1.02 | 
                1.00 | 
                1.00 | 
                1.08 | 
| Laplace (PDF) | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.04 | 
| Laplace (quantile) | 
                1.03 | 
                1.03 | 
                1.00 | 
                1.16 | 
| LogNormal (CDF) | 
                1.73 | 
                1.25 | 
                1.28 | 
                1.00 | 
| LogNormal (PDF) | 
                1.04 | 
                1.02 | 
                1.00 | 
                1.07 | 
| LogNormal (quantile) | 
                1.23 | 
                1.00 | 
                1.01 | 
                1.06 | 
| Logistic (CDF) | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.02 | 
| Logistic (PDF) | 
                1.00 | 
                1.02 | 
                1.02 | 
                1.07 | 
| Logistic (quantile) | 
                1.00 | 
                1.03 | 
                1.00 | 
                1.15 | 
| NegativeBinomial (CDF) | 
                3.95 | 
                1.66 | 
                1.32 | 
                1.00 | 
| NegativeBinomial (PDF) | 
                2.29 | 
                1.01 | 
                1.00 | 
                1.01 | 
| NegativeBinomial (quantile) | 
                2.81 | 
                1.19 | 
                1.00 | 
                1.26 | 
| NonCentralBeta (CDF) | 
                2.62 | 
                1.46 | 
                1.28 | 
                1.00 | 
| NonCentralBeta (PDF) | 
                2.58 | 
                1.31 | 
                1.15 | 
                1.00 | 
| NonCentralBeta (quantile) | 
                3.69 | 
                2.00 | 
                1.81 | 
                1.00 | 
| NonCentralChiSquared (CDF) | 
                2.22 | 
                1.79 | 
                1.28 | 
                1.00 | 
| NonCentralChiSquared (PDF) | 
                1.58 | 
                1.29 | 
                1.00 | 
                1.03 | 
| NonCentralChiSquared (quantile) | 
                3.14 | 
                1.94 | 
                1.26 | 
                1.00 | 
| NonCentralF (CDF) | 
                2.48 | 
                1.32 | 
                1.13 | 
                1.00 | 
| NonCentralF (PDF) | 
                2.74 | 
                1.37 | 
                1.15 | 
                1.00 | 
| NonCentralF (quantile) | 
                2.64 | 
                1.38 | 
                1.12 | 
                1.00 | 
| NonCentralT (CDF) | 
                3.75 | 
                1.83 | 
                1.63 | 
                1.00 | 
| NonCentralT (PDF) | 
                2.81 | 
                1.40 | 
                1.42 | 
                1.00 | 
| NonCentralT (quantile) | 
                3.80 | 
                1.87 | 
                1.37 | 
                1.00 | 
| Normal (CDF) | 
                1.78 | 
                1.53 | 
                1.22 | 
                1.00 | 
| Normal (PDF) | 
                1.00 | 
                1.23 | 
                1.19 | 
                1.33 | 
| Normal (quantile) | 
                1.45 | 
                1.00 | 
                1.00 | 
                1.02 | 
| Pareto (CDF) | 
                1.13 | 
                1.00 | 
                1.15 | 
                1.06 | 
| Pareto (PDF) | 
                1.07 | 
                1.02 | 
                1.08 | 
                1.00 | 
| Pareto (quantile) | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.04 | 
| Poisson (CDF) | 
                1.97 | 
                1.04 | 
                1.16 | 
                1.00 | 
| Poisson (PDF) | 
                1.61 | 
                1.06 | 
                1.00 | 
                1.05 | 
| Poisson (quantile) | 
                2.16 | 
                1.23 | 
                1.26 | 
                1.00 | 
| Rayleigh (CDF) | 
                1.24 | 
                1.00 | 
                1.03 | 
                1.08 | 
| Rayleigh (PDF) | 
                1.00 | 
                1.09 | 
                1.03 | 
                1.09 | 
| Rayleigh (quantile) | 
                2.00 | 
                1.00 | 
                1.08 | 
                1.29 | 
| SkewNormal (CDF) | 
                1.40 | 
                1.32 | 
                1.15 | 
                1.00 | 
| SkewNormal (PDF) | 
                1.27 | 
                1.17 | 
                1.15 | 
                1.00 | 
| SkewNormal (quantile) | 
                2.15 | 
                1.82 | 
                1.32 | 
                1.00 | 
| StudentsT (CDF) | 
                3.15 | 
                1.98 | 
                2.03 | 
                1.00 | 
| StudentsT (PDF) | 
                2.12 | 
                1.09 | 
                1.11 | 
                1.00 | 
| StudentsT (quantile) | 
                1.70 | 
                1.35 | 
                1.28 | 
                1.00 | 
| Weibull (CDF) | 
                1.30 | 
                1.04 | 
                1.15 | 
                1.00 | 
| Weibull (PDF) | 
                1.18 | 
                1.00 | 
                1.15 | 
                1.06 | 
| Weibull (quantile) | 
                1.12 | 
                1.13 | 
                1.00 | 
                1.03 | 
Table 4. Distribution performance comparison for different performance options with Microsoft Visual C++ version 14.2 on Windows x64
| Function | boost 1.73 | 
                Boost | 
                Boost | 
|---|---|---|---|
| ArcSine (CDF) | 
                1.30 | 
                1.00 | 
                1.00 | 
| ArcSine (PDF) | 
                1.00 | 
                1.06 | 
                1.00 | 
| ArcSine (quantile) | 
                1.20 | 
                1.00 | 
                1.20 | 
| Beta (CDF) | 
                1.37 | 
                1.22 | 
                1.00 | 
| Beta (PDF) | 
                1.08 | 
                1.14 | 
                1.00 | 
| Beta (quantile) | 
                1.07 | 
                1.11 | 
                1.00 | 
| Binomial (CDF) | 
                1.80 | 
                1.50 | 
                1.00 | 
| Binomial (PDF) | 
                1.01 | 
                1.41 | 
                1.00 | 
| Binomial (quantile) | 
                1.38 | 
                1.18 | 
                1.00 | 
| Cauchy (CDF) | 
                1.00 | 
                1.04 | 
                1.23 | 
| Cauchy (PDF) | 
                1.00 | 
                1.38 | 
                1.13 | 
| Cauchy (quantile) | 
                1.37 | 
                1.00 | 
                1.37 | 
| ChiSquared (CDF) | 
                1.35 | 
                1.59 | 
                1.00 | 
| ChiSquared (PDF) | 
                1.00 | 
                1.27 | 
                1.22 | 
| ChiSquared (quantile) | 
                1.62 | 
                1.83 | 
                1.00 | 
| Exponential (CDF) | 
                1.70 | 
                1.10 | 
                1.00 | 
| Exponential (PDF) | 
                1.50 | 
                1.70 | 
                1.00 | 
| Exponential (quantile) | 
                1.18 | 
                1.00 | 
                1.00 | 
| ExtremeValue (CDF) | 
                1.18 | 
                1.18 | 
                1.00 | 
| ExtremeValue (PDF) | 
                1.08 | 
                1.04 | 
                1.00 | 
| ExtremeValue (quantile) | 
                1.48 | 
                1.09 | 
                1.00 | 
| F (CDF) | 
                1.56 | 
                1.28 | 
                1.00 | 
| F (PDF) | 
                1.07 | 
                1.13 | 
                1.00 | 
| F (quantile) | 
                1.17 | 
                1.00 | 
                1.08 | 
| Gamma (CDF) | 
                1.30 | 
                1.29 | 
                1.00 | 
| Gamma (PDF) | 
                1.25 | 
                1.25 | 
                1.00 | 
| Gamma (quantile) | 
                1.64 | 
                1.28 | 
                1.00 | 
| Geometric (CDF) | 
                1.13 | 
                1.00 | 
                1.19 | 
| Geometric (PDF) | 
                1.85 | 
                1.54 | 
                1.00 | 
| Geometric (quantile) | 
                1.18 | 
                1.00 | 
                1.00 | 
| Hypergeometric (CDF) | 
                1.00 | 
                1.07 | 
                1.11 | 
| Hypergeometric (PDF) | 
                1.00 | 
                1.04 | 
                1.09 | 
| Hypergeometric (quantile) | 
                1.00 | 
                1.00 | 
                1.06 | 
| InverseChiSquared (CDF) | 
                1.65 | 
                1.30 | 
                1.00 | 
| InverseChiSquared (PDF) | 
                1.37 | 
                1.32 | 
                1.00 | 
| InverseChiSquared (quantile) | 
                1.68 | 
                1.30 | 
                1.00 | 
| InverseGamma (CDF) | 
                1.36 | 
                1.17 | 
                1.00 | 
| InverseGamma (PDF) | 
                1.36 | 
                1.39 | 
                1.00 | 
| InverseGamma (quantile) | 
                1.58 | 
                1.12 | 
                1.00 | 
| InverseGaussian (CDF) | 
                1.28 | 
                1.32 | 
                1.00 | 
| InverseGaussian (PDF) | 
                1.09 | 
                1.18 | 
                1.00 | 
| InverseGaussian (quantile) | 
                1.58 | 
                1.15 | 
                1.00 | 
| Laplace (CDF) | 
                1.00 | 
                1.00 | 
                1.00 | 
| Laplace (PDF) | 
                1.08 | 
                1.46 | 
                1.00 | 
| Laplace (quantile) | 
                1.08 | 
                1.00 | 
                1.00 | 
| LogNormal (CDF) | 
                1.04 | 
                1.00 | 
                1.08 | 
| LogNormal (PDF) | 
                1.25 | 
                1.07 | 
                1.00 | 
| LogNormal (quantile) | 
                1.13 | 
                1.09 | 
                1.00 | 
| Logistic (CDF) | 
                1.00 | 
                1.07 | 
                1.36 | 
| Logistic (PDF) | 
                1.06 | 
                1.00 | 
                1.29 | 
| Logistic (quantile) | 
                1.00 | 
                1.33 | 
                1.33 | 
| NegativeBinomial (CDF) | 
                1.69 | 
                1.33 | 
                1.00 | 
| NegativeBinomial (PDF) | 
                1.01 | 
                1.00 | 
                1.09 | 
| NegativeBinomial (quantile) | 
                1.21 | 
                1.00 | 
                1.17 | 
| NonCentralBeta (CDF) | 
                1.90 | 
                1.54 | 
                1.00 | 
| NonCentralBeta (PDF) | 
                1.62 | 
                1.56 | 
                1.00 | 
| NonCentralBeta (quantile) | 
                2.35 | 
                2.10 | 
                1.00 | 
| NonCentralChiSquared (CDF) | 
                1.84 | 
                1.45 | 
                1.00 | 
| NonCentralChiSquared (PDF) | 
                1.36 | 
                1.28 | 
                1.00 | 
| NonCentralChiSquared (quantile) | 
                2.49 | 
                1.59 | 
                1.00 | 
| NonCentralF (CDF) | 
                1.54 | 
                1.36 | 
                1.00 | 
| NonCentralF (PDF) | 
                1.44 | 
                1.30 | 
                1.00 | 
| NonCentralF (quantile) | 
                1.73 | 
                1.44 | 
                1.00 | 
| NonCentralT (CDF) | 
                1.65 | 
                1.38 | 
                1.00 | 
| NonCentralT (PDF) | 
                1.58 | 
                1.34 | 
                1.00 | 
| NonCentralT (quantile) | 
                1.93 | 
                1.35 | 
                1.00 | 
| Normal (CDF) | 
                1.09 | 
                1.00 | 
                1.29 | 
| Normal (PDF) | 
                1.33 | 
                1.38 | 
                1.00 | 
| Normal (quantile) | 
                1.02 | 
                1.00 | 
                1.02 | 
| Pareto (CDF) | 
                1.26 | 
                1.30 | 
                1.00 | 
| Pareto (PDF) | 
                1.50 | 
                1.56 | 
                1.00 | 
| Pareto (quantile) | 
                1.79 | 
                1.36 | 
                1.00 | 
| Poisson (CDF) | 
                1.11 | 
                1.00 | 
                1.01 | 
| Poisson (PDF) | 
                1.40 | 
                1.43 | 
                1.00 | 
| Poisson (quantile) | 
                1.10 | 
                1.00 | 
                1.10 | 
| Rayleigh (CDF) | 
                1.25 | 
                1.08 | 
                1.00 | 
| Rayleigh (PDF) | 
                1.08 | 
                1.08 | 
                1.00 | 
| Rayleigh (quantile) | 
                1.15 | 
                1.15 | 
                1.00 | 
| SkewNormal (CDF) | 
                1.01 | 
                1.00 | 
                1.13 | 
| SkewNormal (PDF) | 
                1.03 | 
                1.00 | 
                1.08 | 
| SkewNormal (quantile) | 
                1.47 | 
                1.00 | 
                1.24 | 
| StudentsT (CDF) | 
                1.83 | 
                1.85 | 
                1.00 | 
| StudentsT (PDF) | 
                1.36 | 
                1.26 | 
                1.00 | 
| StudentsT (quantile) | 
                1.53 | 
                1.57 | 
                1.00 | 
| Weibull (CDF) | 
                1.62 | 
                1.51 | 
                1.00 | 
| Weibull (PDF) | 
                1.75 | 
                1.76 | 
                1.00 | 
| Weibull (quantile) | 
                1.63 | 
                1.55 | 
                1.00 | 
Table 5. Distribution performance comparison with GNU C++ version 9.2.0 on Windows x64
| Function | boost 1.73 | 
                Boost | 
|---|---|---|
| ArcSine (CDF) | 
                1.00 | 
                1.18 | 
| ArcSine (PDF) | 
                1.00 | 
                1.00 | 
| ArcSine (quantile) | 
                1.00 | 
                1.00 | 
| Beta (CDF) | 
                1.77 | 
                1.00 | 
| Beta (PDF) | 
                2.17 | 
                1.00 | 
| Beta (quantile) | 
                1.42 | 
                1.00 | 
| Binomial (CDF) | 
                2.74 | 
                1.00 | 
| Binomial (PDF) | 
                2.39 | 
                1.00 | 
| Binomial (quantile) | 
                2.26 | 
                1.00 | 
| Cauchy (CDF) | 
                1.00 | 
                1.05 | 
| Cauchy (PDF) | 
                1.00 | 
                1.25 | 
| Cauchy (quantile) | 
                1.09 | 
                1.00 | 
| ChiSquared (CDF) | 
                1.80 | 
                1.00 | 
| ChiSquared (PDF) | 
                1.82 | 
                1.00 | 
| ChiSquared (quantile) | 
                1.61 | 
                1.00 | 
| Exponential (CDF) | 
                1.14 | 
                1.00 | 
| Exponential (PDF) | 
                1.06 | 
                1.00 | 
| Exponential (quantile) | 
                1.89 | 
                1.00 | 
| ExtremeValue (CDF) | 
                1.03 | 
                1.00 | 
| ExtremeValue (PDF) | 
                1.00 | 
                1.00 | 
| ExtremeValue (quantile) | 
                1.05 | 
                1.00 | 
| F (CDF) | 
                2.25 | 
                1.00 | 
| F (PDF) | 
                2.16 | 
                1.00 | 
| F (quantile) | 
                1.90 | 
                1.00 | 
| Gamma (CDF) | 
                1.63 | 
                1.00 | 
| Gamma (PDF) | 
                1.55 | 
                1.00 | 
| Gamma (quantile) | 
                1.44 | 
                1.00 | 
| Geometric (CDF) | 
                1.38 | 
                1.00 | 
| Geometric (PDF) | 
                1.00 | 
                1.00 | 
| Geometric (quantile) | 
                1.64 | 
                1.00 | 
| Hypergeometric (CDF) | 
                1.11 | 
                1.00 | 
| Hypergeometric (PDF) | 
                1.08 | 
                1.00 | 
| Hypergeometric (quantile) | 
                1.00 | 
                1.25 | 
| InverseChiSquared (CDF) | 
                2.05 | 
                1.00 | 
| InverseChiSquared (PDF) | 
                1.72 | 
                1.00 | 
| InverseChiSquared (quantile) | 
                1.79 | 
                1.00 | 
| InverseGamma (CDF) | 
                1.61 | 
                1.00 | 
| InverseGamma (PDF) | 
                1.53 | 
                1.00 | 
| InverseGamma (quantile) | 
                1.43 | 
                1.00 | 
| InverseGaussian (CDF) | 
                1.00 | 
                1.00 | 
| InverseGaussian (PDF) | 
                1.00 | 
                1.14 | 
| InverseGaussian (quantile) | 
                1.01 | 
                1.00 | 
| Laplace (CDF) | 
                1.02 | 
                1.00 | 
| Laplace (PDF) | 
                1.00 | 
                1.02 | 
| Laplace (quantile) | 
                1.00 | 
                1.00 | 
| LogNormal (CDF) | 
                1.39 | 
                1.00 | 
| LogNormal (PDF) | 
                1.01 | 
                1.00 | 
| LogNormal (quantile) | 
                1.23 | 
                1.00 | 
| Logistic (CDF) | 
                1.00 | 
                1.02 | 
| Logistic (PDF) | 
                1.00 | 
                1.02 | 
| Logistic (quantile) | 
                1.00 | 
                1.03 | 
| NegativeBinomial (CDF) | 
                2.39 | 
                1.00 | 
| NegativeBinomial (PDF) | 
                2.27 | 
                1.00 | 
| NegativeBinomial (quantile) | 
                2.36 | 
                1.00 | 
| NonCentralBeta (CDF) | 
                1.80 | 
                1.00 | 
| NonCentralBeta (PDF) | 
                1.98 | 
                1.00 | 
| NonCentralBeta (quantile) | 
                1.85 | 
                1.00 | 
| NonCentralChiSquared (CDF) | 
                1.24 | 
                1.00 | 
| NonCentralChiSquared (PDF) | 
                1.23 | 
                1.00 | 
| NonCentralChiSquared (quantile) | 
                1.61 | 
                1.00 | 
| NonCentralF (CDF) | 
                1.87 | 
                1.00 | 
| NonCentralF (PDF) | 
                2.00 | 
                1.00 | 
| NonCentralF (quantile) | 
                1.91 | 
                1.00 | 
| NonCentralT (CDF) | 
                2.05 | 
                1.00 | 
| NonCentralT (PDF) | 
                2.01 | 
                1.00 | 
| NonCentralT (quantile) | 
                2.03 | 
                1.00 | 
| Normal (CDF) | 
                1.16 | 
                1.00 | 
| Normal (PDF) | 
                1.00 | 
                1.23 | 
| Normal (quantile) | 
                1.45 | 
                1.00 | 
| Pareto (CDF) | 
                1.13 | 
                1.00 | 
| Pareto (PDF) | 
                1.04 | 
                1.00 | 
| Pareto (quantile) | 
                1.00 | 
                1.02 | 
| Poisson (CDF) | 
                1.90 | 
                1.00 | 
| Poisson (PDF) | 
                1.53 | 
                1.00 | 
| Poisson (quantile) | 
                1.76 | 
                1.00 | 
| Rayleigh (CDF) | 
                1.24 | 
                1.00 | 
| Rayleigh (PDF) | 
                1.00 | 
                1.09 | 
| Rayleigh (quantile) | 
                2.00 | 
                1.00 | 
| SkewNormal (CDF) | 
                1.06 | 
                1.00 | 
| SkewNormal (PDF) | 
                1.09 | 
                1.00 | 
| SkewNormal (quantile) | 
                1.18 | 
                1.00 | 
| StudentsT (CDF) | 
                1.60 | 
                1.00 | 
| StudentsT (PDF) | 
                1.94 | 
                1.00 | 
| StudentsT (quantile) | 
                1.26 | 
                1.00 | 
| Weibull (CDF) | 
                1.25 | 
                1.00 | 
| Weibull (PDF) | 
                1.18 | 
                1.00 | 
| Weibull (quantile) | 
                1.00 | 
                1.01 | 
Table 6. Distribution performance comparison with Microsoft Visual C++ version 14.2 on Windows x64
| Function | boost 1.73 | 
|---|---|
| ArcSine (CDF) | 
                1.00 | 
| ArcSine (PDF) | 
                1.00 | 
| ArcSine (quantile) | 
                1.00 | 
| Beta (CDF) | 
                1.00 | 
| Beta (PDF) | 
                1.00 | 
| Beta (quantile) | 
                1.00 | 
| Binomial (CDF) | 
                1.00 | 
| Binomial (PDF) | 
                1.00 | 
| Binomial (quantile) | 
                1.00 | 
| Cauchy (CDF) | 
                1.00 | 
| Cauchy (PDF) | 
                1.00 | 
| Cauchy (quantile) | 
                1.00 | 
| ChiSquared (CDF) | 
                1.00 | 
| ChiSquared (PDF) | 
                1.00 | 
| ChiSquared (quantile) | 
                1.00 | 
| Exponential (CDF) | 
                1.00 | 
| Exponential (PDF) | 
                1.00 | 
| Exponential (quantile) | 
                1.00 | 
| ExtremeValue (CDF) | 
                1.00 | 
| ExtremeValue (PDF) | 
                1.00 | 
| ExtremeValue (quantile) | 
                1.00 | 
| F (CDF) | 
                1.00 | 
| F (PDF) | 
                1.00 | 
| F (quantile) | 
                1.00 | 
| Gamma (CDF) | 
                1.00 | 
| Gamma (PDF) | 
                1.00 | 
| Gamma (quantile) | 
                1.00 | 
| Geometric (CDF) | 
                1.00 | 
| Geometric (PDF) | 
                1.00 | 
| Geometric (quantile) | 
                1.00 | 
| Hypergeometric (CDF) | 
                1.00 | 
| Hypergeometric (PDF) | 
                1.00 | 
| Hypergeometric (quantile) | 
                1.00 | 
| InverseChiSquared (CDF) | 
                1.00 | 
| InverseChiSquared (PDF) | 
                1.00 | 
| InverseChiSquared (quantile) | 
                1.00 | 
| InverseGamma (CDF) | 
                1.00 | 
| InverseGamma (PDF) | 
                1.00 | 
| InverseGamma (quantile) | 
                1.00 | 
| InverseGaussian (CDF) | 
                1.00 | 
| InverseGaussian (PDF) | 
                1.00 | 
| InverseGaussian (quantile) | 
                1.00 | 
| Laplace (CDF) | 
                1.00 | 
| Laplace (PDF) | 
                1.00 | 
| Laplace (quantile) | 
                1.00 | 
| LogNormal (CDF) | 
                1.00 | 
| LogNormal (PDF) | 
                1.00 | 
| LogNormal (quantile) | 
                1.00 | 
| Logistic (CDF) | 
                1.00 | 
| Logistic (PDF) | 
                1.00 | 
| Logistic (quantile) | 
                1.00 | 
| NegativeBinomial (CDF) | 
                1.00 | 
| NegativeBinomial (PDF) | 
                1.00 | 
| NegativeBinomial (quantile) | 
                1.00 | 
| NonCentralBeta (CDF) | 
                1.00 | 
| NonCentralBeta (PDF) | 
                1.00 | 
| NonCentralBeta (quantile) | 
                1.00 | 
| NonCentralChiSquared (CDF) | 
                1.00 | 
| NonCentralChiSquared (PDF) | 
                1.00 | 
| NonCentralChiSquared (quantile) | 
                1.00 | 
| NonCentralF (CDF) | 
                1.00 | 
| NonCentralF (PDF) | 
                1.00 | 
| NonCentralF (quantile) | 
                1.00 | 
| NonCentralT (CDF) | 
                1.00 | 
| NonCentralT (PDF) | 
                1.00 | 
| NonCentralT (quantile) | 
                1.00 | 
| Normal (CDF) | 
                1.00 | 
| Normal (PDF) | 
                1.00 | 
| Normal (quantile) | 
                1.00 | 
| Pareto (CDF) | 
                1.00 | 
| Pareto (PDF) | 
                1.00 | 
| Pareto (quantile) | 
                1.00 | 
| Poisson (CDF) | 
                1.00 | 
| Poisson (PDF) | 
                1.00 | 
| Poisson (quantile) | 
                1.00 | 
| Rayleigh (CDF) | 
                1.00 | 
| Rayleigh (PDF) | 
                1.00 | 
| Rayleigh (quantile) | 
                1.00 | 
| SkewNormal (CDF) | 
                1.00 | 
| SkewNormal (PDF) | 
                1.00 | 
| SkewNormal (quantile) | 
                1.00 | 
| StudentsT (CDF) | 
                1.00 | 
| StudentsT (PDF) | 
                1.00 | 
| StudentsT (quantile) | 
                1.00 | 
| Weibull (CDF) | 
                1.00 | 
| Weibull (PDF) | 
                1.00 | 
| Weibull (quantile) | 
                1.00 | 
Table 7. Library Comparison with GNU C++ version 9.2.0 on Windows x64
| Function | boost 1.73 | 
                boost 1.73 | tr1/cmath | math.h | 
|---|---|---|---|---|
| 
                assoc_laguerre | 
                1.08 | 
                1.00 | 
                1.08 | - | 
| 
                assoc_legendre | - | - | 
                1.00 | - | 
| 
                beta | 
                1.60 | 
                1.18 | 
                1.00 | - | 
| 
                cbrt | 
                4.67 | 
                1.00 | 
                2.00 | 
                2.13 | 
| 
                cyl_bessel_i (integer order) | 
                3.06 | 
                1.00 | 
                1.01 | - | 
| 
                cyl_bessel_i | 
                5.68 | 
                2.32 | 
                1.00 | - | 
| 
                cyl_bessel_j (integer order) | 
                1.92 | 
                1.00 | 
                3.12 | 
                1.94 | 
| 
                cyl_bessel_j | 
                2.15 | 
                1.21 | 
                1.00 | - | 
| 
                cyl_bessel_k (integer order) | 
                18.17 | 
                1.00 | 
                8.40 | - | 
| 
                cyl_bessel_k | 
                19.68 | 
                1.00 | 
                6.31 | - | 
| 
                cyl_neumann (integer order) | 
                2.13 | 
                1.55 | 
                3.83 | 
                1.00 | 
| 
                cyl_neumann | 
                12.46 | 
                7.10 | 
                1.00 | - | 
| 
                ellint_1 (complete) | 
                1.64 | 
                1.00 | 
                2.36 | - | 
| 
                ellint_1 | 
                1.41 | 
                1.00 | 
                1.09 | - | 
| 
                ellint_2 (complete) | 
                2.11 | 
                1.00 | 
                9.37 | - | 
| 
                ellint_2 | 
                1.50 | 
                1.00 | 
                1.06 | - | 
| 
                ellint_3 (complete) | 
                nan | 
                nan | 
                nan | - | 
| 
                ellint_3 | 
                2.58 | 
                1.53 | 
                1.00 | - | 
| 
                erf | 
                1.00 | - | 
                1.15 | 
                1.30 | 
| 
                erfc | 
                1.76 | 
                1.00 | 
                1.08 | 
                1.25 | 
| 
                expint | 
                1.53 | 
                1.00 | 
                1.83 | - | 
| 
                expm1 | 
                1.38 | 
                1.08 | 
                1.00 | 
                1.00 | 
| 
                laguerre | 
                1.07 | 
                1.00 | 
                1.03 | - | 
| 
                legendre | 
                1.25 | 
                1.00 | 
                1.27 | - | 
| 
                lgamma | 
                3.40 | 
                2.54 | 
                1.00 | 
                1.02 | 
| 
                log1p | 
                1.71 | 
                1.00 | 
                1.53 | 
                1.71 | 
| 
                sph_bessel | 
                1.48 | 
                1.00 | 
                3.02 | - | 
| 
                sph_neumann | 
                2.96 | 
                1.00 | 
                2.73 | - | 
| 
                tgamma | 
                3.32 | 
                2.03 | 
                1.01 | 
                1.00 | 
| 
                zeta | 
                1.40 | 
                1.00 | 
                918.24 | - | 
Table 8. Library Comparison with Microsoft Visual C++ version 14.2 on Windows x64
| Function | boost 1.73 | math.h | 
|---|---|---|
| 
                cbrt | 
                1.00 | 
                1.22 | 
| 
                cyl_bessel_j (integer order) | 
                1.00 | 
                1.50 | 
| 
                cyl_neumann (integer order) | 
                1.01 | 
                1.00 | 
| 
                erf | 
                2.15 | 
                1.00 | 
| 
                erfc | 
                1.00 | 
                1.09 | 
| 
                expm1 | 
                1.10 | 
                1.00 | 
| 
                lgamma | 
                1.00 | 
                1.60 | 
| 
                log1p | 
                1.00 | 
                1.07 | 
| 
                tgamma | 
                1.00 | 
                12.53 | 
Table 9. Polynomial Arithmetic (GNU C++ version 9.2.0, Windows x64)
| Function | boost::uint64_t | double | cpp_int | 
|---|---|---|---|
| operator * | 
                1.00 | 
                1.00 | 
                15.20 | 
| operator * (int) | 
                1.05 | 
                1.00 | 
                6.04 | 
| operator *= | 
                1.04 | 
                1.00 | 
                19.30 | 
| operator *= (int) | 
                1.06 | 
                1.00 | 
                26.10 | 
| operator + | 
                1.00 | 
                1.14 | 
                6.04 | 
| operator + (int) | 
                1.16 | 
                1.00 | 
                4.07 | 
| operator += | 
                1.12 | 
                1.00 | 
                22.81 | 
| operator += (int) | 
                1.33 | 
                1.00 | 
                33.00 | 
| operator - | 
                1.00 | 
                1.16 | 
                6.66 | 
| operator - (int) | 
                1.11 | 
                1.00 | 
                3.75 | 
| operator -= | 
                1.38 | 
                1.00 | 
                23.38 | 
| operator -= (int) | 
                1.00 | 
                1.00 | 
                31.00 | 
| operator / | 
                1.44 | 
                1.00 | 
                41.38 | 
| operator / (int) | 
                1.29 | 
                1.00 | 
                13.58 | 
| operator /= | 
                1.10 | 
                1.00 | 
                194.00 | 
| operator /= (int) | 
                1.00 | 
                21.14 | 
                3447.12 | 
Table 10. Polynomial Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)
| Function | boost::uint64_t | double | cpp_int | 
|---|---|---|---|
| operator * | 
                1.54 | 
                1.00 | 
                15.22 | 
| operator * (int) | 
                1.16 | 
                1.00 | 
                5.22 | 
| operator *= | 
                1.30 | 
                1.00 | 
                17.11 | 
| operator *= (int) | 
                1.00 | 
                1.04 | 
                19.69 | 
| operator + | 
                1.41 | 
                1.00 | 
                6.20 | 
| operator + (int) | 
                1.25 | 
                1.00 | 
                3.47 | 
| operator += | 
                1.35 | 
                1.00 | 
                11.16 | 
| operator += (int) | 
                1.25 | 
                1.00 | 
                25.50 | 
| operator - | 
                1.20 | 
                1.00 | 
                6.44 | 
| operator - (int) | 
                1.20 | 
                1.00 | 
                3.34 | 
| operator -= | 
                1.35 | 
                1.00 | 
                11.13 | 
| operator -= (int) | 
                1.00 | 
                1.00 | 
                23.50 | 
| operator / | 
                2.17 | 
                1.00 | 
                51.34 | 
| operator / (int) | 
                1.17 | 
                1.00 | 
                9.73 | 
| operator /= | 
                1.08 | 
                1.00 | 
                192.42 | 
| operator /= (int) | 
                1.00 | 
                36.29 | 
                2700.21 | 
Table 11. Polynomial Method Comparison with GNU C++ version 9.2.0 on Windows x64
| Function | 
                Method 0 | 
                Method 0 | 
                Method 1 | 
                Method 1 | 
                Method 2 | 
                Method 2 | 
                Method 3 | 
                Method 3 | 
|---|---|---|---|---|---|---|---|---|
| Order 2 | - | - | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 3 | 
                1.56 | 
                2.56 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.11 | 
                1.00 | 
| Order 4 | 
                1.50 | 
                2.42 | 
                1.08 | 
                1.00 | 
                1.08 | 
                1.08 | 
                1.08 | 
                1.08 | 
| Order 5 | 
                1.38 | 
                2.31 | 
                1.06 | 
                1.00 | 
                1.06 | 
                1.12 | 
                1.12 | 
                1.12 | 
| Order 6 | 
                1.48 | 
                2.14 | 
                1.00 | 
                1.00 | 
                1.05 | 
                1.05 | 
                1.24 | 
                1.05 | 
| Order 7 | 
                1.31 | 
                2.15 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.12 | 
                1.04 | 
                1.19 | 
| Order 8 | 
                1.37 | 
                2.23 | 
                1.07 | 
                1.03 | 
                1.10 | 
                1.03 | 
                1.20 | 
                1.00 | 
| Order 9 | 
                1.58 | 
                2.42 | 
                1.15 | 
                1.15 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.03 | 
| Order 10 | 
                1.51 | 
                2.41 | 
                1.22 | 
                1.22 | 
                1.00 | 
                1.03 | 
                1.05 | 
                1.05 | 
| Order 11 | 
                1.56 | 
                2.46 | 
                1.27 | 
                1.27 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 12 | 
                1.70 | 
                2.63 | 
                1.30 | 
                1.28 | 
                1.00 | 
                1.04 | 
                1.02 | 
                1.02 | 
| Order 13 | 
                1.78 | 
                2.78 | 
                1.29 | 
                1.29 | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.00 | 
| Order 14 | 
                1.79 | 
                2.75 | 
                1.43 | 
                1.43 | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.00 | 
| Order 15 | 
                1.63 | 
                2.51 | 
                1.33 | 
                1.43 | 
                1.02 | 
                1.02 | 
                1.00 | 
                1.02 | 
| Order 16 | 
                1.61 | 
                2.31 | 
                1.31 | 
                1.31 | 
                1.01 | 
                1.01 | 
                1.01 | 
                1.00 | 
| Order 17 | 
                1.67 | 
                2.42 | 
                1.42 | 
                1.41 | 
                1.00 | 
                1.00 | 
                1.01 | 
                1.01 | 
| Order 18 | 
                1.66 | 
                2.39 | 
                1.41 | 
                1.44 | 
                1.05 | 
                1.02 | 
                1.06 | 
                1.00 | 
| Order 19 | 
                1.72 | 
                2.51 | 
                1.59 | 
                1.56 | 
                1.01 | 
                1.01 | 
                1.00 | 
                1.02 | 
| Order 20 | 
                1.70 | 
                2.52 | 
                1.55 | 
                1.59 | 
                1.05 | 
                1.02 | 
                1.00 | 
                1.06 | 
Table 12. Polynomial Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64
| Function | 
                Method 0 | 
                Method 0 | 
                Method 1 | 
                Method 1 | 
                Method 2 | 
                Method 2 | 
                Method 3 | 
                Method 3 | 
|---|---|---|---|---|---|---|---|---|
| Order 2 | - | - | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 3 | 
                2.33 | 
                3.33 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 4 | 
                2.00 | 
                3.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.08 | 
                1.08 | 
| Order 5 | 
                1.56 | 
                2.31 | 
                1.00 | 
                1.00 | 
                1.13 | 
                1.13 | 
                1.56 | 
                1.56 | 
| Order 6 | 
                1.48 | 
                2.19 | 
                1.05 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.29 | 
                1.29 | 
| Order 7 | 
                1.54 | 
                2.33 | 
                1.08 | 
                1.08 | 
                1.04 | 
                1.00 | 
                1.13 | 
                1.17 | 
| Order 8 | 
                1.53 | 
                2.23 | 
                1.07 | 
                1.07 | 
                1.00 | 
                1.00 | 
                1.03 | 
                1.03 | 
| Order 9 | 
                1.35 | 
                2.06 | 
                1.18 | 
                1.32 | 
                1.00 | 
                1.00 | 
                1.09 | 
                1.06 | 
| Order 10 | 
                1.38 | 
                2.13 | 
                1.21 | 
                1.15 | 
                1.00 | 
                1.00 | 
                1.03 | 
                1.03 | 
| Order 11 | 
                1.48 | 
                2.24 | 
                1.24 | 
                1.26 | 
                1.07 | 
                1.00 | 
                1.10 | 
                1.02 | 
| Order 12 | 
                1.48 | 
                2.27 | 
                1.25 | 
                1.27 | 
                1.04 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 13 | 
                1.55 | 
                2.33 | 
                1.31 | 
                1.31 | 
                1.04 | 
                1.04 | 
                1.02 | 
                1.00 | 
| Order 14 | 
                1.53 | 
                2.40 | 
                1.44 | 
                1.40 | 
                1.04 | 
                1.02 | 
                1.00 | 
                1.00 | 
| Order 15 | 
                1.51 | 
                2.33 | 
                1.37 | 
                1.38 | 
                1.05 | 
                1.06 | 
                1.00 | 
                1.00 | 
| Order 16 | 
                1.47 | 
                2.18 | 
                1.40 | 
                1.33 | 
                1.01 | 
                1.03 | 
                1.00 | 
                1.04 | 
| Order 17 | 
                1.46 | 
                2.08 | 
                1.44 | 
                1.44 | 
                1.00 | 
                1.01 | 
                1.05 | 
                1.03 | 
| Order 18 | 
                1.48 | 
                2.08 | 
                1.44 | 
                1.46 | 
                1.02 | 
                1.04 | 
                1.01 | 
                1.00 | 
| Order 19 | 
                1.49 | 
                2.07 | 
                1.47 | 
                1.47 | 
                1.00 | 
                1.01 | 
                1.05 | 
                1.03 | 
| Order 20 | 
                1.52 | 
                2.05 | 
                1.45 | 
                1.46 | 
                1.00 | 
                1.02 | 
                1.02 | 
                1.02 | 
Table 13. Rational Method Comparison with GNU C++ version 9.2.0 on Windows x64
| Function | 
                Method 0 | 
                Method 0 | 
                Method 1 | 
                Method 1 | 
                Method 2 | 
                Method 2 | 
                Method 3 | 
                Method 3 | 
|---|---|---|---|---|---|---|---|---|
| Order 2 | - | - | 
                1.83 | 
                1.83 | 
                1.00 | 
                1.00 | 
                1.17 | 
                1.08 | 
| Order 3 | 
                1.83 | 
                2.17 | 
                1.56 | 
                1.44 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 4 | 
                1.65 | 
                2.00 | 
                1.46 | 
                1.46 | 
                1.00 | 
                1.00 | 
                1.04 | 
                1.12 | 
| Order 5 | 
                1.17 | 
                1.40 | 
                1.02 | 
                1.00 | 
                1.12 | 
                1.10 | 
                1.17 | 
                1.12 | 
| Order 6 | 
                1.02 | 
                1.25 | 
                1.00 | 
                1.00 | 
                1.02 | 
                1.02 | 
                1.05 | 
                1.30 | 
| Order 7 | 
                1.03 | 
                1.29 | 
                1.01 | 
                1.00 | 
                1.01 | 
                1.01 | 
                1.03 | 
                1.01 | 
| Order 8 | 
                1.10 | 
                1.27 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.02 | 
                1.12 | 
                1.05 | 
| Order 9 | 
                1.27 | 
                1.66 | 
                1.03 | 
                1.02 | 
                1.00 | 
                1.01 | 
                1.00 | 
                1.01 | 
| Order 10 | 
                1.22 | 
                1.40 | 
                1.06 | 
                1.07 | 
                1.00 | 
                1.02 | 
                1.00 | 
                1.08 | 
| Order 11 | 
                1.20 | 
                1.44 | 
                1.07 | 
                1.06 | 
                1.00 | 
                1.07 | 
                1.01 | 
                1.04 | 
| Order 12 | 
                1.24 | 
                1.32 | 
                1.10 | 
                1.12 | 
                1.02 | 
                1.23 | 
                1.04 | 
                1.00 | 
| Order 13 | 
                1.27 | 
                1.36 | 
                1.18 | 
                1.13 | 
                1.06 | 
                1.00 | 
                1.01 | 
                1.02 | 
| Order 14 | 
                1.16 | 
                1.28 | 
                1.10 | 
                1.08 | 
                1.14 | 
                1.10 | 
                1.13 | 
                1.00 | 
| Order 15 | 
                1.32 | 
                1.47 | 
                1.23 | 
                1.22 | 
                1.00 | 
                1.01 | 
                1.15 | 
                1.03 | 
| Order 16 | 
                1.31 | 
                1.39 | 
                1.26 | 
                1.28 | 
                1.00 | 
                1.01 | 
                1.09 | 
                1.01 | 
| Order 17 | 
                1.34 | 
                1.46 | 
                1.32 | 
                1.37 | 
                1.00 | 
                1.06 | 
                1.08 | 
                1.00 | 
| Order 18 | 
                1.52 | 
                1.53 | 
                1.41 | 
                1.43 | 
                1.23 | 
                1.03 | 
                1.00 | 
                1.05 | 
| Order 19 | 
                1.35 | 
                1.56 | 
                1.54 | 
                1.39 | 
                1.00 | 
                1.22 | 
                1.02 | 
                1.04 | 
| Order 20 | 
                1.34 | 
                1.59 | 
                1.39 | 
                1.46 | 
                1.06 | 
                1.01 | 
                1.00 | 
                1.00 | 
Table 14. Rational Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64
| Function | 
                Method 0 | 
                Method 0 | 
                Method 1 | 
                Method 1 | 
                Method 2 | 
                Method 2 | 
                Method 3 | 
                Method 3 | 
|---|---|---|---|---|---|---|---|---|
| Order 2 | - | - | 
                1.92 | 
                1.92 | 
                1.00 | 
                1.17 | 
                1.00 | 
                1.00 | 
| Order 3 | 
                1.89 | 
                2.28 | 
                1.67 | 
                1.61 | 
                1.06 | 
                1.00 | 
                1.00 | 
                1.00 | 
| Order 4 | 
                1.72 | 
                2.16 | 
                1.64 | 
                1.60 | 
                1.00 | 
                1.00 | 
                1.00 | 
                1.04 | 
| Order 5 | 
                1.08 | 
                1.41 | 
                1.00 | 
                1.00 | 
                1.08 | 
                1.08 | 
                1.00 | 
                1.10 | 
| Order 6 | 
                1.08 | 
                1.42 | 
                1.02 | 
                1.00 | 
                1.05 | 
                1.23 | 
                1.25 | 
                1.40 | 
| Order 7 | 
                1.06 | 
                1.37 | 
                1.01 | 
                1.00 | 
                1.14 | 
                1.01 | 
                1.20 | 
                1.35 | 
| Order 8 | 
                1.07 | 
                1.38 | 
                1.04 | 
                1.02 | 
                1.01 | 
                1.00 | 
                2.49 | 
                2.60 | 
| Order 9 | 
                1.16 | 
                1.61 | 
                1.18 | 
                1.27 | 
                1.01 | 
                1.02 | 
                1.02 | 
                1.00 | 
| Order 10 | 
                1.15 | 
                1.46 | 
                1.14 | 
                1.12 | 
                1.01 | 
                1.02 | 
                1.01 | 
                1.00 | 
| Order 11 | 
                1.21 | 
                1.48 | 
                1.17 | 
                1.16 | 
                1.00 | 
                1.27 | 
                1.00 | 
                1.01 | 
| Order 12 | 
                1.26 | 
                1.53 | 
                1.19 | 
                1.19 | 
                1.02 | 
                1.24 | 
                1.00 | 
                1.00 | 
| Order 13 | 
                1.31 | 
                1.71 | 
                1.23 | 
                1.52 | 
                1.01 | 
                1.29 | 
                1.01 | 
                1.00 | 
| Order 14 | 
                1.42 | 
                1.56 | 
                1.32 | 
                1.47 | 
                1.02 | 
                1.31 | 
                1.00 | 
                1.01 | 
| Order 15 | 
                1.34 | 
                1.51 | 
                1.36 | 
                1.46 | 
                1.02 | 
                1.30 | 
                1.00 | 
                2.23 | 
| Order 16 | 
                1.38 | 
                1.56 | 
                1.36 | 
                1.31 | 
                1.15 | 
                1.34 | 
                1.00 | 
                2.10 | 
| Order 17 | 
                1.39 | 
                1.67 | 
                1.34 | 
                1.69 | 
                1.00 | 
                1.32 | 
                1.02 | 
                2.53 | 
| Order 18 | 
                1.37 | 
                1.73 | 
                1.40 | 
                1.56 | 
                1.06 | 
                1.32 | 
                1.00 | 
                2.15 | 
| Order 19 | 
                1.28 | 
                1.60 | 
                1.27 | 
                1.51 | 
                1.00 | 
                1.22 | 
                1.80 | 
                1.92 | 
| Order 20 | 
                1.28 | 
                1.62 | 
                1.27 | 
                1.56 | 
                1.00 | 
                1.24 | 
                1.87 | 
                2.04 | 
Table 15. gcd method comparison with GNU C++ version 9.2.0 on Windows x64
| Function | gcd boost 1.73 | Euclid_gcd boost 1.73 | Stein_gcd boost 1.73 | mixed_binary_gcd boost 1.73 | Stein_gcd_textbook boost 1.73 | gcd_euclid_textbook boost 1.73 | 
|---|---|---|---|---|---|---|
| gcd<boost::multiprecision::uint1024_t> (Trivial cases) | 
                1.00 | 
                1.30 | 
                3.82 | 
                3.97 | 
                1.43 | 
                1.10 | 
| gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                7.06 | 
                3.96 | 
                3.33 | 
                2.04 | 
                7.38 | 
| gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) | 
                3.58 | 
                1.02 | 
                15.19 | 
                3.10 | 
                7.61 | 
                1.00 | 
| gcd<boost::multiprecision::uint1024_t> (random prime number products) | 
                1.00 | 
                1.83 | 
                7.78 | 
                2.39 | 
                4.19 | 
                1.96 | 
| gcd<boost::multiprecision::uint1024_t> (uniform random numbers) | 
                1.00 | 
                2.02 | 
                2.55 | 
                2.21 | 
                1.49 | 
                1.99 | 
| gcd<boost::multiprecision::uint256_t> (Trivial cases) | 
                1.00 | 
                1.08 | 
                4.12 | 
                4.11 | 
                1.17 | 
                1.00 | 
| gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                3.74 | 
                3.14 | 
                2.78 | 
                1.83 | 
                3.79 | 
| gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) | 
                1.00 | 
                2.24 | 
                3.53 | 
                2.26 | 
                2.06 | 
                2.60 | 
| gcd<boost::multiprecision::uint256_t> (random prime number products) | 
                1.00 | 
                1.65 | 
                4.56 | 
                1.51 | 
                2.77 | 
                1.70 | 
| gcd<boost::multiprecision::uint256_t> (uniform random numbers) | 
                1.00 | 
                2.75 | 
                3.13 | 
                2.48 | 
                1.65 | 
                3.16 | 
| gcd<boost::multiprecision::uint512_t> (Trivial cases) | 
                1.00 | 
                1.10 | 
                2.35 | 
                2.54 | 
                1.30 | 
                1.05 | 
| gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                4.88 | 
                4.74 | 
                3.64 | 
                1.68 | 
                4.90 | 
| gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) | 
                1.00 | 
                1.22 | 
                3.28 | 
                1.50 | 
                1.76 | 
                1.23 | 
| gcd<boost::multiprecision::uint512_t> (random prime number products) | 
                1.00 | 
                1.59 | 
                8.12 | 
                1.91 | 
                3.08 | 
                1.58 | 
| gcd<boost::multiprecision::uint512_t> (uniform random numbers) | 
                1.00 | 
                2.35 | 
                3.97 | 
                3.10 | 
                1.49 | 
                2.66 | 
| gcd<unsigned long long> (Trivial cases) | 
                1.85 | 
                2.44 | 
                1.00 | 
                1.88 | 
                1.68 | 
                2.08 | 
| gcd<unsigned long long> (adjacent Fibonacci numbers) | 
                2.98 | 
                14.61 | 
                1.00 | 
                2.98 | 
                2.20 | 
                14.60 | 
| gcd<unsigned long long> (permutations of Fibonacci numbers) | 
                1.04 | 
                1.30 | 
                1.13 | 
                1.00 | 
                2.23 | 
                1.26 | 
| gcd<unsigned long long> (random prime number products) | 
                1.14 | 
                1.88 | 
                1.00 | 
                1.07 | 
                2.02 | 
                1.78 | 
| gcd<unsigned long long> (uniform random numbers) | 
                1.39 | 
                2.14 | 
                1.00 | 
                1.33 | 
                1.75 | 
                2.08 | 
| gcd<unsigned long> (Trivial cases) | 
                1.23 | 
                1.16 | 
                1.00 | 
                1.19 | 
                1.63 | 
                1.12 | 
| gcd<unsigned long> (adjacent Fibonacci numbers) | 
                1.79 | 
                10.20 | 
                1.00 | 
                1.85 | 
                2.07 | 
                9.50 | 
| gcd<unsigned long> (permutations of Fibonacci numbers) | 
                1.00 | 
                1.43 | 
                1.31 | 
                1.01 | 
                2.45 | 
                1.30 | 
| gcd<unsigned long> (random prime number products) | 
                1.02 | 
                1.56 | 
                1.11 | 
                1.00 | 
                2.03 | 
                1.40 | 
| gcd<unsigned long> (uniform random numbers) | 
                1.14 | 
                1.61 | 
                1.00 | 
                1.17 | 
                1.76 | 
                1.55 | 
| gcd<unsigned short> (Trivial cases) | 
                1.19 | 
                1.05 | 
                1.00 | 
                1.29 | 
                1.53 | 
                1.08 | 
| gcd<unsigned short> (adjacent Fibonacci numbers) | 
                1.55 | 
                6.51 | 
                1.00 | 
                1.65 | 
                1.42 | 
                6.06 | 
| gcd<unsigned short> (permutations of Fibonacci numbers) | 
                1.31 | 
                2.35 | 
                1.00 | 
                1.41 | 
                1.63 | 
                2.21 | 
| gcd<unsigned short> (random prime number products) | 
                1.04 | 
                1.82 | 
                1.03 | 
                1.00 | 
                2.94 | 
                1.68 | 
| gcd<unsigned short> (uniform random numbers) | 
                1.05 | 
                1.72 | 
                1.00 | 
                1.04 | 
                2.51 | 
                1.70 | 
| gcd<unsigned> (Trivial cases) | 
                1.30 | 
                1.14 | 
                1.00 | 
                1.23 | 
                1.62 | 
                1.14 | 
| gcd<unsigned> (adjacent Fibonacci numbers) | 
                1.81 | 
                10.14 | 
                1.00 | 
                1.92 | 
                2.10 | 
                9.74 | 
| gcd<unsigned> (permutations of Fibonacci numbers) | 
                1.00 | 
                1.45 | 
                1.36 | 
                1.04 | 
                2.50 | 
                1.41 | 
| gcd<unsigned> (random prime number products) | 
                1.04 | 
                1.55 | 
                1.05 | 
                1.00 | 
                2.03 | 
                1.53 | 
| gcd<unsigned> (uniform random numbers) | 
                1.15 | 
                1.61 | 
                1.00 | 
                1.17 | 
                1.80 | 
                1.62 | 
Table 16. gcd method comparison with Microsoft Visual C++ version 14.2 on Windows x64
| Function | gcd boost 1.73 | Euclid_gcd boost 1.73 | Stein_gcd boost 1.73 | mixed_binary_gcd boost 1.73 | Stein_gcd_textbook boost 1.73 | gcd_euclid_textbook boost 1.73 | 
|---|---|---|---|---|---|---|
| gcd<boost::multiprecision::uint1024_t> (Trivial cases) | 
                1.01 | 
                1.00 | 
                4.49 | 
                4.37 | 
                1.54 | 
                1.17 | 
| gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                3.10 | 
                3.49 | 
                2.71 | 
                1.43 | 
                3.60 | 
| gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) | 
                4.79 | 
                1.00 | 
                16.49 | 
                2.95 | 
                9.35 | 
                1.59 | 
| gcd<boost::multiprecision::uint1024_t> (random prime number products) | 
                1.15 | 
                1.00 | 
                6.07 | 
                1.69 | 
                2.88 | 
                1.03 | 
| gcd<boost::multiprecision::uint1024_t> (uniform random numbers) | 
                1.13 | 
                1.10 | 
                2.46 | 
                1.79 | 
                1.26 | 
                1.00 | 
| gcd<boost::multiprecision::uint256_t> (Trivial cases) | 
                1.12 | 
                1.22 | 
                5.71 | 
                5.01 | 
                1.62 | 
                1.00 | 
| gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                2.03 | 
                4.15 | 
                2.36 | 
                1.83 | 
                1.79 | 
| gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) | 
                1.00 | 
                1.24 | 
                4.54 | 
                2.08 | 
                1.87 | 
                1.11 | 
| gcd<boost::multiprecision::uint256_t> (random prime number products) | 
                1.24 | 
                1.19 | 
                10.57 | 
                2.30 | 
                3.17 | 
                1.00 | 
| gcd<boost::multiprecision::uint256_t> (uniform random numbers) | 
                1.00 | 
                1.38 | 
                3.58 | 
                2.17 | 
                1.66 | 
                1.25 | 
| gcd<boost::multiprecision::uint512_t> (Trivial cases) | 
                1.09 | 
                1.05 | 
                4.52 | 
                5.42 | 
                1.53 | 
                1.00 | 
| gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) | 
                1.00 | 
                2.19 | 
                3.54 | 
                2.51 | 
                1.67 | 
                2.06 | 
| gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) | 
                1.70 | 
                1.06 | 
                6.42 | 
                1.96 | 
                2.82 | 
                1.00 | 
| gcd<boost::multiprecision::uint512_t> (random prime number products) | 
                1.20 | 
                1.00 | 
                6.71 | 
                1.66 | 
                3.05 | 
                1.00 | 
| gcd<boost::multiprecision::uint512_t> (uniform random numbers) | 
                1.00 | 
                1.13 | 
                3.71 | 
                2.24 | 
                1.39 | 
                1.26 | 
| gcd<unsigned long long> (Trivial cases) | 
                1.61 | 
                1.88 | 
                1.09 | 
                1.66 | 
                1.00 | 
                1.25 | 
| gcd<unsigned long long> (adjacent Fibonacci numbers) | 
                1.65 | 
                9.12 | 
                1.00 | 
                1.65 | 
                1.36 | 
                7.61 | 
| gcd<unsigned long long> (permutations of Fibonacci numbers) | 
                1.18 | 
                1.23 | 
                2.48 | 
                1.20 | 
                1.92 | 
                1.00 | 
| gcd<unsigned long long> (random prime number products) | 
                1.03 | 
                1.26 | 
                1.66 | 
                1.00 | 
                1.24 | 
                1.05 | 
| gcd<unsigned long long> (uniform random numbers) | 
                1.15 | 
                1.29 | 
                1.38 | 
                1.16 | 
                1.00 | 
                1.10 | 
| gcd<unsigned long> (Trivial cases) | 
                2.05 | 
                1.61 | 
                1.80 | 
                1.98 | 
                1.55 | 
                1.00 | 
| gcd<unsigned long> (adjacent Fibonacci numbers) | 
                1.26 | 
                8.19 | 
                1.00 | 
                1.30 | 
                1.15 | 
                5.44 | 
| gcd<unsigned long> (permutations of Fibonacci numbers) | 
                1.17 | 
                1.52 | 
                2.43 | 
                1.13 | 
                2.02 | 
                1.00 | 
| gcd<unsigned long> (random prime number products) | 
                1.01 | 
                1.32 | 
                1.93 | 
                1.12 | 
                1.70 | 
                1.00 | 
| gcd<unsigned long> (uniform random numbers) | 
                1.29 | 
                1.46 | 
                1.77 | 
                1.26 | 
                1.27 | 
                1.00 | 
| gcd<unsigned short> (Trivial cases) | 
                1.79 | 
                1.41 | 
                1.47 | 
                1.73 | 
                1.42 | 
                1.00 | 
| gcd<unsigned short> (adjacent Fibonacci numbers) | 
                1.16 | 
                7.62 | 
                1.00 | 
                1.17 | 
                1.15 | 
                5.04 | 
| gcd<unsigned short> (permutations of Fibonacci numbers) | 
                1.00 | 
                3.82 | 
                1.16 | 
                1.00 | 
                2.19 | 
                2.11 | 
| gcd<unsigned short> (random prime number products) | 
                1.26 | 
                1.92 | 
                2.21 | 
                1.12 | 
                1.67 | 
                1.00 | 
| gcd<unsigned short> (uniform random numbers) | 
                1.16 | 
                1.44 | 
                1.62 | 
                1.16 | 
                1.30 | 
                1.00 | 
| gcd<unsigned> (Trivial cases) | 
                1.98 | 
                1.61 | 
                1.90 | 
                2.00 | 
                1.61 | 
                1.00 | 
| gcd<unsigned> (adjacent Fibonacci numbers) | 
                1.28 | 
                8.39 | 
                1.00 | 
                1.30 | 
                1.34 | 
                5.64 | 
| gcd<unsigned> (permutations of Fibonacci numbers) | 
                1.08 | 
                1.47 | 
                2.37 | 
                1.12 | 
                2.08 | 
                1.00 | 
| gcd<unsigned> (random prime number products) | 
                1.09 | 
                1.42 | 
                1.99 | 
                1.05 | 
                1.61 | 
                1.00 | 
| gcd<unsigned> (uniform random numbers) | 
                1.26 | 
                1.35 | 
                1.68 | 
                1.23 | 
                1.32 | 
                1.00 | 
| Last revised: April 03, 2020 at 11:57:28 GMT |