From e443b6315bb5e64f4fbf44db63f512780f37dc99 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 17 Feb 2025 21:16:20 -0800 Subject: [PATCH 01/12] feat: add implementation --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../base/dists/bradford/pdf/lib/factory.js | 81 +++++++++++++++++ .../base/dists/bradford/pdf/lib/index.js | 54 ++++++++++++ .../stats/base/dists/bradford/pdf/lib/main.js | 86 +++++++++++++++++++ 3 files changed, 221 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js new file mode 100644 index 000000000000..4c0bb07def59 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js @@ -0,0 +1,81 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var constantFunction = require( '@stdlib/utils/constant-function' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var ln = require( '@stdlib/math/base/special/ln' ); + + +// MAIN // + +/** +* Returns a function for evaluating the probability density function (PDF) for a bradford distribution with shape parameter `c`. +* +* @param {number} c - shape parameter +* @returns {Function} PDF +* +* @example +* var pdf = factory( 5.0 ); +* var y = pdf( 0.5 ); +* // returns ~0.797 +* +* y = pdf( 1.0 ); +* // returns ~0.465 +*/ +function factory( c ) { + if ( + isnan( c ) || + c <= 0.0 + ) { + return constantFunction( NaN ); + } + return pdf; + + /** + * Evaluates the probability density function (PDF) for a bradford distribution. + * + * @private + * @param {number} x - input value + * @returns {number} evaluated PDF + * + * @example + * var y = pdf( 0.5 ); + * // returns + */ + function pdf( x ) { + var k; + if ( + isnan( x ) || + x < 0.0 || + x > 1.0 + ) { + return NaN; + } + k = ln( 1.0 + c ); + return c / ( ( 1.0 + ( c * x ) ) * k ); + } +} + + +// EXPORTS // + +module.exports = factory; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/index.js new file mode 100644 index 000000000000..fd0cb214ab30 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/index.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Bradford distribution probability density function (PDF). +* +* @module @stdlib/stats/base/dists/bradford/pdf +* +* @example +* var pdf = require( '@stdlib/stats/base/dists/bradford/pdf' ); +* +* var y = pdf( 0.5, 5.0 ); +* // returns ~0.797 +* +* var myPDF = pdf.factory( 5.0 ); +* y = myPDF( 0.5 ); +* // returns ~0.797 +* +* y = myPDF( 1.0 ); +* // returns ~0.465 +*/ + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); +var main = require( './main.js' ); +var factory = require( './factory.js' ); + + +// MAIN // + +setReadOnly( main, 'factory', factory ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js new file mode 100644 index 000000000000..a429202028a0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js @@ -0,0 +1,86 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var ln = require( '@stdlib/math/base/special/ln' ); + + +// MAIN // + +/** +* Returns the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. +* +* @param {number} x - input value +* @param {number} c - shape parameter +* @returns {number} evaluated PDF +* +* @example +* var v = pdf( 0.1, 0.1 ); +* // returns ~1.039 +* +* @example +* var v = pdf( 0.5, 5.0 ); +* // returns ~0.797 +* +* @example +* var v = pdf( 1.0, 10.0 ); +* // returns ~0.379 +* +* @example +* var v = pdf( 0.5, 0.0 ); +* // returns NaN +* +* @example +* var v = pdf( 2.0, 0.5 ); +* // returns NaN +* +* @example +* var v = pdf( -1.0, 0.5 ); +* // returns NaN +* +* @example +* var v = pdf( NaN, 1.0 ); +* // returns NaN +* +* @example +* var v = pdf( 1.0, NaN ); +* // returns NaN +*/ +function pdf( x, c ) { + var k; + if ( + isnan( c ) || + isnan( x ) || + c <= 0.0 || + x < 0.0 || + x > 1.0 + ) { + return NaN; + } + k = ln( 1.0 + c ); + return c / ( ( 1.0 + ( c * x ) ) * k ); +} + + +// EXPORTS // + +module.exports = pdf; From cef2d060e0250b244dc3478f7e75e592b7bfd05b Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 17 Feb 2025 21:17:35 -0800 Subject: [PATCH 02/12] feat: add tests --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../pdf/test/fixtures/python/large_c.json | 1 + .../pdf/test/fixtures/python/medium_c.json | 1 + .../pdf/test/fixtures/python/small_c.json | 1 + .../dists/bradford/pdf/test/test.factory.js | 188 ++++++++++++++++++ .../base/dists/bradford/pdf/test/test.js | 38 ++++ .../base/dists/bradford/pdf/test/test.pdf.js | 165 +++++++++++++++ 6 files changed, 394 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/large_c.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/medium_c.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/small_c.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/large_c.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/large_c.json new file mode 100644 index 000000000000..bfd017489aa0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/large_c.json @@ -0,0 +1 @@ +{"x": [0.0, 0.001001001001001001, 0.002002002002002002, 0.003003003003003003, 0.004004004004004004, 0.005005005005005005, 0.006006006006006006, 0.007007007007007007, 0.008008008008008008, 0.009009009009009009, 0.01001001001001001, 0.011011011011011011, 0.012012012012012012, 0.013013013013013013, 0.014014014014014014, 0.015015015015015015, 0.016016016016016016, 0.017017017017017015, 0.018018018018018018, 0.01901901901901902, 0.02002002002002002, 0.02102102102102102, 0.022022022022022022, 0.023023023023023025, 0.024024024024024024, 0.025025025025025023, 0.026026026026026026, 0.02702702702702703, 0.028028028028028028, 0.029029029029029027, 0.03003003003003003, 0.031031031031031032, 0.03203203203203203, 0.03303303303303303, 0.03403403403403403, 0.035035035035035036, 0.036036036036036036, 0.037037037037037035, 0.03803803803803804, 0.03903903903903904, 0.04004004004004004, 0.04104104104104104, 0.04204204204204204, 0.043043043043043044, 0.044044044044044044, 0.04504504504504504, 0.04604604604604605, 0.04704704704704705, 0.04804804804804805, 0.04904904904904905, 0.050050050050050046, 0.05105105105105105, 0.05205205205205205, 0.05305305305305305, 0.05405405405405406, 0.055055055055055056, 0.056056056056056056, 0.057057057057057055, 0.058058058058058054, 0.05905905905905906, 0.06006006006006006, 0.06106106106106106, 0.062062062062062065, 0.06306306306306306, 0.06406406406406406, 0.06506506506506507, 0.06606606606606606, 0.06706706706706707, 0.06806806806806806, 0.06906906906906907, 0.07007007007007007, 0.07107107107107107, 0.07207207207207207, 0.07307307307307308, 0.07407407407407407, 0.07507507507507508, 0.07607607607607608, 0.07707707707707707, 0.07807807807807808, 0.07907907907907907, 0.08008008008008008, 0.08108108108108109, 0.08208208208208208, 0.08308308308308308, 0.08408408408408408, 0.08508508508508508, 0.08608608608608609, 0.08708708708708708, 0.08808808808808809, 0.0890890890890891, 0.09009009009009009, 0.09109109109109109, 0.0920920920920921, 0.09309309309309309, 0.0940940940940941, 0.09509509509509509, 0.0960960960960961, 0.0970970970970971, 0.0980980980980981, 0.0990990990990991, 0.10010010010010009, 0.1011011011011011, 0.1021021021021021, 0.1031031031031031, 0.1041041041041041, 0.10510510510510511, 0.1061061061061061, 0.10710710710710711, 0.10810810810810811, 0.1091091091091091, 0.11011011011011011, 0.1111111111111111, 0.11211211211211211, 0.11311311311311312, 0.11411411411411411, 0.11511511511511512, 0.11611611611611611, 0.11711711711711711, 0.11811811811811812, 0.11911911911911911, 0.12012012012012012, 0.12112112112112113, 0.12212212212212212, 0.12312312312312312, 0.12412412412412413, 0.12512512512512514, 0.12612612612612611, 0.12712712712712712, 0.12812812812812813, 0.12912912912912913, 0.13013013013013014, 0.13113113113113112, 0.13213213213213212, 0.13313313313313313, 0.13413413413413414, 0.13513513513513514, 0.13613613613613612, 0.13713713713713713, 0.13813813813813813, 0.13913913913913914, 0.14014014014014015, 0.14114114114114115, 0.14214214214214213, 0.14314314314314314, 0.14414414414414414, 0.14514514514514515, 0.14614614614614616, 0.14714714714714713, 0.14814814814814814, 0.14914914914914915, 0.15015015015015015, 0.15115115115115116, 0.15215215215215216, 0.15315315315315314, 0.15415415415415415, 0.15515515515515516, 0.15615615615615616, 0.15715715715715717, 0.15815815815815815, 0.15915915915915915, 0.16016016016016016, 0.16116116116116116, 0.16216216216216217, 0.16316316316316315, 0.16416416416416416, 0.16516516516516516, 0.16616616616616617, 0.16716716716716717, 0.16816816816816815, 0.16916916916916916, 0.17017017017017017, 0.17117117117117117, 0.17217217217217218, 0.17317317317317318, 0.17417417417417416, 0.17517517517517517, 0.17617617617617617, 0.17717717717717718, 0.1781781781781782, 0.17917917917917917, 0.18018018018018017, 0.18118118118118118, 0.18218218218218218, 0.1831831831831832, 0.1841841841841842, 0.18518518518518517, 0.18618618618618618, 0.1871871871871872, 0.1881881881881882, 0.1891891891891892, 0.19019019019019018, 0.19119119119119118, 0.1921921921921922, 0.1931931931931932, 0.1941941941941942, 0.19519519519519518, 0.1961961961961962, 0.1971971971971972, 0.1981981981981982, 0.1991991991991992, 0.20020020020020018, 0.2012012012012012, 0.2022022022022022, 0.2032032032032032, 0.2042042042042042, 0.20520520520520522, 0.2062062062062062, 0.2072072072072072, 0.2082082082082082, 0.2092092092092092, 0.21021021021021022, 0.2112112112112112, 0.2122122122122122, 0.2132132132132132, 0.21421421421421422, 0.21521521521521522, 0.21621621621621623, 0.2172172172172172, 0.2182182182182182, 0.21921921921921922, 0.22022022022022023, 0.22122122122122123, 0.2222222222222222, 0.22322322322322322, 0.22422422422422422, 0.22522522522522523, 0.22622622622622623, 0.2272272272272272, 0.22822822822822822, 0.22922922922922923, 0.23023023023023023, 0.23123123123123124, 0.23223223223223222, 0.23323323323323322, 0.23423423423423423, 0.23523523523523523, 0.23623623623623624, 0.23723723723723725, 0.23823823823823823, 0.23923923923923923, 0.24024024024024024, 0.24124124124124124, 0.24224224224224225, 0.24324324324324323, 0.24424424424424424, 0.24524524524524524, 0.24624624624624625, 0.24724724724724725, 0.24824824824824826, 0.24924924924924924, 0.2502502502502503, 0.25125125125125125, 0.25225225225225223, 0.25325325325325326, 0.25425425425425424, 0.2552552552552553, 0.25625625625625625, 0.25725725725725723, 0.25825825825825827, 0.25925925925925924, 0.2602602602602603, 0.26126126126126126, 0.26226226226226224, 0.26326326326326327, 0.26426426426426425, 0.2652652652652653, 0.26626626626626626, 0.26726726726726724, 0.2682682682682683, 0.26926926926926925, 0.2702702702702703, 0.27127127127127126, 0.27227227227227224, 0.2732732732732733, 0.27427427427427425, 0.2752752752752753, 0.27627627627627627, 0.2772772772772773, 0.2782782782782783, 0.27927927927927926, 0.2802802802802803, 0.28128128128128127, 0.2822822822822823, 0.2832832832832833, 0.28428428428428426, 0.2852852852852853, 0.2862862862862863, 0.2872872872872873, 0.2882882882882883, 0.28928928928928926, 0.2902902902902903, 0.2912912912912913, 0.2922922922922923, 0.2932932932932933, 0.29429429429429427, 0.2952952952952953, 0.2962962962962963, 0.2972972972972973, 0.2982982982982983, 0.29929929929929927, 0.3003003003003003, 0.3013013013013013, 0.3023023023023023, 0.3033033033033033, 0.30430430430430433, 0.3053053053053053, 0.3063063063063063, 0.3073073073073073, 0.3083083083083083, 0.30930930930930933, 0.3103103103103103, 0.3113113113113113, 0.3123123123123123, 0.3133133133133133, 0.31431431431431434, 0.3153153153153153, 0.3163163163163163, 0.3173173173173173, 0.3183183183183183, 0.31931931931931934, 0.3203203203203203, 0.3213213213213213, 0.32232232232232233, 0.3233233233233233, 0.32432432432432434, 0.3253253253253253, 0.3263263263263263, 0.32732732732732733, 0.3283283283283283, 0.32932932932932935, 0.3303303303303303, 0.3313313313313313, 0.33233233233233234, 0.3333333333333333, 0.33433433433433435, 0.3353353353353353, 0.3363363363363363, 0.33733733733733734, 0.3383383383383383, 0.33933933933933935, 0.34034034034034033, 0.34134134134134136, 0.34234234234234234, 0.3433433433433433, 0.34434434434434436, 0.34534534534534533, 0.34634634634634637, 0.34734734734734735, 0.3483483483483483, 0.34934934934934936, 0.35035035035035034, 0.35135135135135137, 0.35235235235235235, 0.3533533533533533, 0.35435435435435436, 0.35535535535535534, 0.3563563563563564, 0.35735735735735735, 0.35835835835835833, 0.35935935935935936, 0.36036036036036034, 0.3613613613613614, 0.36236236236236236, 0.36336336336336333, 0.36436436436436437, 0.36536536536536535, 0.3663663663663664, 0.36736736736736736, 0.3683683683683684, 0.36936936936936937, 0.37037037037037035, 0.3713713713713714, 0.37237237237237236, 0.3733733733733734, 0.3743743743743744, 0.37537537537537535, 0.3763763763763764, 0.37737737737737737, 0.3783783783783784, 0.3793793793793794, 0.38038038038038036, 0.3813813813813814, 0.38238238238238237, 0.3833833833833834, 0.3843843843843844, 0.38538538538538536, 0.3863863863863864, 0.38738738738738737, 0.3883883883883884, 0.3893893893893894, 0.39039039039039036, 0.3913913913913914, 0.3923923923923924, 0.3933933933933934, 0.3943943943943944, 0.39539539539539537, 0.3963963963963964, 0.3973973973973974, 0.3983983983983984, 0.3993993993993994, 0.40040040040040037, 0.4014014014014014, 0.4024024024024024, 0.4034034034034034, 0.4044044044044044, 0.40540540540540543, 0.4064064064064064, 0.4074074074074074, 0.4084084084084084, 0.4094094094094094, 0.41041041041041043, 0.4114114114114114, 0.4124124124124124, 0.4134134134134134, 0.4144144144144144, 0.41541541541541543, 0.4164164164164164, 0.4174174174174174, 0.4184184184184184, 0.4194194194194194, 0.42042042042042044, 0.4214214214214214, 0.4224224224224224, 0.42342342342342343, 0.4244244244244244, 0.42542542542542544, 0.4264264264264264, 0.4274274274274274, 0.42842842842842843, 0.4294294294294294, 0.43043043043043044, 0.4314314314314314, 0.43243243243243246, 0.43343343343343343, 0.4344344344344344, 0.43543543543543545, 0.4364364364364364, 0.43743743743743746, 0.43843843843843844, 0.4394394394394394, 0.44044044044044045, 0.44144144144144143, 0.44244244244244246, 0.44344344344344344, 0.4444444444444444, 0.44544544544544545, 0.44644644644644643, 0.44744744744744747, 0.44844844844844844, 0.4494494494494494, 0.45045045045045046, 0.45145145145145144, 0.45245245245245247, 0.45345345345345345, 0.4544544544544544, 0.45545545545545546, 0.45645645645645644, 0.4574574574574575, 0.45845845845845845, 0.45945945945945943, 0.46046046046046046, 0.46146146146146144, 0.4624624624624625, 0.46346346346346345, 0.46446446446446443, 0.46546546546546547, 0.46646646646646645, 0.4674674674674675, 0.46846846846846846, 0.4694694694694695, 0.47047047047047047, 0.47147147147147145, 0.4724724724724725, 0.47347347347347346, 0.4744744744744745, 0.4754754754754755, 0.47647647647647645, 0.4774774774774775, 0.47847847847847846, 0.4794794794794795, 0.4804804804804805, 0.48148148148148145, 0.4824824824824825, 0.48348348348348347, 0.4844844844844845, 0.4854854854854855, 0.48648648648648646, 0.4874874874874875, 0.48848848848848847, 0.4894894894894895, 0.4904904904904905, 0.49149149149149146, 0.4924924924924925, 0.4934934934934935, 0.4944944944944945, 0.4954954954954955, 0.4964964964964965, 0.4974974974974975, 0.4984984984984985, 0.4994994994994995, 0.5005005005005005, 0.5015015015015015, 0.5025025025025025, 0.5035035035035035, 0.5045045045045045, 0.5055055055055055, 0.5065065065065065, 0.5075075075075075, 0.5085085085085085, 0.5095095095095095, 0.5105105105105106, 0.5115115115115115, 0.5125125125125125, 0.5135135135135135, 0.5145145145145145, 0.5155155155155156, 0.5165165165165165, 0.5175175175175175, 0.5185185185185185, 0.5195195195195195, 0.5205205205205206, 0.5215215215215215, 0.5225225225225225, 0.5235235235235235, 0.5245245245245245, 0.5255255255255256, 0.5265265265265265, 0.5275275275275275, 0.5285285285285285, 0.5295295295295295, 0.5305305305305306, 0.5315315315315315, 0.5325325325325325, 0.5335335335335335, 0.5345345345345345, 0.5355355355355356, 0.5365365365365365, 0.5375375375375375, 0.5385385385385385, 0.5395395395395395, 0.5405405405405406, 0.5415415415415415, 0.5425425425425425, 0.5435435435435435, 0.5445445445445445, 0.5455455455455456, 0.5465465465465466, 0.5475475475475475, 0.5485485485485485, 0.5495495495495496, 0.5505505505505506, 0.5515515515515516, 0.5525525525525525, 0.5535535535535535, 0.5545545545545546, 0.5555555555555556, 0.5565565565565566, 0.5575575575575575, 0.5585585585585585, 0.5595595595595596, 0.5605605605605606, 0.5615615615615616, 0.5625625625625625, 0.5635635635635635, 0.5645645645645646, 0.5655655655655656, 0.5665665665665666, 0.5675675675675675, 0.5685685685685685, 0.5695695695695696, 0.5705705705705706, 0.5715715715715716, 0.5725725725725725, 0.5735735735735735, 0.5745745745745746, 0.5755755755755756, 0.5765765765765766, 0.5775775775775776, 0.5785785785785785, 0.5795795795795796, 0.5805805805805806, 0.5815815815815816, 0.5825825825825826, 0.5835835835835835, 0.5845845845845846, 0.5855855855855856, 0.5865865865865866, 0.5875875875875876, 0.5885885885885885, 0.5895895895895896, 0.5905905905905906, 0.5915915915915916, 0.5925925925925926, 0.5935935935935935, 0.5945945945945946, 0.5955955955955956, 0.5965965965965966, 0.5975975975975976, 0.5985985985985985, 0.5995995995995996, 0.6006006006006006, 0.6016016016016016, 0.6026026026026026, 0.6036036036036035, 0.6046046046046046, 0.6056056056056056, 0.6066066066066066, 0.6076076076076076, 0.6086086086086087, 0.6096096096096096, 0.6106106106106106, 0.6116116116116116, 0.6126126126126126, 0.6136136136136137, 0.6146146146146146, 0.6156156156156156, 0.6166166166166166, 0.6176176176176176, 0.6186186186186187, 0.6196196196196196, 0.6206206206206206, 0.6216216216216216, 0.6226226226226226, 0.6236236236236237, 0.6246246246246246, 0.6256256256256256, 0.6266266266266266, 0.6276276276276276, 0.6286286286286287, 0.6296296296296297, 0.6306306306306306, 0.6316316316316316, 0.6326326326326326, 0.6336336336336337, 0.6346346346346347, 0.6356356356356356, 0.6366366366366366, 0.6376376376376376, 0.6386386386386387, 0.6396396396396397, 0.6406406406406406, 0.6416416416416416, 0.6426426426426426, 0.6436436436436437, 0.6446446446446447, 0.6456456456456456, 0.6466466466466466, 0.6476476476476476, 0.6486486486486487, 0.6496496496496497, 0.6506506506506506, 0.6516516516516516, 0.6526526526526526, 0.6536536536536537, 0.6546546546546547, 0.6556556556556556, 0.6566566566566566, 0.6576576576576576, 0.6586586586586587, 0.6596596596596597, 0.6606606606606606, 0.6616616616616616, 0.6626626626626626, 0.6636636636636637, 0.6646646646646647, 0.6656656656656657, 0.6666666666666666, 0.6676676676676676, 0.6686686686686687, 0.6696696696696697, 0.6706706706706707, 0.6716716716716716, 0.6726726726726726, 0.6736736736736737, 0.6746746746746747, 0.6756756756756757, 0.6766766766766766, 0.6776776776776777, 0.6786786786786787, 0.6796796796796797, 0.6806806806806807, 0.6816816816816816, 0.6826826826826827, 0.6836836836836837, 0.6846846846846847, 0.6856856856856857, 0.6866866866866866, 0.6876876876876877, 0.6886886886886887, 0.6896896896896897, 0.6906906906906907, 0.6916916916916916, 0.6926926926926927, 0.6936936936936937, 0.6946946946946947, 0.6956956956956957, 0.6966966966966966, 0.6976976976976977, 0.6986986986986987, 0.6996996996996997, 0.7007007007007007, 0.7017017017017017, 0.7027027027027027, 0.7037037037037037, 0.7047047047047047, 0.7057057057057057, 0.7067067067067067, 0.7077077077077077, 0.7087087087087087, 0.7097097097097097, 0.7107107107107107, 0.7117117117117117, 0.7127127127127127, 0.7137137137137137, 0.7147147147147147, 0.7157157157157157, 0.7167167167167167, 0.7177177177177178, 0.7187187187187187, 0.7197197197197197, 0.7207207207207207, 0.7217217217217217, 0.7227227227227228, 0.7237237237237237, 0.7247247247247247, 0.7257257257257257, 0.7267267267267267, 0.7277277277277278, 0.7287287287287287, 0.7297297297297297, 0.7307307307307307, 0.7317317317317317, 0.7327327327327328, 0.7337337337337337, 0.7347347347347347, 0.7357357357357357, 0.7367367367367368, 0.7377377377377378, 0.7387387387387387, 0.7397397397397397, 0.7407407407407407, 0.7417417417417418, 0.7427427427427428, 0.7437437437437437, 0.7447447447447447, 0.7457457457457457, 0.7467467467467468, 0.7477477477477478, 0.7487487487487487, 0.7497497497497497, 0.7507507507507507, 0.7517517517517518, 0.7527527527527528, 0.7537537537537538, 0.7547547547547547, 0.7557557557557557, 0.7567567567567568, 0.7577577577577578, 0.7587587587587588, 0.7597597597597597, 0.7607607607607607, 0.7617617617617618, 0.7627627627627628, 0.7637637637637638, 0.7647647647647647, 0.7657657657657657, 0.7667667667667668, 0.7677677677677678, 0.7687687687687688, 0.7697697697697697, 0.7707707707707707, 0.7717717717717718, 0.7727727727727728, 0.7737737737737738, 0.7747747747747747, 0.7757757757757757, 0.7767767767767768, 0.7777777777777778, 0.7787787787787788, 0.7797797797797797, 0.7807807807807807, 0.7817817817817818, 0.7827827827827828, 0.7837837837837838, 0.7847847847847848, 0.7857857857857857, 0.7867867867867868, 0.7877877877877878, 0.7887887887887888, 0.7897897897897898, 0.7907907907907907, 0.7917917917917918, 0.7927927927927928, 0.7937937937937938, 0.7947947947947948, 0.7957957957957957, 0.7967967967967968, 0.7977977977977978, 0.7987987987987988, 0.7997997997997998, 0.8008008008008007, 0.8018018018018018, 0.8028028028028028, 0.8038038038038038, 0.8048048048048048, 0.8058058058058059, 0.8068068068068068, 0.8078078078078078, 0.8088088088088088, 0.8098098098098098, 0.8108108108108109, 0.8118118118118118, 0.8128128128128128, 0.8138138138138138, 0.8148148148148148, 0.8158158158158159, 0.8168168168168168, 0.8178178178178178, 0.8188188188188188, 0.8198198198198198, 0.8208208208208209, 0.8218218218218218, 0.8228228228228228, 0.8238238238238238, 0.8248248248248248, 0.8258258258258259, 0.8268268268268268, 0.8278278278278278, 0.8288288288288288, 0.8298298298298298, 0.8308308308308309, 0.8318318318318318, 0.8328328328328328, 0.8338338338338338, 0.8348348348348348, 0.8358358358358359, 0.8368368368368369, 0.8378378378378378, 0.8388388388388388, 0.8398398398398398, 0.8408408408408409, 0.8418418418418419, 0.8428428428428428, 0.8438438438438438, 0.8448448448448448, 0.8458458458458459, 0.8468468468468469, 0.8478478478478478, 0.8488488488488488, 0.8498498498498498, 0.8508508508508509, 0.8518518518518519, 0.8528528528528528, 0.8538538538538538, 0.8548548548548548, 0.8558558558558559, 0.8568568568568569, 0.8578578578578578, 0.8588588588588588, 0.8598598598598598, 0.8608608608608609, 0.8618618618618619, 0.8628628628628628, 0.8638638638638638, 0.8648648648648649, 0.8658658658658659, 0.8668668668668669, 0.8678678678678678, 0.8688688688688688, 0.8698698698698699, 0.8708708708708709, 0.8718718718718719, 0.8728728728728729, 0.8738738738738738, 0.8748748748748749, 0.8758758758758759, 0.8768768768768769, 0.8778778778778779, 0.8788788788788788, 0.8798798798798799, 0.8808808808808809, 0.8818818818818819, 0.8828828828828829, 0.8838838838838838, 0.8848848848848849, 0.8858858858858859, 0.8868868868868869, 0.8878878878878879, 0.8888888888888888, 0.8898898898898899, 0.8908908908908909, 0.8918918918918919, 0.8928928928928929, 0.8938938938938938, 0.8948948948948949, 0.8958958958958959, 0.8968968968968969, 0.8978978978978979, 0.8988988988988988, 0.8998998998998999, 0.9009009009009009, 0.9019019019019019, 0.9029029029029029, 0.9039039039039038, 0.9049049049049049, 0.9059059059059059, 0.9069069069069069, 0.9079079079079079, 0.9089089089089089, 0.9099099099099099, 0.9109109109109109, 0.9119119119119119, 0.9129129129129129, 0.9139139139139139, 0.914914914914915, 0.9159159159159159, 0.9169169169169169, 0.9179179179179179, 0.9189189189189189, 0.91991991991992, 0.9209209209209209, 0.9219219219219219, 0.9229229229229229, 0.9239239239239239, 0.924924924924925, 0.9259259259259259, 0.9269269269269269, 0.9279279279279279, 0.9289289289289289, 0.92992992992993, 0.9309309309309309, 0.9319319319319319, 0.9329329329329329, 0.933933933933934, 0.934934934934935, 0.9359359359359359, 0.9369369369369369, 0.9379379379379379, 0.938938938938939, 0.93993993993994, 0.9409409409409409, 0.9419419419419419, 0.9429429429429429, 0.943943943943944, 0.944944944944945, 0.9459459459459459, 0.9469469469469469, 0.9479479479479479, 0.948948948948949, 0.94994994994995, 0.950950950950951, 0.9519519519519519, 0.9529529529529529, 0.953953953953954, 0.954954954954955, 0.955955955955956, 0.9569569569569569, 0.9579579579579579, 0.958958958958959, 0.95995995995996, 0.960960960960961, 0.9619619619619619, 0.9629629629629629, 0.963963963963964, 0.964964964964965, 0.965965965965966, 0.9669669669669669, 0.9679679679679679, 0.968968968968969, 0.96996996996997, 0.970970970970971, 0.9719719719719719, 0.9729729729729729, 0.973973973973974, 0.974974974974975, 0.975975975975976, 0.9769769769769769, 0.9779779779779779, 0.978978978978979, 0.97997997997998, 0.980980980980981, 0.9819819819819819, 0.9829829829829829, 0.983983983983984, 0.984984984984985, 0.985985985985986, 0.986986986986987, 0.9879879879879879, 0.988988988988989, 0.98998998998999, 0.990990990990991, 0.991991991991992, 0.992992992992993, 0.993993993993994, 0.994994994994995, 0.995995995995996, 0.996996996996997, 0.997997997997998, 0.998998998998999, 1.0], "c": [10.0, 10.09009009009009, 10.18018018018018, 10.27027027027027, 10.36036036036036, 10.45045045045045, 10.54054054054054, 10.63063063063063, 10.72072072072072, 10.81081081081081, 10.9009009009009, 10.99099099099099, 11.08108108108108, 11.17117117117117, 11.26126126126126, 11.35135135135135, 11.441441441441441, 11.531531531531531, 11.621621621621621, 11.711711711711711, 11.801801801801801, 11.891891891891891, 11.981981981981981, 12.072072072072071, 12.162162162162161, 12.252252252252251, 12.342342342342342, 12.432432432432432, 12.522522522522522, 12.612612612612612, 12.702702702702702, 12.792792792792792, 12.882882882882882, 12.972972972972972, 13.063063063063062, 13.153153153153152, 13.243243243243242, 13.333333333333332, 13.423423423423422, 13.513513513513512, 13.603603603603602, 13.693693693693694, 13.783783783783784, 13.873873873873874, 13.963963963963964, 14.054054054054053, 14.144144144144143, 14.234234234234233, 14.324324324324325, 14.414414414414415, 14.504504504504505, 14.594594594594595, 14.684684684684685, 14.774774774774775, 14.864864864864865, 14.954954954954955, 15.045045045045045, 15.135135135135135, 15.225225225225225, 15.315315315315315, 15.405405405405405, 15.495495495495495, 15.585585585585585, 15.675675675675675, 15.765765765765765, 15.855855855855856, 15.945945945945946, 16.036036036036037, 16.126126126126124, 16.216216216216218, 16.306306306306304, 16.396396396396398, 16.486486486486484, 16.576576576576578, 16.666666666666664, 16.756756756756758, 16.846846846846844, 16.936936936936938, 17.027027027027025, 17.117117117117118, 17.207207207207205, 17.2972972972973, 17.38738738738739, 17.47747747747748, 17.56756756756757, 17.65765765765766, 17.74774774774775, 17.83783783783784, 17.92792792792793, 18.01801801801802, 18.108108108108105, 18.1981981981982, 18.288288288288285, 18.37837837837838, 18.468468468468465, 18.55855855855856, 18.64864864864865, 18.73873873873874, 18.82882882882883, 18.91891891891892, 19.00900900900901, 19.0990990990991, 19.18918918918919, 19.27927927927928, 19.36936936936937, 19.45945945945946, 19.54954954954955, 19.63963963963964, 19.72972972972973, 19.81981981981982, 19.90990990990991, 20.0, 20.09009009009009, 20.18018018018018, 20.27027027027027, 20.36036036036036, 20.45045045045045, 20.54054054054054, 20.63063063063063, 20.72072072072072, 20.81081081081081, 20.9009009009009, 20.99099099099099, 21.08108108108108, 21.17117117117117, 21.26126126126126, 21.35135135135135, 21.44144144144144, 21.53153153153153, 21.62162162162162, 21.71171171171171, 21.8018018018018, 21.89189189189189, 21.98198198198198, 22.07207207207207, 22.16216216216216, 22.25225225225225, 22.34234234234234, 22.43243243243243, 22.52252252252252, 22.61261261261261, 22.7027027027027, 22.792792792792792, 22.882882882882882, 22.972972972972972, 23.063063063063062, 23.153153153153152, 23.243243243243242, 23.333333333333332, 23.423423423423422, 23.513513513513512, 23.603603603603602, 23.693693693693692, 23.783783783783782, 23.873873873873872, 23.963963963963963, 24.054054054054053, 24.144144144144143, 24.234234234234233, 24.324324324324323, 24.414414414414413, 24.504504504504503, 24.594594594594597, 24.684684684684683, 24.774774774774777, 24.864864864864863, 24.954954954954957, 25.045045045045043, 25.135135135135137, 25.225225225225223, 25.315315315315317, 25.405405405405403, 25.495495495495497, 25.585585585585584, 25.675675675675677, 25.765765765765764, 25.855855855855857, 25.945945945945944, 26.036036036036034, 26.126126126126124, 26.216216216216214, 26.306306306306304, 26.396396396396394, 26.486486486486484, 26.576576576576574, 26.666666666666664, 26.756756756756754, 26.846846846846844, 26.936936936936934, 27.027027027027025, 27.117117117117115, 27.207207207207205, 27.2972972972973, 27.38738738738739, 27.47747747747748, 27.56756756756757, 27.65765765765766, 27.74774774774775, 27.83783783783784, 27.92792792792793, 28.01801801801802, 28.10810810810811, 28.1981981981982, 28.28828828828829, 28.37837837837838, 28.46846846846847, 28.55855855855856, 28.64864864864865, 28.73873873873874, 28.82882882882883, 28.91891891891892, 29.00900900900901, 29.0990990990991, 29.18918918918919, 29.27927927927928, 29.36936936936937, 29.45945945945946, 29.54954954954955, 29.63963963963964, 29.72972972972973, 29.81981981981982, 29.90990990990991, 30.0, 30.09009009009009, 30.18018018018018, 30.27027027027027, 30.36036036036036, 30.45045045045045, 30.54054054054054, 30.63063063063063, 30.72072072072072, 30.81081081081081, 30.9009009009009, 30.99099099099099, 31.08108108108108, 31.17117117117117, 31.26126126126126, 31.35135135135135, 31.44144144144144, 31.53153153153153, 31.62162162162162, 31.71171171171171, 31.8018018018018, 31.89189189189189, 31.98198198198198, 32.072072072072075, 32.16216216216216, 32.25225225225225, 32.34234234234234, 32.432432432432435, 32.52252252252252, 32.61261261261261, 32.7027027027027, 32.792792792792795, 32.88288288288288, 32.97297297297297, 33.06306306306306, 33.153153153153156, 33.24324324324324, 33.33333333333333, 33.42342342342342, 33.513513513513516, 33.6036036036036, 33.69369369369369, 33.78378378378378, 33.873873873873876, 33.96396396396396, 34.05405405405405, 34.14414414414414, 34.234234234234236, 34.32432432432432, 34.41441441441441, 34.5045045045045, 34.5945945945946, 34.68468468468468, 34.77477477477477, 34.86486486486486, 34.95495495495496, 35.04504504504504, 35.13513513513513, 35.22522522522522, 35.31531531531532, 35.4054054054054, 35.49549549549549, 35.585585585585584, 35.67567567567568, 35.765765765765764, 35.85585585585585, 35.945945945945944, 36.03603603603604, 36.126126126126124, 36.21621621621621, 36.306306306306304, 36.3963963963964, 36.486486486486484, 36.57657657657657, 36.666666666666664, 36.75675675675676, 36.846846846846844, 36.93693693693693, 37.027027027027025, 37.11711711711712, 37.207207207207205, 37.29729729729729, 37.387387387387385, 37.47747747747748, 37.567567567567565, 37.65765765765765, 37.747747747747745, 37.83783783783784, 37.927927927927925, 38.01801801801801, 38.108108108108105, 38.1981981981982, 38.288288288288285, 38.37837837837837, 38.468468468468465, 38.55855855855856, 38.648648648648646, 38.73873873873873, 38.828828828828826, 38.91891891891892, 39.009009009009006, 39.0990990990991, 39.18918918918919, 39.27927927927928, 39.369369369369366, 39.45945945945946, 39.54954954954955, 39.63963963963964, 39.729729729729726, 39.81981981981982, 39.90990990990991, 40.0, 40.09009009009009, 40.18018018018018, 40.270270270270274, 40.36036036036036, 40.45045045045045, 40.54054054054054, 40.630630630630634, 40.72072072072072, 40.81081081081081, 40.9009009009009, 40.990990990990994, 41.08108108108108, 41.17117117117117, 41.26126126126126, 41.351351351351354, 41.44144144144144, 41.53153153153153, 41.62162162162162, 41.711711711711715, 41.8018018018018, 41.89189189189189, 41.98198198198198, 42.07207207207207, 42.16216216216216, 42.25225225225225, 42.34234234234234, 42.43243243243243, 42.52252252252252, 42.61261261261261, 42.7027027027027, 42.79279279279279, 42.88288288288288, 42.97297297297297, 43.06306306306306, 43.15315315315315, 43.24324324324324, 43.33333333333333, 43.42342342342342, 43.51351351351351, 43.6036036036036, 43.69369369369369, 43.78378378378378, 43.87387387387387, 43.96396396396396, 44.05405405405405, 44.14414414414414, 44.23423423423423, 44.32432432432432, 44.41441441441441, 44.5045045045045, 44.5945945945946, 44.68468468468468, 44.77477477477478, 44.86486486486486, 44.95495495495496, 45.04504504504504, 45.13513513513514, 45.22522522522522, 45.31531531531532, 45.4054054054054, 45.4954954954955, 45.585585585585584, 45.67567567567568, 45.765765765765764, 45.85585585585586, 45.945945945945944, 46.03603603603604, 46.126126126126124, 46.21621621621622, 46.306306306306304, 46.3963963963964, 46.486486486486484, 46.57657657657658, 46.666666666666664, 46.75675675675676, 46.846846846846844, 46.93693693693694, 47.027027027027025, 47.11711711711712, 47.207207207207205, 47.2972972972973, 47.387387387387385, 47.47747747747748, 47.567567567567565, 47.65765765765766, 47.747747747747745, 47.83783783783784, 47.927927927927925, 48.01801801801802, 48.108108108108105, 48.1981981981982, 48.288288288288285, 48.37837837837838, 48.468468468468465, 48.55855855855856, 48.648648648648646, 48.73873873873874, 48.828828828828826, 48.91891891891892, 49.009009009009006, 49.0990990990991, 49.189189189189186, 49.27927927927928, 49.369369369369366, 49.45945945945946, 49.549549549549546, 49.63963963963964, 49.729729729729726, 49.81981981981982, 49.909909909909906, 50.0, 50.09009009009009, 50.18018018018018, 50.27027027027027, 50.36036036036036, 50.45045045045045, 50.54054054054054, 50.63063063063063, 50.72072072072072, 50.81081081081081, 50.9009009009009, 50.99099099099099, 51.08108108108108, 51.17117117117117, 51.26126126126126, 51.35135135135135, 51.44144144144144, 51.53153153153153, 51.62162162162162, 51.71171171171171, 51.8018018018018, 51.89189189189189, 51.98198198198198, 52.07207207207207, 52.16216216216216, 52.25225225225225, 52.34234234234234, 52.43243243243243, 52.52252252252252, 52.61261261261261, 52.7027027027027, 52.79279279279279, 52.88288288288288, 52.97297297297297, 53.06306306306306, 53.15315315315315, 53.24324324324324, 53.33333333333333, 53.42342342342342, 53.51351351351351, 53.6036036036036, 53.69369369369369, 53.78378378378378, 53.87387387387387, 53.96396396396396, 54.05405405405405, 54.14414414414414, 54.23423423423423, 54.32432432432432, 54.41441441441441, 54.5045045045045, 54.59459459459459, 54.68468468468468, 54.77477477477477, 54.86486486486486, 54.95495495495495, 55.04504504504504, 55.13513513513513, 55.22522522522522, 55.31531531531531, 55.4054054054054, 55.49549549549549, 55.585585585585584, 55.67567567567567, 55.765765765765764, 55.85585585585585, 55.945945945945944, 56.03603603603603, 56.126126126126124, 56.21621621621622, 56.306306306306304, 56.3963963963964, 56.486486486486484, 56.57657657657658, 56.666666666666664, 56.75675675675676, 56.846846846846844, 56.93693693693694, 57.027027027027025, 57.11711711711712, 57.207207207207205, 57.2972972972973, 57.387387387387385, 57.47747747747748, 57.567567567567565, 57.65765765765766, 57.747747747747745, 57.83783783783784, 57.927927927927925, 58.01801801801802, 58.108108108108105, 58.1981981981982, 58.288288288288285, 58.37837837837838, 58.468468468468465, 58.55855855855856, 58.648648648648646, 58.73873873873874, 58.828828828828826, 58.91891891891892, 59.009009009009006, 59.0990990990991, 59.189189189189186, 59.27927927927928, 59.369369369369366, 59.45945945945946, 59.549549549549546, 59.63963963963964, 59.729729729729726, 59.81981981981982, 59.909909909909906, 60.0, 60.09009009009009, 60.18018018018018, 60.27027027027027, 60.36036036036036, 60.45045045045045, 60.54054054054054, 60.63063063063063, 60.72072072072072, 60.81081081081081, 60.9009009009009, 60.99099099099099, 61.08108108108108, 61.17117117117117, 61.26126126126126, 61.35135135135135, 61.44144144144144, 61.53153153153153, 61.62162162162162, 61.71171171171171, 61.8018018018018, 61.89189189189189, 61.98198198198198, 62.07207207207207, 62.16216216216216, 62.25225225225225, 62.34234234234234, 62.43243243243243, 62.52252252252252, 62.61261261261261, 62.7027027027027, 62.79279279279279, 62.88288288288288, 62.97297297297297, 63.06306306306306, 63.15315315315315, 63.24324324324324, 63.33333333333333, 63.42342342342342, 63.51351351351351, 63.6036036036036, 63.69369369369369, 63.78378378378378, 63.87387387387387, 63.96396396396396, 64.05405405405405, 64.14414414414415, 64.23423423423424, 64.32432432432432, 64.41441441441441, 64.5045045045045, 64.59459459459458, 64.68468468468468, 64.77477477477477, 64.86486486486487, 64.95495495495496, 65.04504504504504, 65.13513513513513, 65.22522522522522, 65.3153153153153, 65.4054054054054, 65.49549549549549, 65.58558558558559, 65.67567567567568, 65.76576576576576, 65.85585585585585, 65.94594594594594, 66.03603603603602, 66.12612612612612, 66.21621621621621, 66.30630630630631, 66.3963963963964, 66.48648648648648, 66.57657657657657, 66.66666666666666, 66.75675675675674, 66.84684684684684, 66.93693693693693, 67.02702702702703, 67.11711711711712, 67.2072072072072, 67.29729729729729, 67.38738738738738, 67.47747747747746, 67.56756756756756, 67.65765765765765, 67.74774774774775, 67.83783783783784, 67.92792792792793, 68.01801801801801, 68.1081081081081, 68.1981981981982, 68.28828828828829, 68.37837837837839, 68.46846846846847, 68.55855855855856, 68.64864864864865, 68.73873873873873, 68.82882882882882, 68.91891891891892, 69.009009009009, 69.0990990990991, 69.1891891891892, 69.27927927927928, 69.36936936936937, 69.45945945945945, 69.54954954954954, 69.63963963963964, 69.72972972972973, 69.81981981981983, 69.90990990990991, 70.0, 70.09009009009009, 70.18018018018017, 70.27027027027026, 70.36036036036036, 70.45045045045045, 70.54054054054055, 70.63063063063063, 70.72072072072072, 70.8108108108108, 70.9009009009009, 70.99099099099098, 71.08108108108108, 71.17117117117117, 71.26126126126127, 71.35135135135135, 71.44144144144144, 71.53153153153153, 71.62162162162161, 71.7117117117117, 71.8018018018018, 71.89189189189189, 71.98198198198199, 72.07207207207207, 72.16216216216216, 72.25225225225225, 72.34234234234233, 72.43243243243242, 72.52252252252252, 72.61261261261261, 72.70270270270271, 72.7927927927928, 72.88288288288288, 72.97297297297297, 73.06306306306305, 73.15315315315314, 73.24324324324324, 73.33333333333333, 73.42342342342343, 73.51351351351352, 73.6036036036036, 73.69369369369369, 73.78378378378378, 73.87387387387386, 73.96396396396396, 74.05405405405405, 74.14414414414414, 74.23423423423424, 74.32432432432432, 74.41441441441441, 74.5045045045045, 74.5945945945946, 74.68468468468468, 74.77477477477477, 74.86486486486486, 74.95495495495496, 75.04504504504504, 75.13513513513513, 75.22522522522522, 75.31531531531532, 75.4054054054054, 75.49549549549549, 75.58558558558558, 75.67567567567568, 75.76576576576576, 75.85585585585585, 75.94594594594594, 76.03603603603604, 76.12612612612612, 76.21621621621621, 76.3063063063063, 76.3963963963964, 76.48648648648648, 76.57657657657657, 76.66666666666666, 76.75675675675676, 76.84684684684684, 76.93693693693693, 77.02702702702702, 77.11711711711712, 77.2072072072072, 77.29729729729729, 77.38738738738738, 77.47747747747748, 77.56756756756756, 77.65765765765765, 77.74774774774774, 77.83783783783784, 77.92792792792793, 78.01801801801801, 78.1081081081081, 78.1981981981982, 78.28828828828829, 78.37837837837837, 78.46846846846846, 78.55855855855856, 78.64864864864865, 78.73873873873873, 78.82882882882882, 78.91891891891892, 79.009009009009, 79.09909909909909, 79.1891891891892, 79.27927927927928, 79.36936936936937, 79.45945945945945, 79.54954954954955, 79.63963963963964, 79.72972972972973, 79.81981981981981, 79.90990990990991, 80.0, 80.09009009009009, 80.18018018018017, 80.27027027027027, 80.36036036036036, 80.45045045045045, 80.54054054054053, 80.63063063063063, 80.72072072072072, 80.8108108108108, 80.9009009009009, 80.990990990991, 81.08108108108108, 81.17117117117117, 81.26126126126125, 81.35135135135135, 81.44144144144144, 81.53153153153153, 81.62162162162161, 81.71171171171171, 81.8018018018018, 81.89189189189189, 81.98198198198197, 82.07207207207207, 82.16216216216216, 82.25225225225225, 82.34234234234233, 82.43243243243244, 82.52252252252252, 82.61261261261261, 82.7027027027027, 82.7927927927928, 82.88288288288288, 82.97297297297297, 83.06306306306305, 83.15315315315316, 83.24324324324324, 83.33333333333333, 83.42342342342342, 83.51351351351352, 83.6036036036036, 83.69369369369369, 83.78378378378378, 83.87387387387388, 83.96396396396396, 84.05405405405405, 84.14414414414414, 84.23423423423424, 84.32432432432432, 84.41441441441441, 84.5045045045045, 84.5945945945946, 84.68468468468468, 84.77477477477477, 84.86486486486486, 84.95495495495496, 85.04504504504504, 85.13513513513513, 85.22522522522522, 85.31531531531532, 85.4054054054054, 85.49549549549549, 85.58558558558558, 85.67567567567568, 85.76576576576576, 85.85585585585585, 85.94594594594594, 86.03603603603604, 86.12612612612612, 86.21621621621621, 86.3063063063063, 86.3963963963964, 86.48648648648648, 86.57657657657657, 86.66666666666666, 86.75675675675676, 86.84684684684684, 86.93693693693693, 87.02702702702702, 87.11711711711712, 87.2072072072072, 87.29729729729729, 87.38738738738738, 87.47747747747748, 87.56756756756756, 87.65765765765765, 87.74774774774774, 87.83783783783784, 87.92792792792793, 88.01801801801801, 88.1081081081081, 88.1981981981982, 88.28828828828829, 88.37837837837837, 88.46846846846846, 88.55855855855856, 88.64864864864865, 88.73873873873873, 88.82882882882882, 88.91891891891892, 89.009009009009, 89.09909909909909, 89.18918918918918, 89.27927927927928, 89.36936936936937, 89.45945945945945, 89.54954954954954, 89.63963963963964, 89.72972972972973, 89.81981981981981, 89.9099099099099, 90.0, 90.09009009009009, 90.18018018018017, 90.27027027027026, 90.36036036036036, 90.45045045045045, 90.54054054054053, 90.63063063063062, 90.72072072072072, 90.8108108108108, 90.9009009009009, 90.990990990991, 91.08108108108108, 91.17117117117117, 91.26126126126125, 91.35135135135135, 91.44144144144144, 91.53153153153153, 91.62162162162161, 91.71171171171171, 91.8018018018018, 91.89189189189189, 91.98198198198197, 92.07207207207207, 92.16216216216216, 92.25225225225225, 92.34234234234233, 92.43243243243244, 92.52252252252252, 92.61261261261261, 92.7027027027027, 92.7927927927928, 92.88288288288288, 92.97297297297297, 93.06306306306305, 93.15315315315316, 93.24324324324324, 93.33333333333333, 93.42342342342342, 93.51351351351352, 93.6036036036036, 93.69369369369369, 93.78378378378378, 93.87387387387388, 93.96396396396396, 94.05405405405405, 94.14414414414414, 94.23423423423424, 94.32432432432432, 94.41441441441441, 94.5045045045045, 94.5945945945946, 94.68468468468468, 94.77477477477477, 94.86486486486486, 94.95495495495496, 95.04504504504504, 95.13513513513513, 95.22522522522522, 95.31531531531532, 95.4054054054054, 95.49549549549549, 95.58558558558558, 95.67567567567568, 95.76576576576576, 95.85585585585585, 95.94594594594594, 96.03603603603604, 96.12612612612612, 96.21621621621621, 96.3063063063063, 96.3963963963964, 96.48648648648648, 96.57657657657657, 96.66666666666666, 96.75675675675676, 96.84684684684684, 96.93693693693693, 97.02702702702702, 97.11711711711712, 97.2072072072072, 97.29729729729729, 97.38738738738738, 97.47747747747748, 97.56756756756756, 97.65765765765765, 97.74774774774774, 97.83783783783784, 97.92792792792793, 98.01801801801801, 98.1081081081081, 98.1981981981982, 98.28828828828829, 98.37837837837837, 98.46846846846846, 98.55855855855856, 98.64864864864865, 98.73873873873873, 98.82882882882882, 98.91891891891892, 99.009009009009, 99.09909909909909, 99.18918918918918, 99.27927927927928, 99.36936936936937, 99.45945945945945, 99.54954954954954, 99.63963963963964, 99.72972972972973, 99.81981981981981, 99.9099099099099, 100.0], "expected": [4.170323914242463, 4.151696475618134, 4.132665882322284, 4.113254641349877, 4.093484750040757, 4.073377683943675, 4.05295438672238, 4.03223526199811, 4.011240167022186, 3.989988408072416, 3.9684987374676433, 3.9467893520959945, 3.924877893354039, 3.9027814483962353, 3.8805165525964678, 3.8580991931263493, 3.835544813557981, 3.812868319402191, 3.7900840844967223, 3.767205958162438, 3.744247273049295, 3.721220853597616, 3.698139025043956, 3.6750136229046393, 3.65185600287384, 3.6286770510767803, 3.6054871946222997, 3.582296412402634, 3.559114246091743, 3.5359498112969248, 3.5128118088217533, 3.4897085360015203, 3.466647898075447, 3.443637419562804, 3.420684255612912, 3.3977952033016154, 3.3749767128493624, 3.3522348987383914, 3.3295755507088276, 3.3070041446155485, 3.284525853129751, 3.26214555627098, 3.2398678517571486, 3.217697065161723, 3.1956372598687666, 3.1736922468179447, 3.1518655940329285, 3.1301606359278225, 3.1085804823873726, 3.087128027617754, 3.065805958765645, 3.0446167643041844, 3.0235627421851983, 3.0026460077577655, 2.9818685014538704, 2.9612319962424496, 2.940738104853681, 2.9203882867758124, 2.9001838550272594, 2.8801259827070567, 2.8602157093270804, 2.8404539469297183, 2.820841485994957, 2.8013790011409827, 2.7820670566226546, 2.7629061116322933, 2.743896525407358, 2.7250385621496993, 2.7063323957611227, 2.6877781144000434, 2.669375724864064, 2.651125156803292, 2.6330262667692446, 2.6150788421041207, 2.5972826046752537, 2.5796372144594657, 2.562142272982016, 2.5447973266147814, 2.527601869738225, 2.510555347771652, 2.493657160076159, 2.476906662734612, 2.4603031712128858, 2.443845962906519, 2.427534279576844, 2.4113673296805382, 2.395344290596476, 2.379464310753624, 2.363726511663652, 2.348129989861824, 2.332673818759622, 2.3173570504124648, 2.3021787172057846, 2.287137833462632, 2.2722333969758544, 2.2574643904678315, 2.2428297829806376, 2.2283285311994003, 2.2139595807115575, 2.1997218672045906, 2.185614317604758, 2.171635851159236, 2.1577853804640177, 2.144061812439807, 2.130464049258089, 2.1169909892194774, 2.103641527586342, 2.090414557371669, 2.0773089700860274, 2.064323656444431, 2.0514575070348418, 2.0387094129499723, 2.0260782663839936, 2.0135629611956896, 2.00116239343954, 1.9888754618661442, 1.9767010683933757, 1.9646381185495478, 1.9526855218898844, 1.9408421923874777, 1.9291070487999102, 1.9174790150126497, 1.9059570203602867, 1.8945399999266324, 1.883226894824674, 1.8720166524573134, 1.8609082267598065, 1.8499005784247522, 1.8389926751104801, 1.8281834916336115, 1.8174720101465687, 1.806857220300751, 1.7963381193960828, 1.7859137125175981, 1.7755830126596968, 1.7653450408386904, 1.7551988261942195, 1.7451434060801037, 1.7351778261451565, 1.725301140404481, 1.7155124113017337, 1.705810709762828, 1.6961951152415182, 1.6866647157572978, 1.6772186079260203, 1.6678558969836266, 1.6585756968033631, 1.6493771299068338, 1.640259327469239, 1.6312214293191147, 1.6222625839328928, 1.6133819484245688, 1.6045786885307647, 1.5958519785914578, 1.5872010015266254, 1.5786249488090645, 1.5701230204335985, 1.56169442488292, 1.5533383790902577, 1.5450541083990887, 1.5368408465200778, 1.5286978354854326, 1.5206243256008496, 1.512619575395213, 1.5046828515682136, 1.4968134289360286, 1.4890105903752178, 1.4812736267649604, 1.4736018369277732, 1.4659945275688253, 1.4584510132139743, 1.4509706161466316, 1.4435526663435594, 1.4361965014097111, 1.4289014665121975, 1.4216669143134795, 1.4144922049038688, 1.407376705733418, 1.400319791543282, 1.3933208442966163, 1.386379253109088, 1.3794944141790664, 1.372665730717546, 1.365892612877873, 1.35917447768532, 1.352510748966571, 1.3459008572791564, 1.3393442398408957, 1.3328403404593812, 1.3263886094615533, 1.3199885036234, 1.3136394860998217, 1.307341026354694, 1.301092600091161, 1.2948936891821883, 1.2887437816014118, 1.2826423713542958, 1.2765889584096375, 1.2705830486314345, 1.2646241537111436, 1.2587117911003396, 1.2528454839438075, 1.2470247610130736, 1.2412491566403998, 1.2355182106532516, 1.2298314683092548, 1.2241884802316545, 1.2185888023452875, 1.2130319958130789, 1.2075176269730727, 1.2020452672760031, 1.1966144932234213, 1.191224886306374, 1.1858760329446523, 1.1805675244266054, 1.1752989568495331, 1.1700699310606553, 1.1648800525986653, 1.15972893163587, 1.154616182920917, 1.1495414257221137, 1.1445042837713397, 1.139504385208549, 1.1345413625268692, 1.1296148525182952, 1.1247244962199736, 1.1198699388610842, 1.115050829810311, 1.1102668225239056, 1.1055175744943417, 1.1008027471995543, 1.096122006052767, 1.0914750203529022, 1.0868614632355704, 1.0822810116246393, 1.077733346184377, 1.0732181512721664, 1.0687351148917874, 1.0642839286472652, 1.0598642876972757, 1.0554758907101132, 1.0511184398192057, 1.046791640579182, 1.04249520192248, 1.0382288361165002, 1.033992258721288, 1.0297851885477527, 1.0256073476164083, 1.0214584611166386, 1.0173382573664784, 1.0132464677729052, 1.0091828267926393, 1.0051470718934459, 1.0011389435159321, 0.9971581850358401, 0.9932045427268217, 0.9892777657237004, 0.985377605986206, 0.981503818263182, 0.9776561600572627, 0.973834391590005, 0.9700382757674844, 0.9662675781463355, 0.9625220669002424, 0.9588015127868702, 0.9551056891152285, 0.9514343717134713, 0.9477873388971165, 0.944164371437692, 0.9405652525317932, 0.9369897677705518, 0.9334377051095123, 0.9299088548389065, 0.9264030095543246, 0.9229199641277792, 0.919459515679151, 0.9160214635480196, 0.9126056092658684, 0.9092117565286613, 0.9058397111697871, 0.9024892811333644, 0.899160276447906, 0.8958525092003342, 0.8925657935103453, 0.8892999455051172, 0.886054783294358, 0.8828301269456866, 0.8796257984603452, 0.8764416217492385, 0.8732774226092926, 0.8701330287001333, 0.8670082695210757, 0.8639029763884238, 0.8608169824130758, 0.8577501224784274, 0.8547022332185743, 0.8516731529968062, 0.84866272188439, 0.845670781639637, 0.8426971756872509, 0.8397417490979544, 0.8368043485683871, 0.8338848224012739, 0.8309830204858597, 0.8280987942786041, 0.8252319967841378, 0.8223824825364714, 0.8195501075804561, 0.8167347294534945, 0.8139362071674922, 0.8111544011910549, 0.8083891734319191, 0.8056403872196197, 0.8029079072883901, 0.8001915997602863, 0.79749133212854, 0.7948069732411305, 0.7921383932845765, 0.7894854637679446, 0.7868480575070673, 0.7842260486089733, 0.7816193124565238, 0.7790277256932514, 0.7764511662084018, 0.7738895131221715, 0.7713426467711428, 0.7688104486939102, 0.7662928016168965, 0.7637895894403571, 0.7613006972245682, 0.758826011176197, 0.7563654186348511, 0.7539188080598059, 0.7514860690169052, 0.7490670921656342, 0.7466617692463622, 0.7442699930677525, 0.7418916574943368, 0.7395266574342528, 0.7371748888271404, 0.7348362486321988, 0.7325106348163957, 0.7301979463428333, 0.727898083159264, 0.7256109461867554, 0.7233364373085035, 0.7210744593587898, 0.7188249161120825, 0.7165877122722781, 0.714362753462083, 0.7121499462125306, 0.7099491979526358, 0.7077604169991808, 0.7055835125466344, 0.7034183946571987, 0.7012649742509857, 0.699123163096319, 0.6969928738001591, 0.6948740197986528, 0.6927665153478025, 0.6906702755142545, 0.6885852161662048, 0.6865112539644224, 0.6844483063533837, 0.6823962915525225, 0.6803551285475902, 0.678324737082124, 0.6763050376490257, 0.6742959514822446, 0.6722974005485686, 0.6703093075395133, 0.6683315958633211, 0.6663641896370539, 0.6644070136787891, 0.6624599934999122, 0.6605230552975068, 0.6585961259468391, 0.6566791329939371, 0.6547720046482615, 0.6528746697754696, 0.650987057890268, 0.649109099149354, 0.6472407243444469, 0.6453818648954024, 0.6435324528434159, 0.6416924208443068, 0.6398617021618881, 0.6380402306614171, 0.6362279408031257, 0.6344247676358326, 0.6326306467906319, 0.6308455144746604, 0.6290693074649422, 0.6273019631023047, 0.6255434192853754, 0.6237936144646458, 0.6220524876366118, 0.6203199783379835, 0.6185960266399659, 0.61688057314261, 0.6151735589692306, 0.6134749257608936, 0.6117846156709688, 0.6101025713597482, 0.6084287359891316, 0.6067630532173727, 0.6051054671938917, 0.6034559225541477, 0.6018143644145747, 0.6001807383675768, 0.5985549904765834, 0.5969370672711651, 0.5953269157422055, 0.5937244833371321, 0.5921297179552043, 0.5905425679428556, 0.5889629820890928, 0.587390909620949, 0.5858263001989903, 0.5842691039128765, 0.5827192712769721, 0.5811767532260123, 0.5796415011108164, 0.5781134666940542, 0.5765926021460616, 0.5750788600407037, 0.5735721933512885, 0.5720725554465265, 0.5705799000865388, 0.5690941814189111, 0.5676153539747938, 0.5661433726650466, 0.5646781927764297, 0.5632197699678372, 0.5617680602665751, 0.5603230200646819, 0.5588846061152928, 0.5574527755290432, 0.556027485770517, 0.5546086946547324, 0.5531963603436709, 0.5517904413428439, 0.5503908964978995, 0.5489976849912683, 0.547610766338847, 0.5462301003867198, 0.5448556473079176, 0.5434873675992133, 0.5421252220779541, 0.5407691718789291, 0.539419178451273, 0.538075203555404, 0.536737209259997, 0.5354051579389906, 0.534079012268627, 0.532758735224527, 0.5314442900787957, 0.5301356403971621, 0.5288327500361499, 0.5275355831402806, 0.5262441041393067, 0.5249582777454768, 0.5236780689508308, 0.5224034430245249, 0.5211343655101864, 0.5198708022232973, 0.5186127192486085, 0.51736008293758, 0.5161128599058517, 0.5148710170307403, 0.5136345214487654, 0.5124033405532009, 0.5111774419916543, 0.5099567936636732, 0.5087413637183759, 0.50753112055211, 0.5063260328061358, 0.5051260693643335, 0.5039311993509379, 0.5027413921282957, 0.501556617294648, 0.5003768446819363, 0.4992020443536329, 0.498032186602594, 0.49686724194893606, 0.4957071811379359, 0.49455197513795185, 0.4934015951383686, 0.4922560125475634, 0.4911151989908938, 0.4899791263087078, 0.4888477665543741, 0.487721091992334, 0.48659907509617456, 0.4854816885467208, 0.4843689052301493, 0.4832606982361215, 0.4821570408559367, 0.48105790658070435, 0.47996326909953607, 0.4788731022977564, 0.4777873802551326, 0.4767060772441229, 0.47562916772814284, 0.4745566263598505, 0.4734884279794491, 0.4724245476130076, 0.47136496047079857, 0.4703096419456535, 0.46925856761133533, 0.46821171322092797, 0.46716905470524234, 0.4661305681712383, 0.4650962299004646, 0.4640660163475133, 0.46303990413849044, 0.46201787006950384, 0.4609998911051642, 0.45998594437710344, 0.4589760071825075, 0.4579700569826639, 0.4569680714015255, 0.45597002822428684, 0.45497590539597643, 0.4539856810200633, 0.4529993333570775, 0.45201684082324467, 0.45103818198913387, 0.45006333557832034, 0.4490922804660604, 0.44812499567798125, 0.4471614603887825, 0.44620165392095174, 0.44524555574349256, 0.444293145470666, 0.4433444028607436, 0.44239930781477377, 0.4414578403753605, 0.4405199807254536, 0.43958570918715145, 0.43865500622051606, 0.43772785242239914, 0.43680422852528056, 0.43588411539611766, 0.43496749403520624, 0.4340543455750534, 0.43314465127926083, 0.43223839254141877, 0.4313355508840117, 0.4304361079573354, 0.429540045538422, 0.42864734552997885, 0.4277579899593354, 0.42687196097740165, 0.4259892408576364, 0.4251098119950255, 0.42423365690507, 0.4233607582227844, 0.42249109870170437, 0.42162466121290454, 0.42076142874402567, 0.41990138439831004, 0.4190445113936489, 0.41819079306163576, 0.4173402128466315, 0.41649275430483756, 0.4156484011033772, 0.4148071370193871, 0.41396894593911626, 0.41313381185703474, 0.4123017188749503, 0.41147265120113297, 0.41064659314944946, 0.4098235291385042, 0.4090034436907892, 0.40818632143184314, 0.4073721470894159, 0.40656090549264334, 0.40575258157122873, 0.40494716035463235, 0.40414462697126835, 0.40334496664770975, 0.40254816470790017, 0.40175420657237354, 0.4009630777574813, 0.40017476387462614, 0.3993892506295034, 0.39860652382134937, 0.39782656934219707, 0.397049373176138, 0.39627492139859205, 0.3955032001755832, 0.39473419576302204, 0.3939678945059954, 0.3932042828380626, 0.3924433472805574, 0.3916850744418973, 0.39092945101689897, 0.39017646378609944, 0.3894260996150842, 0.3886783454538217, 0.3879331883360026, 0.38719061537838684, 0.3864506137801552, 0.3857131708222679, 0.38497827386682837, 0.3842459103564531, 0.3835160678136469, 0.3827887338401844, 0.38206389611649705, 0.38134154240106505, 0.38062166052981544, 0.3799042384155254, 0.37918926404723113, 0.37847672548964184, 0.3777666108825591, 0.3770589084403014, 0.3763536064511337, 0.3756506932767027, 0.3749501573514766, 0.37425198718219016, 0.37355617134729396, 0.3728626984964104, 0.37217155734979235, 0.3714827366977882, 0.3707962254003111, 0.37011201238631264, 0.3694300866532619, 0.3687504372666284, 0.36807305335937024, 0.36739792413142625, 0.36672503884921276, 0.3660543868451257, 0.36538595751704483, 0.3647197403278453, 0.364055724804911, 0.3633939005396534, 0.36273425718703484, 0.3620767844650948, 0.3614214721544813, 0.36076831009798654, 0.3601172882000857, 0.3594683964264802, 0.3588216248036454, 0.3581769634183813, 0.3575344024173679, 0.3568939320067243, 0.35625554245157093, 0.3556192240755965, 0.3549849672606283, 0.35435276244620606, 0.35372260012915935, 0.3530944708631893, 0.3524683652584532, 0.35184427398115325, 0.351222187753128, 0.3506020973514481, 0.34998399360801535, 0.3493678674091647, 0.3487537096952704, 0.34814151146035466, 0.34753126375170024, 0.34692295766946596, 0.3463165843663061, 0.34571213504699216, 0.34510960096803833, 0.3445089734373302, 0.34391024381375607, 0.34331340350684214, 0.34271844397639023, 0.34212535673211847, 0.34153413333330557, 0.34094476538843727, 0.3403572445548568, 0.33977156253841717, 0.33918771109313695, 0.3386056820208591, 0.3380254671709121, 0.3374470584397743, 0.33687044777074077, 0.3362956271535935, 0.3357225886242735, 0.33515132426455624, 0.3345818262017296, 0.3340140866082742, 0.33344809770154715, 0.3328838517434672, 0.3323213410402039, 0.331760557941868, 0.33120149484220524, 0.33064414417829247, 0.33008849843023585, 0.3295345501208722, 0.3289822918154724, 0.328431716121447, 0.32788281568805466, 0.327335583206113, 0.326790011407711, 0.32624609306592534, 0.3257038209945367, 0.32516318804775085, 0.3246241871199202, 0.3240868111452686, 0.3235510530976178, 0.32301690599011623, 0.3224843628749705, 0.321953416843178, 0.3214240610242628, 0.32089628858601293, 0.3203700927342201, 0.31984546671242103, 0.3193224038016416, 0.31880089732014233, 0.3182809406231669, 0.317762527102691, 0.31724565018717465, 0.3167303033413162, 0.31621648006580777, 0.3157041738970932, 0.3151933784071275, 0.31468408720313834, 0.31417629392738955, 0.3136699922569465, 0.31316517590344295, 0.3126618386128504, 0.31215997416524865, 0.3116595763745981, 0.3111606390885149, 0.3106631561880461, 0.3101671215874485, 0.30967252923396754, 0.3091793731076194, 0.30868764722097297, 0.3081973456189359, 0.30770846237854005, 0.30722099160872995, 0.30673492745015263, 0.3062502640749488, 0.305766995686546, 0.305285116519453, 0.30480462083905624, 0.3043255029414173, 0.3038477571530725, 0.30337137783083357, 0.3028963593615899, 0.3024226961621129, 0.3019503826788612, 0.30147941338778755, 0.3010097827941469, 0.30054148543230697, 0.3000745158655588, 0.2996088686859303, 0.2991445385139997, 0.2986815199987116, 0.2982198078171938, 0.29775939667457574, 0.2973002813038082, 0.2968424564654849, 0.2963859169476641, 0.2959306575656932, 0.29547667316203385, 0.29502395860608793, 0.294572508794026, 0.294122318648616, 0.29367338311905367, 0.29322569718079433, 0.29277925583538567, 0.29233405411030233, 0.2918900870587805, 0.2914473497596556, 0.2910058373171992, 0.29056554486095887, 0.290126467545598, 0.2896886005507373, 0.28925193908079794, 0.2888164783648446, 0.2883822136564309, 0.2879491402334459, 0.2875172533979605, 0.2870865484760767, 0.2866570208177764, 0.28622866579677253, 0.28580147881036067, 0.28537545527927183, 0.28495059064752654, 0.2845268803822894, 0.2841043199737254, 0.2836829049348574, 0.28326263080142383, 0.2828434931317377, 0.2824254875065474, 0.2820086095288974, 0.28159285482399127, 0.2811782190390539, 0.2807646978431964, 0.2803522869272817, 0.27994098200378964, 0.27953077880668536, 0.27912167309128666, 0.27871366063413344, 0.2783067372328578, 0.2779008987060547, 0.27749614089315455, 0.27709245965429513, 0.27668985087019626, 0.2762883104420337, 0.2758878342913155, 0.27548841835975796, 0.2750900586091628, 0.2746927510212959, 0.2742964915977663, 0.27390127635990585, 0.27350710134865025, 0.2731139626244208, 0.27272185626700673, 0.2723307783754487, 0.27194072506792294, 0.2715516924816261, 0.27116367677266145, 0.27077667411592504, 0.2703906807049934, 0.27000569275201197, 0.2696217064875834, 0.2692387181606582, 0.2688567240384247, 0.26847572040620077, 0.26809570356732587, 0.26771666984305353, 0.2673386155724457, 0.26696153711226617, 0.2665854308368765, 0.26621029313813177, 0.2658361204252764, 0.2654629091248424, 0.26509065568054674, 0.26471935655319034, 0.26434900822055735, 0.2639796071773155, 0.2636111499349165, 0.26324363302149817, 0.26287705298178576, 0.2625114063769957, 0.2621466897847385, 0.26178289979892333, 0.2614200330296626, 0.26105808610317766, 0.2606970556617048, 0.2603369383634025, 0.25997773088225823, 0.25961942990799686, 0.2592620321459896, 0.25890553431716284, 0.2585499331579087, 0.25819522541999507, 0.25784140787047716, 0.25748847729160906, 0.25713643048075635, 0.2567852642503088, 0.2564349754275944, 0.25608556085479306, 0.25573701738885163, 0.2553893419013992, 0.25504253127866305, 0.25469658242138493, 0.2543514922447382, 0.25400725767824556, 0.25366387566569704, 0.25332134316506894, 0.25297965714844245, 0.2526388146019244, 0.2522988125255668, 0.25195964793328807, 0.2516213178527945, 0.25128381932550187, 0.2509471494064581, 0.25061130516426644, 0.25027628368100835, 0.2499420820521681, 0.24960869738655697, 0.24927612680623817, 0.2489443674464526, 0.2486134164555448, 0.248283270994889, 0.24795392823881682, 0.24762538537454412, 0.24729763960209927, 0.24697068813425146, 0.2466445281964394, 0.24631915702670107, 0.24599457187560317, 0.2456707700061717, 0.2453477486938225, 0.24502550522629238, 0.24470403690357098, 0.2443833410378328, 0.2440634149533697, 0.24374425598652388, 0.24342586148562126, 0.24310822881090544, 0.24279135533447183, 0.2424752384402026, 0.24215987552370166, 0.24184526399223025, 0.24153140126464273, 0.24121828477132334, 0.2409059119541228, 0.24059428026629553, 0.24028338717243722, 0.23997323014842306, 0.23966380668134593, 0.23935511426945544, 0.23904715042209687, 0.2387399126596511, 0.23843339851347434, 0.2381276055258388, 0.23782253124987307, 0.2375181732495036, 0.23721452909939617, 0.23691159638489762, 0.23660937270197818, 0.23630785565717433, 0.23600704286753152, 0.23570693196054762, 0.23540752057411668, 0.23510880635647322, 0.23481078696613622, 0.23451346007185414, 0.2342168233525503, 0.2339208744972681, 0.23362561120511677, 0.23333103118521797, 0.2330371321566518, 0.23274391184840404, 0.2324513679993132, 0.23215949835801808, 0.23186830068290545, 0.23157777274205874, 0.23128791231320583, 0.23099871718366852, 0.2307101851503113, 0.23042231401949112, 0.23013510160700681, 0.22984854573804958, 0.2295626442471531, 0.22927739497814448, 0.2289927957840952, 0.22870884452727247, 0.22842553907909072, 0.22814287732006389, 0.22786085713975732, 0.22757947643674056, 0.22729873311853982, 0.22701862510159163, 0.22673915031119593, 0.22646030668146963, 0.22618209215530094, 0.2259045046843035, 0.22562754222877096, 0.2253512027576315, 0.22507548424840365, 0.2248003846871509, 0.22452590206843795, 0.22425203439528632, 0.22397877967913057, 0.223706135939775, 0.22343410120535018, 0.22316267351226998, 0.22289185090518895, 0.22262163143695968, 0.22235201316859077, 0.2220829941692047, 0.22181457251599643, 0.2215467462941914, 0.2212795135970049, 0.22101287252560084, 0.2207468211890512, 0.22048135770429522, 0.22021648019609985, 0.2199521867970191, 0.21968847564735475, 0.21942534489511678, 0.21916279269598393, 0.2189008172132651, 0.21863941661786007, 0.2183785890882214, 0.2181183328103158, 0.2178586459775864, 0.21759952679091446, 0.21734097345858214, 0.21708298419623498, 0.21682555722684457, 0.21656869078067173, 0.2163123830952299, 0.21605663241524842, 0.21580143699263626, 0.21554679508644606, 0.21529270496283828, 0.2150391648950453, 0.21478617316333629, 0.21453372805498186]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/medium_c.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/medium_c.json new file mode 100644 index 000000000000..345c0c6a48b0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/medium_c.json @@ -0,0 +1 @@ +{"x": [0.0, 0.001001001001001001, 0.002002002002002002, 0.003003003003003003, 0.004004004004004004, 0.005005005005005005, 0.006006006006006006, 0.007007007007007007, 0.008008008008008008, 0.009009009009009009, 0.01001001001001001, 0.011011011011011011, 0.012012012012012012, 0.013013013013013013, 0.014014014014014014, 0.015015015015015015, 0.016016016016016016, 0.017017017017017015, 0.018018018018018018, 0.01901901901901902, 0.02002002002002002, 0.02102102102102102, 0.022022022022022022, 0.023023023023023025, 0.024024024024024024, 0.025025025025025023, 0.026026026026026026, 0.02702702702702703, 0.028028028028028028, 0.029029029029029027, 0.03003003003003003, 0.031031031031031032, 0.03203203203203203, 0.03303303303303303, 0.03403403403403403, 0.035035035035035036, 0.036036036036036036, 0.037037037037037035, 0.03803803803803804, 0.03903903903903904, 0.04004004004004004, 0.04104104104104104, 0.04204204204204204, 0.043043043043043044, 0.044044044044044044, 0.04504504504504504, 0.04604604604604605, 0.04704704704704705, 0.04804804804804805, 0.04904904904904905, 0.050050050050050046, 0.05105105105105105, 0.05205205205205205, 0.05305305305305305, 0.05405405405405406, 0.055055055055055056, 0.056056056056056056, 0.057057057057057055, 0.058058058058058054, 0.05905905905905906, 0.06006006006006006, 0.06106106106106106, 0.062062062062062065, 0.06306306306306306, 0.06406406406406406, 0.06506506506506507, 0.06606606606606606, 0.06706706706706707, 0.06806806806806806, 0.06906906906906907, 0.07007007007007007, 0.07107107107107107, 0.07207207207207207, 0.07307307307307308, 0.07407407407407407, 0.07507507507507508, 0.07607607607607608, 0.07707707707707707, 0.07807807807807808, 0.07907907907907907, 0.08008008008008008, 0.08108108108108109, 0.08208208208208208, 0.08308308308308308, 0.08408408408408408, 0.08508508508508508, 0.08608608608608609, 0.08708708708708708, 0.08808808808808809, 0.0890890890890891, 0.09009009009009009, 0.09109109109109109, 0.0920920920920921, 0.09309309309309309, 0.0940940940940941, 0.09509509509509509, 0.0960960960960961, 0.0970970970970971, 0.0980980980980981, 0.0990990990990991, 0.10010010010010009, 0.1011011011011011, 0.1021021021021021, 0.1031031031031031, 0.1041041041041041, 0.10510510510510511, 0.1061061061061061, 0.10710710710710711, 0.10810810810810811, 0.1091091091091091, 0.11011011011011011, 0.1111111111111111, 0.11211211211211211, 0.11311311311311312, 0.11411411411411411, 0.11511511511511512, 0.11611611611611611, 0.11711711711711711, 0.11811811811811812, 0.11911911911911911, 0.12012012012012012, 0.12112112112112113, 0.12212212212212212, 0.12312312312312312, 0.12412412412412413, 0.12512512512512514, 0.12612612612612611, 0.12712712712712712, 0.12812812812812813, 0.12912912912912913, 0.13013013013013014, 0.13113113113113112, 0.13213213213213212, 0.13313313313313313, 0.13413413413413414, 0.13513513513513514, 0.13613613613613612, 0.13713713713713713, 0.13813813813813813, 0.13913913913913914, 0.14014014014014015, 0.14114114114114115, 0.14214214214214213, 0.14314314314314314, 0.14414414414414414, 0.14514514514514515, 0.14614614614614616, 0.14714714714714713, 0.14814814814814814, 0.14914914914914915, 0.15015015015015015, 0.15115115115115116, 0.15215215215215216, 0.15315315315315314, 0.15415415415415415, 0.15515515515515516, 0.15615615615615616, 0.15715715715715717, 0.15815815815815815, 0.15915915915915915, 0.16016016016016016, 0.16116116116116116, 0.16216216216216217, 0.16316316316316315, 0.16416416416416416, 0.16516516516516516, 0.16616616616616617, 0.16716716716716717, 0.16816816816816815, 0.16916916916916916, 0.17017017017017017, 0.17117117117117117, 0.17217217217217218, 0.17317317317317318, 0.17417417417417416, 0.17517517517517517, 0.17617617617617617, 0.17717717717717718, 0.1781781781781782, 0.17917917917917917, 0.18018018018018017, 0.18118118118118118, 0.18218218218218218, 0.1831831831831832, 0.1841841841841842, 0.18518518518518517, 0.18618618618618618, 0.1871871871871872, 0.1881881881881882, 0.1891891891891892, 0.19019019019019018, 0.19119119119119118, 0.1921921921921922, 0.1931931931931932, 0.1941941941941942, 0.19519519519519518, 0.1961961961961962, 0.1971971971971972, 0.1981981981981982, 0.1991991991991992, 0.20020020020020018, 0.2012012012012012, 0.2022022022022022, 0.2032032032032032, 0.2042042042042042, 0.20520520520520522, 0.2062062062062062, 0.2072072072072072, 0.2082082082082082, 0.2092092092092092, 0.21021021021021022, 0.2112112112112112, 0.2122122122122122, 0.2132132132132132, 0.21421421421421422, 0.21521521521521522, 0.21621621621621623, 0.2172172172172172, 0.2182182182182182, 0.21921921921921922, 0.22022022022022023, 0.22122122122122123, 0.2222222222222222, 0.22322322322322322, 0.22422422422422422, 0.22522522522522523, 0.22622622622622623, 0.2272272272272272, 0.22822822822822822, 0.22922922922922923, 0.23023023023023023, 0.23123123123123124, 0.23223223223223222, 0.23323323323323322, 0.23423423423423423, 0.23523523523523523, 0.23623623623623624, 0.23723723723723725, 0.23823823823823823, 0.23923923923923923, 0.24024024024024024, 0.24124124124124124, 0.24224224224224225, 0.24324324324324323, 0.24424424424424424, 0.24524524524524524, 0.24624624624624625, 0.24724724724724725, 0.24824824824824826, 0.24924924924924924, 0.2502502502502503, 0.25125125125125125, 0.25225225225225223, 0.25325325325325326, 0.25425425425425424, 0.2552552552552553, 0.25625625625625625, 0.25725725725725723, 0.25825825825825827, 0.25925925925925924, 0.2602602602602603, 0.26126126126126126, 0.26226226226226224, 0.26326326326326327, 0.26426426426426425, 0.2652652652652653, 0.26626626626626626, 0.26726726726726724, 0.2682682682682683, 0.26926926926926925, 0.2702702702702703, 0.27127127127127126, 0.27227227227227224, 0.2732732732732733, 0.27427427427427425, 0.2752752752752753, 0.27627627627627627, 0.2772772772772773, 0.2782782782782783, 0.27927927927927926, 0.2802802802802803, 0.28128128128128127, 0.2822822822822823, 0.2832832832832833, 0.28428428428428426, 0.2852852852852853, 0.2862862862862863, 0.2872872872872873, 0.2882882882882883, 0.28928928928928926, 0.2902902902902903, 0.2912912912912913, 0.2922922922922923, 0.2932932932932933, 0.29429429429429427, 0.2952952952952953, 0.2962962962962963, 0.2972972972972973, 0.2982982982982983, 0.29929929929929927, 0.3003003003003003, 0.3013013013013013, 0.3023023023023023, 0.3033033033033033, 0.30430430430430433, 0.3053053053053053, 0.3063063063063063, 0.3073073073073073, 0.3083083083083083, 0.30930930930930933, 0.3103103103103103, 0.3113113113113113, 0.3123123123123123, 0.3133133133133133, 0.31431431431431434, 0.3153153153153153, 0.3163163163163163, 0.3173173173173173, 0.3183183183183183, 0.31931931931931934, 0.3203203203203203, 0.3213213213213213, 0.32232232232232233, 0.3233233233233233, 0.32432432432432434, 0.3253253253253253, 0.3263263263263263, 0.32732732732732733, 0.3283283283283283, 0.32932932932932935, 0.3303303303303303, 0.3313313313313313, 0.33233233233233234, 0.3333333333333333, 0.33433433433433435, 0.3353353353353353, 0.3363363363363363, 0.33733733733733734, 0.3383383383383383, 0.33933933933933935, 0.34034034034034033, 0.34134134134134136, 0.34234234234234234, 0.3433433433433433, 0.34434434434434436, 0.34534534534534533, 0.34634634634634637, 0.34734734734734735, 0.3483483483483483, 0.34934934934934936, 0.35035035035035034, 0.35135135135135137, 0.35235235235235235, 0.3533533533533533, 0.35435435435435436, 0.35535535535535534, 0.3563563563563564, 0.35735735735735735, 0.35835835835835833, 0.35935935935935936, 0.36036036036036034, 0.3613613613613614, 0.36236236236236236, 0.36336336336336333, 0.36436436436436437, 0.36536536536536535, 0.3663663663663664, 0.36736736736736736, 0.3683683683683684, 0.36936936936936937, 0.37037037037037035, 0.3713713713713714, 0.37237237237237236, 0.3733733733733734, 0.3743743743743744, 0.37537537537537535, 0.3763763763763764, 0.37737737737737737, 0.3783783783783784, 0.3793793793793794, 0.38038038038038036, 0.3813813813813814, 0.38238238238238237, 0.3833833833833834, 0.3843843843843844, 0.38538538538538536, 0.3863863863863864, 0.38738738738738737, 0.3883883883883884, 0.3893893893893894, 0.39039039039039036, 0.3913913913913914, 0.3923923923923924, 0.3933933933933934, 0.3943943943943944, 0.39539539539539537, 0.3963963963963964, 0.3973973973973974, 0.3983983983983984, 0.3993993993993994, 0.40040040040040037, 0.4014014014014014, 0.4024024024024024, 0.4034034034034034, 0.4044044044044044, 0.40540540540540543, 0.4064064064064064, 0.4074074074074074, 0.4084084084084084, 0.4094094094094094, 0.41041041041041043, 0.4114114114114114, 0.4124124124124124, 0.4134134134134134, 0.4144144144144144, 0.41541541541541543, 0.4164164164164164, 0.4174174174174174, 0.4184184184184184, 0.4194194194194194, 0.42042042042042044, 0.4214214214214214, 0.4224224224224224, 0.42342342342342343, 0.4244244244244244, 0.42542542542542544, 0.4264264264264264, 0.4274274274274274, 0.42842842842842843, 0.4294294294294294, 0.43043043043043044, 0.4314314314314314, 0.43243243243243246, 0.43343343343343343, 0.4344344344344344, 0.43543543543543545, 0.4364364364364364, 0.43743743743743746, 0.43843843843843844, 0.4394394394394394, 0.44044044044044045, 0.44144144144144143, 0.44244244244244246, 0.44344344344344344, 0.4444444444444444, 0.44544544544544545, 0.44644644644644643, 0.44744744744744747, 0.44844844844844844, 0.4494494494494494, 0.45045045045045046, 0.45145145145145144, 0.45245245245245247, 0.45345345345345345, 0.4544544544544544, 0.45545545545545546, 0.45645645645645644, 0.4574574574574575, 0.45845845845845845, 0.45945945945945943, 0.46046046046046046, 0.46146146146146144, 0.4624624624624625, 0.46346346346346345, 0.46446446446446443, 0.46546546546546547, 0.46646646646646645, 0.4674674674674675, 0.46846846846846846, 0.4694694694694695, 0.47047047047047047, 0.47147147147147145, 0.4724724724724725, 0.47347347347347346, 0.4744744744744745, 0.4754754754754755, 0.47647647647647645, 0.4774774774774775, 0.47847847847847846, 0.4794794794794795, 0.4804804804804805, 0.48148148148148145, 0.4824824824824825, 0.48348348348348347, 0.4844844844844845, 0.4854854854854855, 0.48648648648648646, 0.4874874874874875, 0.48848848848848847, 0.4894894894894895, 0.4904904904904905, 0.49149149149149146, 0.4924924924924925, 0.4934934934934935, 0.4944944944944945, 0.4954954954954955, 0.4964964964964965, 0.4974974974974975, 0.4984984984984985, 0.4994994994994995, 0.5005005005005005, 0.5015015015015015, 0.5025025025025025, 0.5035035035035035, 0.5045045045045045, 0.5055055055055055, 0.5065065065065065, 0.5075075075075075, 0.5085085085085085, 0.5095095095095095, 0.5105105105105106, 0.5115115115115115, 0.5125125125125125, 0.5135135135135135, 0.5145145145145145, 0.5155155155155156, 0.5165165165165165, 0.5175175175175175, 0.5185185185185185, 0.5195195195195195, 0.5205205205205206, 0.5215215215215215, 0.5225225225225225, 0.5235235235235235, 0.5245245245245245, 0.5255255255255256, 0.5265265265265265, 0.5275275275275275, 0.5285285285285285, 0.5295295295295295, 0.5305305305305306, 0.5315315315315315, 0.5325325325325325, 0.5335335335335335, 0.5345345345345345, 0.5355355355355356, 0.5365365365365365, 0.5375375375375375, 0.5385385385385385, 0.5395395395395395, 0.5405405405405406, 0.5415415415415415, 0.5425425425425425, 0.5435435435435435, 0.5445445445445445, 0.5455455455455456, 0.5465465465465466, 0.5475475475475475, 0.5485485485485485, 0.5495495495495496, 0.5505505505505506, 0.5515515515515516, 0.5525525525525525, 0.5535535535535535, 0.5545545545545546, 0.5555555555555556, 0.5565565565565566, 0.5575575575575575, 0.5585585585585585, 0.5595595595595596, 0.5605605605605606, 0.5615615615615616, 0.5625625625625625, 0.5635635635635635, 0.5645645645645646, 0.5655655655655656, 0.5665665665665666, 0.5675675675675675, 0.5685685685685685, 0.5695695695695696, 0.5705705705705706, 0.5715715715715716, 0.5725725725725725, 0.5735735735735735, 0.5745745745745746, 0.5755755755755756, 0.5765765765765766, 0.5775775775775776, 0.5785785785785785, 0.5795795795795796, 0.5805805805805806, 0.5815815815815816, 0.5825825825825826, 0.5835835835835835, 0.5845845845845846, 0.5855855855855856, 0.5865865865865866, 0.5875875875875876, 0.5885885885885885, 0.5895895895895896, 0.5905905905905906, 0.5915915915915916, 0.5925925925925926, 0.5935935935935935, 0.5945945945945946, 0.5955955955955956, 0.5965965965965966, 0.5975975975975976, 0.5985985985985985, 0.5995995995995996, 0.6006006006006006, 0.6016016016016016, 0.6026026026026026, 0.6036036036036035, 0.6046046046046046, 0.6056056056056056, 0.6066066066066066, 0.6076076076076076, 0.6086086086086087, 0.6096096096096096, 0.6106106106106106, 0.6116116116116116, 0.6126126126126126, 0.6136136136136137, 0.6146146146146146, 0.6156156156156156, 0.6166166166166166, 0.6176176176176176, 0.6186186186186187, 0.6196196196196196, 0.6206206206206206, 0.6216216216216216, 0.6226226226226226, 0.6236236236236237, 0.6246246246246246, 0.6256256256256256, 0.6266266266266266, 0.6276276276276276, 0.6286286286286287, 0.6296296296296297, 0.6306306306306306, 0.6316316316316316, 0.6326326326326326, 0.6336336336336337, 0.6346346346346347, 0.6356356356356356, 0.6366366366366366, 0.6376376376376376, 0.6386386386386387, 0.6396396396396397, 0.6406406406406406, 0.6416416416416416, 0.6426426426426426, 0.6436436436436437, 0.6446446446446447, 0.6456456456456456, 0.6466466466466466, 0.6476476476476476, 0.6486486486486487, 0.6496496496496497, 0.6506506506506506, 0.6516516516516516, 0.6526526526526526, 0.6536536536536537, 0.6546546546546547, 0.6556556556556556, 0.6566566566566566, 0.6576576576576576, 0.6586586586586587, 0.6596596596596597, 0.6606606606606606, 0.6616616616616616, 0.6626626626626626, 0.6636636636636637, 0.6646646646646647, 0.6656656656656657, 0.6666666666666666, 0.6676676676676676, 0.6686686686686687, 0.6696696696696697, 0.6706706706706707, 0.6716716716716716, 0.6726726726726726, 0.6736736736736737, 0.6746746746746747, 0.6756756756756757, 0.6766766766766766, 0.6776776776776777, 0.6786786786786787, 0.6796796796796797, 0.6806806806806807, 0.6816816816816816, 0.6826826826826827, 0.6836836836836837, 0.6846846846846847, 0.6856856856856857, 0.6866866866866866, 0.6876876876876877, 0.6886886886886887, 0.6896896896896897, 0.6906906906906907, 0.6916916916916916, 0.6926926926926927, 0.6936936936936937, 0.6946946946946947, 0.6956956956956957, 0.6966966966966966, 0.6976976976976977, 0.6986986986986987, 0.6996996996996997, 0.7007007007007007, 0.7017017017017017, 0.7027027027027027, 0.7037037037037037, 0.7047047047047047, 0.7057057057057057, 0.7067067067067067, 0.7077077077077077, 0.7087087087087087, 0.7097097097097097, 0.7107107107107107, 0.7117117117117117, 0.7127127127127127, 0.7137137137137137, 0.7147147147147147, 0.7157157157157157, 0.7167167167167167, 0.7177177177177178, 0.7187187187187187, 0.7197197197197197, 0.7207207207207207, 0.7217217217217217, 0.7227227227227228, 0.7237237237237237, 0.7247247247247247, 0.7257257257257257, 0.7267267267267267, 0.7277277277277278, 0.7287287287287287, 0.7297297297297297, 0.7307307307307307, 0.7317317317317317, 0.7327327327327328, 0.7337337337337337, 0.7347347347347347, 0.7357357357357357, 0.7367367367367368, 0.7377377377377378, 0.7387387387387387, 0.7397397397397397, 0.7407407407407407, 0.7417417417417418, 0.7427427427427428, 0.7437437437437437, 0.7447447447447447, 0.7457457457457457, 0.7467467467467468, 0.7477477477477478, 0.7487487487487487, 0.7497497497497497, 0.7507507507507507, 0.7517517517517518, 0.7527527527527528, 0.7537537537537538, 0.7547547547547547, 0.7557557557557557, 0.7567567567567568, 0.7577577577577578, 0.7587587587587588, 0.7597597597597597, 0.7607607607607607, 0.7617617617617618, 0.7627627627627628, 0.7637637637637638, 0.7647647647647647, 0.7657657657657657, 0.7667667667667668, 0.7677677677677678, 0.7687687687687688, 0.7697697697697697, 0.7707707707707707, 0.7717717717717718, 0.7727727727727728, 0.7737737737737738, 0.7747747747747747, 0.7757757757757757, 0.7767767767767768, 0.7777777777777778, 0.7787787787787788, 0.7797797797797797, 0.7807807807807807, 0.7817817817817818, 0.7827827827827828, 0.7837837837837838, 0.7847847847847848, 0.7857857857857857, 0.7867867867867868, 0.7877877877877878, 0.7887887887887888, 0.7897897897897898, 0.7907907907907907, 0.7917917917917918, 0.7927927927927928, 0.7937937937937938, 0.7947947947947948, 0.7957957957957957, 0.7967967967967968, 0.7977977977977978, 0.7987987987987988, 0.7997997997997998, 0.8008008008008007, 0.8018018018018018, 0.8028028028028028, 0.8038038038038038, 0.8048048048048048, 0.8058058058058059, 0.8068068068068068, 0.8078078078078078, 0.8088088088088088, 0.8098098098098098, 0.8108108108108109, 0.8118118118118118, 0.8128128128128128, 0.8138138138138138, 0.8148148148148148, 0.8158158158158159, 0.8168168168168168, 0.8178178178178178, 0.8188188188188188, 0.8198198198198198, 0.8208208208208209, 0.8218218218218218, 0.8228228228228228, 0.8238238238238238, 0.8248248248248248, 0.8258258258258259, 0.8268268268268268, 0.8278278278278278, 0.8288288288288288, 0.8298298298298298, 0.8308308308308309, 0.8318318318318318, 0.8328328328328328, 0.8338338338338338, 0.8348348348348348, 0.8358358358358359, 0.8368368368368369, 0.8378378378378378, 0.8388388388388388, 0.8398398398398398, 0.8408408408408409, 0.8418418418418419, 0.8428428428428428, 0.8438438438438438, 0.8448448448448448, 0.8458458458458459, 0.8468468468468469, 0.8478478478478478, 0.8488488488488488, 0.8498498498498498, 0.8508508508508509, 0.8518518518518519, 0.8528528528528528, 0.8538538538538538, 0.8548548548548548, 0.8558558558558559, 0.8568568568568569, 0.8578578578578578, 0.8588588588588588, 0.8598598598598598, 0.8608608608608609, 0.8618618618618619, 0.8628628628628628, 0.8638638638638638, 0.8648648648648649, 0.8658658658658659, 0.8668668668668669, 0.8678678678678678, 0.8688688688688688, 0.8698698698698699, 0.8708708708708709, 0.8718718718718719, 0.8728728728728729, 0.8738738738738738, 0.8748748748748749, 0.8758758758758759, 0.8768768768768769, 0.8778778778778779, 0.8788788788788788, 0.8798798798798799, 0.8808808808808809, 0.8818818818818819, 0.8828828828828829, 0.8838838838838838, 0.8848848848848849, 0.8858858858858859, 0.8868868868868869, 0.8878878878878879, 0.8888888888888888, 0.8898898898898899, 0.8908908908908909, 0.8918918918918919, 0.8928928928928929, 0.8938938938938938, 0.8948948948948949, 0.8958958958958959, 0.8968968968968969, 0.8978978978978979, 0.8988988988988988, 0.8998998998998999, 0.9009009009009009, 0.9019019019019019, 0.9029029029029029, 0.9039039039039038, 0.9049049049049049, 0.9059059059059059, 0.9069069069069069, 0.9079079079079079, 0.9089089089089089, 0.9099099099099099, 0.9109109109109109, 0.9119119119119119, 0.9129129129129129, 0.9139139139139139, 0.914914914914915, 0.9159159159159159, 0.9169169169169169, 0.9179179179179179, 0.9189189189189189, 0.91991991991992, 0.9209209209209209, 0.9219219219219219, 0.9229229229229229, 0.9239239239239239, 0.924924924924925, 0.9259259259259259, 0.9269269269269269, 0.9279279279279279, 0.9289289289289289, 0.92992992992993, 0.9309309309309309, 0.9319319319319319, 0.9329329329329329, 0.933933933933934, 0.934934934934935, 0.9359359359359359, 0.9369369369369369, 0.9379379379379379, 0.938938938938939, 0.93993993993994, 0.9409409409409409, 0.9419419419419419, 0.9429429429429429, 0.943943943943944, 0.944944944944945, 0.9459459459459459, 0.9469469469469469, 0.9479479479479479, 0.948948948948949, 0.94994994994995, 0.950950950950951, 0.9519519519519519, 0.9529529529529529, 0.953953953953954, 0.954954954954955, 0.955955955955956, 0.9569569569569569, 0.9579579579579579, 0.958958958958959, 0.95995995995996, 0.960960960960961, 0.9619619619619619, 0.9629629629629629, 0.963963963963964, 0.964964964964965, 0.965965965965966, 0.9669669669669669, 0.9679679679679679, 0.968968968968969, 0.96996996996997, 0.970970970970971, 0.9719719719719719, 0.9729729729729729, 0.973973973973974, 0.974974974974975, 0.975975975975976, 0.9769769769769769, 0.9779779779779779, 0.978978978978979, 0.97997997997998, 0.980980980980981, 0.9819819819819819, 0.9829829829829829, 0.983983983983984, 0.984984984984985, 0.985985985985986, 0.986986986986987, 0.9879879879879879, 0.988988988988989, 0.98998998998999, 0.990990990990991, 0.991991991991992, 0.992992992992993, 0.993993993993994, 0.994994994994995, 0.995995995995996, 0.996996996996997, 0.997997997997998, 0.998998998998999, 1.0], "c": [1.0, 1.009009009009009, 1.018018018018018, 1.027027027027027, 1.0360360360360361, 1.045045045045045, 1.054054054054054, 1.063063063063063, 1.072072072072072, 1.0810810810810811, 1.09009009009009, 1.0990990990990992, 1.1081081081081081, 1.117117117117117, 1.1261261261261262, 1.135135135135135, 1.1441441441441442, 1.1531531531531531, 1.1621621621621623, 1.1711711711711712, 1.1801801801801801, 1.1891891891891893, 1.1981981981981982, 1.2072072072072073, 1.2162162162162162, 1.2252252252252251, 1.2342342342342343, 1.2432432432432432, 1.2522522522522523, 1.2612612612612613, 1.2702702702702702, 1.2792792792792793, 1.2882882882882882, 1.2972972972972974, 1.3063063063063063, 1.3153153153153152, 1.3243243243243243, 1.3333333333333333, 1.3423423423423424, 1.3513513513513513, 1.3603603603603602, 1.3693693693693694, 1.3783783783783785, 1.3873873873873874, 1.3963963963963963, 1.4054054054054055, 1.4144144144144144, 1.4234234234234235, 1.4324324324324325, 1.4414414414414414, 1.4504504504504505, 1.4594594594594594, 1.4684684684684686, 1.4774774774774775, 1.4864864864864864, 1.4954954954954955, 1.5045045045045045, 1.5135135135135136, 1.5225225225225225, 1.5315315315315314, 1.5405405405405406, 1.5495495495495497, 1.5585585585585586, 1.5675675675675675, 1.5765765765765765, 1.5855855855855856, 1.5945945945945947, 1.6036036036036037, 1.6126126126126126, 1.6216216216216215, 1.6306306306306306, 1.6396396396396398, 1.6486486486486487, 1.6576576576576576, 1.6666666666666665, 1.6756756756756757, 1.6846846846846848, 1.6936936936936937, 1.7027027027027026, 1.7117117117117115, 1.7207207207207207, 1.7297297297297298, 1.7387387387387387, 1.7477477477477477, 1.7567567567567568, 1.7657657657657657, 1.7747747747747749, 1.7837837837837838, 1.7927927927927927, 1.8018018018018018, 1.810810810810811, 1.8198198198198199, 1.8288288288288288, 1.8378378378378377, 1.8468468468468469, 1.855855855855856, 1.864864864864865, 1.8738738738738738, 1.8828828828828827, 1.8918918918918919, 1.900900900900901, 1.90990990990991, 1.9189189189189189, 1.9279279279279278, 1.936936936936937, 1.945945945945946, 1.954954954954955, 1.9639639639639639, 1.9729729729729728, 1.981981981981982, 1.990990990990991, 2.0, 2.009009009009009, 2.018018018018018, 2.027027027027027, 2.036036036036036, 2.045045045045045, 2.054054054054054, 2.063063063063063, 2.0720720720720722, 2.081081081081081, 2.09009009009009, 2.0990990990990994, 2.108108108108108, 2.1171171171171173, 2.126126126126126, 2.135135135135135, 2.1441441441441444, 2.153153153153153, 2.1621621621621623, 2.171171171171171, 2.18018018018018, 2.1891891891891895, 2.198198198198198, 2.2072072072072073, 2.2162162162162162, 2.225225225225225, 2.2342342342342345, 2.243243243243243, 2.2522522522522523, 2.2612612612612613, 2.27027027027027, 2.2792792792792795, 2.288288288288288, 2.2972972972972974, 2.3063063063063063, 2.315315315315315, 2.3243243243243246, 2.333333333333333, 2.3423423423423424, 2.3513513513513513, 2.3603603603603602, 2.3693693693693696, 2.378378378378378, 2.3873873873873874, 2.3963963963963963, 2.4054054054054053, 2.4144144144144146, 2.423423423423423, 2.4324324324324325, 2.4414414414414414, 2.4504504504504503, 2.4594594594594597, 2.468468468468468, 2.4774774774774775, 2.4864864864864864, 2.4954954954954953, 2.5045045045045047, 2.5135135135135136, 2.5225225225225225, 2.5315315315315314, 2.5405405405405403, 2.5495495495495497, 2.5585585585585586, 2.5675675675675675, 2.5765765765765765, 2.5855855855855854, 2.5945945945945947, 2.6036036036036037, 2.6126126126126126, 2.621621621621622, 2.6306306306306304, 2.6396396396396398, 2.6486486486486487, 2.6576576576576576, 2.666666666666667, 2.6756756756756754, 2.684684684684685, 2.6936936936936937, 2.7027027027027026, 2.711711711711712, 2.7207207207207205, 2.72972972972973, 2.7387387387387387, 2.7477477477477477, 2.756756756756757, 2.7657657657657655, 2.774774774774775, 2.7837837837837838, 2.7927927927927927, 2.801801801801802, 2.8108108108108105, 2.81981981981982, 2.828828828828829, 2.8378378378378377, 2.846846846846847, 2.8558558558558556, 2.864864864864865, 2.873873873873874, 2.8828828828828827, 2.891891891891892, 2.9009009009009006, 2.90990990990991, 2.918918918918919, 2.9279279279279278, 2.936936936936937, 2.9459459459459456, 2.954954954954955, 2.963963963963964, 2.972972972972973, 2.981981981981982, 2.990990990990991, 3.0, 3.009009009009009, 3.018018018018018, 3.027027027027027, 3.036036036036036, 3.045045045045045, 3.054054054054054, 3.063063063063063, 3.0720720720720722, 3.081081081081081, 3.09009009009009, 3.099099099099099, 3.108108108108108, 3.1171171171171173, 3.126126126126126, 3.135135135135135, 3.144144144144144, 3.153153153153153, 3.1621621621621623, 3.171171171171171, 3.18018018018018, 3.189189189189189, 3.1981981981981984, 3.2072072072072073, 3.2162162162162162, 3.225225225225225, 3.234234234234234, 3.2432432432432434, 3.2522522522522523, 3.2612612612612613, 3.27027027027027, 3.279279279279279, 3.2882882882882885, 3.2972972972972974, 3.3063063063063063, 3.315315315315315, 3.324324324324324, 3.3333333333333335, 3.3423423423423424, 3.3513513513513513, 3.3603603603603602, 3.369369369369369, 3.3783783783783785, 3.3873873873873874, 3.3963963963963963, 3.4054054054054053, 3.414414414414414, 3.4234234234234235, 3.4324324324324325, 3.4414414414414414, 3.4504504504504503, 3.4594594594594597, 3.4684684684684686, 3.4774774774774775, 3.4864864864864864, 3.4954954954954953, 3.5045045045045047, 3.5135135135135136, 3.5225225225225225, 3.5315315315315314, 3.5405405405405403, 3.5495495495495497, 3.5585585585585586, 3.5675675675675675, 3.5765765765765765, 3.5855855855855854, 3.5945945945945947, 3.6036036036036037, 3.6126126126126126, 3.6216216216216215, 3.6306306306306304, 3.6396396396396398, 3.6486486486486487, 3.6576576576576576, 3.6666666666666665, 3.6756756756756754, 3.684684684684685, 3.6936936936936937, 3.7027027027027026, 3.7117117117117115, 3.720720720720721, 3.72972972972973, 3.7387387387387387, 3.7477477477477477, 3.7567567567567566, 3.765765765765766, 3.774774774774775, 3.7837837837837838, 3.7927927927927927, 3.8018018018018016, 3.810810810810811, 3.81981981981982, 3.828828828828829, 3.8378378378378377, 3.8468468468468466, 3.855855855855856, 3.864864864864865, 3.873873873873874, 3.8828828828828827, 3.8918918918918917, 3.900900900900901, 3.90990990990991, 3.918918918918919, 3.9279279279279278, 3.9369369369369367, 3.945945945945946, 3.954954954954955, 3.963963963963964, 3.972972972972973, 3.981981981981982, 3.990990990990991, 4.0, 4.009009009009009, 4.018018018018018, 4.027027027027027, 4.036036036036036, 4.045045045045045, 4.054054054054054, 4.063063063063063, 4.072072072072072, 4.081081081081081, 4.09009009009009, 4.099099099099099, 4.108108108108108, 4.117117117117117, 4.126126126126126, 4.135135135135135, 4.1441441441441444, 4.153153153153153, 4.162162162162162, 4.171171171171171, 4.18018018018018, 4.1891891891891895, 4.198198198198198, 4.207207207207207, 4.216216216216216, 4.225225225225225, 4.2342342342342345, 4.243243243243244, 4.252252252252252, 4.261261261261261, 4.27027027027027, 4.2792792792792795, 4.288288288288289, 4.297297297297297, 4.306306306306306, 4.315315315315315, 4.324324324324325, 4.333333333333334, 4.342342342342342, 4.351351351351351, 4.36036036036036, 4.36936936936937, 4.378378378378379, 4.387387387387387, 4.396396396396396, 4.405405405405405, 4.414414414414415, 4.423423423423424, 4.4324324324324325, 4.441441441441441, 4.45045045045045, 4.45945945945946, 4.468468468468469, 4.4774774774774775, 4.486486486486486, 4.495495495495495, 4.504504504504505, 4.513513513513514, 4.5225225225225225, 4.531531531531531, 4.54054054054054, 4.54954954954955, 4.558558558558559, 4.5675675675675675, 4.576576576576576, 4.585585585585585, 4.594594594594595, 4.603603603603604, 4.612612612612613, 4.621621621621621, 4.63063063063063, 4.63963963963964, 4.648648648648649, 4.657657657657658, 4.666666666666666, 4.675675675675675, 4.684684684684685, 4.693693693693694, 4.702702702702703, 4.711711711711711, 4.7207207207207205, 4.72972972972973, 4.738738738738739, 4.747747747747748, 4.756756756756756, 4.7657657657657655, 4.774774774774775, 4.783783783783784, 4.792792792792793, 4.801801801801801, 4.8108108108108105, 4.81981981981982, 4.828828828828829, 4.837837837837838, 4.846846846846846, 4.8558558558558556, 4.864864864864865, 4.873873873873874, 4.882882882882883, 4.891891891891891, 4.900900900900901, 4.90990990990991, 4.918918918918919, 4.927927927927928, 4.936936936936936, 4.945945945945946, 4.954954954954955, 4.963963963963964, 4.972972972972973, 4.981981981981982, 4.990990990990991, 5.0, 5.009009009009009, 5.018018018018018, 5.027027027027027, 5.036036036036036, 5.045045045045045, 5.054054054054054, 5.063063063063063, 5.072072072072072, 5.081081081081081, 5.09009009009009, 5.099099099099099, 5.108108108108108, 5.117117117117117, 5.126126126126126, 5.135135135135135, 5.1441441441441444, 5.153153153153153, 5.162162162162162, 5.171171171171171, 5.18018018018018, 5.1891891891891895, 5.198198198198198, 5.207207207207207, 5.216216216216216, 5.225225225225225, 5.2342342342342345, 5.243243243243243, 5.252252252252252, 5.261261261261261, 5.27027027027027, 5.2792792792792795, 5.288288288288288, 5.297297297297297, 5.306306306306306, 5.315315315315315, 5.324324324324325, 5.333333333333333, 5.342342342342342, 5.351351351351351, 5.36036036036036, 5.36936936936937, 5.378378378378378, 5.387387387387387, 5.396396396396397, 5.405405405405405, 5.414414414414415, 5.423423423423423, 5.4324324324324325, 5.441441441441442, 5.45045045045045, 5.45945945945946, 5.468468468468468, 5.4774774774774775, 5.486486486486487, 5.495495495495495, 5.504504504504505, 5.513513513513513, 5.5225225225225225, 5.531531531531532, 5.54054054054054, 5.54954954954955, 5.558558558558558, 5.5675675675675675, 5.576576576576577, 5.585585585585585, 5.594594594594595, 5.603603603603603, 5.612612612612613, 5.621621621621622, 5.63063063063063, 5.63963963963964, 5.648648648648648, 5.657657657657658, 5.666666666666667, 5.675675675675675, 5.684684684684685, 5.693693693693693, 5.702702702702703, 5.711711711711712, 5.7207207207207205, 5.72972972972973, 5.738738738738738, 5.747747747747748, 5.756756756756757, 5.7657657657657655, 5.774774774774775, 5.783783783783783, 5.792792792792793, 5.801801801801802, 5.8108108108108105, 5.81981981981982, 5.828828828828828, 5.837837837837838, 5.846846846846847, 5.8558558558558556, 5.864864864864865, 5.873873873873874, 5.882882882882883, 5.891891891891892, 5.900900900900901, 5.90990990990991, 5.918918918918919, 5.927927927927928, 5.936936936936937, 5.945945945945946, 5.954954954954955, 5.963963963963964, 5.972972972972973, 5.981981981981982, 5.990990990990991, 6.0, 6.009009009009009, 6.018018018018018, 6.027027027027027, 6.036036036036036, 6.045045045045045, 6.054054054054054, 6.063063063063063, 6.072072072072072, 6.081081081081081, 6.09009009009009, 6.099099099099099, 6.108108108108108, 6.117117117117117, 6.126126126126126, 6.135135135135135, 6.1441441441441444, 6.153153153153153, 6.162162162162162, 6.171171171171171, 6.18018018018018, 6.1891891891891895, 6.198198198198198, 6.207207207207207, 6.216216216216216, 6.225225225225225, 6.2342342342342345, 6.243243243243243, 6.252252252252252, 6.261261261261261, 6.27027027027027, 6.2792792792792795, 6.288288288288288, 6.297297297297297, 6.306306306306306, 6.315315315315315, 6.324324324324325, 6.333333333333333, 6.342342342342342, 6.351351351351351, 6.36036036036036, 6.36936936936937, 6.378378378378378, 6.387387387387387, 6.396396396396397, 6.405405405405405, 6.414414414414415, 6.423423423423423, 6.4324324324324325, 6.441441441441442, 6.45045045045045, 6.45945945945946, 6.468468468468468, 6.4774774774774775, 6.486486486486487, 6.495495495495495, 6.504504504504505, 6.513513513513513, 6.5225225225225225, 6.531531531531532, 6.54054054054054, 6.54954954954955, 6.558558558558558, 6.5675675675675675, 6.576576576576577, 6.585585585585585, 6.594594594594595, 6.603603603603603, 6.612612612612613, 6.621621621621622, 6.63063063063063, 6.63963963963964, 6.648648648648648, 6.657657657657658, 6.666666666666667, 6.675675675675675, 6.684684684684685, 6.693693693693693, 6.702702702702703, 6.711711711711712, 6.7207207207207205, 6.72972972972973, 6.738738738738738, 6.747747747747748, 6.756756756756757, 6.7657657657657655, 6.774774774774775, 6.783783783783783, 6.792792792792793, 6.801801801801802, 6.8108108108108105, 6.81981981981982, 6.828828828828828, 6.837837837837838, 6.846846846846847, 6.8558558558558556, 6.864864864864865, 6.873873873873873, 6.882882882882883, 6.891891891891892, 6.900900900900901, 6.90990990990991, 6.918918918918919, 6.927927927927928, 6.936936936936937, 6.945945945945946, 6.954954954954955, 6.963963963963964, 6.972972972972973, 6.981981981981982, 6.990990990990991, 7.0, 7.009009009009009, 7.018018018018018, 7.027027027027027, 7.036036036036036, 7.045045045045045, 7.054054054054054, 7.063063063063063, 7.072072072072072, 7.081081081081081, 7.09009009009009, 7.099099099099099, 7.108108108108108, 7.117117117117117, 7.126126126126126, 7.135135135135135, 7.1441441441441444, 7.153153153153153, 7.162162162162162, 7.171171171171171, 7.18018018018018, 7.1891891891891895, 7.198198198198198, 7.207207207207207, 7.216216216216216, 7.225225225225225, 7.2342342342342345, 7.243243243243243, 7.252252252252252, 7.261261261261261, 7.27027027027027, 7.2792792792792795, 7.288288288288288, 7.297297297297297, 7.306306306306306, 7.315315315315315, 7.324324324324325, 7.333333333333333, 7.342342342342342, 7.351351351351351, 7.36036036036036, 7.36936936936937, 7.378378378378378, 7.387387387387387, 7.396396396396396, 7.405405405405405, 7.414414414414415, 7.423423423423423, 7.4324324324324325, 7.441441441441442, 7.45045045045045, 7.45945945945946, 7.468468468468468, 7.4774774774774775, 7.486486486486487, 7.495495495495495, 7.504504504504505, 7.513513513513513, 7.5225225225225225, 7.531531531531532, 7.54054054054054, 7.54954954954955, 7.558558558558558, 7.5675675675675675, 7.576576576576577, 7.585585585585585, 7.594594594594595, 7.603603603603603, 7.612612612612613, 7.621621621621622, 7.63063063063063, 7.63963963963964, 7.648648648648648, 7.657657657657658, 7.666666666666667, 7.675675675675675, 7.684684684684685, 7.693693693693693, 7.702702702702703, 7.711711711711712, 7.7207207207207205, 7.72972972972973, 7.738738738738738, 7.747747747747748, 7.756756756756757, 7.7657657657657655, 7.774774774774775, 7.783783783783783, 7.792792792792793, 7.801801801801802, 7.8108108108108105, 7.81981981981982, 7.828828828828828, 7.837837837837838, 7.846846846846847, 7.8558558558558556, 7.864864864864865, 7.873873873873873, 7.882882882882883, 7.891891891891892, 7.900900900900901, 7.90990990990991, 7.918918918918919, 7.927927927927928, 7.936936936936937, 7.945945945945946, 7.954954954954955, 7.963963963963964, 7.972972972972973, 7.981981981981982, 7.990990990990991, 8.0, 8.00900900900901, 8.018018018018019, 8.027027027027028, 8.036036036036036, 8.045045045045045, 8.054054054054054, 8.063063063063062, 8.072072072072071, 8.08108108108108, 8.09009009009009, 8.0990990990991, 8.108108108108109, 8.117117117117118, 8.126126126126126, 8.135135135135135, 8.144144144144144, 8.153153153153152, 8.162162162162161, 8.17117117117117, 8.18018018018018, 8.18918918918919, 8.198198198198199, 8.207207207207208, 8.216216216216216, 8.225225225225225, 8.234234234234235, 8.243243243243242, 8.252252252252251, 8.26126126126126, 8.27027027027027, 8.27927927927928, 8.288288288288289, 8.297297297297298, 8.306306306306306, 8.315315315315315, 8.324324324324325, 8.333333333333332, 8.342342342342342, 8.35135135135135, 8.36036036036036, 8.36936936936937, 8.378378378378379, 8.387387387387388, 8.396396396396396, 8.405405405405405, 8.414414414414415, 8.423423423423422, 8.432432432432432, 8.441441441441441, 8.45045045045045, 8.45945945945946, 8.468468468468469, 8.477477477477478, 8.486486486486488, 8.495495495495495, 8.504504504504505, 8.513513513513512, 8.522522522522522, 8.531531531531531, 8.54054054054054, 8.54954954954955, 8.558558558558559, 8.567567567567568, 8.576576576576578, 8.585585585585585, 8.594594594594595, 8.603603603603602, 8.612612612612612, 8.621621621621621, 8.63063063063063, 8.63963963963964, 8.64864864864865, 8.657657657657658, 8.666666666666668, 8.675675675675675, 8.684684684684685, 8.693693693693692, 8.702702702702702, 8.711711711711711, 8.72072072072072, 8.72972972972973, 8.73873873873874, 8.747747747747749, 8.756756756756758, 8.765765765765765, 8.774774774774775, 8.783783783783782, 8.792792792792792, 8.801801801801801, 8.81081081081081, 8.81981981981982, 8.82882882882883, 8.837837837837839, 8.846846846846848, 8.855855855855856, 8.864864864864865, 8.873873873873872, 8.882882882882882, 8.891891891891891, 8.9009009009009, 8.90990990990991, 8.91891891891892, 8.927927927927929, 8.936936936936938, 8.945945945945946, 8.954954954954955, 8.963963963963964, 8.972972972972972, 8.981981981981981, 8.99099099099099, 9.0, 9.00900900900901, 9.018018018018019, 9.027027027027026, 9.036036036036036, 9.045045045045045, 9.054054054054054, 9.063063063063064, 9.072072072072071, 9.08108108108108, 9.09009009009009, 9.0990990990991, 9.108108108108109, 9.117117117117116, 9.126126126126126, 9.135135135135135, 9.144144144144144, 9.153153153153154, 9.162162162162161, 9.17117117117117, 9.18018018018018, 9.18918918918919, 9.198198198198199, 9.207207207207206, 9.216216216216216, 9.225225225225225, 9.234234234234235, 9.243243243243244, 9.252252252252251, 9.26126126126126, 9.27027027027027, 9.27927927927928, 9.288288288288289, 9.297297297297296, 9.306306306306306, 9.315315315315315, 9.324324324324325, 9.333333333333334, 9.342342342342342, 9.35135135135135, 9.36036036036036, 9.36936936936937, 9.378378378378379, 9.387387387387387, 9.396396396396396, 9.405405405405405, 9.414414414414415, 9.423423423423424, 9.432432432432432, 9.441441441441441, 9.45045045045045, 9.45945945945946, 9.468468468468469, 9.477477477477477, 9.486486486486486, 9.495495495495495, 9.504504504504505, 9.513513513513514, 9.522522522522522, 9.531531531531531, 9.54054054054054, 9.54954954954955, 9.558558558558559, 9.567567567567567, 9.576576576576576, 9.585585585585585, 9.594594594594595, 9.603603603603604, 9.612612612612612, 9.621621621621621, 9.63063063063063, 9.63963963963964, 9.64864864864865, 9.657657657657657, 9.666666666666666, 9.675675675675675, 9.684684684684685, 9.693693693693694, 9.702702702702702, 9.711711711711711, 9.72072072072072, 9.72972972972973, 9.73873873873874, 9.747747747747749, 9.756756756756756, 9.765765765765765, 9.774774774774775, 9.783783783783784, 9.792792792792794, 9.801801801801801, 9.81081081081081, 9.81981981981982, 9.82882882882883, 9.837837837837839, 9.846846846846846, 9.855855855855856, 9.864864864864865, 9.873873873873874, 9.882882882882884, 9.891891891891891, 9.9009009009009, 9.90990990990991, 9.91891891891892, 9.927927927927929, 9.936936936936936, 9.945945945945946, 9.954954954954955, 9.963963963963964, 9.972972972972974, 9.981981981981981, 9.99099099099099, 10.0], "expected": [1.4426950408889634, 1.4448550117035062, 1.4469797841114846, 1.4490693830448256, 1.4511238367759758, 1.4531431769008347, 1.4551274383208033, 1.4570766592239488, 1.4589908810653076, 1.4608701485463504, 1.4627145095936096, 1.4645240153365002, 1.4662987200843485, 1.4680386813026356, 1.4697439595884905, 1.4714146186454324, 1.4730507252573941, 1.4746523492620343, 1.4762195635233617, 1.4777524439036906, 1.4792510692349408, 1.480715521289302, 1.4821458847492845, 1.4835422471771673, 1.4849046989838732, 1.486233333397276, 1.487528246429966, 1.4887895368464963, 1.490017306130115, 1.4912116584490174, 1.4923727006221263, 1.4935005420844203, 1.4945952948518328, 1.4956570734857373, 1.4966859950570361, 1.4976821791098747, 1.4986457476249937, 1.4995768249827472, 1.5004755379257881, 1.501342015521462, 1.5021763891239055, 1.5029787923358775, 1.503749360970344, 1.5044882330118228, 1.505195548577518, 1.5058714498782515, 1.506516081179215, 1.5071295887605574, 1.5077121208778195, 1.5082638277222453, 1.5087848613809702, 1.5092753757971125, 1.5097355267297874, 1.510165471714044, 1.5105653700207582, 1.5109353826164864, 1.5112756721232974, 1.5115864027786017, 1.5118677403949816, 1.5121198523200552, 1.5123429073963675, 1.5125370759213368, 1.5127025296072687, 1.5128394415414421, 1.512947986146293, 1.513028339139697, 1.513080677495376, 1.513105179403427, 1.5131020242309992, 1.5130713924831207, 1.5130134657636942, 1.5129284267366638, 1.5128164590873796, 1.5126777474841495, 1.5125124775400103, 1.512320835774711, 1.5121030095769323, 1.5118591871667408, 1.5115895575582938, 1.5112943105228032, 1.5109736365517645, 1.5106277268204622, 1.5102567731517629, 1.5098609679801918, 1.509440504316319, 1.508995575711448, 1.5085263762226178, 1.508033100377932, 1.50751594314221, 1.5069750998829807, 1.5064107663368083, 1.5058231385759746, 1.505212412975506, 1.5045787861805646, 1.5039224550742014, 1.503243616745473, 1.5025424684579387, 1.5018192076185295, 1.5010740317468017, 1.5003071384445728, 1.499518725365952, 1.498708990187755, 1.497878130580323, 1.497026344178734, 1.496153828554422, 1.4952607811871912, 1.4943473994376468, 1.4934138805200257, 1.4924604214754427, 1.4914872191455475, 1.4904944701465914, 1.4894823708439155, 1.4884511173268489, 1.487400905384025, 1.486331930479117, 1.4852443877269872, 1.4841384718702593, 1.4830143772563051, 1.48187229781465, 1.480712427034796, 1.4795349579444665, 1.4783400830882598, 1.4771279945067257, 1.4758988837158562, 1.474652941686988, 1.4733903588271184, 1.4721113249596385, 1.4708160293054668, 1.4695046604646025, 1.468177406398077, 1.4668344544103162, 1.4654759911319042, 1.4641022025027466, 1.4627132737556352, 1.4613093894002096, 1.459890733207309, 1.4584574881937216, 1.4570098366073172, 1.4555479599125722, 1.4540720387764705, 1.4525822530547938, 1.4510787817787822, 1.4495618031421726, 1.4480314944886095, 1.4464880322994207, 1.4449315921817607, 1.4433623488571143, 1.4417804761501583, 1.4401861469779775, 1.4385795333396336, 1.4369608063060773, 1.4353301360104094, 1.4336876916384764, 1.432033641419807, 1.4303681526188783, 1.4286913915267119, 1.427003523452791, 1.4253047127173057, 1.4235951226437071, 1.4218749155515786, 1.4201442527498163, 1.4184032945301093, 1.4166522001607285, 1.4148911278806042, 1.4131202348937024, 1.4113396773636833, 1.4095496104088507, 1.4077501880973773, 1.4059415634428059, 1.4041238883998244, 1.4022973138603076, 1.400461989649622, 1.3986180645231907, 1.3967656861633138, 1.3949050011762367, 1.393036155089473, 1.3911592923493592, 1.3892745563188573, 1.3873820892755884, 1.3854820324100954, 1.3835745258243348, 1.3816597085303886, 1.3797377184493955, 1.3778086924106956, 1.3758727661511858, 1.3739300743148806, 1.3719807504526753, 1.3700249270223097, 1.3680627353885189, 1.3660943058233845, 1.3641197675068644, 1.3621392485275072, 1.3601528758833477, 1.3581607754829736, 1.3561630721467672, 1.354159889608311, 1.3521513505159586, 1.3501375764345669, 1.348118687847382, 1.3460948041580798, 1.3440660436929543, 1.342032523703254, 1.3399943603676574, 1.3379516687948885, 1.3359045630264688, 1.3338531560395988, 1.3317975597501692, 1.3297378850158974, 1.327674241639585, 1.325606738372495, 1.3235354829178436, 1.3214605819344027, 1.3193821410402162, 1.317300264816417, 1.3152150568111494, 1.3131266195435916, 1.3110350545080742, 1.308940462178295, 1.3068429420116188, 1.3047425924534752, 1.302639510941833, 1.30053379391176, 1.2984255368000672, 1.296314834050022, 1.294201779116144, 1.292086464469067, 1.289968981600474, 1.287849421028097, 1.2857278723007817, 1.2836044240036155, 1.281479163763113, 1.279352178252459, 1.2772235531968084, 1.2750933733786358, 1.2729617226431382, 1.2708286839036818, 1.2686943391472987, 1.2665587694402263, 1.2644220549334864, 1.2622842748685066, 1.2601455075827752, 1.2580058305155395, 1.2558653202135268, 1.2537240523367068, 1.2515821016640791, 1.2494395420994888, 1.247296446677469, 1.2451528875691082, 1.2430089360879415, 1.2408646626958577, 1.238720137009032, 1.2365754278038728, 1.234430603022985, 1.2322857297811494, 1.2301408743713127, 1.2279961022705912, 1.225851478146283, 1.2237070658618905, 1.2215629284831468, 1.2194191282840539, 1.2172757267529182, 1.215132784598396, 1.212990361755534, 1.2108485173918175, 1.2087073099132144, 1.2065667969702154, 1.2044270354638777, 1.202288081551857, 1.2001499906544413, 1.1980128174605749, 1.1958766159338745, 1.1937414393186392, 1.1916073401458516, 1.1894743702391652, 1.1873425807208864, 1.1852120220179385, 1.183082743867816, 1.1809547953245252, 1.1788282247645097, 1.1767030798925593, 1.174579407747705, 1.1724572547090941, 1.1703366665018498, 1.168217688202913, 1.1661003642468613, 1.1639847384317117, 1.1618708539247011, 1.1597587532680458, 1.15764847838468, 1.1555400705839716, 1.1534335705674121, 1.1513290184342908, 1.1492264536873333, 1.1471259152383284, 1.1450274414137185, 1.1429310699601718, 1.140836838050126, 1.1387447822873036, 1.1366549387122056, 1.1345673428075713, 1.132482029503815, 1.130399033184433, 1.1283183876913827, 1.1262401263304318, 1.1241642818764797, 1.1220908865788468, 1.1200199721665387, 1.1179515698534757, 1.1158857103436939, 1.113822423836515, 1.1117617400316886, 1.1097036881344957, 1.1076482968608297, 1.1055955944422404, 1.1035456086309459, 1.1014983667048177, 1.0994538954723272, 1.0974122212774642, 1.0953733700046215, 1.093337367083447, 1.0913042374936635, 1.0892740057698547, 1.0872466960062186, 1.0852223318612895, 1.0832009365626234, 1.0811825329114546, 1.0791671432873131, 1.0771547896526161, 1.0751454935572184, 1.0731392761429361, 1.0711361581480314, 1.069136159911666, 1.0671393013783232, 1.065145602102192, 1.06315508125152, 1.0611677576129355, 1.0591836495957279, 1.0572027752361044, 1.0552251522014058, 1.0532507977942918, 1.0512797289568936, 1.04931196227493, 1.0473475139817932, 1.0453863999625999, 1.0434286357582085, 1.0414742365692051, 1.039523217259853, 1.0375755923620131, 1.0356313760790283, 1.0336905822895759, 1.0317532245514882, 1.0298193161055376, 1.0278888698791928, 1.0259618984903405, 1.0240384142509718, 1.022118429170843, 1.020201954961098, 1.0182890030378617, 1.0163795845258008, 1.014473710261652, 1.01257139079772, 1.0106726364053422, 1.0087774570783234, 1.0068858625363386, 1.004997862228304, 1.0031134653357183, 1.001232680775972, 0.9993555172056264, 0.9974819830236621, 0.9956120863746971, 0.9937458351521746, 0.9918832370015193, 0.9900242993232673, 0.9881690292761621, 0.9863174337802236, 0.9844695195197868, 0.9826252929465114, 0.980784760282362, 0.9789479275225592, 0.977114800438503, 0.9752853845806663, 0.9734596852814608, 0.9716377076580742, 0.9698194566152794, 0.9680049368482165, 0.9661941528451452, 0.9643871088901729, 0.962583809065952, 0.9607842572563519, 0.9589884571491036, 0.9571964122384188, 0.9554081258275785, 0.9536236010315009, 0.9518428407792776, 0.9500658478166872, 0.948292624708682, 0.9465231738418487, 0.9447574974268438, 0.9429955975008036, 0.9412374759297298, 0.9394831344108495, 0.93773257447495, 0.9359857974886898, 0.9342428046568854, 0.9325035970247735, 0.9307681754802485, 0.9290365407560776, 0.9273086934320918, 0.9255846339373528, 0.9238643625522971, 0.9221478794108574, 0.9204351845025609, 0.9187262776746044, 0.9170211586339072, 0.915319826949143, 0.9136222820527466, 0.9119285232429026, 0.9102385496855081, 0.9085523604161178, 0.9068699543418652, 0.9051913302433634, 0.9035164867765841, 0.9018454224747178, 0.9001781357500106, 0.8985146248955829, 0.8968548880872255, 0.8951989233851785, 0.8935467287358876, 0.8918983019737409, 0.8902536408227884, 0.8886127428984396, 0.8869756057091431, 0.8853422266580457, 0.8837126030446355, 0.882086732066363, 0.8804646108202455, 0.8788462363044531, 0.8772316054198757, 0.8756207149716724, 0.874013561670803, 0.8724101421355421, 0.8708104528929749, 0.8692144903804759, 0.8676222509471717, 0.8660337308553837, 0.8644489262820576, 0.8628678333201736, 0.8612904479801405, 0.8597167661911744, 0.8581467838026596, 0.856580496585496, 0.855017900233426, 0.8534589903643517, 0.8519037625216307, 0.8503522121753603, 0.8488043347236442, 0.8472601254938463, 0.8457195797438264, 0.8441826926631637, 0.8426494593743646, 0.841119874934055, 0.8395939343341607, 0.8380716325030704, 0.8365529643067865, 0.8350379245500623, 0.8335265079775236, 0.8320187092747775, 0.8305145230695085, 0.8290139439325597, 0.8275169663790014, 0.8260235848691861, 0.8245337938097925, 0.8230475875548527, 0.8215649604067702, 0.8200859066173238, 0.8186104203886598, 0.81713849587427, 0.8156701271799592, 0.8142053083648011, 0.81274403344208, 0.8112862963802223, 0.8098320911037161, 0.8083814114940184, 0.8069342513904527, 0.8054906045910917, 0.804050464853634, 0.8026138258962636, 0.8011806813985037, 0.799751025002057, 0.7983248503116344, 0.7969021508957763, 0.79548292028766, 0.7940671519858982, 0.7926548394553279, 0.7912459761277872, 0.7898405554028846, 0.7884385706487546, 0.7870400152028082, 0.7856448823724692, 0.7842531654359037, 0.7828648576427392, 0.7814799522147734, 0.7800984423466755, 0.7787203212066764, 0.7773455819372515, 0.7759742176557923, 0.7746062214552721, 0.7732415864048992, 0.7718803055507651, 0.770522371916481, 0.7691677785038074, 0.7678165182932758, 0.7664685842447997, 0.7651239692982797, 0.7637826663741998, 0.7624446683742141, 0.7611099681817289, 0.7597785586624726, 0.7584504326650617, 0.7571255830215567, 0.7558040025480112, 0.7544856840450133, 0.7531706202982205, 0.7518588040788848, 0.7505502281443734, 0.7492448852386806, 0.7479427680929329, 0.7466438694258865, 0.7453481819444191, 0.7440556983440149, 0.7427664113092391, 0.741480313514213, 0.7401973976230743, 0.7389176562904372, 0.7376410821618419, 0.7363676678741995, 0.735097406056232, 0.733830289328902, 0.7325663103058409, 0.7313054615937666, 0.7300477357928988, 0.7287931254973667, 0.7275416232956098, 0.7262932217707747, 0.7250479135011064, 0.7238056910603305, 0.7225665470180355, 0.7213304739400427, 0.720097464388777, 0.7188675109236278, 0.7176406061013073, 0.7164167424762012, 0.7151959126007161, 0.7139781090256211, 0.7127633243003836, 0.7115515509735009, 0.7103427815928267, 0.7091370087058921, 0.7079342248602226, 0.7067344226036488, 0.7055375944846153, 0.7043437330524808, 0.7031528308578169, 0.7019648804527013, 0.7007798743910055, 0.6995978052286801, 0.6984186655240323, 0.6972424478380033, 0.6960691447344389, 0.6948987487803546, 0.6937312525462004, 0.6925666486061168, 0.6914049295381914, 0.6902460879247067, 0.6890901163523879, 0.6879370074126452, 0.6867867537018104, 0.6856393478213736, 0.6844947823782122, 0.6833530499848182, 0.6822141432595217, 0.6810780548267104, 0.6799447773170448, 0.6788143033676712, 0.6776866256224303, 0.6765617367320619, 0.6754396293544077, 0.674320296154609, 0.6732037298053016, 0.6720899229868083, 0.6709788683873266, 0.6698705587031145, 0.6687649866386718, 0.6676621449069201, 0.666562026229377, 0.6654646233363303, 0.664369928967007, 0.6632779358697389, 0.6621886368021286, 0.6611020245312076, 0.6600180918335968, 0.6589368314956592, 0.6578582363136536, 0.6567822990938832, 0.6557090126528426, 0.654638369817362, 0.6535703634247484, 0.6525049863229238, 0.6514422313705613, 0.6503820914372199, 0.6493245594034741, 0.6482696281610418, 0.6472172906129124, 0.6461675396734686, 0.6451203682686079, 0.6440757693358623, 0.6430337358245128, 0.6419942606957059, 0.640957336922563, 0.6399229574902922, 0.6388911153962936, 0.6378618036502661, 0.6368350152743096, 0.6358107433030253, 0.6347889807836159, 0.6337697207759805, 0.6327529563528109, 0.6317386805996829, 0.6307268866151469, 0.6297175675108173, 0.628710716411459, 0.6277063264550713, 0.6267043907929712, 0.6257049025898748, 0.6247078550239754, 0.6237132412870219, 0.6227210545843934, 0.6217312881351734, 0.6207439351722212, 0.6197589889422432, 0.6187764427058603, 0.6177962897376754, 0.6168185233263384, 0.6158431367746098, 0.6148701233994226, 0.6138994765319431, 0.6129311895176285, 0.6119652557162858, 0.6110016685021263, 0.6100404212638204, 0.6090815074045501, 0.6081249203420603, 0.6071706535087091, 0.6062187003515153, 0.6052690543322057, 0.6043217089272622, 0.6033766576279636, 0.6024338939404305, 0.6014934113856653, 0.6005552034995946, 0.5996192638331059, 0.598685585952087, 0.5977541634374615, 0.5968249898852243, 0.5958980589064763, 0.5949733641274564, 0.5940508991895732, 0.5931306577494359, 0.5922126334788829, 0.5912968200650114, 0.5903832112102031, 0.5894718006321505, 0.588562582063882, 0.5876555492537859, 0.5867506959656328, 0.5858480159785974, 0.5849475030872792, 0.5840491511017224, 0.5831529538474345, 0.582258905165404, 0.5813669989121169, 0.5804772289595729, 0.5795895891953002, 0.5787040735223692, 0.5778206758594058, 0.5769393901406036, 0.5760602103157346, 0.5751831303501602, 0.5743081442248411, 0.5734352459363444, 0.5725644294968535, 0.5716956889341732, 0.5708290182917374, 0.569964411628614, 0.5691018630195095, 0.5682413665547731, 0.5673829163403995, 0.5665265064980315, 0.5656721311649618, 0.5648197844941338, 0.563969460654142, 0.5631211538292306, 0.5622748582192936, 0.5614305680398727, 0.5605882775221537, 0.5597479809129648, 0.558909672474772, 0.5580733464856742, 0.5572389972393992, 0.5564066190452972, 0.555576206228335, 0.5547477531290884, 0.5539212541037354, 0.5530967035240478, 0.5522740957773825, 0.5514534252666726, 0.550634686410417, 0.5498178736426713, 0.5490029814130355, 0.5481900041866437, 0.5473789364441518, 0.5465697726817252, 0.545762507411026, 0.5449571351591999, 0.5441536504688611, 0.5433520478980799, 0.5425523220203664, 0.541754467424656, 0.5409584787152938, 0.5401643505120172, 0.5393720774499415, 0.5385816541795411, 0.5377930753666322, 0.5370063356923568, 0.5362214298531621, 0.5354383525607831, 0.5346570985422237, 0.5338776625397368, 0.533100039310805, 0.5323242236281197, 0.5315502102795617, 0.5307779940681794, 0.5300075698121677, 0.5292389323448472, 0.5284720765146413, 0.5277069971850545, 0.5269436892346501, 0.5261821475570266, 0.5254223670607955, 0.5246643426695565, 0.5239080693218752, 0.5231535419712579, 0.5224007555861274, 0.5216497051497992, 0.5209003856604557, 0.5201527921311206, 0.519406919589635, 0.5186627630786302, 0.5179203176555024, 0.5171795783923863, 0.5164405403761284, 0.5157031987082608, 0.5149675485049738, 0.5142335848970889, 0.513501303030031, 0.5127706980638019, 0.5120417651729505, 0.5113144995465468, 0.5105888963881524, 0.5098649509157919, 0.5091426583619253, 0.508422013973418, 0.5077030130115124, 0.5069856507517986, 0.5062699224841847, 0.505555823512867, 0.5048433491563011, 0.5041324947471715, 0.503423255632361, 0.502715627172921, 0.5020096047440411, 0.5013051837350182, 0.5006023595492263, 0.49990112760408484, 0.4992014833310284, 0.4985034221754751, 0.4978069395967956, 0.49711203106828206, 0.4964186920771153, 0.49572691812433467, 0.49503670472480543, 0.4943480474071865, 0.4936609417139, 0.4929753832010971, 0.49229136743862734, 0.49160889001000546, 0.4909279465123794, 0.49024853255649775, 0.48957064376667675, 0.4888942757807679, 0.4882194242501251, 0.48754608483957207, 0.4868742532273684, 0.4862039251051775, 0.4855350961780335, 0.48486776216430694, 0.48420191879567265, 0.4835375618170761, 0.4828746869866995, 0.48221329007592906, 0.4815533668693207, 0.48089491316456756, 0.4802379247724646, 0.47958239751687687, 0.4789283272347044, 0.4782757097758488, 0.4776245410031797, 0.4769748167925001, 0.47632653303251377, 0.4756796856247893, 0.475034270483728, 0.47439028353652907, 0.47374772072315513, 0.47310657799629846, 0.47246685132134736, 0.47182853667635105, 0.4711916300519862, 0.47055612745152225, 0.4699220248907875, 0.4692893183981345, 0.46865800401440616, 0.4680280777929014, 0.4673995357993406, 0.4667723741118313, 0.46614658882083393, 0.46552217602912777, 0.46489913185177634, 0.46427745241609314, 0.46365713386160673, 0.46303817234002775, 0.46242056401521275, 0.46180430506313164, 0.4611893916718322, 0.4605758200414057, 0.4599635863839533, 0.4593526869235514, 0.458743117896217, 0.45813487554987375, 0.4575279561443176, 0.4569223559511823, 0.45631807125390544, 0.45571509834769425, 0.4551134335394907, 0.4545130731479384, 0.453914013503347, 0.4533162509476593, 0.4527197818344169, 0.45212460252872505, 0.4515307094072198, 0.4509380988580331, 0.4503467672807592, 0.4497567110864204, 0.4491679266974333, 0.4485804105475746, 0.44799415908194706, 0.4474091687569463, 0.44682543604022595, 0.44624295741066483, 0.4456617293583322, 0.44508174838445475, 0.4445030110013827, 0.4439255137325558, 0.4433492531124701, 0.4427742256866442, 0.4422004280115858, 0.44162785665475796, 0.44105650819454606, 0.44048637922022366, 0.43991746633192, 0.43934976614058596, 0.43878327526796135, 0.43821799034654124, 0.43765390801954307, 0.43709102494087343, 0.43652933777509445, 0.4359688431973921, 0.43540953789354164, 0.4348514185598759, 0.43429448190325176, 0.43373872464101754, 0.43318414350098017, 0.43263073522137263, 0.4320784965508209, 0.4315274242483121, 0.4309775150831609, 0.4304287658349784, 0.42988117329363823, 0.4293347342592451, 0.4287894455421027, 0.4282453039626804, 0.42770230635158213, 0.42716044954951377, 0.42661973040725104, 0.4260801457856077, 0.4255416925554033, 0.42500436759743204, 0.4244681678024301, 0.4239330900710439, 0.42339913131379947, 0.4228662884510695, 0.42233455841304296, 0.42180393813969275, 0.4212744245807445, 0.42074601469564543, 0.42021870545353296, 0.4196924938332036, 0.4191673768230816, 0.4186433514211875, 0.41812041463510835, 0.4175985634819654, 0.41707779498838404, 0.4165581061904627, 0.41603949413374214, 0.4155219558731749, 0.4150054884730945, 0.41449008900718515, 0.41397575455845126, 0.4134624822191867, 0.41295026909094495, 0.4124391122845089, 0.41192900891986006, 0.41141995612614946, 0.4109119510416662, 0.4104049908138092, 0.4098990725990561, 0.409394193562934, 0.4088903508799894, 0.40838754173375874, 0.4078857633167391, 0.40738501283035816, 0.40688528748494524, 0.4063865844997015, 0.405888901102671, 0.40539223453071144, 0.404896582029465, 0.40440194085332926, 0.4039083082654283, 0.40341568153758356, 0.40292405795028513, 0.4024334347926638, 0.40194380936246077, 0.4014551789660004, 0.40096754091816106, 0.400480892542347, 0.39999523117045965, 0.39951055414287, 0.3990268588083894, 0.398544142524242, 0.3980624026560369, 0.3975816365777397, 0.397101841671645, 0.3966230153283481, 0.3961451549467176, 0.39566825793386795, 0.3951923217051309, 0.3947173436840295, 0.3942433213022491, 0.39377025199961085, 0.3932981332240446, 0.3928269624315609, 0.39235673708622454, 0.39188745466012725, 0.39141911263336077, 0.3909517084939899, 0.3904852397380256, 0.3900197038693989, 0.38955509839993285, 0.38909142084931775, 0.38862866874508284, 0.3881668396225713, 0.387705931024913, 0.38724594050299865, 0.3867868656154537, 0.38632870392861174, 0.3858714530164889, 0.38541511046075777, 0.3849596738507213, 0.38450514078328735, 0.3840515088629427, 0.38359877570172757, 0.38314693891920987, 0.3826959961424599, 0.38224594500602477, 0.38179678315190313, 0.38134850822951993, 0.38090111789570114, 0.3804546098146487, 0.3800089816579156, 0.3795642311043807, 0.3791203558402239]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/small_c.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/small_c.json new file mode 100644 index 000000000000..a055dbc812f6 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/small_c.json @@ -0,0 +1 @@ +{"x": [0.0, 0.001001001001001001, 0.002002002002002002, 0.003003003003003003, 0.004004004004004004, 0.005005005005005005, 0.006006006006006006, 0.007007007007007007, 0.008008008008008008, 0.009009009009009009, 0.01001001001001001, 0.011011011011011011, 0.012012012012012012, 0.013013013013013013, 0.014014014014014014, 0.015015015015015015, 0.016016016016016016, 0.017017017017017015, 0.018018018018018018, 0.01901901901901902, 0.02002002002002002, 0.02102102102102102, 0.022022022022022022, 0.023023023023023025, 0.024024024024024024, 0.025025025025025023, 0.026026026026026026, 0.02702702702702703, 0.028028028028028028, 0.029029029029029027, 0.03003003003003003, 0.031031031031031032, 0.03203203203203203, 0.03303303303303303, 0.03403403403403403, 0.035035035035035036, 0.036036036036036036, 0.037037037037037035, 0.03803803803803804, 0.03903903903903904, 0.04004004004004004, 0.04104104104104104, 0.04204204204204204, 0.043043043043043044, 0.044044044044044044, 0.04504504504504504, 0.04604604604604605, 0.04704704704704705, 0.04804804804804805, 0.04904904904904905, 0.050050050050050046, 0.05105105105105105, 0.05205205205205205, 0.05305305305305305, 0.05405405405405406, 0.055055055055055056, 0.056056056056056056, 0.057057057057057055, 0.058058058058058054, 0.05905905905905906, 0.06006006006006006, 0.06106106106106106, 0.062062062062062065, 0.06306306306306306, 0.06406406406406406, 0.06506506506506507, 0.06606606606606606, 0.06706706706706707, 0.06806806806806806, 0.06906906906906907, 0.07007007007007007, 0.07107107107107107, 0.07207207207207207, 0.07307307307307308, 0.07407407407407407, 0.07507507507507508, 0.07607607607607608, 0.07707707707707707, 0.07807807807807808, 0.07907907907907907, 0.08008008008008008, 0.08108108108108109, 0.08208208208208208, 0.08308308308308308, 0.08408408408408408, 0.08508508508508508, 0.08608608608608609, 0.08708708708708708, 0.08808808808808809, 0.0890890890890891, 0.09009009009009009, 0.09109109109109109, 0.0920920920920921, 0.09309309309309309, 0.0940940940940941, 0.09509509509509509, 0.0960960960960961, 0.0970970970970971, 0.0980980980980981, 0.0990990990990991, 0.10010010010010009, 0.1011011011011011, 0.1021021021021021, 0.1031031031031031, 0.1041041041041041, 0.10510510510510511, 0.1061061061061061, 0.10710710710710711, 0.10810810810810811, 0.1091091091091091, 0.11011011011011011, 0.1111111111111111, 0.11211211211211211, 0.11311311311311312, 0.11411411411411411, 0.11511511511511512, 0.11611611611611611, 0.11711711711711711, 0.11811811811811812, 0.11911911911911911, 0.12012012012012012, 0.12112112112112113, 0.12212212212212212, 0.12312312312312312, 0.12412412412412413, 0.12512512512512514, 0.12612612612612611, 0.12712712712712712, 0.12812812812812813, 0.12912912912912913, 0.13013013013013014, 0.13113113113113112, 0.13213213213213212, 0.13313313313313313, 0.13413413413413414, 0.13513513513513514, 0.13613613613613612, 0.13713713713713713, 0.13813813813813813, 0.13913913913913914, 0.14014014014014015, 0.14114114114114115, 0.14214214214214213, 0.14314314314314314, 0.14414414414414414, 0.14514514514514515, 0.14614614614614616, 0.14714714714714713, 0.14814814814814814, 0.14914914914914915, 0.15015015015015015, 0.15115115115115116, 0.15215215215215216, 0.15315315315315314, 0.15415415415415415, 0.15515515515515516, 0.15615615615615616, 0.15715715715715717, 0.15815815815815815, 0.15915915915915915, 0.16016016016016016, 0.16116116116116116, 0.16216216216216217, 0.16316316316316315, 0.16416416416416416, 0.16516516516516516, 0.16616616616616617, 0.16716716716716717, 0.16816816816816815, 0.16916916916916916, 0.17017017017017017, 0.17117117117117117, 0.17217217217217218, 0.17317317317317318, 0.17417417417417416, 0.17517517517517517, 0.17617617617617617, 0.17717717717717718, 0.1781781781781782, 0.17917917917917917, 0.18018018018018017, 0.18118118118118118, 0.18218218218218218, 0.1831831831831832, 0.1841841841841842, 0.18518518518518517, 0.18618618618618618, 0.1871871871871872, 0.1881881881881882, 0.1891891891891892, 0.19019019019019018, 0.19119119119119118, 0.1921921921921922, 0.1931931931931932, 0.1941941941941942, 0.19519519519519518, 0.1961961961961962, 0.1971971971971972, 0.1981981981981982, 0.1991991991991992, 0.20020020020020018, 0.2012012012012012, 0.2022022022022022, 0.2032032032032032, 0.2042042042042042, 0.20520520520520522, 0.2062062062062062, 0.2072072072072072, 0.2082082082082082, 0.2092092092092092, 0.21021021021021022, 0.2112112112112112, 0.2122122122122122, 0.2132132132132132, 0.21421421421421422, 0.21521521521521522, 0.21621621621621623, 0.2172172172172172, 0.2182182182182182, 0.21921921921921922, 0.22022022022022023, 0.22122122122122123, 0.2222222222222222, 0.22322322322322322, 0.22422422422422422, 0.22522522522522523, 0.22622622622622623, 0.2272272272272272, 0.22822822822822822, 0.22922922922922923, 0.23023023023023023, 0.23123123123123124, 0.23223223223223222, 0.23323323323323322, 0.23423423423423423, 0.23523523523523523, 0.23623623623623624, 0.23723723723723725, 0.23823823823823823, 0.23923923923923923, 0.24024024024024024, 0.24124124124124124, 0.24224224224224225, 0.24324324324324323, 0.24424424424424424, 0.24524524524524524, 0.24624624624624625, 0.24724724724724725, 0.24824824824824826, 0.24924924924924924, 0.2502502502502503, 0.25125125125125125, 0.25225225225225223, 0.25325325325325326, 0.25425425425425424, 0.2552552552552553, 0.25625625625625625, 0.25725725725725723, 0.25825825825825827, 0.25925925925925924, 0.2602602602602603, 0.26126126126126126, 0.26226226226226224, 0.26326326326326327, 0.26426426426426425, 0.2652652652652653, 0.26626626626626626, 0.26726726726726724, 0.2682682682682683, 0.26926926926926925, 0.2702702702702703, 0.27127127127127126, 0.27227227227227224, 0.2732732732732733, 0.27427427427427425, 0.2752752752752753, 0.27627627627627627, 0.2772772772772773, 0.2782782782782783, 0.27927927927927926, 0.2802802802802803, 0.28128128128128127, 0.2822822822822823, 0.2832832832832833, 0.28428428428428426, 0.2852852852852853, 0.2862862862862863, 0.2872872872872873, 0.2882882882882883, 0.28928928928928926, 0.2902902902902903, 0.2912912912912913, 0.2922922922922923, 0.2932932932932933, 0.29429429429429427, 0.2952952952952953, 0.2962962962962963, 0.2972972972972973, 0.2982982982982983, 0.29929929929929927, 0.3003003003003003, 0.3013013013013013, 0.3023023023023023, 0.3033033033033033, 0.30430430430430433, 0.3053053053053053, 0.3063063063063063, 0.3073073073073073, 0.3083083083083083, 0.30930930930930933, 0.3103103103103103, 0.3113113113113113, 0.3123123123123123, 0.3133133133133133, 0.31431431431431434, 0.3153153153153153, 0.3163163163163163, 0.3173173173173173, 0.3183183183183183, 0.31931931931931934, 0.3203203203203203, 0.3213213213213213, 0.32232232232232233, 0.3233233233233233, 0.32432432432432434, 0.3253253253253253, 0.3263263263263263, 0.32732732732732733, 0.3283283283283283, 0.32932932932932935, 0.3303303303303303, 0.3313313313313313, 0.33233233233233234, 0.3333333333333333, 0.33433433433433435, 0.3353353353353353, 0.3363363363363363, 0.33733733733733734, 0.3383383383383383, 0.33933933933933935, 0.34034034034034033, 0.34134134134134136, 0.34234234234234234, 0.3433433433433433, 0.34434434434434436, 0.34534534534534533, 0.34634634634634637, 0.34734734734734735, 0.3483483483483483, 0.34934934934934936, 0.35035035035035034, 0.35135135135135137, 0.35235235235235235, 0.3533533533533533, 0.35435435435435436, 0.35535535535535534, 0.3563563563563564, 0.35735735735735735, 0.35835835835835833, 0.35935935935935936, 0.36036036036036034, 0.3613613613613614, 0.36236236236236236, 0.36336336336336333, 0.36436436436436437, 0.36536536536536535, 0.3663663663663664, 0.36736736736736736, 0.3683683683683684, 0.36936936936936937, 0.37037037037037035, 0.3713713713713714, 0.37237237237237236, 0.3733733733733734, 0.3743743743743744, 0.37537537537537535, 0.3763763763763764, 0.37737737737737737, 0.3783783783783784, 0.3793793793793794, 0.38038038038038036, 0.3813813813813814, 0.38238238238238237, 0.3833833833833834, 0.3843843843843844, 0.38538538538538536, 0.3863863863863864, 0.38738738738738737, 0.3883883883883884, 0.3893893893893894, 0.39039039039039036, 0.3913913913913914, 0.3923923923923924, 0.3933933933933934, 0.3943943943943944, 0.39539539539539537, 0.3963963963963964, 0.3973973973973974, 0.3983983983983984, 0.3993993993993994, 0.40040040040040037, 0.4014014014014014, 0.4024024024024024, 0.4034034034034034, 0.4044044044044044, 0.40540540540540543, 0.4064064064064064, 0.4074074074074074, 0.4084084084084084, 0.4094094094094094, 0.41041041041041043, 0.4114114114114114, 0.4124124124124124, 0.4134134134134134, 0.4144144144144144, 0.41541541541541543, 0.4164164164164164, 0.4174174174174174, 0.4184184184184184, 0.4194194194194194, 0.42042042042042044, 0.4214214214214214, 0.4224224224224224, 0.42342342342342343, 0.4244244244244244, 0.42542542542542544, 0.4264264264264264, 0.4274274274274274, 0.42842842842842843, 0.4294294294294294, 0.43043043043043044, 0.4314314314314314, 0.43243243243243246, 0.43343343343343343, 0.4344344344344344, 0.43543543543543545, 0.4364364364364364, 0.43743743743743746, 0.43843843843843844, 0.4394394394394394, 0.44044044044044045, 0.44144144144144143, 0.44244244244244246, 0.44344344344344344, 0.4444444444444444, 0.44544544544544545, 0.44644644644644643, 0.44744744744744747, 0.44844844844844844, 0.4494494494494494, 0.45045045045045046, 0.45145145145145144, 0.45245245245245247, 0.45345345345345345, 0.4544544544544544, 0.45545545545545546, 0.45645645645645644, 0.4574574574574575, 0.45845845845845845, 0.45945945945945943, 0.46046046046046046, 0.46146146146146144, 0.4624624624624625, 0.46346346346346345, 0.46446446446446443, 0.46546546546546547, 0.46646646646646645, 0.4674674674674675, 0.46846846846846846, 0.4694694694694695, 0.47047047047047047, 0.47147147147147145, 0.4724724724724725, 0.47347347347347346, 0.4744744744744745, 0.4754754754754755, 0.47647647647647645, 0.4774774774774775, 0.47847847847847846, 0.4794794794794795, 0.4804804804804805, 0.48148148148148145, 0.4824824824824825, 0.48348348348348347, 0.4844844844844845, 0.4854854854854855, 0.48648648648648646, 0.4874874874874875, 0.48848848848848847, 0.4894894894894895, 0.4904904904904905, 0.49149149149149146, 0.4924924924924925, 0.4934934934934935, 0.4944944944944945, 0.4954954954954955, 0.4964964964964965, 0.4974974974974975, 0.4984984984984985, 0.4994994994994995, 0.5005005005005005, 0.5015015015015015, 0.5025025025025025, 0.5035035035035035, 0.5045045045045045, 0.5055055055055055, 0.5065065065065065, 0.5075075075075075, 0.5085085085085085, 0.5095095095095095, 0.5105105105105106, 0.5115115115115115, 0.5125125125125125, 0.5135135135135135, 0.5145145145145145, 0.5155155155155156, 0.5165165165165165, 0.5175175175175175, 0.5185185185185185, 0.5195195195195195, 0.5205205205205206, 0.5215215215215215, 0.5225225225225225, 0.5235235235235235, 0.5245245245245245, 0.5255255255255256, 0.5265265265265265, 0.5275275275275275, 0.5285285285285285, 0.5295295295295295, 0.5305305305305306, 0.5315315315315315, 0.5325325325325325, 0.5335335335335335, 0.5345345345345345, 0.5355355355355356, 0.5365365365365365, 0.5375375375375375, 0.5385385385385385, 0.5395395395395395, 0.5405405405405406, 0.5415415415415415, 0.5425425425425425, 0.5435435435435435, 0.5445445445445445, 0.5455455455455456, 0.5465465465465466, 0.5475475475475475, 0.5485485485485485, 0.5495495495495496, 0.5505505505505506, 0.5515515515515516, 0.5525525525525525, 0.5535535535535535, 0.5545545545545546, 0.5555555555555556, 0.5565565565565566, 0.5575575575575575, 0.5585585585585585, 0.5595595595595596, 0.5605605605605606, 0.5615615615615616, 0.5625625625625625, 0.5635635635635635, 0.5645645645645646, 0.5655655655655656, 0.5665665665665666, 0.5675675675675675, 0.5685685685685685, 0.5695695695695696, 0.5705705705705706, 0.5715715715715716, 0.5725725725725725, 0.5735735735735735, 0.5745745745745746, 0.5755755755755756, 0.5765765765765766, 0.5775775775775776, 0.5785785785785785, 0.5795795795795796, 0.5805805805805806, 0.5815815815815816, 0.5825825825825826, 0.5835835835835835, 0.5845845845845846, 0.5855855855855856, 0.5865865865865866, 0.5875875875875876, 0.5885885885885885, 0.5895895895895896, 0.5905905905905906, 0.5915915915915916, 0.5925925925925926, 0.5935935935935935, 0.5945945945945946, 0.5955955955955956, 0.5965965965965966, 0.5975975975975976, 0.5985985985985985, 0.5995995995995996, 0.6006006006006006, 0.6016016016016016, 0.6026026026026026, 0.6036036036036035, 0.6046046046046046, 0.6056056056056056, 0.6066066066066066, 0.6076076076076076, 0.6086086086086087, 0.6096096096096096, 0.6106106106106106, 0.6116116116116116, 0.6126126126126126, 0.6136136136136137, 0.6146146146146146, 0.6156156156156156, 0.6166166166166166, 0.6176176176176176, 0.6186186186186187, 0.6196196196196196, 0.6206206206206206, 0.6216216216216216, 0.6226226226226226, 0.6236236236236237, 0.6246246246246246, 0.6256256256256256, 0.6266266266266266, 0.6276276276276276, 0.6286286286286287, 0.6296296296296297, 0.6306306306306306, 0.6316316316316316, 0.6326326326326326, 0.6336336336336337, 0.6346346346346347, 0.6356356356356356, 0.6366366366366366, 0.6376376376376376, 0.6386386386386387, 0.6396396396396397, 0.6406406406406406, 0.6416416416416416, 0.6426426426426426, 0.6436436436436437, 0.6446446446446447, 0.6456456456456456, 0.6466466466466466, 0.6476476476476476, 0.6486486486486487, 0.6496496496496497, 0.6506506506506506, 0.6516516516516516, 0.6526526526526526, 0.6536536536536537, 0.6546546546546547, 0.6556556556556556, 0.6566566566566566, 0.6576576576576576, 0.6586586586586587, 0.6596596596596597, 0.6606606606606606, 0.6616616616616616, 0.6626626626626626, 0.6636636636636637, 0.6646646646646647, 0.6656656656656657, 0.6666666666666666, 0.6676676676676676, 0.6686686686686687, 0.6696696696696697, 0.6706706706706707, 0.6716716716716716, 0.6726726726726726, 0.6736736736736737, 0.6746746746746747, 0.6756756756756757, 0.6766766766766766, 0.6776776776776777, 0.6786786786786787, 0.6796796796796797, 0.6806806806806807, 0.6816816816816816, 0.6826826826826827, 0.6836836836836837, 0.6846846846846847, 0.6856856856856857, 0.6866866866866866, 0.6876876876876877, 0.6886886886886887, 0.6896896896896897, 0.6906906906906907, 0.6916916916916916, 0.6926926926926927, 0.6936936936936937, 0.6946946946946947, 0.6956956956956957, 0.6966966966966966, 0.6976976976976977, 0.6986986986986987, 0.6996996996996997, 0.7007007007007007, 0.7017017017017017, 0.7027027027027027, 0.7037037037037037, 0.7047047047047047, 0.7057057057057057, 0.7067067067067067, 0.7077077077077077, 0.7087087087087087, 0.7097097097097097, 0.7107107107107107, 0.7117117117117117, 0.7127127127127127, 0.7137137137137137, 0.7147147147147147, 0.7157157157157157, 0.7167167167167167, 0.7177177177177178, 0.7187187187187187, 0.7197197197197197, 0.7207207207207207, 0.7217217217217217, 0.7227227227227228, 0.7237237237237237, 0.7247247247247247, 0.7257257257257257, 0.7267267267267267, 0.7277277277277278, 0.7287287287287287, 0.7297297297297297, 0.7307307307307307, 0.7317317317317317, 0.7327327327327328, 0.7337337337337337, 0.7347347347347347, 0.7357357357357357, 0.7367367367367368, 0.7377377377377378, 0.7387387387387387, 0.7397397397397397, 0.7407407407407407, 0.7417417417417418, 0.7427427427427428, 0.7437437437437437, 0.7447447447447447, 0.7457457457457457, 0.7467467467467468, 0.7477477477477478, 0.7487487487487487, 0.7497497497497497, 0.7507507507507507, 0.7517517517517518, 0.7527527527527528, 0.7537537537537538, 0.7547547547547547, 0.7557557557557557, 0.7567567567567568, 0.7577577577577578, 0.7587587587587588, 0.7597597597597597, 0.7607607607607607, 0.7617617617617618, 0.7627627627627628, 0.7637637637637638, 0.7647647647647647, 0.7657657657657657, 0.7667667667667668, 0.7677677677677678, 0.7687687687687688, 0.7697697697697697, 0.7707707707707707, 0.7717717717717718, 0.7727727727727728, 0.7737737737737738, 0.7747747747747747, 0.7757757757757757, 0.7767767767767768, 0.7777777777777778, 0.7787787787787788, 0.7797797797797797, 0.7807807807807807, 0.7817817817817818, 0.7827827827827828, 0.7837837837837838, 0.7847847847847848, 0.7857857857857857, 0.7867867867867868, 0.7877877877877878, 0.7887887887887888, 0.7897897897897898, 0.7907907907907907, 0.7917917917917918, 0.7927927927927928, 0.7937937937937938, 0.7947947947947948, 0.7957957957957957, 0.7967967967967968, 0.7977977977977978, 0.7987987987987988, 0.7997997997997998, 0.8008008008008007, 0.8018018018018018, 0.8028028028028028, 0.8038038038038038, 0.8048048048048048, 0.8058058058058059, 0.8068068068068068, 0.8078078078078078, 0.8088088088088088, 0.8098098098098098, 0.8108108108108109, 0.8118118118118118, 0.8128128128128128, 0.8138138138138138, 0.8148148148148148, 0.8158158158158159, 0.8168168168168168, 0.8178178178178178, 0.8188188188188188, 0.8198198198198198, 0.8208208208208209, 0.8218218218218218, 0.8228228228228228, 0.8238238238238238, 0.8248248248248248, 0.8258258258258259, 0.8268268268268268, 0.8278278278278278, 0.8288288288288288, 0.8298298298298298, 0.8308308308308309, 0.8318318318318318, 0.8328328328328328, 0.8338338338338338, 0.8348348348348348, 0.8358358358358359, 0.8368368368368369, 0.8378378378378378, 0.8388388388388388, 0.8398398398398398, 0.8408408408408409, 0.8418418418418419, 0.8428428428428428, 0.8438438438438438, 0.8448448448448448, 0.8458458458458459, 0.8468468468468469, 0.8478478478478478, 0.8488488488488488, 0.8498498498498498, 0.8508508508508509, 0.8518518518518519, 0.8528528528528528, 0.8538538538538538, 0.8548548548548548, 0.8558558558558559, 0.8568568568568569, 0.8578578578578578, 0.8588588588588588, 0.8598598598598598, 0.8608608608608609, 0.8618618618618619, 0.8628628628628628, 0.8638638638638638, 0.8648648648648649, 0.8658658658658659, 0.8668668668668669, 0.8678678678678678, 0.8688688688688688, 0.8698698698698699, 0.8708708708708709, 0.8718718718718719, 0.8728728728728729, 0.8738738738738738, 0.8748748748748749, 0.8758758758758759, 0.8768768768768769, 0.8778778778778779, 0.8788788788788788, 0.8798798798798799, 0.8808808808808809, 0.8818818818818819, 0.8828828828828829, 0.8838838838838838, 0.8848848848848849, 0.8858858858858859, 0.8868868868868869, 0.8878878878878879, 0.8888888888888888, 0.8898898898898899, 0.8908908908908909, 0.8918918918918919, 0.8928928928928929, 0.8938938938938938, 0.8948948948948949, 0.8958958958958959, 0.8968968968968969, 0.8978978978978979, 0.8988988988988988, 0.8998998998998999, 0.9009009009009009, 0.9019019019019019, 0.9029029029029029, 0.9039039039039038, 0.9049049049049049, 0.9059059059059059, 0.9069069069069069, 0.9079079079079079, 0.9089089089089089, 0.9099099099099099, 0.9109109109109109, 0.9119119119119119, 0.9129129129129129, 0.9139139139139139, 0.914914914914915, 0.9159159159159159, 0.9169169169169169, 0.9179179179179179, 0.9189189189189189, 0.91991991991992, 0.9209209209209209, 0.9219219219219219, 0.9229229229229229, 0.9239239239239239, 0.924924924924925, 0.9259259259259259, 0.9269269269269269, 0.9279279279279279, 0.9289289289289289, 0.92992992992993, 0.9309309309309309, 0.9319319319319319, 0.9329329329329329, 0.933933933933934, 0.934934934934935, 0.9359359359359359, 0.9369369369369369, 0.9379379379379379, 0.938938938938939, 0.93993993993994, 0.9409409409409409, 0.9419419419419419, 0.9429429429429429, 0.943943943943944, 0.944944944944945, 0.9459459459459459, 0.9469469469469469, 0.9479479479479479, 0.948948948948949, 0.94994994994995, 0.950950950950951, 0.9519519519519519, 0.9529529529529529, 0.953953953953954, 0.954954954954955, 0.955955955955956, 0.9569569569569569, 0.9579579579579579, 0.958958958958959, 0.95995995995996, 0.960960960960961, 0.9619619619619619, 0.9629629629629629, 0.963963963963964, 0.964964964964965, 0.965965965965966, 0.9669669669669669, 0.9679679679679679, 0.968968968968969, 0.96996996996997, 0.970970970970971, 0.9719719719719719, 0.9729729729729729, 0.973973973973974, 0.974974974974975, 0.975975975975976, 0.9769769769769769, 0.9779779779779779, 0.978978978978979, 0.97997997997998, 0.980980980980981, 0.9819819819819819, 0.9829829829829829, 0.983983983983984, 0.984984984984985, 0.985985985985986, 0.986986986986987, 0.9879879879879879, 0.988988988988989, 0.98998998998999, 0.990990990990991, 0.991991991991992, 0.992992992992993, 0.993993993993994, 0.994994994994995, 0.995995995995996, 0.996996996996997, 0.997997997997998, 0.998998998998999, 1.0], "c": [0.1, 0.10090090090090091, 0.1018018018018018, 0.10270270270270271, 0.10360360360360361, 0.1045045045045045, 0.10540540540540541, 0.10630630630630632, 0.10720720720720721, 0.10810810810810811, 0.10900900900900902, 0.10990990990990991, 0.11081081081081082, 0.11171171171171172, 0.11261261261261261, 0.11351351351351352, 0.11441441441441443, 0.11531531531531532, 0.11621621621621622, 0.11711711711711711, 0.11801801801801802, 0.11891891891891893, 0.11981981981981982, 0.12072072072072072, 0.12162162162162163, 0.12252252252252252, 0.12342342342342343, 0.12432432432432433, 0.12522522522522522, 0.12612612612612614, 0.12702702702702703, 0.12792792792792793, 0.12882882882882885, 0.12972972972972974, 0.13063063063063063, 0.13153153153153152, 0.13243243243243244, 0.13333333333333333, 0.13423423423423425, 0.13513513513513514, 0.13603603603603603, 0.13693693693693693, 0.13783783783783785, 0.13873873873873874, 0.13963963963963966, 0.14054054054054055, 0.14144144144144144, 0.14234234234234233, 0.14324324324324325, 0.14414414414414414, 0.14504504504504506, 0.14594594594594595, 0.14684684684684685, 0.14774774774774774, 0.14864864864864866, 0.14954954954954955, 0.15045045045045047, 0.15135135135135136, 0.15225225225225225, 0.15315315315315314, 0.15405405405405406, 0.15495495495495495, 0.15585585585585587, 0.15675675675675677, 0.15765765765765766, 0.15855855855855855, 0.15945945945945947, 0.16036036036036036, 0.16126126126126128, 0.16216216216216217, 0.16306306306306306, 0.16396396396396395, 0.16486486486486487, 0.16576576576576577, 0.16666666666666669, 0.16756756756756758, 0.16846846846846847, 0.16936936936936936, 0.17027027027027028, 0.17117117117117117, 0.1720720720720721, 0.17297297297297298, 0.17387387387387387, 0.17477477477477477, 0.17567567567567569, 0.17657657657657658, 0.1774774774774775, 0.1783783783783784, 0.17927927927927928, 0.18018018018018017, 0.1810810810810811, 0.18198198198198198, 0.1828828828828829, 0.1837837837837838, 0.18468468468468469, 0.18558558558558558, 0.1864864864864865, 0.1873873873873874, 0.1882882882882883, 0.1891891891891892, 0.1900900900900901, 0.19099099099099098, 0.1918918918918919, 0.1927927927927928, 0.1936936936936937, 0.1945945945945946, 0.1954954954954955, 0.1963963963963964, 0.1972972972972973, 0.1981981981981982, 0.19909909909909912, 0.2, 0.2009009009009009, 0.2018018018018018, 0.20270270270270271, 0.2036036036036036, 0.20450450450450453, 0.20540540540540542, 0.2063063063063063, 0.2072072072072072, 0.20810810810810812, 0.209009009009009, 0.20990990990990993, 0.21081081081081082, 0.21171171171171171, 0.2126126126126126, 0.21351351351351353, 0.21441441441441442, 0.21531531531531534, 0.21621621621621623, 0.21711711711711712, 0.218018018018018, 0.21891891891891893, 0.21981981981981982, 0.22072072072072074, 0.22162162162162163, 0.22252252252252253, 0.22342342342342342, 0.22432432432432434, 0.22522522522522523, 0.22612612612612612, 0.22702702702702704, 0.22792792792792793, 0.22882882882882882, 0.22972972972972974, 0.23063063063063063, 0.23153153153153153, 0.23243243243243245, 0.23333333333333334, 0.23423423423423423, 0.23513513513513515, 0.23603603603603604, 0.23693693693693693, 0.23783783783783785, 0.23873873873873874, 0.23963963963963963, 0.24054054054054055, 0.24144144144144145, 0.24234234234234234, 0.24324324324324326, 0.24414414414414415, 0.24504504504504504, 0.24594594594594596, 0.24684684684684685, 0.24774774774774774, 0.24864864864864866, 0.24954954954954955, 0.25045045045045045, 0.25135135135135134, 0.25225225225225223, 0.2531531531531531, 0.25405405405405407, 0.25495495495495496, 0.25585585585585585, 0.2567567567567568, 0.2576576576576577, 0.2585585585585586, 0.2594594594594595, 0.26036036036036037, 0.26126126126126126, 0.26216216216216215, 0.26306306306306304, 0.26396396396396393, 0.2648648648648649, 0.26576576576576577, 0.26666666666666666, 0.2675675675675676, 0.2684684684684685, 0.2693693693693694, 0.2702702702702703, 0.2711711711711712, 0.27207207207207207, 0.27297297297297296, 0.27387387387387385, 0.27477477477477474, 0.2756756756756757, 0.2765765765765766, 0.2774774774774775, 0.2783783783783784, 0.2792792792792793, 0.2801801801801802, 0.2810810810810811, 0.281981981981982, 0.2828828828828829, 0.28378378378378377, 0.28468468468468466, 0.28558558558558556, 0.2864864864864865, 0.2873873873873874, 0.2882882882882883, 0.28918918918918923, 0.2900900900900901, 0.290990990990991, 0.2918918918918919, 0.2927927927927928, 0.2936936936936937, 0.2945945945945946, 0.2954954954954955, 0.29639639639639637, 0.2972972972972973, 0.2981981981981982, 0.2990990990990991, 0.30000000000000004, 0.30090090090090094, 0.30180180180180183, 0.3027027027027027, 0.3036036036036036, 0.3045045045045045, 0.3054054054054054, 0.3063063063063063, 0.3072072072072072, 0.3081081081081081, 0.309009009009009, 0.3099099099099099, 0.31081081081081086, 0.31171171171171175, 0.31261261261261264, 0.31351351351351353, 0.3144144144144144, 0.3153153153153153, 0.3162162162162162, 0.3171171171171171, 0.318018018018018, 0.31891891891891894, 0.31981981981981983, 0.3207207207207207, 0.32162162162162167, 0.32252252252252256, 0.32342342342342345, 0.32432432432432434, 0.32522522522522523, 0.3261261261261261, 0.327027027027027, 0.3279279279279279, 0.3288288288288288, 0.32972972972972975, 0.33063063063063064, 0.33153153153153153, 0.3324324324324325, 0.33333333333333337, 0.33423423423423426, 0.33513513513513515, 0.33603603603603605, 0.33693693693693694, 0.33783783783783783, 0.3387387387387387, 0.3396396396396396, 0.34054054054054056, 0.34144144144144145, 0.34234234234234234, 0.3432432432432433, 0.3441441441441442, 0.3450450450450451, 0.34594594594594597, 0.34684684684684686, 0.34774774774774775, 0.34864864864864864, 0.34954954954954953, 0.3504504504504504, 0.3513513513513513, 0.3522522522522522, 0.3531531531531532, 0.3540540540540541, 0.354954954954955, 0.3558558558558559, 0.3567567567567568, 0.35765765765765767, 0.35855855855855856, 0.35945945945945945, 0.36036036036036034, 0.36126126126126124, 0.3621621621621621, 0.363063063063063, 0.363963963963964, 0.3648648648648649, 0.3657657657657658, 0.3666666666666667, 0.3675675675675676, 0.3684684684684685, 0.36936936936936937, 0.37027027027027026, 0.37117117117117115, 0.37207207207207205, 0.37297297297297294, 0.37387387387387383, 0.37477477477477483, 0.3756756756756757, 0.3765765765765766, 0.3774774774774775, 0.3783783783783784, 0.3792792792792793, 0.3801801801801802, 0.3810810810810811, 0.38198198198198197, 0.38288288288288286, 0.38378378378378375, 0.38468468468468464, 0.38558558558558564, 0.38648648648648654, 0.3873873873873874, 0.3882882882882883, 0.3891891891891892, 0.3900900900900901, 0.390990990990991, 0.3918918918918919, 0.3927927927927928, 0.39369369369369367, 0.39459459459459456, 0.39549549549549545, 0.39639639639639646, 0.39729729729729735, 0.39819819819819824, 0.39909909909909913, 0.4, 0.4009009009009009, 0.4018018018018018, 0.4027027027027027, 0.4036036036036036, 0.4045045045045045, 0.4054054054054054, 0.40630630630630626, 0.40720720720720727, 0.40810810810810816, 0.40900900900900905, 0.40990990990990994, 0.41081081081081083, 0.4117117117117117, 0.4126126126126126, 0.4135135135135135, 0.4144144144144144, 0.4153153153153153, 0.4162162162162162, 0.4171171171171171, 0.4180180180180181, 0.41891891891891897, 0.41981981981981986, 0.42072072072072075, 0.42162162162162165, 0.42252252252252254, 0.42342342342342343, 0.4243243243243243, 0.4252252252252252, 0.4261261261261261, 0.427027027027027, 0.4279279279279279, 0.4288288288288289, 0.4297297297297298, 0.4306306306306307, 0.43153153153153156, 0.43243243243243246, 0.43333333333333335, 0.43423423423423424, 0.43513513513513513, 0.436036036036036, 0.4369369369369369, 0.4378378378378378, 0.4387387387387387, 0.4396396396396397, 0.4405405405405406, 0.4414414414414415, 0.4423423423423424, 0.44324324324324327, 0.44414414414414416, 0.44504504504504505, 0.44594594594594594, 0.44684684684684683, 0.4477477477477477, 0.4486486486486486, 0.4495495495495495, 0.4504504504504505, 0.4513513513513514, 0.4522522522522523, 0.4531531531531532, 0.4540540540540541, 0.45495495495495497, 0.45585585585585586, 0.45675675675675675, 0.45765765765765765, 0.45855855855855854, 0.45945945945945943, 0.4603603603603603, 0.4612612612612613, 0.4621621621621622, 0.4630630630630631, 0.463963963963964, 0.4648648648648649, 0.4657657657657658, 0.4666666666666667, 0.46756756756756757, 0.46846846846846846, 0.46936936936936935, 0.47027027027027024, 0.47117117117117113, 0.47207207207207214, 0.472972972972973, 0.4738738738738739, 0.4747747747747748, 0.4756756756756757, 0.4765765765765766, 0.4774774774774775, 0.4783783783783784, 0.47927927927927927, 0.48018018018018016, 0.48108108108108105, 0.48198198198198194, 0.48288288288288295, 0.48378378378378384, 0.48468468468468473, 0.4855855855855856, 0.4864864864864865, 0.4873873873873874, 0.4882882882882883, 0.4891891891891892, 0.4900900900900901, 0.49099099099099097, 0.49189189189189186, 0.49279279279279276, 0.49369369369369376, 0.49459459459459465, 0.49549549549549554, 0.49639639639639643, 0.4972972972972973, 0.4981981981981982, 0.4990990990990991, 0.5, 0.5009009009009009, 0.5018018018018018, 0.5027027027027027, 0.5036036036036036, 0.5045045045045046, 0.5054054054054055, 0.5063063063063064, 0.5072072072072072, 0.5081081081081081, 0.509009009009009, 0.5099099099099099, 0.5108108108108108, 0.5117117117117117, 0.5126126126126126, 0.5135135135135135, 0.5144144144144144, 0.5153153153153154, 0.5162162162162163, 0.5171171171171172, 0.5180180180180181, 0.518918918918919, 0.5198198198198198, 0.5207207207207207, 0.5216216216216216, 0.5225225225225225, 0.5234234234234234, 0.5243243243243243, 0.5252252252252252, 0.5261261261261262, 0.5270270270270271, 0.527927927927928, 0.5288288288288289, 0.5297297297297298, 0.5306306306306307, 0.5315315315315315, 0.5324324324324324, 0.5333333333333333, 0.5342342342342342, 0.5351351351351351, 0.536036036036036, 0.536936936936937, 0.5378378378378379, 0.5387387387387388, 0.5396396396396397, 0.5405405405405406, 0.5414414414414415, 0.5423423423423424, 0.5432432432432432, 0.5441441441441441, 0.545045045045045, 0.5459459459459459, 0.5468468468468468, 0.5477477477477478, 0.5486486486486487, 0.5495495495495496, 0.5504504504504505, 0.5513513513513514, 0.5522522522522523, 0.5531531531531532, 0.5540540540540541, 0.554954954954955, 0.5558558558558558, 0.5567567567567567, 0.5576576576576576, 0.5585585585585586, 0.5594594594594595, 0.5603603603603604, 0.5612612612612613, 0.5621621621621622, 0.5630630630630631, 0.563963963963964, 0.5648648648648649, 0.5657657657657658, 0.5666666666666667, 0.5675675675675675, 0.5684684684684684, 0.5693693693693693, 0.5702702702702703, 0.5711711711711712, 0.5720720720720721, 0.572972972972973, 0.5738738738738739, 0.5747747747747748, 0.5756756756756757, 0.5765765765765766, 0.5774774774774775, 0.5783783783783784, 0.5792792792792792, 0.5801801801801801, 0.5810810810810811, 0.581981981981982, 0.5828828828828829, 0.5837837837837838, 0.5846846846846847, 0.5855855855855856, 0.5864864864864865, 0.5873873873873874, 0.5882882882882883, 0.5891891891891892, 0.5900900900900901, 0.590990990990991, 0.591891891891892, 0.5927927927927928, 0.5936936936936937, 0.5945945945945946, 0.5954954954954955, 0.5963963963963964, 0.5972972972972973, 0.5981981981981982, 0.5990990990990991, 0.6, 0.6009009009009009, 0.6018018018018018, 0.6027027027027027, 0.6036036036036035, 0.6045045045045044, 0.6054054054054054, 0.6063063063063063, 0.6072072072072072, 0.6081081081081081, 0.609009009009009, 0.6099099099099099, 0.6108108108108108, 0.6117117117117117, 0.6126126126126126, 0.6135135135135135, 0.6144144144144144, 0.6153153153153152, 0.6162162162162163, 0.6171171171171171, 0.618018018018018, 0.6189189189189189, 0.6198198198198198, 0.6207207207207207, 0.6216216216216216, 0.6225225225225225, 0.6234234234234234, 0.6243243243243243, 0.6252252252252252, 0.6261261261261261, 0.6270270270270271, 0.627927927927928, 0.6288288288288288, 0.6297297297297297, 0.6306306306306306, 0.6315315315315315, 0.6324324324324324, 0.6333333333333333, 0.6342342342342342, 0.6351351351351351, 0.636036036036036, 0.6369369369369369, 0.6378378378378379, 0.6387387387387388, 0.6396396396396397, 0.6405405405405405, 0.6414414414414414, 0.6423423423423423, 0.6432432432432432, 0.6441441441441441, 0.645045045045045, 0.6459459459459459, 0.6468468468468468, 0.6477477477477477, 0.6486486486486487, 0.6495495495495496, 0.6504504504504505, 0.6513513513513514, 0.6522522522522523, 0.6531531531531531, 0.654054054054054, 0.6549549549549549, 0.6558558558558558, 0.6567567567567567, 0.6576576576576576, 0.6585585585585585, 0.6594594594594595, 0.6603603603603604, 0.6612612612612613, 0.6621621621621622, 0.6630630630630631, 0.663963963963964, 0.6648648648648648, 0.6657657657657657, 0.6666666666666666, 0.6675675675675675, 0.6684684684684684, 0.6693693693693693, 0.6702702702702703, 0.6711711711711712, 0.6720720720720721, 0.672972972972973, 0.6738738738738739, 0.6747747747747748, 0.6756756756756757, 0.6765765765765765, 0.6774774774774774, 0.6783783783783783, 0.6792792792792792, 0.6801801801801801, 0.6810810810810811, 0.681981981981982, 0.6828828828828829, 0.6837837837837838, 0.6846846846846847, 0.6855855855855856, 0.6864864864864865, 0.6873873873873874, 0.6882882882882883, 0.6891891891891891, 0.69009009009009, 0.6909909909909909, 0.6918918918918919, 0.6927927927927928, 0.6936936936936937, 0.6945945945945946, 0.6954954954954955, 0.6963963963963964, 0.6972972972972973, 0.6981981981981982, 0.6990990990990991, 0.7, 0.7009009009009008, 0.7018018018018017, 0.7027027027027027, 0.7036036036036036, 0.7045045045045045, 0.7054054054054054, 0.7063063063063063, 0.7072072072072072, 0.7081081081081081, 0.709009009009009, 0.7099099099099099, 0.7108108108108108, 0.7117117117117117, 0.7126126126126126, 0.7135135135135136, 0.7144144144144144, 0.7153153153153153, 0.7162162162162162, 0.7171171171171171, 0.718018018018018, 0.7189189189189189, 0.7198198198198198, 0.7207207207207207, 0.7216216216216216, 0.7225225225225225, 0.7234234234234234, 0.7243243243243244, 0.7252252252252253, 0.7261261261261261, 0.727027027027027, 0.7279279279279279, 0.7288288288288288, 0.7297297297297297, 0.7306306306306306, 0.7315315315315315, 0.7324324324324324, 0.7333333333333333, 0.7342342342342342, 0.7351351351351352, 0.7360360360360361, 0.736936936936937, 0.7378378378378379, 0.7387387387387387, 0.7396396396396396, 0.7405405405405405, 0.7414414414414414, 0.7423423423423423, 0.7432432432432432, 0.7441441441441441, 0.745045045045045, 0.745945945945946, 0.7468468468468469, 0.7477477477477478, 0.7486486486486487, 0.7495495495495496, 0.7504504504504504, 0.7513513513513513, 0.7522522522522522, 0.7531531531531531, 0.754054054054054, 0.7549549549549549, 0.7558558558558558, 0.7567567567567568, 0.7576576576576577, 0.7585585585585586, 0.7594594594594595, 0.7603603603603604, 0.7612612612612613, 0.7621621621621621, 0.763063063063063, 0.7639639639639639, 0.7648648648648648, 0.7657657657657657, 0.7666666666666666, 0.7675675675675676, 0.7684684684684685, 0.7693693693693694, 0.7702702702702703, 0.7711711711711712, 0.7720720720720721, 0.772972972972973, 0.7738738738738739, 0.7747747747747747, 0.7756756756756756, 0.7765765765765765, 0.7774774774774774, 0.7783783783783784, 0.7792792792792793, 0.7801801801801802, 0.7810810810810811, 0.781981981981982, 0.7828828828828829, 0.7837837837837838, 0.7846846846846847, 0.7855855855855856, 0.7864864864864864, 0.7873873873873873, 0.7882882882882882, 0.7891891891891892, 0.7900900900900901, 0.790990990990991, 0.7918918918918919, 0.7927927927927928, 0.7936936936936937, 0.7945945945945946, 0.7954954954954955, 0.7963963963963964, 0.7972972972972973, 0.7981981981981981, 0.799099099099099, 0.7999999999999999, 0.8009009009009009, 0.8018018018018018, 0.8027027027027027, 0.8036036036036036, 0.8045045045045045, 0.8054054054054054, 0.8063063063063063, 0.8072072072072072, 0.8081081081081081, 0.809009009009009, 0.8099099099099099, 0.8108108108108107, 0.8117117117117117, 0.8126126126126126, 0.8135135135135135, 0.8144144144144144, 0.8153153153153153, 0.8162162162162162, 0.8171171171171171, 0.818018018018018, 0.8189189189189189, 0.8198198198198198, 0.8207207207207207, 0.8216216216216216, 0.8225225225225226, 0.8234234234234235, 0.8243243243243243, 0.8252252252252252, 0.8261261261261261, 0.827027027027027, 0.8279279279279279, 0.8288288288288288, 0.8297297297297297, 0.8306306306306306, 0.8315315315315315, 0.8324324324324324, 0.8333333333333334, 0.8342342342342343, 0.8351351351351352, 0.836036036036036, 0.8369369369369369, 0.8378378378378378, 0.8387387387387387, 0.8396396396396396, 0.8405405405405405, 0.8414414414414414, 0.8423423423423423, 0.8432432432432432, 0.8441441441441442, 0.8450450450450451, 0.845945945945946, 0.8468468468468469, 0.8477477477477477, 0.8486486486486486, 0.8495495495495495, 0.8504504504504504, 0.8513513513513513, 0.8522522522522522, 0.8531531531531531, 0.854054054054054, 0.854954954954955, 0.8558558558558559, 0.8567567567567568, 0.8576576576576577, 0.8585585585585586, 0.8594594594594595, 0.8603603603603603, 0.8612612612612612, 0.8621621621621621, 0.863063063063063, 0.8639639639639639, 0.8648648648648648, 0.8657657657657658, 0.8666666666666667, 0.8675675675675676, 0.8684684684684685, 0.8693693693693694, 0.8702702702702703, 0.8711711711711712, 0.872072072072072, 0.8729729729729729, 0.8738738738738738, 0.8747747747747747, 0.8756756756756756, 0.8765765765765766, 0.8774774774774775, 0.8783783783783784, 0.8792792792792793, 0.8801801801801802, 0.8810810810810811, 0.881981981981982, 0.8828828828828829, 0.8837837837837837, 0.8846846846846846, 0.8855855855855855, 0.8864864864864864, 0.8873873873873874, 0.8882882882882883, 0.8891891891891892, 0.8900900900900901, 0.890990990990991, 0.8918918918918919, 0.8927927927927928, 0.8936936936936937, 0.8945945945945946, 0.8954954954954955, 0.8963963963963963, 0.8972972972972972, 0.8981981981981982, 0.8990990990990991, 0.9, 0.9009009009009009, 0.9018018018018018, 0.9027027027027027, 0.9036036036036036, 0.9045045045045045, 0.9054054054054054, 0.9063063063063063, 0.9072072072072072, 0.908108108108108, 0.909009009009009, 0.9099099099099099, 0.9108108108108108, 0.9117117117117117, 0.9126126126126126, 0.9135135135135135, 0.9144144144144144, 0.9153153153153153, 0.9162162162162162, 0.9171171171171171, 0.918018018018018, 0.9189189189189189, 0.9198198198198199, 0.9207207207207208, 0.9216216216216216, 0.9225225225225225, 0.9234234234234234, 0.9243243243243243, 0.9252252252252252, 0.9261261261261261, 0.927027027027027, 0.9279279279279279, 0.9288288288288288, 0.9297297297297297, 0.9306306306306307, 0.9315315315315316, 0.9324324324324325, 0.9333333333333333, 0.9342342342342342, 0.9351351351351351, 0.936036036036036, 0.9369369369369369, 0.9378378378378378, 0.9387387387387387, 0.9396396396396396, 0.9405405405405405, 0.9414414414414415, 0.9423423423423424, 0.9432432432432433, 0.9441441441441442, 0.945045045045045, 0.9459459459459459, 0.9468468468468468, 0.9477477477477477, 0.9486486486486486, 0.9495495495495495, 0.9504504504504504, 0.9513513513513513, 0.9522522522522523, 0.9531531531531532, 0.9540540540540541, 0.954954954954955, 0.9558558558558559, 0.9567567567567568, 0.9576576576576576, 0.9585585585585585, 0.9594594594594594, 0.9603603603603603, 0.9612612612612612, 0.9621621621621621, 0.9630630630630631, 0.963963963963964, 0.9648648648648649, 0.9657657657657658, 0.9666666666666667, 0.9675675675675676, 0.9684684684684685, 0.9693693693693693, 0.9702702702702702, 0.9711711711711711, 0.972072072072072, 0.9729729729729729, 0.9738738738738739, 0.9747747747747748, 0.9756756756756757, 0.9765765765765766, 0.9774774774774775, 0.9783783783783784, 0.9792792792792793, 0.9801801801801802, 0.981081081081081, 0.9819819819819819, 0.9828828828828828, 0.9837837837837837, 0.9846846846846847, 0.9855855855855856, 0.9864864864864865, 0.9873873873873874, 0.9882882882882883, 0.9891891891891892, 0.9900900900900901, 0.990990990990991, 0.9918918918918919, 0.9927927927927928, 0.9936936936936936, 0.9945945945945945, 0.9954954954954955, 0.9963963963963964, 0.9972972972972973, 0.9981981981981982, 0.9990990990990991, 1.0], "expected": [1.049205868725707, 1.0495362791565688, 1.0498646125879032, 1.0501908680272178, 1.0505150445046136, 1.0508371410727924, 1.0511571568070615, 1.0514750908053412, 1.0517909421881666, 1.0521047100986949, 1.0524163937027051, 1.0527259921886045, 1.0530335047674284, 1.0533389306728425, 1.0536422691611442, 1.0539435195112627, 1.0542426810247587, 1.0545397530258227, 1.0548347348612757, 1.0551276259005646, 1.0554184255357617, 1.0557071331815593, 1.0559937482752673, 1.0562782702768083, 1.0565606986687122, 1.05684103295611, 1.0571192726667291, 1.0573954173508844, 1.0576694665814717, 1.0579414199539594, 1.0582112770863799, 1.0584790376193198, 1.05874470121591, 1.0590082675618153, 1.0592697363652233, 1.0595291073568323, 1.0597863802898386, 1.0600415549399254, 1.0602946311052457, 1.0605456086064118, 1.0607944872864785, 1.061041267010928, 1.0612859476676537, 1.0615285291669458, 1.0617690114414706, 1.062007394446256, 1.0622436781586706, 1.062477862578407, 1.062709947727461, 1.062939933650113, 1.0631678204129047, 1.063393608104621, 1.0636172968362656, 1.063838886741041, 1.0640583779743238, 1.0642757707136414, 1.06449106515865, 1.0647042615311062, 1.0649153600748456, 1.0651243610557544, 1.0653312647617443, 1.065536071502726, 1.0657387816105799, 1.065939395439131, 1.066137913364117, 1.0663343357831625, 1.0665286631157453, 1.0667208958031718, 1.0669110343085404, 1.067099079116714, 1.0672850307342872, 1.0674688896895526, 1.0676506565324706, 1.067830331834633, 1.0680079161892304, 1.068183410211019, 1.0683568145362827, 1.0685281298227989, 1.0686973567498033, 1.068864496017952, 1.0690295483492844, 1.0691925144871866, 1.0693533951963512, 1.0695121912627412, 1.0696689034935487, 1.069823532717156, 1.0699760797830944, 1.0701265455620055, 1.070274930945598, 1.0704212368466068, 1.0705654641987505, 1.070707613956689, 1.0708476870959789, 1.0709856846130321, 1.0711216075250705, 1.0712554568700794, 1.0713872337067658, 1.0715169391145096, 1.0716445741933194, 1.0717701400637853, 1.0718936378670316, 1.0720150687646692, 1.0721344339387482, 1.0722517345917084, 1.072366971946331, 1.0724801472456886, 1.0725912617530966, 1.0727003167520621, 1.072807313546231, 1.0729122534593416, 1.0730151378351682, 1.0731159680374718, 1.0732147454499452, 1.073311471476163, 1.0734061475395253, 1.0734987750832063, 1.073589355570098, 1.073677890482756, 1.0737643813233453, 1.0738488296135835, 1.0739312368946854, 1.0740116047273072, 1.0740899346914885, 1.0741662283865956, 1.0742404874312634, 1.07431271346334, 1.074382908139823, 1.0744510731368064, 1.0745172101494183, 1.0745813208917607, 1.074643407096852, 1.0747034705165648, 1.0747615129215657, 1.0748175361012537, 1.0748715418636998, 1.0749235320355839, 1.0749735084621332, 1.0750214730070595, 1.075067427552497, 1.0751113739989366, 1.0751533142651655, 1.0751932502882005, 1.0752311840232245, 1.0752671174435224, 1.0753010525404156, 1.0753329913231964, 1.0753629358190615, 1.0753908880730478, 1.0754168501479653, 1.0754408241243285, 1.075462812100292, 1.0754828161915821, 1.0755008385314289, 1.0755168812704976, 1.075530946576822, 1.075543036635734, 1.0755531536497966, 1.075561299838733, 1.0755674774393575, 1.0755716887055062, 1.0755739359079666, 1.0755742213344068, 1.0755725472893054, 1.0755689160938808, 1.0755633300860188, 1.0755557916202023, 1.0755463030674384, 1.0755348668151876, 1.0755214852672907, 1.075506160843896, 1.075488895981388, 1.075469693132311, 1.0754485547653008, 1.0754254833650054, 1.0754004814320162, 1.075373551482791, 1.0753446960495805, 1.075313917680353, 1.0752812189387222, 1.075246602403869, 1.0752100706704677, 1.0751716263486113, 1.0751312720637343, 1.0750890104565387, 1.075044844182916, 1.0749987759138715, 1.0749508083354495, 1.0749009441486537, 1.074849186069373, 1.0747955368283026, 1.0747399991708677, 1.0746825758571452, 1.0746232696617877, 1.0745620833739438, 1.074499019797181, 1.074434081749408, 1.074367272062795, 1.0742985935836968, 1.0742280491725729, 1.0741556417039093, 1.0740813740661392, 1.0740052491615641, 1.073927269906275, 1.0738474392300714, 1.0737657600763837, 1.073682235402192, 1.0735968681779466, 1.0735096613874886, 1.0734206180279693, 1.0733297411097704, 1.0732370336564225, 1.0731424987045253, 1.0730461393036685, 1.0729479585163482, 1.072847959417888, 1.0727461450963576, 1.072642518652492, 1.07253708319961, 1.072429841863533, 1.0723207977825033, 1.0722099541071042, 1.0720973140001764, 1.0719828806367382, 1.071866657203902, 1.0717486469007946, 1.071628852938474, 1.0715072785398478, 1.071383926939591, 1.0712588013840645, 1.0711319051312331, 1.0710032414505817, 1.0708728136230352, 1.070740624940875, 1.0706066787076582, 1.0704709782381328, 1.0703335268581557, 1.0701943279046133, 1.0700533847253348, 1.069910700679013, 1.0697662791351192, 1.0696201234738232, 1.0694722370859069, 1.0693226233726871, 1.0691712857459268, 1.0690182276277573, 1.0688634524505933, 1.0687069636570496, 1.0685487646998604, 1.0683888590417951, 1.068227250155576, 1.0680639415237956, 1.0678989366388334, 1.067732239002775, 1.0675638521273259, 1.067393779533732, 1.0672220247526967, 1.067048591324296, 1.0668734827978976, 1.0666967027320784, 1.0665182546945409, 1.0663381422620308, 1.0661563690202567, 1.065972938563803, 1.0657878544960517, 1.0656011204290992, 1.0654127399836715, 1.0652227167890442, 1.06503105448296, 1.0648377567115457, 1.0646428271292296, 1.0644462693986614, 1.0642480871906281, 1.0640482841839727, 1.0638468640655123, 1.0636438305299565, 1.063439187279825, 1.063232938025367, 1.063025086484477, 1.0628156363826164, 1.0626045914527307, 1.0623919554351664, 1.0621777320775925, 1.0619619251349175, 1.0617445383692083, 1.0615255755496105, 1.061305040452265, 1.0610829368602295, 1.0608592685633964, 1.0606340393584126, 1.0604072530485984, 1.0601789134438682, 1.0599490243606482, 1.0597175896217985, 1.0594846130565307, 1.05925009850033, 1.059014049794873, 1.0587764707879501, 1.0585373653333845, 1.0582967372909533, 1.0580545905263072, 1.0578109289108923, 1.0575657563218706, 1.0573190766420404, 1.0570708937597584, 1.0568212115688598, 1.056570033968581, 1.05631736486348, 1.0560632081633585, 1.055807567783184, 1.0555504476430113, 1.055291851667905, 1.0550317837878616, 1.0547702479377317, 1.0545072480571431, 1.0542427880904233, 1.0539768719865217, 1.0537095036989341, 1.0534406871856252, 1.0531704264089512, 1.0528987253355844, 1.052625587936437, 1.052351018186584, 1.0520750200651885, 1.0517975975554252, 1.051518754644404, 1.0512384953230973, 1.0509568235862616, 1.050673743432364, 1.050389258863509, 1.0501033738853596, 1.0498160925070668, 1.0495274187411936, 1.0492373566036413, 1.0489459101135747, 1.0486530832933496, 1.0483588801684391, 1.0480633047673598, 1.047766361121598, 1.0474680532655385, 1.047168385236391, 1.046867361074118, 1.0465649848213607, 1.046261260523369, 1.0459561922279297, 1.0456497839852925, 1.0453420398481013, 1.0450329638713212, 1.044722560112168, 1.044410832630036, 1.0440977854864315, 1.0437834227448968, 1.0434677484709443, 1.0431507667319841, 1.042832481597256, 1.0425128971377597, 1.0421920174261823, 1.0418698465368355, 1.04154638854558, 1.041221647529763, 1.0408956275681438, 1.0405683327408322, 1.0402397671292136, 1.0399099348158882, 1.0395788398845967, 1.0392464864201603, 1.0389128785084067, 1.0385780202361092, 1.0382419156909164, 1.0379045689612871, 1.0375659841364258, 1.0372261653062134, 1.0368851165611455, 1.0365428419922649, 1.036199345691097, 1.0358546317495851, 1.035508704260026, 1.035161567315005, 1.0348132250073334, 1.034463681429982, 1.0341129406760214, 1.0337610068385543, 1.033407884010657, 1.0330535762853115, 1.0326980877553484, 1.03234142251338, 1.0319835846517422, 1.031624578262428, 1.0312644074370318, 1.0309030762666826, 1.0305405888419872, 1.0301769492529667, 1.029812161588997, 1.02944622993875, 1.0290791583901309, 1.0287109510302201, 1.0283416119452147, 1.0279711452203664, 1.0275995549399262, 1.027226845187083, 1.0268530200439066, 1.0264780835912886, 1.0261020399088858, 1.0257248930750629, 1.0253466471668315, 1.0249673062597993, 1.024586874428107, 1.0242053557443773, 1.0238227542796534, 1.0234390741033488, 1.0230543192831854, 1.022668493885144, 1.0222816019734047, 1.0218936476102949, 1.0215046348562322, 1.021114567769673, 1.0207234504070557, 1.0203312868227488, 1.0199380810689966, 1.019543837195866, 1.019148559251194, 1.0187522512805336, 1.0183549173271043, 1.0179565614317365, 1.0175571876328224, 1.0171567999662625, 1.0167554024654166, 1.0163529991610487, 1.0159495940812824, 1.0155451912515432, 1.0151397946945158, 1.0147334084300872, 1.0143260364753028, 1.013917682844312, 1.013508351548325, 1.0130980465955572, 1.012686771991187, 1.012274531737302, 1.0118613298328571, 1.0114471702736207, 1.0110320570521312, 1.0106159941576482, 1.010198985576107, 1.0097810352900711, 1.0093621472786853, 1.008942325517631, 1.0085215739790803, 1.0080998966316486, 1.0076772974403527, 1.0072537803665633, 1.0068293493679614, 1.0064040083984944, 1.0059777614083296, 1.0055506123438152, 1.00512256514743, 1.0046936237577486, 1.0042637921093895, 1.0038330741329804, 1.0034014737551091, 1.0029689948982876, 1.002535641480904, 1.002101417417187, 1.0016663266171593, 1.001230372986601, 1.0007935604270053, 1.0003558928355407, 0.9999173741050091, 0.999478008123807, 0.9990377987758848, 0.9985967499407089, 0.9981548654932212, 0.9977121493038009, 0.9972686052382265, 0.9968242371576361, 0.9963790489184916, 0.9959330443725379, 0.9954862273667696, 0.9950386017433893, 0.9945901713397752, 0.9941409399884399, 0.993690911516999, 0.9932400897481294, 0.9927884784995399, 0.9923360815839294, 0.9918829028089569, 0.9914289459772019, 0.9909742148861347, 0.9905187133280772, 0.990062445090171, 0.9896054139543442, 0.989147623697276, 0.9886890780903648, 0.9882297808996939, 0.9877697358859993, 0.9873089468046378, 0.9868474174055527, 0.9863851514332439, 0.9859221526267352, 0.9854584247195427, 0.9849939714396441, 0.9845287965094458, 0.9840629036457561, 0.9835962965597501, 0.9831289789569437, 0.9826609545371597, 0.9821922269945023, 0.9817228000173234, 0.981252677288198, 0.9807818624838901, 0.9803103592753297, 0.9798381713275796, 0.9793653022998098, 0.9788917558452697, 0.9784175356112593, 0.9779426452391029, 0.9774670883641209, 0.9769908686156046, 0.9765139896167878, 0.976036454984822, 0.9755582683307491, 0.9750794332594764, 0.9745999533697507, 0.9741198322541329, 0.9736390734989733, 0.9731576806843868, 0.9726756573842263, 0.9721930071660628, 0.9717097335911561, 0.9712258402144356, 0.9707413305844725, 0.970256208243461, 0.9697704767271899, 0.9692841395650256, 0.9687972002798834, 0.9683096623882113, 0.9678215293999618, 0.9673328048185754, 0.966843492140955, 0.9663535948574471, 0.9658631164518189, 0.9653720604012378, 0.9648804301762514, 0.9643882292407666, 0.9638954610520287, 0.9634021290606033, 0.962908236710354, 0.9624137874384248, 0.96191878467522, 0.9614232318443849, 0.9609271323627891, 0.9604304896405037, 0.959933307080788, 0.9594355880800659, 0.958937336027914, 0.9584385543070382, 0.9579392462932607, 0.9574394153554994, 0.9569390648557542, 0.9564381981490861, 0.9559368185836057, 0.9554349295004513, 0.9549325342337779, 0.9544296361107375, 0.953926238451466, 0.9534223445690659, 0.9529179577695923, 0.9524130813520373, 0.951907718608315, 0.9514018728232482, 0.9508955472745517, 0.9503887452328204, 0.9498814699615143, 0.9493737247169445, 0.9488655127482607, 0.9483568372974369, 0.9478477015992585, 0.9473381088813103, 0.946828062363962, 0.946317565260358, 0.9458066207764025, 0.9452952321107508, 0.9447834024547932, 0.9442711349926477, 0.9437584329011447, 0.9432452993498196, 0.9427317375008973, 0.9422177505092857, 0.9417033415225619, 0.9411885136809631, 0.9406732701173767, 0.9401576139573289, 0.939641548318976, 0.9391250763130945, 0.9386082010430712, 0.9380909256048945, 0.9375732530871441, 0.937055186570984, 0.9365367291301524, 0.9360178838309534, 0.9354986537322492, 0.9349790418854506, 0.9344590513345117, 0.9339386851159183, 0.9334179462586846, 0.932896837784342, 0.9323753627069347, 0.93185352403301, 0.9313313247616152, 0.9308087678842858, 0.9302858563850449, 0.9297625932403911, 0.929238981419297, 0.9287150238832002, 0.9281907235859995, 0.9276660834740479, 0.9271411064861478, 0.9266157955535456, 0.926090153599927, 0.9255641835414112, 0.925037888286547, 0.9245112707363081, 0.9239843337840877, 0.9234570803156963, 0.922929513209355, 0.9224016353356941, 0.9218734495577471, 0.9213449587309498, 0.9208161657031335, 0.9202870733145254, 0.919757684397742, 0.9192280017777892, 0.9186980282720572, 0.9181677666903196, 0.9176372198347292, 0.9171063904998185, 0.916575281472494, 0.9160438955320369, 0.9155122354501003, 0.9149803039907071, 0.9144481039102492, 0.9139156379574869, 0.9133829088735453, 0.9128499193919148, 0.9123166722384506, 0.9117831701313714, 0.9112494157812577, 0.9107154118910533, 0.9101811611560637, 0.9096466662639555, 0.9091119298947583, 0.9085769547208621, 0.9080417434070209, 0.9075062986103489, 0.9069706229803255, 0.9064347191587915, 0.9058985897799543, 0.9053622374703851, 0.9048256648490229, 0.904288874527173, 0.9037518691085105, 0.9032146511890814, 0.9026772233573028, 0.9021395881939664, 0.9016017482722397, 0.9010637061576675, 0.9005254644081747, 0.8999870255740684, 0.8994483921980404, 0.8989095668151694, 0.8983705519529235, 0.8978313501311643, 0.8972919638621479, 0.8967523956505294, 0.896212647993365, 0.8956727233801164, 0.8951326242926527, 0.894592353205256, 0.8940519125846221, 0.8935113048898684, 0.8929705325725324, 0.892429598076581, 0.8918885038384109, 0.891347252286855, 0.8908058458431852, 0.8902642869211177, 0.8897225779268177, 0.8891807212589037, 0.8886387193084516, 0.8880965744590016, 0.8875542890865608, 0.8870118655596102, 0.8864693062391091, 0.8859266134785003, 0.8853837896237154, 0.8848408370131821, 0.8842977579778271, 0.8837545548410831, 0.8832112299188962, 0.8826677855197288, 0.8821242239445688, 0.8815805474869327, 0.8810367584328752, 0.8804928590609913, 0.8799488516424279, 0.8794047384408862, 0.8788605217126303, 0.8783162037064929, 0.8777717866638837, 0.8772272728187943, 0.8766826643978078, 0.8761379636201033, 0.8755931726974647, 0.8750482938342874, 0.8745033292275857, 0.8739582810670014, 0.8734131515348095, 0.8728679428059275, 0.8723226570479223, 0.8717772964210181, 0.8712318630781049, 0.8706863591647461, 0.870140786819186, 0.8695951481723596, 0.8690494453478989, 0.8685036804621431, 0.8679578556241457, 0.8674119729356844, 0.866866034491267, 0.8663200423781439, 0.8657739986763134, 0.8652279054585335, 0.8646817647903275, 0.8641355787299961, 0.863589349328625, 0.863043078630094, 0.8624967686710865, 0.8619504214810988, 0.8614040390824492, 0.8608576234902882, 0.860311176712607, 0.8597647007502479, 0.8592181975969131, 0.858671669239175, 0.8581251176564875, 0.8575785448211914, 0.85703195269853, 0.8564853432466544, 0.855938718416637, 0.8553920801524787, 0.854845430391122, 0.8542987710624582, 0.853752104089341, 0.8532054313875934, 0.852658754866022, 0.8521120764264235, 0.8515653979635989, 0.8510187213653614, 0.8504720485125482, 0.8499253812790322, 0.849378721531731, 0.8488320711306191, 0.8482854319287377, 0.8477388057722073, 0.847192194500237, 0.8466455999451367, 0.8460990239323284, 0.845552468280356, 0.8450059348008983, 0.8444594252987796, 0.8439129415719802, 0.8433664854116498, 0.8428200586021167, 0.8422736629209014, 0.8417273001387262, 0.841180972019529, 0.8406346803204726, 0.8400884267919593, 0.8395422131776383, 0.8389960412144236, 0.8384499126324999, 0.837903829155338, 0.8373577924997059, 0.8368118043756806, 0.8362658664866607, 0.8357199805293776, 0.835174148193908, 0.8346283711636866, 0.8340826511155184, 0.8335369897195889, 0.8329913886394796, 0.832445849532178, 0.8319003740480909, 0.8313549638310554, 0.8308096205183553, 0.830264345740728, 0.8297191411223817, 0.8291740082810051, 0.828628948827782, 0.8280839643674025, 0.8275390564980766, 0.8269942268115454, 0.826449476893097, 0.8259048083215751, 0.8253602226693957, 0.8248157215025572, 0.824271306380655, 0.8237269788568927, 0.8231827404780976, 0.822638592784731, 0.8220945373109025, 0.8215505755843835, 0.8210067091266192, 0.8204629394527424, 0.8199192680715862, 0.8193756964856977, 0.8188322261913507, 0.8182888586785589, 0.8177455954310893, 0.8172024379264758, 0.8166593876360319, 0.8161164460248647, 0.8155736145518865, 0.8150308946698315, 0.8144882878252654, 0.8139457954586017, 0.8134034190041133, 0.8128611598899469, 0.8123190195381363, 0.8117769993646162, 0.8112351007792347, 0.8106933251857678, 0.8101516739819331, 0.8096101485594018, 0.8090687503038153, 0.808527480594795, 0.8079863408059593, 0.8074453323049354, 0.8069044564533735, 0.8063637146069607, 0.8058231081154339, 0.8052826383225945, 0.8047423065663222, 0.804202114178587, 0.8036620624854659, 0.8031221528071536, 0.8025823864579793, 0.802042764746417, 0.8015032889751036, 0.8009639604408485, 0.8004247804346507, 0.7998857502417108, 0.7993468711414462, 0.7988081444075033, 0.7982695713077727, 0.7977311531044035, 0.7971928910538155, 0.7966547864067152, 0.7961168404081077, 0.7955790542973128, 0.7950414293079769, 0.7945039666680884, 0.7939666675999912, 0.7934295333203988, 0.7928925650404076, 0.7923557639655127, 0.7918191312956192, 0.7912826682250594, 0.7907463759426039, 0.7902102556314777, 0.7896743084693728, 0.7891385356284638, 0.7886029382754203, 0.7880675175714221, 0.7875322746721726, 0.7869972107279136, 0.7864623268834383, 0.7859276242781067, 0.7853931040458584, 0.7848587673152275, 0.7843246152093563, 0.7837906488460095, 0.7832568693375884, 0.7827232777911449, 0.7821898753083953, 0.7816566629857349, 0.7811236419142517, 0.7805908131797404, 0.7800581778627178, 0.7795257370384339, 0.7789934917768898, 0.778461443142848, 0.7779295921958505, 0.7773979399902287, 0.776866487575121, 0.7763352359944844, 0.7758041862871105, 0.7752733394866375, 0.7747426966215664, 0.7742122587152737, 0.7736820267860259, 0.7731520018469937, 0.7726221849062654, 0.772092576966862, 0.7715631790267502, 0.7710339920788573, 0.7705050171110843, 0.7699762551063214, 0.7694477070424603, 0.7689193738924094, 0.7683912566241075, 0.7678633562005375, 0.7673356735797411, 0.7668082097148323, 0.7662809655540107, 0.7657539420405773, 0.7652271401129469, 0.7647005607046626, 0.7641742047444099, 0.7636480731560303, 0.7631221668585354, 0.7625964867661217, 0.762071033788182, 0.7615458088293228, 0.7610208127893753, 0.7604960465634111, 0.7599715110417548, 0.759447207109999, 0.7589231356490173, 0.7583992975349789, 0.7578756936393612, 0.7573523248289658, 0.75682919196593, 0.7563062959077417, 0.755783637507254, 0.7552612176126968, 0.7547390370676931, 0.7542170967112708, 0.7536953973778776, 0.7531739398973939, 0.7526527250951482, 0.7521317537919274, 0.7516110268039954, 0.7510905449431018, 0.7505703090164992, 0.7500503198269549, 0.7495305781727656, 0.7490110848477706, 0.7484918406413649, 0.747972846338514, 0.7474541027197662, 0.7469356105612677, 0.7464173706347743, 0.7458993837076665, 0.7453816505429626, 0.7448641718993315, 0.744346948531107, 0.7438299811883017, 0.7433132706166187, 0.742796817557467, 0.7422806227479734, 0.741764686920998, 0.7412490108051445, 0.740733595124777, 0.7402184406000301, 0.7397035479468252, 0.7391889178768817, 0.7386745510977321, 0.7381604483127322, 0.7376466102210795, 0.7371330375178208, 0.7366197308938697, 0.7361066910360178, 0.735593918626948, 0.7350814143452488, 0.7345691788654262, 0.7340572128579179, 0.7335455169891051, 0.7330340919213274, 0.7325229383128945, 0.7320120568180997, 0.7315014480872333, 0.7309911127665952, 0.730481051498508, 0.7299712649213302, 0.7294617536694692, 0.728952518373394, 0.7284435596596484, 0.7279348781508638, 0.7274264744657717, 0.7269183492192179, 0.7264105030221738, 0.7259029364817504, 0.7253956502012102, 0.7248886447799805, 0.7243819208136667, 0.7238754788940641, 0.7233693196091713, 0.7228634435432019, 0.7223578512765991, 0.7218525433860464, 0.7213475204444817]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js new file mode 100644 index 000000000000..2415be181ac8 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js @@ -0,0 +1,188 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var factory = require( './../lib/factory.js' ); + + +// FIXTURES // + +var smallC = require( './fixtures/python/small_c.json' ); +var mediumC = require( './fixtures/python/medium_c.json' ); +var largeC = require( './fixtures/python/large_c.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof factory, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns a function', function test( t ) { + var pdf = factory( 1.0 ); + t.equal( typeof pdf, 'function', 'returns a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the created function returns `NaN`', function test( t ) { + var pdf; + var y; + + pdf = factory( 1.0 ); + y = pdf( NaN ); + t.equal( isnan( y ), true, 'returns expected value' ); + + pdf = factory( NaN ); + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + pdf = factory( NaN ); + y = pdf( NaN ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided `c <= 0`, the created function always returns `NaN`', function test( t ) { + var pdf; + var y; + + pdf = factory( -1.0 ); + + y = pdf( 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 0.5 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a `x` outside of `[0,1]`, the created function always returns `NaN`', function test( t ) { + var pdf; + var y; + + pdf = factory( 1.0 ); + + y = pdf( -1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( -0.5 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 1.5 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 10.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the created function evaluates the pdf for `x` given small `c`', function test( t ) { + var expected; + var delta; + var pdf; + var tol; + var c; + var i; + var x; + var y; + + expected = smallC.expected; + x = smallC.x; + c = smallC.c; + for ( i = 0; i < x.length; i++ ) { + pdf = factory( c[i] ); + y = pdf( x[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c: '+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 3.9 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the created function evaluates the pdf for `x` given a medium `c`', function test( t ) { + var expected; + var delta; + var pdf; + var tol; + var c; + var i; + var x; + var y; + + expected = mediumC.expected; + x = mediumC.x; + c = mediumC.c; + for ( i = 0; i < x.length; i++ ) { + pdf = factory( c[i] ); + y = pdf( x[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c: '+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 1.9 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the created function evaluates the pdf for `x` given a large `c`', function test( t ) { + var expected; + var delta; + var pdf; + var tol; + var c; + var i; + var x; + var y; + + expected = largeC.expected; + x = largeC.x; + c = largeC.c; + for ( i = 0; i < x.length; i++ ) { + pdf = factory( c[i] ); + y = pdf( x[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c: '+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 2.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.js new file mode 100644 index 000000000000..6e251f419cb8 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var pdf = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof pdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'attached to the main export is a factory method for generating `pdf` functions', function test( t ) { + t.equal( typeof pdf.factory, 'function', 'exports a factory method' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js new file mode 100644 index 000000000000..ec9864d4fb80 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js @@ -0,0 +1,165 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var pdf = require( './../lib' ); + + +// FIXTURES // + +var smallC = require( './fixtures/python/small_c.json' ); +var mediumC = require( './fixtures/python/medium_c.json' ); +var largeC = require( './fixtures/python/large_c.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof pdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y; + + y = pdf( NaN, 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 0.0, NaN ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided `c <= 0`, the function returns `NaN`', function test( t ) { + var y; + + y = pdf( 0.0, 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 0.5, -1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( 1.0, NINF ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a `x` outside of `[0,1]`, the created function always returns `NaN`', function test( t ) { + var y; + + y = pdf( 2.0, 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( -0.5, 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( NINF, 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = pdf( PINF, 1.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function evaluates the pdf for `x` given small parameter `c`', function test( t ) { + var expected; + var delta; + var tol; + var x; + var c; + var y; + var i; + + expected = smallC.expected; + x = smallC.x; + c = smallC.c; + for ( i = 0; i < x.length; i++ ) { + y = pdf( x[i], c[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c:'+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 3.9 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the function evaluates the pdf for `x` given medium parameter `c`', function test( t ) { + var expected; + var delta; + var tol; + var x; + var c; + var y; + var i; + + expected = mediumC.expected; + x = mediumC.x; + c = mediumC.c; + for ( i = 0; i < x.length; i++ ) { + y = pdf( x[i], c[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c:'+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 1.9 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the function evaluates the pdf for `x` given large parameter `c`', function test( t ) { + var expected; + var delta; + var tol; + var x; + var c; + var y; + var i; + + expected = largeC.expected; + x = largeC.x; + c = largeC.c; + for ( i = 0; i < x.length; i++ ) { + y = pdf( x[i], c[i] ); + if ( y === expected[i] ) { + t.equal( y, expected[i], 'x: '+x[i]+'. c: '+c[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 2.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); From f8aa307f9ff3d1295a0b800953a312ee18ac7196 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 17 Feb 2025 21:18:50 -0800 Subject: [PATCH 03/12] feat: add docs, benchmarks and examples --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: passed - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../stats/base/dists/bradford/pdf/README.md | 163 ++++++++++++++++++ .../dists/bradford/pdf/benchmark/benchmark.js | 62 +++++++ .../pdf/docs/img/equation_bradford_pdf.svg | 50 ++++++ .../base/dists/bradford/pdf/docs/repl.txt | 69 ++++++++ .../dists/bradford/pdf/docs/types/index.d.ts | 121 +++++++++++++ .../dists/bradford/pdf/docs/types/test.ts | 98 +++++++++++ .../base/dists/bradford/pdf/examples/index.js | 34 ++++ .../base/dists/bradford/pdf/package.json | 69 ++++++++ .../pdf/test/fixtures/python/runner.py | 85 +++++++++ 9 files changed, 751 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/img/equation_bradford_pdf.svg create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/runner.py diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md new file mode 100644 index 000000000000..00bacf3ea281 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md @@ -0,0 +1,163 @@ + + +# Probability Density Function + +> [Bradford][bradford-distribution] distribution [probability density function][pdf] (PDF). + +
+ +The [probability density function][pdf] (PDF) for a [bradford][bradford-distribution] random variable is + + + +```math +f(x;c)=\frac{c}{(\ln(1+c)) (1 + cx)} +``` + + + + + +where `c` is the shape parameter of the distribution. The parameters must satisfy `0 <= x <= 1` and `c > 0`. + +
+ + + +
+ +## Usage + +```javascript +var pdf = require( '@stdlib/stats/base/dists/bradford/pdf' ); +``` + +#### pdf( x, c ) + +Evaluates the [probability density function][pdf] (PDF) for a [bradford][bradford-distribution] distribution with shape parameter `c` at a value `x`. + +```javascript +var y = pdf( 0.1, 0.1 ); +// returns ~1.039 + +y = pdf( 0.5, 5.0 ); +// returns ~0.797 + +y = pdf( 1.0, 10.0 ); +// returns ~0.379 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = pdf( NaN, 1.0 ); +// returns NaN + +y = pdf( 0.0, NaN ); +// returns NaN +``` + +If provided an input value `x` outside of the interval `[0,1]`, the function returns `NaN`. + +```javascript +var y = pdf( 2.0, 1.0 ); +// returns NaN + +y = pdf( -0.5, 1.0 ); +// returns NaN +``` + +If provided a shape parameter `c <= 0`, the function returns `NaN`. + +```javascript +var y = pdf( 0.0, 0.0 ); +// returns NaN + +y = pdf( 0.5, -1.0 ); +// returns NaN +``` + +#### pdf.factory( c ) + +Returns a `function` for evaluating the [PDF][pdf] of a [bradford][bradford-distribution] distribution with shape parameter `c`. + +```javascript +var myPDF = pdf.factory( 5.0 ); +var y = myPDF( 0.5 ); +// returns ~0.797 + +y = myPDF( 1.0 ); +// returns ~0.465 +``` + +
+ + + +
+ +## Examples + + + +```javascript +var randu = require( '@stdlib/random/base/randu' ); +var pdf = require( '@stdlib/stats/base/dists/bradford/pdf' ); + +var x; +var c; +var y; +var i; + +for ( i = 0; i < 25; i++ ) { + x = randu(); + c = ( randu()*10.0 ); + y = pdf( x, c ); + console.log( 'x: %d, c: %d, f(x;c): %d', x.toFixed( 4 ), c.toFixed( 4 ), y.toFixed( 4 ) ); +} +``` + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js new file mode 100644 index 000000000000..704e6dc825cc --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js @@ -0,0 +1,62 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var Float64Array = require( '@stdlib/array/float64' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var pkg = require( './../package.json' ).name; +var pdf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var len; + var x; + var c; + var y; + var i; + + len = 100; + x = new Float64Array( len ); + c = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 0.0, 1.0 ); + c[ i ] = uniform( EPS, 10.0 ); + } + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = pdf( x[ i % len ], c[ i % len ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/img/equation_bradford_pdf.svg b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/img/equation_bradford_pdf.svg new file mode 100644 index 000000000000..4edb9d339608 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/img/equation_bradford_pdf.svg @@ -0,0 +1,50 @@ + +f left-parenthesis x semicolon c right-parenthesis equals StartFraction c Over left-parenthesis ln left-parenthesis 1 plus c right-parenthesis right-parenthesis left-parenthesis 1 plus c x right-parenthesis EndFraction + + + \ No newline at end of file diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt new file mode 100644 index 000000000000..e5cd56bca615 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt @@ -0,0 +1,69 @@ + +{{alias}}( x, c ) + Evaluates the probability density function (PDF) for a bradford distribution + with shape parameter `c` at a value `x`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If `x < 0` or `x > 1`, the function returns `NaN`. + + If provided `c <= 0`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value. + + c: number + Shape parameter. + + Returns + ------- + out: number + Evaluated PDF. + + Examples + -------- + > var y = {{alias}}( 0.1, 0.1 ) + ~1.039 + > y = {{alias}}( 0.5, 5.0 ) + ~0.797 + > y = {{alias}}( 1.0, 10.0 ) + ~0.379 + > y = {{alias}}( 0.5, 0.0 ) + NaN + > y = {{alias}}( 2.0, 0.5 ) + NaN + > y = {{alias}}( -1.0, 0.5 ) + NaN + > y = {{alias}}( NaN, 1.0 ) + NaN + > y = {{alias}}( 1.0, NaN ) + NaN + + +{{alias}}.factory( c ) + Returns a function for evaluating the probability density function (PDF) of + a bradford distribution with shape parameter `c`. + + Parameters + ---------- + c: number + Shape parameter. + + Returns + ------- + pdf: Function + Probability density function (PDF). + + Examples + -------- + > var myPDF = {{alias}}.factory( 5.0 ); + > var y = myPDF( 0.5 ) + ~0.797 + > y = myPDF( 1.0 ) + ~0.465 + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts new file mode 100644 index 000000000000..79e135263b7a --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts @@ -0,0 +1,121 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Evaluates the probability density function (PDF) for a bradford distribution. +* +* @param x - input value +* @returns evaluated PDF +*/ +type Unary = ( x: number ) => number; + + +/** +* Interface for the probability density function (PDF) of a bradford distribution. +*/ +interface PDF { + /** + * Evaluates the probability density function (PDF) for a bradford distribution with shape parameter `c` at a value `x`. + * + * ## Notes + * + * - If `x < 0` or `x > 1`, the function returns `NaN`. + * + * - If provided `c <= 0`, the function returns `NaN`. + * + * @param x - input value + * @param c - shape parameter + * @returns evaluated PDF + * + * @example + * var v = pdf( 0.1, 0.1 ); + * // returns ~1.039 + * + * @example + * var v = pdf( 0.5, 5.0 ); + * // returns ~0.797 + * + * @example + * var v = pdf( 1.0, 10.0 ); + * // returns ~0.379 + * + * @example + * var y = pdf( 0.5, 0.0 ); + * // returns NaN + * + * @example + * var y = pdf( 2.0, 0.5 ); + * // returns NaN + * + * @example + * var y = pdf( -1.0, 0.5 ); + * // returns NaN + * + * @example + * var y = pdf( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = pdf( 1.0, NaN ); + * // returns NaN + */ + ( x: number, c: number ): number; + + /** + * Returns a function for evaluating the probability density function (PDF) for a bradford distribution with shape parameter `c`. + * + * @param c - shape parameter + * @returns PDF + * + * @example + * var mypdf = pdf.factory( 5.0 ); + * var y = mypdf( 0.5 ); + * // returns ~0.797 + * + * y = mypdf( 1.0 ); + * // returns ~0.465 + */ + factory( c: number ): Unary; +} + +/** +* Bradford distribution probability density function (PDF). +* +* @param x - input value +* @param c - shape parameter +* @returns evaluated PDF +* +* @example +* var y = pdf( 0.5, 5.0 ); +* // returns ~0.797 +* +* var mypdf = pdf.factory( 5.0 ); +* y = mypdf( 0.5 ); +* // returns ~0.797 +* +* y = mypdf( 1.0 ); +* // returns ~0.465 +*/ +declare var pdf: PDF; + + +// EXPORTS // + +export = pdf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/test.ts new file mode 100644 index 000000000000..638ceaea88e2 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/test.ts @@ -0,0 +1,98 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import pdf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + pdf( 0, 1 ); // $ExpectType number + pdf( 1, 5 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + pdf( true, 3 ); // $ExpectError + pdf( false, 2 ); // $ExpectError + pdf( '5', 1 ); // $ExpectError + pdf( [], 1 ); // $ExpectError + pdf( {}, 2 ); // $ExpectError + pdf( ( x: number ): number => x, 2 ); // $ExpectError + + pdf( 9, true ); // $ExpectError + pdf( 9, false ); // $ExpectError + pdf( 5, '5' ); // $ExpectError + pdf( 8, [] ); // $ExpectError + pdf( 9, {} ); // $ExpectError + pdf( 8, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + pdf(); // $ExpectError + pdf( 1 ); // $ExpectError + pdf( 1, 5, 3 ); // $ExpectError +} + +// Attached to main export is a `factory` method which returns a function... +{ + pdf.factory( 5 ); // $ExpectType Unary +} + +// The `factory` method returns a function which returns a number... +{ + const fcn = pdf.factory( 5 ); + fcn( 1 ); // $ExpectType number +} + +// The compiler throws an error if the function returned by the `factory` method is provided invalid arguments... +{ + const fcn = pdf.factory( 5 ); + fcn( true ); // $ExpectError + fcn( false ); // $ExpectError + fcn( '5' ); // $ExpectError + fcn( [] ); // $ExpectError + fcn( {} ); // $ExpectError + fcn( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function returned by the `factory` method is provided an unsupported number of arguments... +{ + const fcn = pdf.factory( 5 ); + fcn(); // $ExpectError + fcn( 2, 0 ); // $ExpectError + fcn( 2, 0, 1 ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided values other than one number... +{ + pdf.factory( true ); // $ExpectError + pdf.factory( false ); // $ExpectError + pdf.factory( '5' ); // $ExpectError + pdf.factory( [] ); // $ExpectError + pdf.factory( {} ); // $ExpectError + pdf.factory( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided an unsupported number of arguments... +{ + pdf.factory( 0, 1 ); // $ExpectError + pdf.factory( 0, 4, 8 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js new file mode 100644 index 000000000000..5e7d9fdda793 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js @@ -0,0 +1,34 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var randu = require( '@stdlib/random/base/randu' ); +var pdf = require( './../lib' ); + +var x; +var c; +var y; +var i; + +for ( i = 0; i < 25; i++ ) { + x = randu(); + c = ( randu()*10.0 ); + y = pdf( x, c ); + console.log( 'x: %d, c: %d, f(x;c): %d', x.toFixed( 4 ), c.toFixed( 4 ), y.toFixed( 4 ) ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json new file mode 100644 index 000000000000..53b50afcc931 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json @@ -0,0 +1,69 @@ +{ + "name": "@stdlib/stats/base/dists/bradford/pdf", + "version": "0.0.0", + "description": "Bradford distribution probability density function (PDF).", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "statistics", + "stats", + "distribution", + "dist", + "bradford", + "bradford-distribution", + "parameter", + "shape-parameter", + "continuous", + "skewed", + "pdf", + "probability", + "density", + "probability-density-function" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/runner.py new file mode 100644 index 000000000000..1daf4893200d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/fixtures/python/runner.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +# +# @license Apache-2.0 +# +# Copyright (c) 2025 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Generate fixtures.""" + +import os +import json +import numpy as np +from scipy.stats import bradford + +# Get the file path: +FILE = os.path.realpath(__file__) + +# Extract the directory in which this file resides: +DIR = os.path.dirname(FILE) + + +def gen(x, c, name): + """Generate fixture data and write to file. + + # Arguments + + * `x`: domain + * `c`: domain + * `name::str`: output filename + + # Examples + + ``` python + python> x = linspace(0, 1, 2001) + python> c = linspace(0.1, 1000, 2001) + python> gen(x, c, './data.json') + ``` + """ + y = bradford.pdf(x, c) + + # Store data to be written to file as a dictionary: + data = { + "x": x.tolist(), + "c": c.tolist(), + "expected": y.tolist() + } + + # Based on the script directory, create an output filepath: + filepath = os.path.join(DIR, name) + + # Write the data to the output filepath as JSON: + with open(filepath, "w", encoding="utf-8") as outfile: + json.dump(data, outfile) + + +def main(): + """Generate fixture data.""" + x = np.linspace(0, 1, 1000) + + # Small shape parameter: + c = np.linspace(0.1, 1, 1000) + gen(x, c, "small_c.json") + + # Medium shape parameter: + c = np.linspace(1, 10, 1000) + gen(x, c, "medium_c.json") + + # Large shape parameter: + c = np.linspace(10, 100, 1000) + gen(x, c, "large_c.json") + + +if __name__ == "__main__": + main() From 9996a176c5535de42dc3443b3821c1f269b93476 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 17 Feb 2025 22:35:38 -0800 Subject: [PATCH 04/12] refactor: use log1p instead of ln --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: passed --- --- .../@stdlib/stats/base/dists/bradford/pdf/lib/factory.js | 4 ++-- .../@stdlib/stats/base/dists/bradford/pdf/lib/main.js | 4 ++-- .../stats/base/dists/bradford/pdf/test/test.factory.js | 2 +- .../@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js index 4c0bb07def59..47e4f5db3c3d 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js @@ -22,7 +22,7 @@ var constantFunction = require( '@stdlib/utils/constant-function' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var ln = require( '@stdlib/math/base/special/ln' ); +var log1p = require( '@stdlib/math/base/special/log1p' ); // MAIN // @@ -70,7 +70,7 @@ function factory( c ) { ) { return NaN; } - k = ln( 1.0 + c ); + k = log1p( c ); return c / ( ( 1.0 + ( c * x ) ) * k ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js index a429202028a0..8f983518d48a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js @@ -21,7 +21,7 @@ // MODULES // var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var ln = require( '@stdlib/math/base/special/ln' ); +var log1p = require( '@stdlib/math/base/special/log1p' ); // MAIN // @@ -76,7 +76,7 @@ function pdf( x, c ) { ) { return NaN; } - k = ln( 1.0 + c ); + k = log1p( c ); return c / ( ( 1.0 + ( c * x ) ) * k ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js index 2415be181ac8..800fb0b340f5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js @@ -126,7 +126,7 @@ tape( 'the created function evaluates the pdf for `x` given small `c`', function t.equal( y, expected[i], 'x: '+x[i]+'. c: '+c[i]+', y: '+y+', expected: '+expected[i] ); } else { delta = abs( y - expected[ i ] ); - tol = 3.9 * EPS * abs( expected[ i ] ); + tol = 2.0 * EPS * abs( expected[ i ] ); t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js index ec9864d4fb80..ebaf74f4d544 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js @@ -107,7 +107,7 @@ tape( 'the function evaluates the pdf for `x` given small parameter `c`', functi t.equal( y, expected[i], 'x: '+x[i]+'. c:'+c[i]+', y: '+y+', expected: '+expected[i] ); } else { delta = abs( y - expected[ i ] ); - tol = 3.9 * EPS * abs( expected[ i ] ); + tol = 2.0 * EPS * abs( expected[ i ] ); t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. c: '+c[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); } } From 4af00197cbac953aa2b5bbc30bdf1b45e6babceb Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 17 Feb 2025 23:30:24 -0800 Subject: [PATCH 05/12] fix: case differences --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../@stdlib/stats/base/dists/bradford/pdf/README.md | 10 +++++----- .../stats/base/dists/bradford/pdf/docs/repl.txt | 4 ++-- .../base/dists/bradford/pdf/docs/types/index.d.ts | 8 ++++---- .../stats/base/dists/bradford/pdf/lib/factory.js | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md index 00bacf3ea281..fac9659f6cbf 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md @@ -24,16 +24,16 @@ limitations under the License.
-The [probability density function][pdf] (PDF) for a [bradford][bradford-distribution] random variable is +The [probability density function][pdf] (PDF) for a [Bradford][bradford-distribution] random variable is - + ```math f(x;c)=\frac{c}{(\ln(1+c)) (1 + cx)} ``` @@ -55,7 +55,7 @@ var pdf = require( '@stdlib/stats/base/dists/bradford/pdf' ); #### pdf( x, c ) -Evaluates the [probability density function][pdf] (PDF) for a [bradford][bradford-distribution] distribution with shape parameter `c` at a value `x`. +Evaluates the [probability density function][pdf] (PDF) for a [Bradford][bradford-distribution] distribution with shape parameter `c` at a value `x`. ```javascript var y = pdf( 0.1, 0.1 ); @@ -100,7 +100,7 @@ y = pdf( 0.5, -1.0 ); #### pdf.factory( c ) -Returns a `function` for evaluating the [PDF][pdf] of a [bradford][bradford-distribution] distribution with shape parameter `c`. +Returns a `function` for evaluating the [PDF][pdf] of a [Bradford][bradford-distribution] distribution with shape parameter `c`. ```javascript var myPDF = pdf.factory( 5.0 ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt index e5cd56bca615..7c1bc9302c02 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt @@ -1,6 +1,6 @@ {{alias}}( x, c ) - Evaluates the probability density function (PDF) for a bradford distribution + Evaluates the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. If provided `NaN` as any argument, the function returns `NaN`. @@ -44,7 +44,7 @@ {{alias}}.factory( c ) Returns a function for evaluating the probability density function (PDF) of - a bradford distribution with shape parameter `c`. + a Bradford distribution with shape parameter `c`. Parameters ---------- diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts index 79e135263b7a..54fd670bd838 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts @@ -19,7 +19,7 @@ // TypeScript Version: 4.1 /** -* Evaluates the probability density function (PDF) for a bradford distribution. +* Evaluates the probability density function (PDF) for a Bradford distribution. * * @param x - input value * @returns evaluated PDF @@ -28,11 +28,11 @@ type Unary = ( x: number ) => number; /** -* Interface for the probability density function (PDF) of a bradford distribution. +* Interface for the probability density function (PDF) of a Bradford distribution. */ interface PDF { /** - * Evaluates the probability density function (PDF) for a bradford distribution with shape parameter `c` at a value `x`. + * Evaluates the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. * * ## Notes * @@ -79,7 +79,7 @@ interface PDF { ( x: number, c: number ): number; /** - * Returns a function for evaluating the probability density function (PDF) for a bradford distribution with shape parameter `c`. + * Returns a function for evaluating the probability density function (PDF) for a Bradford distribution with shape parameter `c`. * * @param c - shape parameter * @returns PDF diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js index 47e4f5db3c3d..03f7ca03179e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js @@ -28,7 +28,7 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); // MAIN // /** -* Returns a function for evaluating the probability density function (PDF) for a bradford distribution with shape parameter `c`. +* Returns a function for evaluating the probability density function (PDF) for a Bradford distribution with shape parameter `c`. * * @param {number} c - shape parameter * @returns {Function} PDF @@ -51,7 +51,7 @@ function factory( c ) { return pdf; /** - * Evaluates the probability density function (PDF) for a bradford distribution. + * Evaluates the probability density function (PDF) for a Bradford distribution. * * @private * @param {number} x - input value From eefcb33ee14cfb8b6eb1e46038247edb8ae7c631 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Wed, 19 Feb 2025 01:56:07 -0800 Subject: [PATCH 06/12] refactor: apply suggestions from PR review --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: passed - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../stats/base/dists/bradford/pdf/README.md | 18 ++++++++---------- .../base/dists/bradford/pdf/examples/index.js | 16 +++++++--------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md index fac9659f6cbf..cefa7347d734 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md @@ -100,7 +100,7 @@ y = pdf( 0.5, -1.0 ); #### pdf.factory( c ) -Returns a `function` for evaluating the [PDF][pdf] of a [Bradford][bradford-distribution] distribution with shape parameter `c`. +Returns a function for evaluating the [PDF][pdf] of a [Bradford][bradford-distribution] distribution with shape parameter `c`. ```javascript var myPDF = pdf.factory( 5.0 ); @@ -122,19 +122,17 @@ y = myPDF( 1.0 ); ```javascript -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var pdf = require( '@stdlib/stats/base/dists/bradford/pdf' ); -var x; -var c; +var x = uniform( 10, 0.0, 1.0 ); +var c = uniform( 10, 0.1, 10.0 ); + var y; var i; - -for ( i = 0; i < 25; i++ ) { - x = randu(); - c = ( randu()*10.0 ); - y = pdf( x, c ); - console.log( 'x: %d, c: %d, f(x;c): %d', x.toFixed( 4 ), c.toFixed( 4 ), y.toFixed( 4 ) ); +for ( i = 0; i < x.length; i++ ) { + y = pdf( x[ i ], c[ i ] ); + console.log( 'x: %d, c: %d, f(x;c): %d', x[ i ].toFixed( 4 ), c[ i ].toFixed( 4 ), y.toFixed( 4 ) ); } ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js index 5e7d9fdda793..0b5733eb094c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/examples/index.js @@ -18,17 +18,15 @@ 'use strict'; -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var pdf = require( './../lib' ); -var x; -var c; +var x = uniform( 10, 0.0, 1.0 ); +var c = uniform( 10, 0.1, 10.0 ); + var y; var i; - -for ( i = 0; i < 25; i++ ) { - x = randu(); - c = ( randu()*10.0 ); - y = pdf( x, c ); - console.log( 'x: %d, c: %d, f(x;c): %d', x.toFixed( 4 ), c.toFixed( 4 ), y.toFixed( 4 ) ); +for ( i = 0; i < x.length; i++ ) { + y = pdf( x[ i ], c[ i ] ); + console.log( 'x: %d, c: %d, f(x;c): %d', x[ i ].toFixed( 4 ), c[ i ].toFixed( 4 ), y.toFixed( 4 ) ); } From e53463c8fdacbe1e7b1ad45179ca2509d631af48 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Wed, 19 Feb 2025 05:19:42 -0800 Subject: [PATCH 07/12] refactor: use uniform array in benchmarks --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: passed - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../dists/bradford/pdf/benchmark/benchmark.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js index 704e6dc825cc..b89cfeab8025 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js @@ -21,9 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var Float64Array = require( '@stdlib/array/float64' ); -var uniform = require( '@stdlib/random/base/uniform' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var pdf = require( './../lib' ); @@ -32,23 +30,17 @@ var pdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { - var len; var x; var c; var y; var i; - len = 100; - x = new Float64Array( len ); - c = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 0.0, 1.0 ); - c[ i ] = uniform( EPS, 10.0 ); - } + x = uniform( 100, 0.0, 1.0 ); + c = uniform( 100, 0.1, 10.0 ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = pdf( x[ i % len ], c[ i % len ] ); + y = pdf( x[ i % x.length ], c[ i % c.length ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } From a4813ba3e9b16680c67f270c307def94e9a19162 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Wed, 19 Feb 2025 05:32:15 -0800 Subject: [PATCH 08/12] bench: add factory benchmarks --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: passed - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../dists/bradford/pdf/benchmark/benchmark.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js index b89cfeab8025..2637daeb4ca3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/benchmark/benchmark.js @@ -52,3 +52,27 @@ bench( pkg, function benchmark( b ) { b.pass( 'benchmark finished' ); b.end(); }); + +bench( pkg+':factory', function benchmark( b ) { + var mypdf; + var x; + var y; + var i; + + x = uniform( 100, 0.0, 1.0 ); + mypdf = pdf.factory( 5.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mypdf( x[ i % x.length ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); From 5bd5162efc82f90ca567b70240aff2f44fcf7b7e Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Wed, 19 Feb 2025 11:40:06 -0800 Subject: [PATCH 09/12] fix: update implementation to include support for x outside of [0,1] --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: passed --- --- .../stats/base/dists/bradford/pdf/README.md | 22 ++++++++--------- .../base/dists/bradford/pdf/docs/repl.txt | 12 ++++++---- .../dists/bradford/pdf/docs/types/index.d.ts | 14 ++++++----- .../base/dists/bradford/pdf/lib/factory.js | 12 ++++++---- .../stats/base/dists/bradford/pdf/lib/main.js | 24 ++++++++++++------- .../dists/bradford/pdf/test/test.factory.js | 12 ++++------ .../base/dists/bradford/pdf/test/test.pdf.js | 10 ++++---- 7 files changed, 58 insertions(+), 48 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md index cefa7347d734..c7c1462ca0d6 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md @@ -39,7 +39,7 @@ f(x;c)=\frac{c}{(\ln(1+c)) (1 + cx)} -where `c` is the shape parameter of the distribution. The parameters must satisfy `0 <= x <= 1` and `c > 0`. +where `c > 0` is the shape parameter of the distribution.
@@ -68,33 +68,33 @@ y = pdf( 1.0, 10.0 ); // returns ~0.379 ``` -If provided `NaN` as any argument, the function returns `NaN`. +If provided a `x` outside the support `[0,1]`, the function returns `0`. ```javascript -var y = pdf( NaN, 1.0 ); -// returns NaN +var y = pdf( 2.0, 1.0 ); +// returns 0.0 -y = pdf( 0.0, NaN ); -// returns NaN +y = pdf( -0.5, 1.0 ); +// returns 0.0 ``` -If provided an input value `x` outside of the interval `[0,1]`, the function returns `NaN`. +If provided `NaN` as any argument, the function returns `NaN`. ```javascript -var y = pdf( 2.0, 1.0 ); +var y = pdf( NaN, 1.0 ); // returns NaN -y = pdf( -0.5, 1.0 ); +y = pdf( 0.0, NaN ); // returns NaN ``` If provided a shape parameter `c <= 0`, the function returns `NaN`. ```javascript -var y = pdf( 0.0, 0.0 ); +var y = pdf( 0.5, 0.0 ); // returns NaN -y = pdf( 0.5, -1.0 ); +y = pdf( 0.5, -5.0 ); // returns NaN ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt index 7c1bc9302c02..2663f8f9f191 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/repl.txt @@ -5,8 +5,6 @@ If provided `NaN` as any argument, the function returns `NaN`. - If `x < 0` or `x > 1`, the function returns `NaN`. - If provided `c <= 0`, the function returns `NaN`. Parameters @@ -30,12 +28,16 @@ ~0.797 > y = {{alias}}( 1.0, 10.0 ) ~0.379 - > y = {{alias}}( 0.5, 0.0 ) - NaN > y = {{alias}}( 2.0, 0.5 ) - NaN + 0.0 > y = {{alias}}( -1.0, 0.5 ) + 0.0 + + > y = {{alias}}( 0.5, 0.0 ) NaN + > y = {{alias}}( 0.5, -5.0 ) + NaN + > y = {{alias}}( NaN, 1.0 ) NaN > y = {{alias}}( 1.0, NaN ) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts index 54fd670bd838..6a8b76c2fa9c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/docs/types/index.d.ts @@ -36,8 +36,6 @@ interface PDF { * * ## Notes * - * - If `x < 0` or `x > 1`, the function returns `NaN`. - * * - If provided `c <= 0`, the function returns `NaN`. * * @param x - input value @@ -57,15 +55,19 @@ interface PDF { * // returns ~0.379 * * @example - * var y = pdf( 0.5, 0.0 ); - * // returns NaN + * var y = pdf( 2.0, 0.5 ); + * // returns 0.0 * * @example - * var y = pdf( 2.0, 0.5 ); + * var y = pdf( -1.0, 0.5 ); + * // returns 0.0 + * + * @example + * var y = pdf( 0.5, 0.0 ); * // returns NaN * * @example - * var y = pdf( -1.0, 0.5 ); + * var y = pdf( 0.5, -5.0 ); * // returns NaN * * @example diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js index 03f7ca03179e..61c50e69825f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js @@ -30,7 +30,7 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); /** * Returns a function for evaluating the probability density function (PDF) for a Bradford distribution with shape parameter `c`. * -* @param {number} c - shape parameter +* @param {PositiveNumber} c - shape parameter * @returns {Function} PDF * * @example @@ -55,7 +55,7 @@ function factory( c ) { * * @private * @param {number} x - input value - * @returns {number} evaluated PDF + * @returns {Probability} evaluated PDF * * @example * var y = pdf( 0.5 ); @@ -64,12 +64,14 @@ function factory( c ) { function pdf( x ) { var k; if ( - isnan( x ) || - x < 0.0 || - x > 1.0 + isnan( x ) ) { return NaN; } + if ( x < 0.0 || x > 1.0 ) { + // Support of the Bradford distribution: [0,1] + return 0.0; + } k = log1p( c ); return c / ( ( 1.0 + ( c * x ) ) * k ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js index 8f983518d48a..7cec9e20a58c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js @@ -30,8 +30,8 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); * Returns the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. * * @param {number} x - input value -* @param {number} c - shape parameter -* @returns {number} evaluated PDF +* @param {PositiveNumber} c - shape parameter +* @returns {Probability} evaluated PDF * * @example * var v = pdf( 0.1, 0.1 ); @@ -46,15 +46,19 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); * // returns ~0.379 * * @example -* var v = pdf( 0.5, 0.0 ); -* // returns NaN +* var v = pdf( 2.0, 0.5 ); +* // returns 0.0 * * @example -* var v = pdf( 2.0, 0.5 ); +* var v = pdf( -1.0, 0.5 ); +* // returns 0.0 +* +* @example +* var v = pdf( 0.5, 0.0 ); * // returns NaN * * @example -* var v = pdf( -1.0, 0.5 ); +* var v = pdf( 0.5, -5.0 ); * // returns NaN * * @example @@ -70,12 +74,14 @@ function pdf( x, c ) { if ( isnan( c ) || isnan( x ) || - c <= 0.0 || - x < 0.0 || - x > 1.0 + c <= 0.0 ) { return NaN; } + if ( x < 0.0 || x > 1.0 ) { + // Support of the Bradford distribution: [0,1] + return 0.0; + } k = log1p( c ); return c / ( ( 1.0 + ( c * x ) ) * k ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js index 800fb0b340f5..b8332b47e884 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.factory.js @@ -72,7 +72,6 @@ tape( 'if provided `c <= 0`, the created function always returns `NaN`', functio var y; pdf = factory( -1.0 ); - y = pdf( 1.0 ); t.equal( isnan( y ), true, 'returns expected value' ); @@ -85,23 +84,22 @@ tape( 'if provided `c <= 0`, the created function always returns `NaN`', functio t.end(); }); -tape( 'if provided a `x` outside of `[0,1]`, the created function always returns `NaN`', function test( t ) { +tape( 'if provided a valid `c`, the function returns a function which returns `0` when provided a number outside [0,1] for `x`', function test( t ) { var pdf; var y; pdf = factory( 1.0 ); - y = pdf( -1.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( -0.5 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( 1.5 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( 10.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js index ebaf74f4d544..e9daf89bebd0 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/test/test.pdf.js @@ -71,20 +71,20 @@ tape( 'if provided `c <= 0`, the function returns `NaN`', function test( t ) { t.end(); }); -tape( 'if provided a `x` outside of `[0,1]`, the created function always returns `NaN`', function test( t ) { +tape( 'if provided a number outside [0,1] for `x` and a valid `c`, the function returns `0`', function test( t ) { var y; y = pdf( 2.0, 1.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( -0.5, 1.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( NINF, 1.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); y = pdf( PINF, 1.0 ); - t.equal( isnan( y ), true, 'returns expected value' ); + t.equal( y, 0.0, 'returns expected value' ); t.end(); }); From 85c5fdf4bfcd1b4d357ef677c4d0b7d2e5cb596b Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Wed, 19 Feb 2025 17:16:20 -0800 Subject: [PATCH 10/12] docs: rearrange the description in README --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na --- --- .../stats/base/dists/bradford/pdf/README.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md index c7c1462ca0d6..5051df49a097 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/README.md @@ -68,16 +68,6 @@ y = pdf( 1.0, 10.0 ); // returns ~0.379 ``` -If provided a `x` outside the support `[0,1]`, the function returns `0`. - -```javascript -var y = pdf( 2.0, 1.0 ); -// returns 0.0 - -y = pdf( -0.5, 1.0 ); -// returns 0.0 -``` - If provided `NaN` as any argument, the function returns `NaN`. ```javascript @@ -88,6 +78,16 @@ y = pdf( 0.0, NaN ); // returns NaN ``` +If provided a `x` outside the support `[0,1]`, the function returns `0`. + +```javascript +var y = pdf( 2.0, 1.0 ); +// returns 0.0 + +y = pdf( -0.5, 1.0 ); +// returns 0.0 +``` + If provided a shape parameter `c <= 0`, the function returns `NaN`. ```javascript From af381be3ec88a94201133264bfd47f3a25b21a0e Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Fri, 7 Mar 2025 09:07:17 -0800 Subject: [PATCH 11/12] docs: remove repeated keywords --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/stats/base/dists/bradford/pdf/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json index 53b50afcc931..1f7c5a51d68b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/package.json @@ -56,14 +56,10 @@ "distribution", "dist", "bradford", - "bradford-distribution", - "parameter", - "shape-parameter", "continuous", "skewed", "pdf", "probability", - "density", - "probability-density-function" + "density" ] } From 6efb60b4b16ecef4753a742902bffe32c7668413 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Fri, 7 Mar 2025 16:51:47 -0800 Subject: [PATCH 12/12] chore: apply suggestions from review --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/stats/base/dists/bradford/pdf/lib/factory.js | 6 +++--- .../@stdlib/stats/base/dists/bradford/pdf/lib/main.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js index 61c50e69825f..58006b001abb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/factory.js @@ -42,12 +42,14 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); * // returns ~0.465 */ function factory( c ) { + var k; if ( isnan( c ) || c <= 0.0 ) { return constantFunction( NaN ); } + k = log1p( c ); return pdf; /** @@ -62,7 +64,6 @@ function factory( c ) { * // returns */ function pdf( x ) { - var k; if ( isnan( x ) ) { @@ -72,8 +73,7 @@ function factory( c ) { // Support of the Bradford distribution: [0,1] return 0.0; } - k = log1p( c ); - return c / ( ( 1.0 + ( c * x ) ) * k ); + return c / ( ( 1.0 + ( c*x ) ) * k ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js index 7cec9e20a58c..debecb8de99c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bradford/pdf/lib/main.js @@ -27,7 +27,7 @@ var log1p = require( '@stdlib/math/base/special/log1p' ); // MAIN // /** -* Returns the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. +* Evaluates the probability density function (PDF) for a Bradford distribution with shape parameter `c` at a value `x`. * * @param {number} x - input value * @param {PositiveNumber} c - shape parameter @@ -83,7 +83,7 @@ function pdf( x, c ) { return 0.0; } k = log1p( c ); - return c / ( ( 1.0 + ( c * x ) ) * k ); + return c / ( ( 1.0 + ( c*x ) ) * k ); }