diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/README.md b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/README.md new file mode 100644 index 000000000000..c0230d074d18 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/README.md @@ -0,0 +1,157 @@ + + +# Moment-Generating Function + +> Planck (discrete exponential) distribution moment-generating function (MGF). + + + +
+ +The [moment-generating function][mgf] for a Planck random variable is + + + +```math +M_X(t) := \mathbb{E}\!\left[e^{tX}\right] = \frac{1 - e^{-\lambda}}{1 - e^{t - \lambda}} +``` + + + +where `λ` is the shape parameter. + +
+ + + + + +
+ +## Usage + +```javascript +var mgf = require( '@stdlib/stats/base/dists/planck/mgf' ); +``` + +#### mgf( t, lambda ) + +Evaluates the moment-generating function ([MGF][mgf]) of a Planck (discrete exponential) distribution with shape parameter `lambda`. + +```javascript +var y = mgf( 0.2, 0.5 ); +// returns ~1.5181 + +y = mgf( 0.4, 1.5 ); +// returns ~1.1645 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = mgf( NaN, 0.0 ); +// returns NaN + +y = mgf( 0.0, NaN ); +// returns NaN +``` + +If provided a shape parameter `lambda` which is nonpositive, the function returns `NaN`. + +```javascript +var y = mgf( 2.0, -1.0 ); +// returns NaN +``` + +#### mgf.factory( lambda ) + +Returns a function for evaluating the [moment-generating function][mgf] of a Planck (discrete exponential) distribution with shape parameter `lambda`. + +```javascript +var mymgf = mgf.factory( 0.8 ); +var y = mymgf( -0.2 ); +// returns ~0.8711 +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var mgf = require( '@stdlib/stats/base/dists/planck/mgf' ); + +var lambda = uniform( 10, 0.1, 5.0 ); +var t = uniform( 10, 0.0, 10.0 ); + +var y; +var i; +for ( i = 0; i < lambda.length; i++ ) { + y = mgf( t[ i ], lambda[ i ] ); + console.log( 't: %d, λ: %d, M_X(t;λ): %d', t[ i ].toFixed( 4 ), lambda[ i ].toFixed( 4 ), y.toFixed( 4 ) ); +} +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/benchmark/benchmark.js new file mode 100644 index 000000000000..f40aad933643 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/benchmark/benchmark.js @@ -0,0 +1,78 @@ +/** +* @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 uniform = require( '@stdlib/random/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var pkg = require( './../package.json' ).name; +var mgf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var lambda; + var t; + var y; + var i; + + lambda = uniform( 100, 0.1, 10.0 ); + t = uniform( 100, 0.0, 10.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mgf( t[ i % t.length ], lambda[ i % lambda.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(); +}); + +bench( pkg+':factory', function benchmark( b ) { + var mymgf; + var t; + var y; + var i; + + t = uniform( 100, 0.0, 10.0 ); + mymgf = mgf.factory( 0.3 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mymgf( t[ i % t.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(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/repl.txt new file mode 100644 index 000000000000..f628063e0fdf --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/repl.txt @@ -0,0 +1,59 @@ + +{{alias}}( t, λ ) + Evaluates the moment-generating function (MGF) for a Planck distribution + with shape parameter `λ` at a value `t`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If `λ <= 0`, the function returns `NaN`. + + Parameters + ---------- + t: number + Input value. + + λ: number + Shape parameter. + + Returns + ------- + out: number + Evaluated MGF. + + Examples + -------- + > var y = {{alias}}( 0.2, 0.5 ) + ~1.5181 + > y = {{alias}}( 0.4, 1.5 ) + ~1.1645 + > y = {{alias}}( NaN, 0.0 ) + NaN + > y = {{alias}}( 0.0, NaN ) + NaN + > y = {{alias}}( 2.0, -1.0 ) + NaN + + +{{alias}}.factory( λ ) + Returns a function for evaluating the moment-generating function (MGF) of a + Planck distribution with shape parameter `λ`. + + Parameters + ---------- + λ: number + Shape parameter. + + Returns + ------- + mgf: Function + Moment-generating function (MGF). + + Examples + -------- + > var mymgf = {{alias}}.factory( 0.8 ); + > var y = mymgf( -0.2 ) + ~0.8711 + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/types/index.d.ts new file mode 100644 index 000000000000..74eff51f795d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/types/index.d.ts @@ -0,0 +1,103 @@ +/* +* @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 moment-generating function (MGF) of a Planck distribution. +* +* @param t - input value +* @returns evaluated MGF +*/ +type Unary = ( t: number ) => number; + +/** +* Interface for the moment-generating function (MGF) of a Planck distribution. +*/ +interface MGF { + /** + * Evaluates the moment-generating function (MGF) for a Planck distribution with shape parameter `lambda` at a value `t`. + * + * ## Notes + * + * - If `lambda <= 0`, the function returns `NaN`. + * + * @param t - input value + * @param lambda - shape parameter + * @returns evaluated MGF + * + * @example + * var y = mgf( 0.2, 0.5 ); + * // returns ~1.5181 + * + * @example + * var y = mgf( 0.4, 1.5 ); + * // returns ~1.1645 + * + * @example + * var y = mgf( NaN, 0.0 ); + * // returns NaN + * + * @example + * var y = mgf( 0.0, NaN ); + * // returns NaN + * + * @example + * var y = mgf( 2.0, -1.0 ); + * // returns NaN + */ + ( t: number, lambda: number ): number; + + /** + * Returns a function for evaluating the moment-generating function (MGF) of a Planck distribution with shape parameter `lambda`. + * + * @param lambda - shape parameter + * @returns MGF + * + * @example + * var mymgf = mgf.factory( 0.8 ); + * var y = mymgf( -0.2 ); + * // returns ~0.8711 + */ + factory( lambda: number ): Unary; +} + +/** +* Planck distribution moment-generating function (MGF). +* +* @param t - input value +* @param lambda - shape parameter +* @returns evaluated MGF +* +* @example +* var y = mgf( 0.2, 0.5 ); +* // returns ~1.5181 +* +* y = mgf( 0.4, 1.5 ); +* // returns ~1.1645 +* +* var mymgf = mgf.factory( 0.8 ); +* y = mymgf( -0.2 ); +* // returns ~0.8711 +*/ +declare var mgf: MGF; + + +// EXPORTS // + +export = mgf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/docs/types/test.ts new file mode 100644 index 000000000000..e80a2a7bc4fa --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/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 mgf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + mgf( 2.0, 0.4 ); // $ExpectType number + mgf( 1.0, 0.2 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + mgf( true, 0.3 ); // $ExpectError + mgf( false, 0.2 ); // $ExpectError + mgf( '5', 0.1 ); // $ExpectError + mgf( [], 0.1 ); // $ExpectError + mgf( {}, 0.4 ); // $ExpectError + mgf( ( x: number ): number => x, 0.2 ); // $ExpectError + + mgf( 9.0, true ); // $ExpectError + mgf( 9.0, false ); // $ExpectError + mgf( 5.0, '5' ); // $ExpectError + mgf( 8.0, [] ); // $ExpectError + mgf( 9.0, {} ); // $ExpectError + mgf( 8.0, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + mgf(); // $ExpectError + mgf( 2.0 ); // $ExpectError + mgf( 2.0, 0.8, 4.0 ); // $ExpectError +} + +// Attached to main export is a `factory` method which returns a function... +{ + mgf.factory( 0.4 ); // $ExpectType Unary +} + +// The `factory` method returns a function which returns a number... +{ + const fcn = mgf.factory( 0.4 ); + fcn( 2.0 ); // $ExpectType number +} + +// The compiler throws an error if the function returned by the `factory` method is provided an invalid argument... +{ + const fcn = mgf.factory( 0.4 ); + 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 = mgf.factory( 0.4 ); + fcn(); // $ExpectError + fcn( 2.0, 0.8 ); // $ExpectError + fcn( 2.0, 0.9, 1.0 ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided a value other than a number... +{ + mgf.factory( true ); // $ExpectError + mgf.factory( false ); // $ExpectError + mgf.factory( '5' ); // $ExpectError + mgf.factory( [] ); // $ExpectError + mgf.factory( {} ); // $ExpectError + mgf.factory( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided an unsupported number of arguments... +{ + mgf.factory( 0.9, 0.2 ); // $ExpectError + mgf.factory( 0.8, 0.4, 8.0 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/examples/index.js new file mode 100644 index 000000000000..dc49b4e37075 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/examples/index.js @@ -0,0 +1,32 @@ +/** +* @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 uniform = require( '@stdlib/random/array/uniform' ); +var mgf = require( './../lib' ); + +var lambda = uniform( 10, 0.1, 5.0 ); +var t = uniform( 10, 0.0, 10.0 ); + +var y; +var i; +for ( i = 0; i < lambda.length; i++ ) { + y = mgf( t[ i ], lambda[ i ] ); + console.log( 't: %d, λ: %d, M_X(t;λ): %d', t[ i ].toFixed( 4 ), lambda[ i ].toFixed( 4 ), y.toFixed( 4 ) ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/factory.js new file mode 100644 index 000000000000..c8d6031767d0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/factory.js @@ -0,0 +1,69 @@ +/** +* @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 expm1 = require( '@stdlib/math/base/special/expm1' ); + + +// MAIN // + +/** +* Returns a function for evaluating the moment-generating function (MGF) of a Planck distribution with shape parameter `lambda`. +* +* @param {PositiveNumber} lambda - shape parameter +* @returns {Function} MGF +* +* @example +* var mgf = factory( 0.8 ); +* var y = mgf( -0.2 ); +* // returns ~0.8711 +*/ +function factory( lambda ) { + if ( isnan( lambda ) || lambda <= 0.0 ) { + return constantFunction( NaN ); + } + return mgf; + + /** + * Evaluates the moment-generating function (MGF) for a Planck distribution. + * + * @private + * @param {number} t - input value + * @returns {number} evaluated MGF + * + * @example + * var y = mgf( 0.5 ); + * // returns + */ + function mgf( t ) { + if ( isnan( t ) ) { + return NaN; + } + return expm1( -lambda ) / expm1( t - lambda ); + } +} + + +// EXPORTS // + +module.exports = factory; diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/index.js new file mode 100644 index 000000000000..363a2cd6081b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/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'; + +/** +* Evaluate the moment-generating function (MGF) for a Planck distribution. +* +* @module @stdlib/stats/base/dists/planck/mgf +* +* @example +* var mgf = require( '@stdlib/stats/base/dists/planck/mgf' ); +* +* var y = mgf( 0.2, 0.5 ); +* // returns ~1.5181 +* +* y = mgf( 0.4, 1.5 ); +* // returns ~1.1645 +* +* var mymgf = mgf.factory( 0.8 ); +* y = mymgf( -0.2 ); +* // returns ~0.8711 +*/ + +// 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/planck/mgf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/main.js new file mode 100644 index 000000000000..3c9742edf52d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/lib/main.js @@ -0,0 +1,66 @@ +/** +* @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 expm1 = require( '@stdlib/math/base/special/expm1' ); + + +// MAIN // + +/** +* Evaluates the moment-generating function (MGF) for a Planck distribution with shape parameter `lambda` at a value `t`. +* +* @param {number} t - input value +* @param {PositiveNumber} lambda - shape parameter +* @returns {number} evaluated MGF +* +* @example +* var y = mgf( 0.2, 0.5 ); +* // returns ~1.5181 +* +* @example +* var y = mgf( 0.4, 1.5 ); +* // returns ~1.1645 +* +* @example +* var y = mgf( NaN, 0.0 ); +* // returns NaN +* +* @example +* var y = mgf( 0.0, NaN ); +* // returns NaN +* +* @example +* var y = mgf( 2.0, -1.0 ); +* // returns NaN +*/ +function mgf( t, lambda ) { + if ( isnan( t ) || isnan( lambda ) || lambda <= 0.0 ) { + return NaN; + } + return expm1( -lambda ) / expm1( t - lambda ); +} + + +// EXPORTS // + +module.exports = mgf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/package.json b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/package.json new file mode 100644 index 000000000000..4776d211666e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/package.json @@ -0,0 +1,67 @@ +{ + "name": "@stdlib/stats/base/dists/planck/mgf", + "version": "0.0.0", + "description": "Planck (discrete exponential) distribution moment-generating function (MGF).", + "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", + "mgf", + "generating functions", + "moments", + "memoryless", + "life-time", + "discrete", + "planck", + "univariate" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/large_lambda.json b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/large_lambda.json new file mode 100644 index 000000000000..78c4a38595ee --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/large_lambda.json @@ -0,0 +1 @@ +{"x": [5.0, 2.0, 4.0, 7.0, 6.0, 8.0, 2.0, 10.0, 9.0, 7.0, 5.0, 1.0, 2.0, 1.0, 1.0, 4.0, 7.0, 4.0, 5.0, 8.0, 4.0, 6.0, 6.0, 3.0, 3.0, 6.0, 8.0, 4.0, 8.0, 3.0, 7.0, 5.0, 3.0, 7.0, 3.0, 4.0, 1.0, 2.0, 8.0, 2.0, 1.0, 7.0, 2.0, 2.0, 7.0, 1.0, 0.0, 1.0, 6.0, 10.0, 10.0, 2.0, 10.0, 1.0, 1.0, 8.0, 2.0, 2.0, 0.0, 4.0, 3.0, 8.0, 3.0, 3.0, 10.0, 7.0, 9.0, 6.0, 4.0, 5.0, 7.0, 2.0, 6.0, 10.0, 8.0, 7.0, 7.0, 4.0, 1.0, 1.0, 4.0, 8.0, 1.0, 6.0, 10.0, 7.0, 6.0, 5.0, 2.0, 7.0, 2.0, 8.0, 0.0, 4.0, 7.0, 1.0, 3.0, 5.0, 7.0, 8.0, 8.0, 5.0, 6.0, 5.0, 1.0, 2.0, 0.0, 8.0, 5.0, 6.0, 1.0, 5.0, 9.0, 3.0, 3.0, 5.0, 1.0, 3.0, 4.0, 5.0, 8.0, 2.0, 7.0, 8.0, 6.0, 8.0, 4.0, 4.0, 9.0, 5.0, 10.0, 9.0, 7.0, 2.0, 3.0, 6.0, 1.0, 1.0, 8.0, 3.0, 9.0, 1.0, 9.0, 4.0, 9.0, 6.0, 6.0, 9.0, 8.0, 2.0, 7.0, 7.0, 8.0, 4.0, 1.0, 8.0, 4.0, 4.0, 3.0, 2.0, 3.0, 6.0, 10.0, 9.0, 7.0, 6.0, 5.0, 2.0, 1.0, 4.0, 3.0, 1.0, 6.0, 6.0, 2.0, 5.0, 3.0, 6.0, 3.0, 4.0, 3.0, 7.0, 2.0, 1.0, 1.0, 1.0, 7.0, 10.0, 4.0, 4.0, 6.0, 1.0, 4.0, 2.0, 9.0, 1.0, 8.0, 7.0, 10.0, 8.0, 4.0, 1.0, 4.0, 8.0, 6.0, 6.0, 6.0, 0.0, 1.0, 8.0, 10.0, 6.0, 6.0, 8.0, 10.0, 6.0, 0.0, 5.0, 3.0, 9.0, 5.0, 8.0, 5.0, 10.0, 4.0, 4.0, 8.0, 1.0, 1.0, 9.0, 4.0, 7.0, 6.0, 6.0, 6.0, 1.0, 9.0, 6.0, 3.0, 1.0, 5.0, 1.0, 5.0, 9.0, 7.0, 4.0, 9.0, 5.0, 2.0, 8.0, 1.0, 7.0, 9.0, 9.0, 1.0, 4.0, 8.0, 5.0, 2.0, 9.0, 8.0, 9.0, 5.0, 8.0, 6.0, 3.0, 5.0, 10.0, 1.0, 3.0, 3.0, 3.0, 5.0, 0.0, 4.0, 7.0, 10.0, 8.0, 4.0, 5.0, 1.0, 10.0, 2.0, 9.0, 3.0, 5.0, 1.0, 8.0, 4.0, 9.0, 2.0, 5.0, 8.0, 1.0, 9.0, 0.0, 8.0, 4.0, 5.0, 1.0, 4.0, 9.0, 6.0, 6.0, 9.0, 8.0, 6.0, 2.0, 9.0, 2.0, 5.0, 0.0, 6.0, 6.0, 6.0, 9.0, 9.0, 1.0, 8.0, 2.0, 8.0, 1.0, 3.0, 4.0, 0.0, 5.0, 9.0, 7.0, 10.0, 2.0, 3.0, 3.0, 1.0, 7.0, 2.0, 7.0, 3.0, 1.0, 3.0, 0.0, 5.0, 7.0, 3.0, 9.0, 6.0, 7.0, 4.0, 0.0, 7.0, 9.0, 5.0, 10.0, 8.0, 2.0, 7.0, 5.0, 9.0, 3.0, 8.0, 10.0, 3.0, 3.0, 2.0, 7.0, 4.0, 1.0, 3.0, 3.0, 6.0, 3.0, 5.0, 10.0, 7.0, 6.0, 3.0, 1.0, 7.0, 0.0, 2.0, 2.0, 3.0, 7.0, 6.0, 0.0, 9.0, 1.0, 6.0, 0.0, 5.0, 9.0, 7.0, 8.0, 9.0, 7.0, 10.0, 9.0, 9.0, 3.0, 5.0, 6.0, 7.0, 5.0, 6.0, 6.0, 4.0, 2.0, 5.0, 2.0, 4.0, 8.0, 7.0, 1.0, 2.0, 2.0, 8.0, 9.0, 7.0, 3.0, 6.0, 7.0, 5.0, 2.0, 6.0, 2.0, 10.0, 1.0, 9.0, 3.0, 8.0, 7.0, 9.0, 8.0, 7.0, 5.0, 5.0, 2.0, 5.0, 3.0, 0.0, 8.0, 2.0, 9.0, 6.0, 1.0, 9.0, 1.0, 3.0, 0.0, 6.0, 2.0, 6.0, 9.0, 4.0, 6.0, 2.0, 3.0, 6.0, 7.0, 2.0, 1.0, 1.0, 7.0, 4.0, 9.0, 6.0, 5.0, 5.0, 2.0, 9.0, 4.0, 6.0, 8.0, 2.0, 9.0, 5.0, 9.0, 2.0, 2.0, 6.0, 9.0, 9.0, 10.0, 1.0, 5.0, 0.0, 6.0, 1.0, 8.0, 8.0, 6.0, 0.0, 7.0, 8.0, 2.0, 3.0, 3.0, 1.0, 10.0, 5.0, 4.0, 5.0, 4.0, 5.0, 2.0, 1.0, 8.0, 9.0, 1.0, 3.0, 7.0, 3.0, 8.0, 8.0, 4.0, 10.0, 4.0, 5.0, 8.0, 6.0, 5.0, 7.0, 10.0, 0.0, 7.0, 2.0, 8.0, 2.0, 0.0, 4.0, 9.0, 8.0, 0.0, 7.0, 9.0, 4.0, 0.0, 0.0, 4.0, 4.0, 8.0, 9.0, 2.0, 0.0, 5.0, 1.0, 3.0, 2.0, 5.0, 7.0, 2.0, 7.0, 1.0, 10.0, 0.0, 4.0, 4.0, 8.0, 1.0, 2.0, 2.0, 8.0, 6.0, 9.0, 9.0, 9.0, 6.0, 4.0, 3.0, 5.0, 9.0, 6.0, 5.0, 8.0, 10.0, 2.0, 3.0, 6.0, 2.0, 0.0, 3.0, 6.0, 1.0, 5.0, 1.0, 6.0, 0.0, 6.0, 9.0, 1.0, 9.0, 9.0, 1.0, 7.0, 7.0, 9.0, 6.0, 3.0, 1.0, 9.0, 8.0, 8.0, 4.0, 3.0, 0.0, 9.0, 1.0, 4.0, 7.0, 1.0, 7.0, 5.0, 1.0, 0.0, 3.0, 1.0, 4.0, 5.0, 2.0, 6.0, 8.0, 5.0, 2.0, 6.0, 4.0, 0.0, 8.0, 8.0, 9.0, 8.0, 0.0, 1.0, 3.0, 9.0, 9.0, 1.0, 8.0, 8.0, 6.0, 6.0, 6.0, 7.0, 3.0, 8.0, 4.0, 6.0, 4.0, 5.0, 7.0, 7.0, 3.0, 2.0, 7.0, 4.0, 3.0, 3.0, 8.0, 4.0, 7.0, 3.0, 1.0, 10.0, 9.0, 6.0, 2.0, 6.0, 10.0, 8.0, 10.0, 4.0, 8.0, 7.0, 3.0, 5.0, 6.0, 3.0, 3.0, 10.0, 4.0, 7.0, 5.0, 9.0, 6.0, 9.0, 4.0, 1.0, 0.0, 6.0, 5.0, 6.0, 4.0, 9.0, 1.0, 8.0, 7.0, 4.0, 5.0, 5.0, 1.0, 6.0, 4.0, 5.0, 8.0, 6.0, 6.0, 3.0, 2.0, 9.0, 3.0, 1.0, 3.0, 8.0, 8.0, 1.0, 3.0, 5.0, 1.0, 3.0, 9.0, 9.0, 0.0, 6.0, 10.0, 4.0, 1.0, 3.0, 0.0, 10.0, 6.0, 1.0, 4.0, 2.0, 5.0, 5.0, 10.0, 7.0, 3.0, 10.0, 6.0, 4.0, 6.0, 7.0, 3.0, 3.0, 9.0, 7.0, 4.0, 4.0, 1.0, 5.0, 5.0, 6.0, 0.0, 2.0, 6.0, 6.0, 6.0, 7.0, 6.0, 9.0, 4.0, 1.0, 6.0, 5.0, 9.0, 2.0, 3.0, 7.0, 3.0, 8.0, 8.0, 4.0, 3.0, 9.0, 1.0, 4.0, 5.0, 7.0, 3.0, 4.0, 4.0, 4.0, 2.0, 3.0, 0.0, 6.0, 7.0, 3.0, 1.0, 1.0, 4.0, 6.0, 7.0, 9.0, 9.0, 5.0, 2.0, 9.0, 6.0, 5.0, 10.0, 1.0, 9.0, 6.0, 8.0, 5.0, 4.0, 3.0, 9.0, 7.0, 9.0, 10.0, 9.0, 3.0, 6.0, 6.0, 8.0, 1.0, 1.0, 5.0, 1.0, 3.0, 5.0, 9.0, 10.0, 6.0, 9.0, 6.0, 8.0, 4.0, 9.0, 10.0, 5.0, 6.0, 1.0, 4.0, 8.0, 1.0, 3.0, 8.0, 5.0, 9.0, 6.0, 5.0, 8.0, 1.0, 7.0, 4.0, 9.0, 2.0, 8.0, 6.0, 7.0, 2.0, 5.0, 0.0, 2.0, 5.0, 2.0, 4.0, 1.0, 10.0, 1.0, 10.0, 5.0, 1.0, 8.0, 6.0, 4.0, 6.0, 6.0, 6.0, 3.0, 3.0, 9.0, 9.0, 4.0, 6.0, 4.0, 7.0, 7.0, 1.0, 0.0, 10.0, 2.0, 1.0, 2.0, 7.0, 3.0, 7.0, 10.0, 2.0, 9.0, 6.0, 4.0, 4.0, 7.0, 6.0, 2.0, 9.0, 3.0, 3.0, 9.0, 9.0, 6.0, 1.0, 5.0, 8.0, 2.0, 8.0, 4.0, 8.0, 9.0, 0.0, 8.0, 6.0, 7.0, 7.0, 2.0, 4.0, 1.0, 5.0, 4.0, 8.0, 9.0, 7.0, 6.0, 7.0, 9.0, 3.0, 2.0, 6.0, 8.0, 5.0, 6.0, 3.0, 4.0, 4.0, 7.0, 1.0, 8.0, 6.0, 0.0, 9.0, 1.0, 0.0, 6.0, 0.0, 7.0, 5.0, 4.0, 4.0, 8.0, 1.0, 5.0, 4.0, 9.0, 8.0, 5.0, 6.0, 6.0, 1.0, 1.0, 7.0, 9.0, 9.0, 2.0, 5.0, 2.0, 2.0, 7.0, 10.0, 3.0, 2.0, 1.0, 0.0, 1.0, 5.0, 6.0, 5.0, 8.0, 1.0, 2.0, 10.0, 9.0, 1.0, 5.0, 2.0, 8.0, 6.0, 7.0, 8.0, 0.0, 7.0, 8.0, 9.0, 5.0, 4.0, 0.0, 5.0, 1.0], "lambda": [15.351733553447845, 17.398533218468877, 14.796876849214922, 15.927076100547902, 15.624534753155334, 14.566347336012663, 11.80466585648667, 14.693788872437855, 10.748933577752307, 10.874258960428726, 11.526885185855743, 18.57503723488551, 16.933620236323563, 10.831298966086877, 10.252602598131993, 12.601386593579287, 14.69992310848897, 10.094951316574752, 15.562868293524026, 15.757155195618301, 13.526055611901437, 18.67989985376293, 14.06619419801611, 19.278815093570344, 16.55961755631534, 19.085099319680744, 18.141039055934407, 11.414621229826295, 11.92672532371274, 14.664734055327298, 16.917472781943466, 13.574576162890272, 18.235693841529756, 12.903377256409854, 10.769076709624034, 15.989727584718008, 17.48471051177156, 15.925438034536718, 16.14949361038937, 10.035544789336141, 13.319030016078731, 16.669232859368073, 13.052482876613775, 14.258591023956697, 15.465900006757378, 16.3446839407658, 16.73808570659998, 18.8959485463291, 19.834278553491927, 13.141065324625298, 12.440695730537618, 14.824973955192942, 17.760005517893198, 15.506201567001522, 16.36115797564786, 13.063978953098117, 15.19324135873263, 12.359933881963144, 19.613219941039354, 10.063659785670708, 15.134972492615818, 14.287491575089529, 15.753027143623335, 16.804796499874627, 16.796854196388665, 16.638655930433934, 19.98722271843457, 12.69954471332014, 10.44460802299591, 12.371330172392645, 13.725013648149135, 17.09749510063686, 11.96765084396702, 17.559915941517104, 10.351916149371714, 10.103962007767068, 19.67168108724916, 12.807566227156979, 13.195885196640084, 12.2043310814827, 17.919360542593516, 16.208044167734627, 13.614730378468622, 17.895094648942077, 15.50988220441715, 16.26102614087264, 18.11830204892214, 17.72602423781251, 18.412871998019448, 16.80741922589506, 11.87851118809095, 14.829620504027638, 15.70789132243948, 12.050693134008235, 19.515922512144364, 17.517543773854424, 18.12237215299775, 14.62843796087208, 15.188631905489373, 14.450233750765724, 14.00546002921958, 16.668641046806684, 16.813595121126355, 14.773988758476253, 11.250211608040754, 10.94144106121668, 18.35853149386647, 12.161594882264666, 13.017754669674733, 17.170453312714418, 18.29126154080504, 11.373085609111532, 12.613109407461446, 14.074796412229635, 17.3972416546317, 14.878848331220492, 11.369377356801003, 13.853115573476508, 19.226823675594602, 16.793077117402497, 11.331986178841815, 11.823724813079563, 11.940409720279408, 11.864095921260045, 14.903824131521638, 13.686965443979187, 10.122630603346156, 12.951385476110062, 12.694893770260505, 16.199247095505264, 13.810682203228458, 12.816256013294531, 15.651045985431647, 17.286634286506725, 15.109774404882266, 13.439771171330532, 16.44299068039611, 15.136057219269388, 18.233453386270753, 11.099887252381674, 19.100734804311195, 13.336320397797628, 15.547386898902932, 11.09111009642106, 13.2563501551309, 17.712212918829145, 11.720712108596938, 13.895343659308141, 11.878440843311882, 12.293758956601543, 16.939537400649762, 16.772894830145894, 17.810113884692484, 11.601859359161185, 13.413361843966111, 11.659031530574605, 19.49974227288732, 12.40583927523947, 16.607896276178256, 19.52724332616488, 17.309226849572468, 17.24736007157675, 16.568781096266157, 15.938704133198408, 15.67782050371903, 12.822474923387597, 15.244964730690596, 13.35969335201867, 18.168191071099677, 19.849478538324, 19.255401477000245, 10.568630344953172, 11.311894678881798, 11.80773545695088, 17.321448846539006, 16.014414818655, 15.677583393369762, 15.754364404388038, 17.890524226297572, 15.66614803691942, 11.660320852505262, 18.386562219080506, 12.026436952332462, 18.484707917505904, 11.51275921604401, 13.585553215246591, 18.14193062076251, 15.836827731027796, 15.867675741738468, 14.259658490984307, 12.166241529893767, 14.734560194505573, 10.230212316944966, 10.761909776714042, 14.57426243213704, 11.726407404121055, 16.19380203424853, 18.600044411034702, 11.908001664637919, 16.733710808246837, 14.256195069321791, 19.959320297358527, 16.777762778107, 17.47961611595191, 15.821722174156605, 10.98485877895832, 11.08992925270157, 11.170903943900981, 13.275211113537964, 17.983621438375046, 15.991590767861904, 17.063433746899285, 17.81155567354179, 13.205226313842788, 18.63147874155444, 13.672483948765844, 16.46238747656626, 17.243263002706534, 10.866217324171778, 10.320957569250659, 17.732342260498555, 18.52522205036238, 13.289893386058463, 17.721771677250807, 15.87506373282234, 16.321680586563854, 10.365528051698172, 19.901618959046058, 14.676536632976871, 16.643573552828663, 10.493041241947136, 11.280934711651856, 18.768088101839123, 13.765003021969271, 11.487631478038578, 17.07099717516164, 16.034852409640244, 11.616712204373433, 11.068832446571658, 12.691647564243528, 14.218791784815167, 10.018125061441697, 16.297147812560002, 11.045044926809197, 11.937843693549407, 11.492500546467685, 11.430842991412998, 11.27400979054965, 16.476641314705276, 10.04552230076038, 17.41002489451922, 14.071270871488249, 10.035448854948953, 10.309610132633194, 15.318348944932566, 14.253633022167804, 15.009011704398057, 10.906190796087738, 19.539765784410648, 14.465777765515586, 14.395049186039161, 18.964255693827717, 11.48447365926751, 17.776992750399565, 17.527296986181717, 11.016956573694348, 17.005874018317527, 13.882668572232772, 16.046686338739747, 13.907945855906878, 17.017301238487345, 12.750752049196064, 14.45391347581724, 10.372248210001144, 16.716599960329173, 15.265402312515072, 13.395345072407885, 16.09143630486743, 13.40327684169168, 10.441368760033713, 16.419697326685622, 19.74635417285735, 16.62877923934843, 12.153521450410203, 15.970390518080727, 14.26342741980529, 14.91328541759238, 11.748198003799894, 18.198523966070653, 12.84030959744127, 16.62683160042619, 11.38058377386027, 17.60270964532928, 15.520951354912746, 13.49677882804917, 19.567854053638204, 19.547446278854295, 19.80262097327073, 13.6929540899228, 11.145723465009176, 19.757747269017948, 19.139752892455274, 19.940103093322023, 19.68101146956311, 17.257483148787585, 12.150522101384016, 16.805897205237212, 10.889017490535768, 13.796575148118713, 15.606430346772829, 13.751446648471589, 11.484012971394304, 17.554609058999038, 17.92549604592809, 10.526661313146779, 13.295745606358153, 14.629800225786333, 10.247839974794061, 18.10793751387902, 14.31082425605626, 14.835551914295095, 13.993074896890798, 16.429827678384164, 10.618211011570244, 17.878170682794746, 13.69323735053274, 15.728446465934423, 11.77235296009731, 17.771987407974972, 12.08212558852539, 11.505244654626992, 16.381958097142167, 19.978249020326473, 17.610963562928124, 10.514395187388413, 17.266116021772053, 12.233019800165673, 17.48906895369023, 11.86419170970895, 17.478301787704005, 11.893597886089541, 14.341942812616947, 14.063369182784069, 18.19277162600652, 14.99187943920847, 12.582546856935577, 10.620847717814424, 16.76832957717335, 15.992619395273998, 14.136730823307698, 19.31348716271961, 10.697364840316117, 15.99562733885308, 18.7019184141699, 10.989714720844944, 12.464878678226261, 18.984283699968636, 14.588381839545644, 11.422036923782912, 13.037600072750909, 11.606944811922784, 17.233443367344783, 17.182449614680976, 15.654646558255113, 11.655758126657824, 19.223295505043463, 11.726896690674746, 18.032724221210103, 12.556648104173293, 18.840248219613343, 14.106532445773652, 12.799735702213578, 11.26549611721739, 16.41928265036733, 13.832566986594284, 11.280290040474044, 12.673142978366183, 14.983140616695675, 10.456275376402491, 17.066651293272933, 17.85374979734935, 18.303444602464214, 19.244408064958737, 19.743581967610638, 12.830429830464528, 12.370114510585712, 11.23118829998395, 15.430538208330988, 11.841409584394524, 15.98002246887346, 19.41249729953561, 18.58068600273971, 10.66651376640501, 17.20245327242704, 15.350908081318414, 10.433338713297452, 14.647970053408184, 13.52782230496021, 14.330883706620217, 10.733405469989977, 11.458376096580624, 18.078753868133575, 17.208931192701645, 18.627216788145464, 10.037583155404072, 19.988875333162817, 14.5628582984363, 15.091261875629904, 14.734031184813064, 17.105341275663264, 18.199638123729287, 18.902457490047777, 17.976722068062703, 19.081599111906975, 10.194963527876334, 15.946391776881725, 11.736473826718598, 10.792360443819161, 14.131055008655157, 15.218883660958294, 16.841374236245315, 11.477568437940663, 13.412838809674255, 10.384659158402007, 13.610612303037062, 15.880363627127338, 11.469491710188864, 13.33626980541112, 17.368401382337243, 17.59217691706955, 18.00360380662832, 16.4354500834598, 15.384692904388931, 13.69942469877113, 17.04481608773378, 14.441230722808967, 13.609897145798012, 11.603456353091715, 19.327126706742153, 10.376034265384893, 14.61037078154877, 15.361222813728538, 15.268372901942598, 13.060542575292203, 12.48849935031066, 15.868965067930747, 17.753890436400358, 12.694080256794411, 15.730257907194883, 13.115356629611199, 14.871127526887186, 13.947974660593552, 17.333779079231174, 16.366610341350466, 15.693422220466733, 16.44420253193853, 13.137911917194906, 18.74710342681668, 19.03995413924948, 17.537595987209528, 16.26625993299035, 12.810296516686307, 10.21209207501696, 13.850294864253847, 15.668551133406236, 17.437863417792116, 10.612939700070992, 18.881312279612636, 10.119514370322998, 12.031264938886462, 18.337392604293196, 13.08889948727137, 15.621132352524796, 18.592581356306603, 11.329987244422497, 18.855876931482022, 18.828878799900586, 16.22380877264046, 16.00600444027268, 19.530077506874193, 14.80197166978789, 15.216682842563742, 10.407483018946964, 11.047936620266722, 14.221031919326741, 16.895602460277296, 12.15028995244191, 18.267044856639366, 17.011283697490885, 19.054347444607426, 14.900843791853386, 12.594783321281323, 15.105229208099463, 10.1247140290967, 12.90884599685764, 12.311438904182893, 12.606578372059799, 18.45163345155808, 12.74475745433959, 18.85958113005609, 14.871944416459357, 13.630063724929036, 11.428501311075932, 10.26666836599184, 17.510512310276184, 19.280344971944444, 16.284727316550978, 17.413405448079885, 15.167875946521225, 11.257713185600238, 19.54273199245978, 18.352218363490852, 14.019133765006554, 14.030625132430727, 16.26804000687683, 18.77890562496169, 12.015617159385425, 16.46724191477296, 15.428394645089963, 10.033874679237433, 19.47531152557058, 11.159971289769832, 13.418434253954791, 13.724429908288625, 12.377987604544721, 12.769802864073725, 18.21394168556229, 13.693079566723483, 11.049535381444155, 13.228049237035684, 11.062291626106871, 12.466320970618, 10.652425254844909, 12.739341000583392, 12.109435041809185, 12.300239488796521, 15.50931914534912, 19.93914238729386, 14.782771204820264, 11.57420709804674, 12.318692046071906, 16.308533686612833, 10.292265673016468, 10.990765020762602, 12.492752388564769, 18.356244576050734, 16.543292398359693, 16.880661308341836, 14.933177397663918, 13.611270245040526, 12.610359045948524, 19.515001712948386, 19.36034683756725, 18.015558635322854, 19.653359269441545, 11.319139676022663, 15.742820448625416, 14.354977142830059, 10.435908223236215, 19.741726766454114, 18.824438596670582, 16.30802753462233, 18.2116518895235, 12.56192135239779, 11.8751607656102, 19.680592771071044, 15.30135872834934, 18.8912396867176, 13.309703302007925, 18.835987837222184, 10.57409625352514, 14.56523860595509, 12.178684910106288, 10.101083425063354, 13.4690349432599, 12.987610204336875, 11.038393114225993, 18.22797534964738, 17.86023821516175, 11.112977323370107, 12.650892878104866, 13.12013579230908, 15.22294524318201, 17.283309125890227, 13.83167986869283, 11.956851717169101, 12.239275724120917, 12.672806131032722, 13.252243700202934, 17.53058553587612, 14.685533982727332, 19.822106689320677, 16.665531722296265, 10.23200558509634, 19.657214123720443, 18.18934938031495, 18.5671456824629, 15.228096339497878, 18.772209695215896, 15.795813094849716, 10.277565660951396, 10.089725923808107, 13.452114533115482, 18.937570115843315, 16.278055004225877, 12.755265149305533, 19.854494459202105, 12.84792558134216, 16.77418057275888, 15.410098710259442, 13.492562487180109, 10.755535574252743, 17.642396674371213, 12.20926543664823, 15.273187991085463, 11.219545929001892, 12.07586819345739, 10.994922087923225, 11.844627553723164, 16.412145451456418, 15.553262509029524, 13.843764716177972, 19.293624957578942, 18.87028865435127, 13.747963978478065, 14.638156760090833, 11.858641219761868, 12.340198082608998, 15.996506271102525, 13.738674850252728, 14.550460972720565, 19.219265249717992, 14.399964305691904, 15.912609410231154, 16.37199649126033, 11.070313066234528, 18.219416496643873, 15.4634790694051, 14.621209229853903, 17.10722410223296, 17.924294100704863, 19.72837528296778, 17.483266986740816, 19.69132702036333, 16.353698999038937, 14.492384173291832, 13.495596867790429, 16.339406035169606, 18.484771152921432, 19.937035237708034, 10.55333332217227, 12.400961151571751, 12.462932646928813, 16.770404578172922, 11.364457776951578, 18.068505974350693, 13.196199230803199, 11.438337885437148, 14.75588837798989, 17.743778811184082, 15.690204011321912, 14.162369825884209, 12.355289727091726, 17.000019053756187, 13.494219805635641, 16.65709631110446, 17.265602799146293, 18.01550777909425, 13.923762807237104, 17.47833176978676, 10.292034080281821, 12.388923485472391, 19.800465154968308, 17.415500795390194, 14.739622569805645, 14.225360874842204, 15.324438228605707, 12.597642252350761, 12.801506725805583, 11.274954993099193, 12.967457554122555, 11.291704729687877, 13.968586534759405, 19.757199991581036, 14.649028563133998, 18.70059573220523, 16.44123665751281, 19.991861250866894, 14.454434039447426, 10.092492463143783, 16.823137550158236, 19.037340522773405, 19.81902436903513, 15.748916301776957, 10.23016954780967, 12.828465413327274, 13.547501870809755, 14.890649859552227, 19.049277010672085, 16.154920471805177, 11.644412082529113, 15.044193865839969, 16.127652812914143, 16.70684384956641, 10.206826016995716, 13.758675885005909, 16.11343520208957, 12.23206439722733, 18.407716614301282, 15.469950657830879, 18.748657894999234, 14.378900018358845, 19.206089581202882, 14.210088235551614, 18.859936799870244, 11.93630249093868, 12.93071166852677, 14.050599197999531, 16.939692723392348, 13.157336684957805, 11.55459460238309, 12.362734162998613, 10.831549975086233, 15.23060893852349, 15.92284190202825, 19.598164638520366, 11.099915052155929, 16.064555580501978, 13.421914767817178, 16.784505307084384, 11.381942972761234, 19.59692691007238, 17.093917868582693, 14.20295944580307, 18.450445608770874, 19.926480928017547, 12.421028015396223, 14.407450982858443, 19.11416894985239, 18.551201846758275, 19.006700120726098, 12.836445830558905, 15.133573004008284, 18.420134477853424, 17.457322934548667, 18.01439855565563, 19.286095225228593, 17.68258792501242, 11.576767362479304, 11.85336706084973, 12.560903655312837, 15.357979075187647, 16.130909531753083, 19.472202503800585, 12.392694277075814, 15.080527219940763, 19.470721542902176, 17.361865982044563, 15.1494367740599, 15.570983777856592, 10.570058495213262, 19.373119707917482, 17.448725741759752, 16.77131529788706, 10.60496513535735, 18.025272035867722, 15.10589530377608, 17.052740738380848, 12.581526820952066, 19.59197403982782, 10.813632436917453, 15.490578619478748, 17.8338456020055, 10.781000732967298, 11.813087778966535, 11.191677675929839, 11.513201178104866, 15.173716059652655, 16.315484609222125, 13.515733084466131, 19.056471691861503, 10.483597784003734, 10.032338998167468, 12.287546262624932, 14.02683853490134, 13.45005713530519, 19.351242609642505, 10.64459291212404, 11.892687894343181, 17.954553451506982, 13.42167198929387, 16.678069046330766, 16.198959951857717, 14.994103662092755, 16.965730900297935, 11.24790358173806, 13.056517873433142, 11.001705554764518, 18.32786569679243, 15.370275878659466, 12.80660496198894, 16.542474352804312, 12.913273242754038, 19.225209516078316, 10.16741983738001, 10.209454819996427, 13.307803218474675, 16.77240306256801, 18.21283355450843, 15.1935830517942, 12.54566676197158, 11.51641988175527, 16.72692339346158, 19.28357772394423, 13.732307514023354, 10.58506395027088, 13.617709309654508, 17.657064372234174, 15.445274181278455, 12.528861764860773, 12.59543771047861, 15.995491729821218, 16.331279498372467, 16.8573748384065, 17.932558234466235, 18.13665987320076, 11.683747750774986, 14.879989871285948, 10.588426822978573, 17.642292279942495, 10.624240412509046, 13.503371862220487, 19.076746761796386, 19.73261588649149, 19.37730939754033, 15.912770480034137, 10.870602686035005, 13.91499541880517, 11.912236221290701, 12.846971274957893, 11.772380281771099, 10.532855028203029, 13.320416501648484, 11.111073575633636, 13.734342747570684, 19.130543371246763, 18.8048781241825, 18.92512117385083, 17.683895054502106, 14.361304865682872, 12.401383542967936, 12.551800338333168, 13.809559009367405, 11.591040093626862, 19.910384408810998, 13.375578868328216, 16.517401065109325, 12.13615084180807, 15.944926263237736, 17.071032934170375, 10.27957942611642, 11.120386718237661, 17.39820601201531, 14.757838315012195, 18.868719161233134, 18.914303076975802, 17.113356358909222, 19.981085010958374, 19.546354344752324, 14.284513699710786, 13.925545000418571, 13.425479692256351, 17.94848602967702, 12.261082553369956, 18.072236642094225, 13.170774958127963, 16.16287967518031, 18.768266001682527, 11.375320013905245, 11.76889190414097, 17.554150328559608, 16.986934293265346, 10.283738884704249, 11.68434720337507, 11.620332282208842, 14.960722206130232, 17.29030067010418, 16.810748495669138, 14.417978598494344, 19.867283293503043, 19.01115805037849, 18.739197267801394, 19.518202521102932, 13.677231743306976, 15.320348579849872, 17.39111218889613, 11.925678503021581, 16.117442928709508, 18.240126718219106, 10.121703288643586, 16.09807394172244, 13.24736964513192, 10.134955582552656, 11.746826878383267, 19.178765627497164, 13.932484405979691, 12.4516370452173, 14.265237023188304, 12.726394253234508, 16.63975794049704, 19.625505439082566, 18.625999104880172, 15.908658844603222, 17.1935985769461, 19.198542382305554, 11.083964243442386, 16.893924202621637, 12.636668671893014, 17.826798852810924, 10.366264451806328, 14.063245098699397, 17.844507338117367, 19.42725212762504, 19.28941674762157, 15.558726098223914, 16.78262296889052, 17.218698940182158, 19.511577574425512, 15.422076415564426, 16.47741481757096, 15.473206552350824, 14.943614776633925, 15.07204780089707, 18.05488747578011, 10.083153207078963, 17.985755310337023, 17.212288108119214, 13.451253074642821, 16.76468814455032, 19.630647463844532, 14.0418441617776, 18.439291620078656, 14.420408609479859, 15.236590230491137, 16.28985218650604, 13.851774935768043, 15.097646996215374, 10.695177098922704, 11.489397517860063, 17.643266275646088, 17.619914317618314, 14.372380377390993, 13.18534527134867, 13.66630816835389, 14.43549883861074, 11.540003670260687, 17.872945187741948, 15.758795745145811, 15.61041974298746, 16.116924891100513, 17.595928109736477, 14.575183952788407, 19.685104012512745, 16.90203055463389, 17.23903912180555, 19.00191657435532, 10.228042824243879, 19.591468180069647, 15.432533170286813, 15.933739217250052, 12.217580395173293, 13.806607965448412, 11.372501807332744, 16.23735767474057, 11.417717870663594, 18.936671411859287, 14.65894077312987, 12.923071282345742, 12.158295393763556, 17.586458852952465, 12.500064573795818, 10.880967755055996, 10.763935003877453, 15.95193605840646, 18.412387859110797, 18.06113044089507, 14.808275652240663, 15.391132831077202, 11.768712402605267, 12.32689109930255, 19.26071055289185, 15.315171963666078, 13.938035556973066, 12.026695556153657, 18.991207865576314, 10.363955319905536, 18.364251881353482, 15.284275138368903, 14.658258354692137, 18.033267414707506], "expected": [1.000031723197416, 1.0000001775619152, 1.0000200889261504, 1.0001326421517633, 1.000065927790838, 1.0014084366660356, 1.0000477264827907, 1.009236057219535, 1.2105681993238413, 1.0211909132285897, 1.001455826780398, 1.0000000147250994, 1.0000002826565255, 1.000033973818737, 1.0000606020475755, 1.0001805165358895, 1.0004526540359118, 1.0022179321105273, 1.0000256850053932, 1.000427710945486, 1.0000715962306914, 1.0000031053672578, 1.0003132960392431, 1.000000080913578, 1.0000012273104046, 1.0000020707927082, 1.0000394161413646, 1.0005917039606442, 1.0200975785094633, 1.0000081638503415, 1.000049263073534, 1.0001876094690418, 1.0000002296377475, 1.0027351866185594, 1.000401732867887, 1.0000060939942321, 1.0000000438107952, 1.0000007746530413, 1.0002888681489528, 1.00028002422332, 1.0000028230274205, 1.0000631446799713, 1.0000137032094436, 1.000004102148334, 1.0002103786077874, 1.0000001369898681, 1.0, 1.0000000106828768, 1.0000009789753226, 1.0451885537756904, 1.0954061779863633, 1.0000023282707802, 1.0004266167990958, 1.0000003168376905, 1.0000001347515792, 1.0063584283117113, 1.000001611004028, 1.000027390463221, 1.0, 1.0022885962277572, 1.0000051011920763, 1.001862257262952, 1.0000027494946384, 1.0000009604492723, 1.0011184833218298, 1.0000651053998153, 1.000016914670778, 1.0012299345635784, 1.0015624453724603, 1.0006251857871151, 1.0012008511034012, 1.0000002399324812, 1.0025604579711493, 1.0005211668657588, 1.1051649584520127, 1.0469362320622206, 1.0000031359128487, 1.0001468789079804, 1.0000031929819706, 1.0000086065018468, 1.0000008848523092, 1.00027243590121, 1.0000021003591562, 1.0000068069279076, 1.004062840937475, 1.000094980079616, 1.0000054451872131, 1.0000029527252088, 1.000000064391424, 1.0000549945493347, 1.0000443289152185, 1.001082075665814, 1.0, 1.0003131401671914, 1.0000036644542498, 1.0000000423957018, 1.000000257192485, 1.0000653905452264, 1.0002776174777255, 1.001582122676967, 1.0024705184554294, 1.0000085004348394, 1.0000200745678278, 1.0000565326283588, 1.0000223462641549, 1.0001131582068068, 1.0, 1.0158240391597835, 1.0003274465227137, 1.0000140495378251, 1.0000000195569199, 1.0016982821889906, 1.0277118639221254, 1.0000147266748198, 1.000000531102779, 1.000050904571143, 1.0000198358208117, 1.0000183815077925, 1.0000002393571907, 1.0000075058314706, 1.0370329965051013, 1.0000468254304014, 1.0071966139024087, 1.0214243680891697, 1.0001355499862705, 1.0034002533338822, 1.0021572501168032, 1.0001272010875712, 1.0254802122488096, 1.0000135924759082, 1.0226330077585655, 1.0225026197453102, 1.0001748148184932, 1.0000001985852187, 1.0000052313662517, 1.0005863079417767, 1.0000001241636194, 1.0000004587632116, 1.0000359366476548, 1.0002885469306908, 1.0000410459998954, 1.000002774635547, 1.001435739215227, 1.00081790634235, 1.0143759555414482, 1.0000081729016337, 1.0032800022212307, 1.00753679982534, 1.0211127865593956, 1.0000292644066575, 1.0000481879548335, 1.0000569264683814, 1.0000548781926144, 1.0004906177927826, 1.000002568899591, 1.0264295633384162, 1.000000182187851, 1.000219512552788, 1.0000011694649442, 1.0000000211282092, 1.0000005799665426, 1.0000130095239244, 1.0014054159020902, 1.0009703462851585, 1.00017019555384, 1.0010875072405967, 1.0000352977991311, 1.0000100786104817, 1.0000000221181746, 1.0000001284194657, 1.0000000828304103, 1.0000441801218978, 1.004944735860788, 1.0030058089707086, 1.0000001917905237, 1.0000163520202545, 1.0000029649527724, 1.0000579002884649, 1.0000003243012185, 1.00000842232277, 1.0001647277099832, 1.0000113367242294, 1.0000382332044373, 1.0000000161171319, 1.0000171861423925, 1.0000021625446747, 1.0000144787510687, 1.0029264921805905, 1.0000068850774617, 1.0000343774779228, 1.002098312051619, 1.0000006854198578, 1.0019367832728179, 1.0001354149707116, 1.0038082543908735, 1.0000138800140328, 1.0002763448118188, 1.0000091574065848, 1.174220036552874, 1.0001610355756672, 1.0000344967522377, 1.0000000036886865, 1.0000027711576467, 1.0000763734650144, 1.0000541284981928, 1.0068707888145954, 1.006181257279006, 1.0, 1.00000294948024, 1.0000461362858166, 1.0025058347788056, 1.00001563654272, 1.0000074000035017, 1.0055162394435695, 1.0001784243732206, 1.0004645226635744, 1.0, 1.0000047850267884, 1.0003645295465324, 1.3639875482498265, 1.0000029341285774, 1.0000268423225003, 1.000249412336116, 1.0004432512002819, 1.0000068343976583, 1.0000043725614376, 1.1035958203363339, 1.000000003907789, 1.0000007263668627, 1.0004792837566134, 1.0014884624510454, 1.0140108848979115, 1.000002843237811, 1.0004234562169896, 1.0041445250074252, 1.0000000662604787, 1.0008813155788139, 1.0036408036908384, 1.0002976511395782, 1.0000052867104627, 1.0000985000629277, 1.0000766179628813, 1.0000123248112363, 1.1485809836680099, 1.0072152378538781, 1.0005473464511216, 1.0964344213150734, 1.0018754922785393, 1.00000044639829, 1.1484680466062713, 1.000000047208118, 1.0008490999469153, 1.5504806502330328, 1.3696771696870036, 1.0000003823140349, 1.000034585250978, 1.000904215253669, 1.0027115759145344, 1.0000000208652817, 1.0042464872609156, 1.0016720355450566, 1.000047048477198, 1.0015189951056505, 1.0000567263615172, 1.0000098329756533, 1.0003135048028393, 1.0000060671070803, 1.0210279424767574, 1.000000184547087, 1.00001740075913, 1.0000007765773373, 1.000055353925628, 1.0000778601849802, 1.0, 1.0000029459405906, 1.0002570969486768, 1.0346906005662033, 1.0003061407399767, 1.0000809499227865, 1.0043230826931646, 1.0000001270897547, 1.0000585083508393, 1.0000003833979882, 1.0446007388612026, 1.000002212345328, 1.0000941997212975, 1.0000005732409767, 1.024120543328016, 1.0000006693165424, 1.0219560651412645, 1.000000384145437, 1.001685574282169, 1.0000675273662385, 1.0000003121986958, 1.011269054629871, 1.0, 1.000009657534819, 1.000000134580099, 1.0001666612811897, 1.000024807628133, 1.0000001407567558, 1.0000394752434543, 1.000000880668957, 1.0000011411293193, 1.0002593460670919, 1.0160030494530974, 1.000020229699626, 1.0001192494495879, 1.0083257155197358, 1.0000010657385, 1.0001571909651614, 1.0, 1.000009568048454, 1.0000066031004387, 1.0109079053968402, 1.0138129471936828, 1.0036017771810162, 1.0000608913885685, 1.000040742765117, 1.0000038933787223, 1.0010756695423382, 1.0000014387328944, 1.0000013974025184, 1.001313106274371, 1.0, 1.0001666140713812, 1.0011976753887764, 1.0085248588281146, 1.0004215334833428, 1.0000361621623368, 1.000192365872939, 1.0000014659226253, 1.000000003619521, 1.000024622467563, 1.0001734522756425, 1.0000347617286809, 1.0000928995999174, 1.0000000436202638, 1.0001343423024383, 1.0, 1.001008446891592, 1.0006476195748022, 1.0000148959277544, 1.0001017701961021, 1.000124123087348, 1.0037737386386343, 1.0013096439464877, 1.0, 1.0001242260880867, 1.0059108831055017, 1.0000006036644713, 1.9915727039251014, 1.0003369331995153, 1.000000048227723, 1.0188366909097748, 1.0005693208441881, 1.0000461155203664, 1.0000088115980215, 1.0337362683823388, 1.0503625250930289, 1.000173760760499, 1.00000062562675, 1.0000002203909508, 1.000174186407269, 1.000464861916354, 1.0000000077005764, 1.0001541162001664, 1.0000002813143511, 1.0014191342393526, 1.0000001254551807, 1.0001102034615368, 1.0647626361737885, 1.0142319768561279, 1.000029778180578, 1.000018763136801, 1.000021684108721, 1.0034457547584925, 1.0, 1.0001838342081202, 1.000000247448226, 1.0000003364492138, 1.0000123192858288, 1.0000017658328237, 1.0, 1.0221788965552197, 1.0000072916688074, 1.005362587839165, 1.0, 1.001062531334372, 1.0009310336187152, 1.000004063745267, 1.0000253940384187, 1.2328716751897983, 1.0000370468033062, 1.0047662361468677, 1.3131784186077606, 1.0035366950833986, 1.0000254482213693, 1.0000880543951034, 1.0088525305923404, 1.0117061649636407, 1.0000020750765188, 1.0000135192025865, 1.0000032733542443, 1.0023492047172324, 1.000000013316143, 1.0000698228837979, 1.0000017839629887, 1.0000213919721224, 1.0001110460344955, 1.0000136668585133, 1.0000000106135685, 1.0000000995968388, 1.0000000329916106, 1.1252763702643758, 1.0009629080526734, 1.0088390318137945, 1.0003924832635276, 1.0002936145993573, 1.000269342593513, 1.0000071519337357, 1.000066195018769, 1.0006023228253078, 1.0001974857265985, 1.027785242645521, 1.0000002179416594, 1.0924404581204792, 1.0000308212382902, 1.0000853584151475, 1.0000250894253087, 1.0001229658048456, 1.000217009691656, 1.0002281797550183, 1.000165586183469, 1.000005835381213, 1.0000034173668564, 1.0001810973934653, 1.000174368087693, 1.0, 1.1024022097057047, 1.0000028855907812, 1.001730028348111, 1.0000941369082161, 1.0000036557403125, 1.0315052898293324, 1.0000002204400933, 1.0000003717816097, 1.0, 1.0000593131052133, 1.000012868151113, 1.0001400558953983, 1.007147626043886, 1.000001589226867, 1.000031388759575, 1.0000009769459113, 1.0000013774587206, 1.000793070036597, 1.000007905057507, 1.0000000343945554, 1.0000000415540409, 1.000000148165663, 1.0030028069593924, 1.0019722692991702, 1.0078868266210002, 1.0000630886473791, 1.0000039388561202, 1.0036390105976314, 1.0000000403076044, 1.4845851403668802, 1.000319285396213, 1.0000043738363575, 1.0062009602199387, 1.000001050184604, 1.0000682292951057, 1.0017732090565945, 1.0000524343886776, 1.000000042477462, 1.000000574812713, 1.0000450183154734, 1.0000267179695153, 1.0030303749486247, 1.005454642613246, 1.0000519060059134, 1.0023523702505908, 1.0, 1.0000184939713883, 1.0000090844106706, 1.0000347494916444, 1.0001219990641892, 1.0000021354628714, 1.0, 1.003727671553647, 1.0008212002335437, 1.000256128492979, 1.0000472590946223, 1.0000858921862326, 1.0000057561344475, 1.000213587221222, 1.000430275393896, 1.0000003455715152, 1.0000512572461173, 1.000064523345963, 1.001606582726274, 1.0002222239610754, 1.000000042694856, 1.0000126144462593, 1.0006863213749364, 1.000000047048798, 1.0000049360757117, 1.0143447720987013, 1.0000000621446496, 1.000031912206898, 1.0024368853593042, 1.0000432260797192, 1.0018994561563337, 1.0000003746061272, 1.000892503829084, 1.00021021764323, 1.0000802153180623, 1.0065120524280327, 1.000003816335062, 1.4566332821872083, 1.0, 1.0012015531359781, 1.00002690038519, 1.0085517430308946, 1.0000000785637804, 1.0, 1.0008526574792804, 1.0147947261453119, 1.049059707331125, 1.0, 1.0265940619744824, 1.0243455159339414, 1.0002952701804866, 1.0, 1.0, 1.000000117406013, 1.0000203743072906, 1.02883675733956, 1.037555184757992, 1.0000005281177675, 1.0, 1.0024911249430293, 1.0000064500844763, 1.0000002035582682, 1.0000004176152122, 1.0000068764011278, 1.0003584465558102, 1.0000078368417755, 1.0036698485839657, 1.000000005752238, 1.0000860737419506, 1.0, 1.0000001562443737, 1.0006510252233154, 1.0004338889087776, 1.0000010018615852, 1.00018761759767, 1.000000017049581, 1.000019900728709, 1.0000332825940363, 1.0000998665829752, 1.029209832047091, 1.0597716531211643, 1.000001141607209, 1.0000121299638045, 1.0000001192183987, 1.0002445189115687, 1.0000534877575167, 1.0103973024063622, 1.0000696568698677, 1.0155517322666983, 10.400814091393222, 1.0000090346989725, 1.0000436794237872, 1.0065103004558043, 1.0000000774689428, 1.0, 1.0002847933199441, 1.0012913320405576, 1.0000034442461943, 1.0000360836874902, 1.0000000535856683, 1.0003961313692589, 1.0, 1.0019502369928075, 1.0260641052855513, 1.0000030180064177, 1.0001973539788964, 1.0034058630535359, 1.0000000042311932, 1.0000633788349653, 1.0410633518208665, 1.0000235281257885, 1.0000050717424274, 1.000000164852502, 1.0000004184238918, 1.0000570104429773, 1.0004114853767254, 1.1142093981446726, 1.002229578400605, 1.0000274497135193, 1.0, 1.0006909192119016, 1.0000049608550312, 1.0000001277769366, 1.002891592681854, 1.0000000891580163, 1.0002224544101446, 1.0002036478607825, 1.00003664796175, 1.0, 1.0000951330133587, 1.0000003999755152, 1.0007192518575596, 1.0008402733292534, 1.000107264640637, 1.002896622805658, 1.0002221275496836, 1.0000259329252879, 1.0000062111096473, 1.0000016810279078, 1.0000003418910381, 1.0, 1.001310715664314, 1.0215440763733048, 1.0367267946634533, 1.0003366370884847, 1.0, 1.0000008239674465, 1.0000000858783273, 1.0045366757460727, 1.0009960260216944, 1.000000133298958, 1.048648677441399, 1.0000364446619305, 1.000077449591945, 1.000179827805544, 1.000014966578722, 1.0000179991075235, 1.0000000516154697, 1.0000760951225427, 1.0000001504233307, 1.0000317966711896, 1.000027239515239, 1.0002030307261338, 1.0000878191969043, 1.0000102762704002, 1.0000000418947894, 1.0001668268916004, 1.0045285612411088, 1.0002073283230517, 1.0000009940555834, 1.0002214543847952, 1.0000423814793704, 1.0000995766111935, 1.0119459345454533, 1.0000074525841802, 1.0000000338118704, 1.0033902053393942, 1.0057603982513719, 1.0017362415799194, 1.0000002644979844, 1.0005552205200807, 1.0012864664384318, 1.0000946008884881, 1.00033039461165, 1.0000481014009057, 1.0000764716255075, 1.038578525168898, 1.0000794876402086, 1.0000003709399932, 1.0000109960812193, 1.0000075747987158, 1.0000126681862889, 1.004894708083273, 1.0001811938433978, 1.0030293977281075, 1.0018737170534537, 1.0192840260640443, 1.0050460946210873, 1.007000787062223, 1.0000001408338097, 1.000000746625193, 1.0, 1.0000291315352965, 1.0000003063242386, 1.0002124714583929, 1.0022234047576914, 1.000400474475985, 1.0000000092743284, 1.0000073607220548, 1.0001585136332685, 1.0019368662725714, 1.000395710431681, 1.0001927592470738, 1.0000005863645878, 1.0000021463181152, 1.0000051660578961, 1.001294189418649, 1.0008729288168152, 1.0000398616965114, 1.0000223361685006, 1.0007051123431008, 1.0000067627461062, 1.000814656346529, 1.0000929884075707, 1.0000000174070294, 1.0000036491510793, 1.0000214674668313, 1.0016993030082058, 1.0000000078342184, 1.0000128631505674, 1.000000950101902, 1.0000112520543625, 1.0000462369086112, 1.0064459934090566, 1.000356398966798, 1.0, 1.0038750400201752, 1.1039459414873742, 1.0010605627080502, 1.0000004173738795, 1.0000023200805772, 1.0, 1.499001543096799, 1.0000424580152296, 1.0000025470215936, 1.000002752535833, 1.0000728380411699, 1.000000454673071, 1.0000055557728114, 1.0151775079663983, 1.0000106351366325, 1.0000000423393016, 1.097485917317706, 1.0002226945204122, 1.0000002678994473, 1.0000035318804077, 1.0000060976548257, 1.000050807755736, 1.0000051083361727, 1.0000810716832005, 1.0000287116815587, 1.0000008046300883, 1.0000002255823757, 1.0000000359454613, 1.0013848896761142, 1.0010498884505687, 1.0014130993358576, 1.0, 1.000000630771439, 1.0000014061108546, 1.001672390960545, 1.0001135922607425, 1.0000038338923039, 1.0000116019638046, 1.0021389863592727, 1.0000092632111894, 1.0000441170666785, 1.0000015525683772, 1.0000038963023556, 1.000421784107648, 1.000158430367571, 1.000000283418589, 1.0003015707825749, 1.0000007495377674, 1.0103417073021264, 1.000009236936095, 1.001079757732216, 1.00000357464732, 1.0001457200428137, 1.000035726445913, 1.000397161032299, 1.0020367702470332, 1.0110747268424145, 1.0000049073323365, 1.0000043997379562, 1.0000723391671007, 1.0000002838111317, 1.0001788783866419, 1.0008396504154697, 1.0, 1.0003258759625793, 1.0015814901377937, 1.000000075260402, 1.000040948176419, 1.0000117536768156, 1.0000008542533467, 1.0005970226584202, 1.00006258914484, 1.0007478293653784, 1.0024993350690234, 1.0000063156158112, 1.000083286780271, 1.0176118986028335, 1.006755230436697, 1.0000016175064583, 1.004674385475751, 1.000004712591202, 1.000530300068156, 1.0009930196753667, 1.0000133294897728, 1.0056933011664004, 1.0019774880323862, 1.0000317112507378, 1.0004213253620127, 1.0000134877006255, 1.0020464230056028, 1.0850900082499462, 1.0878303538264076, 1.0000010382318023, 1.000001698002749, 1.0004375363298355, 1.0815111990566513, 1.00000209411162, 1.0000000368747257, 1.0000288902657484, 1.0000062213286276, 1.0000646554051005, 1.0000166644024744, 1.0006550834236807, 1.0010527304991113, 1.0000065566320693, 1.0001076445848687, 1.0034039355736963, 1.0010288673861987, 1.001352859039761, 1.0001764912602358, 2.1535798246222977, 1.000201457965224, 1.0000020881615967, 1.0000000046273059, 1.0000002059165938, 1.0003660502668537, 1.0000326643542574, 1.0000172785205241, 1.020396878924127, 1.0003884519744204, 1.0666732617011967, 1.0108398218385486, 1.0002419126791162, 1.0466149951055586, 1.0000018635730006, 1.000005387385924, 1.0000003650019287, 1.0000489262908807, 1.0000001334807775, 1.0017295192836262, 1.0016578980163326, 1.003892029157734, 1.0000064272420295, 1.001365236932335, 1.0, 1.0000099197696881, 1.0000098883638662, 1.0000342602530863, 1.0000063732232098, 1.0000000662581092, 4.099928351298876, 1.0000254442286634, 1.0006126977104335, 1.0000574531213662, 1.0000000109777616, 1.0000181903304393, 1.0000148750792868, 1.0000001125835367, 1.0000013056169565, 1.0002518333240369, 1.0003606273617658, 1.0000281906778916, 1.0000003060385114, 1.0398710607394384, 1.000114808476068, 1.0001021409982251, 1.0000384818857349, 1.0000003786130753, 1.0127328711883334, 1.0085546680334148, 1.0000000408718035, 1.0, 4.047841997406744, 1.0000538289888876, 1.0000154333005031, 1.0000020327249743, 1.0000339310848463, 1.0000009547496553, 1.0006001743541588, 1.0000518437147896, 1.0000000353993823, 1.0000589240191118, 1.0000013428947614, 1.000061550382349, 1.0000119017881681, 1.0000306771100564, 1.002670507456206, 1.0000006393232466, 1.000097062732117, 1.0007678126859165, 1.0000019471552952, 1.0145075220385975, 1.4736427495397584, 1.0031951836786626, 1.0000000080512315, 1.0001311573097886, 1.0117930536414765, 1.0000040749757253, 1.0089345280766069, 1.0000031812379429, 1.0000089323412205, 1.0000659867542292, 1.0, 1.0001016644978973, 1.0000018487101867, 1.01711341613909, 1.0000504369751029, 1.0000207688121878, 1.0000009706660895, 1.0000540903895014, 1.0001150791972364, 1.0000009536283483, 1.000010890967827, 1.0000339878933897, 1.0001917253815462, 1.000020706062194, 1.0000364497938299, 1.0000272168641304, 1.0000038281015067, 1.000000446053133, 1.0000766997971522, 1.0009653835697354, 1.000041961152615, 1.0000058016773203, 1.000798015200287, 1.0000008280105728, 1.000001794522251, 1.001579596913519, 1.000000090008372, 1.0000088865283787, 1.0003210209332714, 1.0, 1.0044444601517646, 1.0000004148848938, 1.0, 1.0003882474636874, 1.0, 1.0254527230245407, 1.0015115228180391, 1.0000011662109898, 1.0000011937647988, 1.001710437065331, 1.0000032268139136, 1.0001711625943719, 1.000028834011467, 1.085607942953947, 1.0000515360417819, 1.0000211148233276, 1.0000668650236175, 1.000040291649073, 1.000000039199447, 1.0000008038462427, 1.000003094100842, 1.0003700827561368, 1.000264175113393, 1.0000000357280412, 1.0053566038094088, 1.0000000198139103, 1.0000012681579271, 1.000131761163392, 1.1221679736113626, 1.0000192565964916, 1.000073529032393, 1.0000001525104714, 1.0, 1.0000000102565785, 1.0000634259376857, 1.0009833279953313, 1.0007737378321826, 1.0000686337804943, 1.0000064030918052, 1.0001202133840745, 1.8720228165190893, 1.0009575790928296, 1.0000000173259065, 1.0000021119707028, 1.0000023674754723, 1.000616870487558, 1.0031257983209805, 1.0048784272298028, 1.0000128645742943, 1.0, 1.0009702301850385, 1.0181508663474774, 1.000045797297227, 1.004672678937094, 1.0000005670962748, 1.0, 1.0000634692382537, 1.0000000253131323]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/runner.py new file mode 100644 index 000000000000..019716218341 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/runner.py @@ -0,0 +1,86 @@ +#!/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 + +# 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, lam, name): + """ + Generate fixture data and write to file. + + # Arguments + + * `x`: input values. + * `lam`: shape parameter. + * `name::str`: output filename. + + # Examples + + ```python + python> x = np.random.rand(1000) * 10.0 + python> lam = np.random.rand(1000) + python> gen(x, lam, "data.json") + ``` + """ + # Compute MGF values: + z = np.array(np.expm1(-lam) / np.expm1(x - lam)) + + # Store data to be written to file as a dictionary: + data = { + "x": x.tolist(), + "lambda": lam.tolist(), + "expected": z.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) + + # Include trailing newline: + with open(filepath, "a", encoding='utf-8') as outfile: + outfile.write("\n") + + +def main(): + """Generate fixture data.""" + # Large shape parameter: + x = np.round(np.random.rand(1000) * 10.0) + lam = (np.random.rand(1000) * 10.0) + 10.0 + gen(x, lam, "large_lambda.json") + + # Small shape parameter: + x = np.round(np.random.rand(1000) * 10.0) + lam = np.random.rand(1000) * 0.5 + gen(x, lam, "small_lambda.json") + + +if __name__ == "__main__": + main() diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/small_lambda.json b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/small_lambda.json new file mode 100644 index 000000000000..546ffd9d31c6 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/fixtures/python/small_lambda.json @@ -0,0 +1 @@ +{"x": [6.0, 2.0, 1.0, 7.0, 7.0, 8.0, 9.0, 2.0, 0.0, 6.0, 1.0, 8.0, 5.0, 2.0, 5.0, 1.0, 5.0, 10.0, 2.0, 3.0, 9.0, 2.0, 2.0, 0.0, 9.0, 8.0, 3.0, 9.0, 3.0, 3.0, 2.0, 2.0, 0.0, 4.0, 4.0, 4.0, 8.0, 2.0, 2.0, 6.0, 6.0, 5.0, 1.0, 5.0, 6.0, 6.0, 5.0, 8.0, 8.0, 1.0, 10.0, 1.0, 2.0, 2.0, 4.0, 5.0, 5.0, 4.0, 5.0, 7.0, 6.0, 3.0, 8.0, 0.0, 4.0, 7.0, 5.0, 6.0, 5.0, 3.0, 4.0, 2.0, 1.0, 1.0, 6.0, 0.0, 4.0, 2.0, 9.0, 5.0, 4.0, 6.0, 4.0, 9.0, 8.0, 5.0, 6.0, 3.0, 5.0, 1.0, 5.0, 5.0, 1.0, 7.0, 8.0, 2.0, 9.0, 6.0, 9.0, 8.0, 3.0, 3.0, 1.0, 8.0, 1.0, 6.0, 2.0, 8.0, 2.0, 1.0, 4.0, 1.0, 4.0, 4.0, 1.0, 3.0, 4.0, 4.0, 3.0, 7.0, 4.0, 8.0, 9.0, 10.0, 0.0, 8.0, 4.0, 5.0, 9.0, 5.0, 2.0, 3.0, 7.0, 4.0, 1.0, 0.0, 5.0, 4.0, 7.0, 6.0, 9.0, 5.0, 3.0, 9.0, 9.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 6.0, 4.0, 6.0, 1.0, 8.0, 4.0, 2.0, 4.0, 1.0, 9.0, 2.0, 2.0, 8.0, 8.0, 0.0, 7.0, 9.0, 5.0, 5.0, 3.0, 3.0, 1.0, 1.0, 8.0, 6.0, 8.0, 6.0, 6.0, 5.0, 4.0, 1.0, 9.0, 2.0, 2.0, 6.0, 0.0, 2.0, 2.0, 8.0, 8.0, 2.0, 0.0, 9.0, 6.0, 4.0, 8.0, 3.0, 6.0, 2.0, 4.0, 3.0, 1.0, 5.0, 7.0, 7.0, 3.0, 1.0, 9.0, 3.0, 1.0, 2.0, 1.0, 4.0, 1.0, 8.0, 1.0, 5.0, 0.0, 8.0, 4.0, 3.0, 4.0, 2.0, 3.0, 7.0, 1.0, 1.0, 4.0, 4.0, 8.0, 2.0, 2.0, 9.0, 9.0, 10.0, 0.0, 4.0, 10.0, 9.0, 6.0, 7.0, 6.0, 6.0, 2.0, 5.0, 1.0, 6.0, 9.0, 4.0, 3.0, 9.0, 6.0, 1.0, 8.0, 6.0, 8.0, 5.0, 6.0, 1.0, 0.0, 2.0, 3.0, 10.0, 9.0, 2.0, 1.0, 2.0, 3.0, 10.0, 2.0, 9.0, 9.0, 9.0, 3.0, 8.0, 6.0, 1.0, 2.0, 5.0, 7.0, 6.0, 5.0, 7.0, 3.0, 3.0, 5.0, 8.0, 4.0, 1.0, 1.0, 5.0, 8.0, 3.0, 0.0, 8.0, 8.0, 1.0, 1.0, 4.0, 3.0, 8.0, 1.0, 1.0, 6.0, 3.0, 4.0, 9.0, 4.0, 9.0, 6.0, 5.0, 2.0, 0.0, 7.0, 7.0, 7.0, 1.0, 5.0, 4.0, 8.0, 3.0, 10.0, 1.0, 1.0, 1.0, 7.0, 1.0, 9.0, 5.0, 4.0, 4.0, 4.0, 6.0, 5.0, 4.0, 5.0, 2.0, 7.0, 7.0, 6.0, 8.0, 7.0, 8.0, 5.0, 2.0, 2.0, 1.0, 9.0, 5.0, 9.0, 1.0, 5.0, 3.0, 5.0, 1.0, 8.0, 0.0, 9.0, 8.0, 8.0, 4.0, 8.0, 9.0, 1.0, 5.0, 9.0, 3.0, 10.0, 3.0, 6.0, 4.0, 9.0, 9.0, 5.0, 3.0, 2.0, 4.0, 9.0, 3.0, 6.0, 7.0, 4.0, 3.0, 1.0, 3.0, 2.0, 1.0, 7.0, 2.0, 2.0, 1.0, 10.0, 5.0, 2.0, 7.0, 7.0, 3.0, 9.0, 8.0, 0.0, 6.0, 5.0, 8.0, 7.0, 10.0, 4.0, 1.0, 3.0, 6.0, 7.0, 8.0, 3.0, 1.0, 8.0, 1.0, 5.0, 2.0, 9.0, 9.0, 8.0, 10.0, 6.0, 10.0, 9.0, 4.0, 5.0, 9.0, 8.0, 1.0, 4.0, 1.0, 5.0, 2.0, 9.0, 10.0, 4.0, 3.0, 2.0, 5.0, 0.0, 0.0, 7.0, 5.0, 4.0, 7.0, 7.0, 5.0, 0.0, 8.0, 10.0, 2.0, 6.0, 4.0, 2.0, 9.0, 4.0, 8.0, 10.0, 3.0, 0.0, 4.0, 5.0, 1.0, 6.0, 4.0, 10.0, 8.0, 7.0, 0.0, 2.0, 6.0, 10.0, 4.0, 3.0, 4.0, 8.0, 4.0, 4.0, 4.0, 5.0, 7.0, 9.0, 1.0, 10.0, 5.0, 10.0, 2.0, 8.0, 5.0, 2.0, 10.0, 10.0, 9.0, 1.0, 7.0, 1.0, 1.0, 3.0, 6.0, 4.0, 1.0, 2.0, 10.0, 7.0, 4.0, 10.0, 8.0, 3.0, 0.0, 7.0, 5.0, 7.0, 8.0, 2.0, 10.0, 3.0, 6.0, 1.0, 9.0, 10.0, 7.0, 8.0, 10.0, 8.0, 8.0, 10.0, 4.0, 6.0, 6.0, 5.0, 1.0, 7.0, 9.0, 3.0, 6.0, 10.0, 2.0, 2.0, 9.0, 0.0, 10.0, 6.0, 7.0, 1.0, 5.0, 4.0, 1.0, 8.0, 9.0, 4.0, 0.0, 5.0, 6.0, 2.0, 9.0, 3.0, 8.0, 2.0, 7.0, 6.0, 7.0, 5.0, 1.0, 7.0, 8.0, 2.0, 4.0, 2.0, 9.0, 9.0, 4.0, 5.0, 0.0, 5.0, 6.0, 9.0, 3.0, 4.0, 5.0, 8.0, 1.0, 4.0, 5.0, 2.0, 2.0, 5.0, 8.0, 4.0, 7.0, 1.0, 1.0, 8.0, 10.0, 5.0, 3.0, 3.0, 8.0, 0.0, 6.0, 10.0, 1.0, 8.0, 6.0, 8.0, 3.0, 8.0, 7.0, 9.0, 7.0, 6.0, 4.0, 1.0, 7.0, 1.0, 1.0, 3.0, 8.0, 1.0, 3.0, 3.0, 7.0, 3.0, 0.0, 3.0, 5.0, 8.0, 7.0, 6.0, 8.0, 2.0, 10.0, 5.0, 0.0, 6.0, 8.0, 2.0, 9.0, 2.0, 2.0, 1.0, 9.0, 2.0, 7.0, 3.0, 3.0, 5.0, 10.0, 8.0, 5.0, 1.0, 5.0, 6.0, 2.0, 7.0, 4.0, 6.0, 10.0, 9.0, 8.0, 5.0, 7.0, 10.0, 1.0, 9.0, 1.0, 2.0, 1.0, 7.0, 2.0, 4.0, 9.0, 6.0, 8.0, 2.0, 1.0, 6.0, 1.0, 9.0, 8.0, 6.0, 6.0, 9.0, 8.0, 3.0, 5.0, 6.0, 2.0, 9.0, 2.0, 4.0, 3.0, 9.0, 0.0, 4.0, 8.0, 1.0, 1.0, 2.0, 9.0, 7.0, 6.0, 4.0, 7.0, 10.0, 5.0, 9.0, 8.0, 6.0, 1.0, 7.0, 8.0, 10.0, 6.0, 9.0, 8.0, 3.0, 8.0, 8.0, 1.0, 5.0, 10.0, 10.0, 1.0, 4.0, 2.0, 5.0, 8.0, 9.0, 6.0, 4.0, 7.0, 6.0, 4.0, 6.0, 8.0, 2.0, 8.0, 9.0, 7.0, 9.0, 6.0, 2.0, 8.0, 4.0, 2.0, 5.0, 3.0, 10.0, 9.0, 5.0, 1.0, 2.0, 10.0, 10.0, 6.0, 5.0, 5.0, 2.0, 0.0, 8.0, 2.0, 9.0, 4.0, 5.0, 2.0, 5.0, 9.0, 2.0, 6.0, 0.0, 6.0, 7.0, 3.0, 4.0, 3.0, 1.0, 7.0, 8.0, 9.0, 9.0, 2.0, 10.0, 3.0, 9.0, 8.0, 3.0, 4.0, 5.0, 1.0, 6.0, 4.0, 0.0, 8.0, 3.0, 0.0, 5.0, 9.0, 6.0, 3.0, 2.0, 4.0, 7.0, 1.0, 6.0, 10.0, 5.0, 2.0, 6.0, 8.0, 5.0, 3.0, 6.0, 5.0, 1.0, 9.0, 2.0, 6.0, 2.0, 6.0, 8.0, 0.0, 1.0, 7.0, 5.0, 1.0, 6.0, 7.0, 1.0, 1.0, 4.0, 2.0, 8.0, 4.0, 1.0, 4.0, 9.0, 4.0, 8.0, 7.0, 9.0, 7.0, 3.0, 6.0, 1.0, 6.0, 6.0, 6.0, 2.0, 7.0, 2.0, 2.0, 5.0, 6.0, 6.0, 10.0, 7.0, 7.0, 7.0, 1.0, 8.0, 0.0, 7.0, 4.0, 7.0, 1.0, 7.0, 6.0, 1.0, 9.0, 9.0, 6.0, 10.0, 8.0, 7.0, 1.0, 6.0, 1.0, 2.0, 9.0, 8.0, 2.0, 4.0, 10.0, 7.0, 5.0, 8.0, 6.0, 3.0, 9.0, 5.0, 6.0, 3.0, 2.0, 8.0, 5.0, 0.0, 9.0, 3.0, 2.0, 4.0, 3.0, 9.0, 7.0, 9.0, 8.0, 9.0, 6.0, 4.0, 6.0, 6.0, 8.0, 2.0, 8.0, 8.0, 7.0, 8.0, 3.0, 10.0, 1.0, 5.0, 4.0, 2.0, 3.0, 0.0, 4.0, 9.0, 4.0, 9.0, 1.0, 5.0, 2.0, 8.0, 8.0, 9.0, 6.0, 3.0, 1.0, 5.0, 8.0, 7.0, 4.0, 5.0, 10.0, 4.0, 0.0, 10.0, 9.0, 6.0, 6.0, 1.0, 4.0, 9.0, 9.0, 0.0, 5.0, 3.0, 3.0, 4.0, 4.0, 7.0, 2.0, 7.0, 7.0, 9.0, 9.0, 7.0, 5.0, 5.0, 6.0, 8.0, 2.0, 1.0, 7.0, 9.0, 4.0, 1.0, 9.0, 6.0, 1.0, 6.0, 5.0, 9.0, 1.0, 4.0, 7.0, 1.0, 5.0, 3.0, 3.0, 1.0, 5.0, 8.0, 5.0, 1.0, 1.0, 8.0, 6.0, 3.0, 6.0], "lambda": [0.19095531089831647, 0.15927675127316232, 0.2280665608215534, 0.25310940241200647, 0.2750995240536081, 0.29069201128673944, 0.21608187217882419, 0.16321909626334435, 0.44355194700824035, 0.24574740924501076, 0.45407015104111154, 0.37014339757593795, 0.15609450843957634, 0.16108284735312145, 0.2774585775960467, 0.2983222570383257, 0.3286721609795859, 0.02711700821557339, 0.27557977226043445, 0.02475277585288027, 0.30965661680802414, 0.22924484711257093, 0.3149486318068304, 0.17157652305242338, 0.02501328756877802, 0.05334985605453879, 0.015904677927033428, 0.22865718980523797, 0.07866750710260556, 0.045912225282234376, 0.3065850741143228, 0.19594950191999205, 0.2931758799151146, 0.2941864923948636, 0.2567431476950901, 0.129729728880141, 0.42173951309135765, 0.45125613303211476, 0.3883913441344697, 0.2108952433442025, 0.11497764043083086, 0.15473516800507725, 0.005327297759787852, 0.01472457919478537, 0.2779548044043349, 0.45192687356700645, 0.2888428992459012, 0.4472045165586227, 0.21325792259359166, 0.45748194468699815, 0.33356158108227396, 0.020795396107575803, 0.14340640746704442, 0.1702255968056513, 0.48326929823939363, 0.44593507923336456, 0.07385550268885382, 0.016687915773654416, 0.46749974051028736, 0.28090888711093875, 0.4719359065595917, 0.09368250550288792, 0.3023188075846915, 0.1412395127319112, 0.29699617694181896, 0.3090094036509144, 0.45335604543103464, 0.4744991015190168, 0.16827647166419224, 0.03585992326064735, 0.18944629029397997, 0.11300042787669679, 0.3499322700563052, 0.011579264466582362, 0.19845638160073653, 0.27305381578813753, 0.04267035985054979, 0.006026977930731203, 0.2947486715950985, 0.1155189770420923, 0.1891495871455301, 0.13525782661536945, 0.4549288933896932, 0.05895841967854415, 0.09086789273758189, 0.21747392682826316, 0.30296003236829744, 0.36248102909865515, 0.29177775729158684, 0.11856711615220827, 0.354943884721162, 0.34750662894602385, 0.24704163610846647, 0.49037307536847696, 0.3630261488922598, 0.1876826262953039, 0.2210047088150323, 0.07721589105543392, 0.40869766629801074, 0.3789986229771401, 0.467375893341855, 0.07923873411074117, 0.49499829798955525, 0.2769393103359766, 0.20699740725179228, 0.09040335834333968, 0.2601935268219205, 0.1568053989755963, 0.17486845151980962, 0.0941738596155065, 0.29536465599835815, 0.006579216866584248, 0.3803502710305898, 0.26799036046079405, 0.1268518373453047, 0.3611084081738667, 0.424207036729058, 0.2325484776346981, 0.3749664671590201, 0.4986806690195125, 0.2856775293405779, 0.05208262575336792, 0.14625314591292282, 0.1874426336084794, 0.240372710292447, 0.13119184460804684, 0.025276224368726175, 0.013472203478778144, 0.0851502312191677, 0.3714484198775705, 0.25849918336937733, 0.3510111273485758, 0.40139697192241547, 0.14391875867157367, 0.031945093182446094, 0.2521272008259288, 0.4479447025107342, 0.35611264481557386, 0.1304066615977344, 0.34280431844255327, 0.4087045964005726, 0.30358783296720804, 0.064241634755692, 0.461965657871057, 0.32999548659348277, 0.12045199310943339, 0.4351662646025782, 0.10356281250864297, 0.14126614535959436, 0.13765437582950013, 0.17645727517260656, 0.14728025475827333, 0.4612214837290786, 0.393765577781486, 0.3681009386367851, 0.20594087303070063, 0.403903846983159, 0.0282163111345633, 0.4211722918388627, 0.39674635414835374, 0.48328421741058303, 0.4621587085402104, 0.4874390108241062, 0.0253142713426604, 0.3735615647790706, 0.18405854755246293, 0.12641955752245493, 0.25569129478237673, 0.38100519783364484, 0.009185668275372483, 0.4051465121465575, 0.15742364135382148, 0.29655352521106787, 0.35494095330469666, 0.25664103118639875, 0.18433951810631516, 0.1582468837923679, 0.004452530711864078, 0.13401823114882927, 0.3974394772363316, 0.3730470375328906, 0.07139397185390844, 0.1954814274269696, 0.4568119264141499, 0.2417343394615188, 0.38218833527051166, 0.30368764617221045, 0.49109241384659846, 0.2016672611195004, 0.26481204057192287, 0.37610433745305066, 0.2793097355895749, 0.26550719654753274, 0.09686536440165106, 0.47266975500153774, 0.4339755990951698, 0.4656883831353703, 0.06760408432000503, 0.022565112208918436, 0.10933553581272792, 0.3970838542892577, 0.49235743942938087, 0.026600950235225296, 0.45904803538942773, 0.21020264864848542, 0.24873579517346905, 0.053424610141013906, 0.3197745444847781, 0.25540329729826194, 0.029104305117422513, 0.11352784879530559, 0.04423031885435935, 0.1462379034430466, 0.06892295719178054, 0.3533494442688376, 0.20233556487786064, 0.35449176387697423, 0.23205902822361674, 0.07716270205125336, 0.05374863378390776, 0.39997589747199, 0.17554337884116172, 0.37240551574816444, 0.16530784490840583, 0.21444157233470318, 0.23611853630787766, 0.03739275250031826, 0.4805669319323468, 0.1759826948666322, 0.04923330126451042, 0.0686471575134383, 0.2119690600081906, 0.48705320140763725, 0.24864315330755016, 0.003517759687979738, 0.44769277305656974, 0.2577418163968686, 0.062232802341429916, 0.07541573011984376, 0.1142901357908519, 0.37714666383518847, 0.40608725114467803, 0.12999985520868212, 0.0433826272031505, 0.46872692267838856, 0.1559074068657662, 0.37240582012617096, 0.3856331476635854, 0.005234575893160454, 0.29201470812612756, 0.12035911391396026, 0.08473131265612477, 0.3580257253464012, 0.37896921274041273, 0.32884366738224113, 0.3798636718739799, 0.3431796652563447, 0.22588530321861983, 0.21945485594829772, 0.21207050145355183, 0.03377154341253219, 0.004184538461429244, 0.35399342007317836, 0.4828762905059035, 0.17600223376570062, 0.044747715968265045, 0.18614877365829596, 0.3902039412780828, 0.20475703017104835, 0.1829496620077608, 0.2174016086459285, 0.2062314916860869, 0.04076366404051801, 0.41781441549336823, 0.2035704800553484, 0.3827303259525272, 0.17824350367607272, 0.2596066645551017, 0.10552007018885601, 0.2643452081907548, 0.42849029463735566, 0.4076523031270783, 0.13713646444768895, 0.07642544894316056, 0.44396493207276483, 0.22601293832634933, 0.19817314214709447, 0.4444759856728181, 0.45011271369697414, 0.0912539297460257, 0.14711029407095355, 0.08684237069864559, 0.16987019338645687, 0.47343791056124374, 0.05214773100871045, 0.11810230581217956, 0.35340716251854803, 0.03254278635742214, 0.16755381548530957, 0.34935779753885204, 0.29709906673807646, 0.1817245928903835, 0.374836070882917, 0.0517771546879085, 0.3962564913191644, 0.2479734845955533, 0.4813863509386866, 0.39033231822003406, 0.12414578528236386, 0.29221657073806206, 0.17445824479761757, 0.06795546636198269, 0.30137908643025985, 0.2683802738796507, 0.07831549929513548, 0.12933962484430916, 0.46596777705591824, 0.4314177503252439, 0.3228679129304672, 0.26023463543735076, 0.03115677723691823, 0.17557574921403768, 0.21138431134695423, 0.39826106424805363, 0.23988621200568905, 0.19563159592521512, 0.4491049756742044, 0.3565260208670978, 0.31372183762199907, 0.07921156351893505, 0.21052518243036683, 0.2572931367616489, 0.24299660065528722, 0.24061913367903315, 0.057104111170749094, 0.17892408517264813, 0.3118589712361534, 0.2808929184819853, 0.1371767191851923, 0.33357075368219097, 0.025089226650478358, 0.2764860080649425, 0.40185669355298315, 0.007211342828696787, 0.13525433015068022, 0.4288290193494517, 0.2990315469602217, 0.1194251467930596, 0.2849880615193423, 0.10064740891313623, 0.0374371967168321, 0.0629568183008079, 0.41628237005364344, 0.08515773175125041, 0.16150322662400096, 0.29992959129903923, 0.17302820677284658, 0.41103439115243123, 0.25281053340444265, 0.42497140486252644, 0.47304826060263555, 0.18422503692658226, 0.010100101229607028, 0.15233117274311653, 0.26435524432537916, 0.06111142155670196, 0.37889744337883935, 0.31809636837965666, 0.08610254863046768, 0.09832515937821346, 0.32961042131109486, 0.3603567858478306, 0.49411971413472733, 0.15130759808481925, 0.059761797060475075, 0.2356098403470998, 0.16043441175876494, 0.32634837884165113, 0.2220681249657095, 0.3200104794292974, 0.2841509233628928, 0.4218950014491906, 0.34127504307318485, 0.49957245352014223, 0.3428613415703155, 0.340554574817879, 0.07456900203707989, 0.2702358804868361, 0.23450402641585288, 0.34595517487489924, 0.03902704232909798, 0.4571836609837067, 0.4149787615517611, 0.4137574917862817, 0.10177425783953947, 0.460430595000939, 0.4740757198321649, 0.4604402082459799, 0.3524279000078629, 0.04626589787247548, 0.46334961135844266, 0.14787079151500032, 0.4693144334702542, 0.38052884248781255, 0.33675177874622597, 0.26026686892849676, 0.366347746450518, 0.22223917385170172, 0.45795892863261733, 0.20183680061339265, 0.1129595642304923, 0.456443492106527, 0.12419630839667517, 0.1486107926468151, 0.3580337235808463, 0.29523811342280004, 0.42035880153401955, 0.1460858757816062, 0.048628304414482515, 0.21441724135156154, 0.15222178050943652, 0.13654766298272103, 0.16360525709995466, 0.36832702031459413, 0.4700821486113701, 0.02632212846357984, 0.39434953421671187, 0.3799821335225653, 0.3852321487607887, 0.22157027926124684, 0.18644770453875648, 0.3462489961175059, 0.36398101695227114, 0.3817118667192539, 0.23089666533871883, 0.14711004958559099, 0.3786758377695245, 0.1425917832123158, 0.23292571431553138, 0.10325246283558914, 0.19202392596037876, 0.1969594482049946, 0.17342470570834218, 0.3330919002254956, 0.39899634441207005, 0.27380596771814375, 0.41416290009212736, 0.012315547542765148, 0.08258378408397193, 0.2762802546388443, 0.08082012710585074, 0.3990031122937047, 0.0226989047903548, 0.42761147512783, 0.32343283361313846, 0.49072042639727015, 0.08914056816185267, 0.4385741339848752, 0.22463576138399938, 0.44340986100275914, 0.1208133214098876, 0.2234292683701815, 0.4433686244495039, 0.4953577039829512, 0.19383985727636005, 0.09754454074982993, 0.003559012383271387, 0.4604667946468447, 0.1691869492618009, 0.39305170060645617, 0.4893513856907773, 0.19837480016485232, 0.4311642725657831, 0.38894546617393866, 0.20404735135130397, 0.3637547553335008, 0.24288852309369696, 0.1946980770195707, 0.20643293283688913, 0.373119828015658, 0.45583113606776615, 0.419626108877694, 0.3231130208484594, 0.30560435148768056, 0.010786400808706909, 0.26343366836837023, 0.497909391159509, 0.16813240118666306, 0.24934764111851393, 0.05335202961011587, 0.1735825834753062, 0.43853324263187454, 0.45732573503410334, 0.20927765964618927, 0.31198030626562545, 0.4493958952848991, 0.49490963607382266, 0.1488662015830048, 0.17024131432598832, 0.3982998017530001, 0.3272049610241665, 0.23035497112726439, 0.3944957376785885, 0.24493770360299377, 0.3449658625478997, 0.4864118434446396, 0.2935072227058261, 0.23777690614482977, 0.34838741468267753, 0.16305999393947213, 0.3875687809737407, 0.39042000830945206, 0.48555795691853315, 0.048648004576174186, 0.4736220306881083, 0.4194098436354219, 0.0465491551491955, 0.10752972130571742, 0.03236021481499157, 0.19959934681474545, 0.4219455522244017, 0.2891720450359966, 0.15120335451772854, 0.05551636750228778, 0.3287660360068039, 0.42433895045983155, 0.044442764034973936, 0.4494008719410549, 0.33164674868503335, 0.0064506483432689166, 0.3054396355617325, 0.3021687922694865, 0.4504490596245078, 0.13472865994946953, 0.10805321156376707, 0.24450074350393702, 0.039989472410668414, 0.4378011775623371, 0.42038580807895937, 0.465432192203779, 0.41353161422454077, 0.4736273048753722, 0.1915662735611855, 0.017571291975904735, 0.28540335622368074, 0.38737820158560327, 0.4178797542649519, 0.3747197820123131, 0.2650780593930354, 0.4470996392124456, 0.2577586710181169, 0.11573303389390555, 0.2158023681351363, 0.2450362069052504, 0.1969714984547914, 0.32230336169047985, 0.4673030612181637, 0.49578864149094504, 0.3696860775450723, 0.06655629952926206, 0.16828990632828977, 0.060929819539393804, 0.28766949314836027, 0.14023865243911465, 0.1310934329975587, 0.34502156638257164, 0.4367609531803894, 0.36312692741939245, 0.24617041632885034, 0.33347730531189873, 0.19946038475549893, 0.38924490756022034, 0.24644581815458616, 0.1602334084308295, 0.22299907839741273, 0.30539929445139435, 0.1656949171305479, 0.06503631191430104, 0.3597432166958395, 0.29899513267433725, 0.16069451035697896, 0.29748814070712776, 0.28214359259172905, 0.36474906495617865, 0.3925070948354471, 0.2845428574617706, 0.04715959919966922, 0.2503612738109844, 0.34442636941894655, 0.20341236187334033, 0.37079396835424944, 0.30619050082872973, 0.4691483596470752, 0.1743307311725339, 0.4776012352014129, 0.13796033575510036, 0.31382790543349137, 0.28345637413845753, 0.004229834930093046, 0.07044234557055423, 0.3979426514878921, 0.168020216375652, 0.4627687481968222, 0.28640889420260845, 0.1553113654045717, 0.013543503733926487, 0.34999040183973135, 0.3801774670254456, 0.39402113539811695, 0.3938783836914613, 0.11760193886548531, 0.04219770879238455, 0.40305498474359547, 0.021353794472575627, 0.4107507614335706, 0.15568274725148556, 0.008876718306709663, 0.40663745169811555, 0.47003718494614927, 0.2986297089905599, 0.3166226694664427, 0.26021402112466857, 0.21702630310945248, 0.21576921303832164, 0.34898731416110174, 0.26544738455660244, 0.3527446195486916, 0.09104116101426746, 0.3226007488388134, 0.12976532062391272, 0.08081305159568636, 0.07455326589152667, 0.10610899426310044, 0.32199528400530486, 0.15240704584769355, 0.17694325896475194, 0.17712015372435552, 0.28224667856086466, 0.27194428355660405, 0.03417291129233696, 0.05334983964745105, 0.07291708490228926, 0.258611430728536, 0.0712557800526929, 0.03420973167300162, 0.2874244454873919, 0.3898700562336465, 0.24043244972428274, 0.47024006545667263, 0.1769900252391598, 0.49492436851590815, 0.4600506427323376, 0.30851426874189725, 0.21564262487843683, 0.05089367105945497, 0.001886370641866808, 0.2624262093722507, 0.16978557550819345, 0.43665302912549775, 0.29423485520286285, 0.15063754866227774, 0.4200490034574823, 0.05645258777223072, 0.23314265777765547, 0.16883925606197936, 0.41146962792064373, 0.11626577480201228, 0.2912125732702033, 0.32307448406908656, 0.254088421906192, 0.4144244725501323, 0.053421260022471495, 0.14624970281087735, 0.3338070361173897, 0.4146154432192908, 0.10808641670849933, 0.2530130320947973, 0.3375526083198202, 0.12391993787865152, 0.2635544943103352, 0.2916765239379031, 0.10093334518066971, 0.49897732444251197, 0.23896401829860975, 0.26511835130483036, 0.39911389676622894, 0.1437387008538093, 0.030676006756053253, 0.12728967054398804, 0.4565676804899078, 0.24907552670470445, 0.00040554548329685414, 0.2994378242497765, 0.4146184363506766, 0.1563616427782582, 0.1980759873666283, 0.40104216208600474, 0.22954355035266705, 0.4278331449928171, 0.24609838773288029, 0.3644461937649146, 0.07853855140052507, 0.00043438319638677836, 0.2958264723094997, 0.06745607679446247, 0.26481613121859054, 0.02279185458750832, 0.42323038679930675, 0.028476659137162907, 0.2527138185701631, 0.14461902967587242, 0.06429801594597828, 0.2412879305097218, 0.09719894518215122, 0.44022758738244483, 0.45771439135325187, 0.16476218479997723, 0.23642485888877568, 0.3481396582875548, 0.39379673462307785, 0.4047447627657496, 0.08051016134287686, 0.31803876214849275, 0.47026021874764096, 0.14193191765036361, 0.053972303897845464, 0.12313218247888125, 0.10713327965300329, 0.05442887571868649, 0.26033073230497017, 0.34161890126317096, 0.021496863180897108, 0.07496203074953534, 0.48553296020354325, 0.0061889937358251546, 0.4191502381499918, 0.45586136142844, 0.04569155306305289, 0.20397448412644387, 0.2348292916815115, 0.34630189419833607, 0.13111733656127955, 0.03785589991294125, 0.36137728869029245, 0.04086724916037121, 0.3318525932732297, 0.19349080117913076, 0.1033176062000285, 0.17766205245745686, 0.2729585532393224, 0.39219589453816, 0.22995258623878456, 0.11298629754995843, 0.3676513403363809, 0.26969852253798554, 0.42954373406440016, 0.15631877509125675, 0.11213057311756347, 0.2982958299128033, 0.43584703456061824, 0.30829284833517084, 0.23241155788751533, 0.18921403246429258, 0.0923822850443139, 0.29724157625521397, 0.48898352154724833, 0.4768646505424476, 0.26731236627839994, 0.07998514578329297, 0.3246253791288387, 0.00964984749796649, 0.3210479402719795, 0.0939627923820886, 0.39310793978916647, 0.3705145129772436, 0.43760723842069615, 0.02894726082770749, 0.18803768704499363, 0.49020353808744577, 0.013707190148060988, 0.3309734524216957, 0.14030728617112564, 0.35673678091145183, 0.2918132489643768, 0.40440771134731274, 0.40497797973190375, 0.3810247511395403, 0.41080194595435915, 0.38947973527894686, 0.3409913666475111, 0.23477489325094714, 0.16352794703585333, 0.18953266555541481, 0.017759926795581082, 0.308390872470977, 0.29934151865352837, 0.3336046315547006, 0.36182493931704857, 0.45358070796846545, 0.48857854534732903, 0.32742515041275727, 0.17307760959426866, 0.47174900691528676, 0.4015908084055611, 0.05762932051430891, 0.07890628928623517, 0.16301602375722002, 0.29487256149116814, 0.3055485944906045, 0.37232175897845793, 0.3481896547684183, 0.029853129899147235, 0.26370488295251, 0.18589966682691955, 0.3927402040557147, 0.1633123632897885, 0.01946574758470071, 0.23184749018386525, 0.2633173076520444, 0.4913963702160722, 0.2541813428185409, 0.07696132709488124, 0.1974278650996043, 0.170025664036559, 0.1733750324328039, 0.40575152706842754, 0.2137966374802615, 0.06513004059130645, 0.0646818673748144, 0.15052349199854675, 0.35196623135862504, 0.3913939304934804, 0.292504338728733, 0.4697774984539759, 0.4994623368218311, 0.3746586829235758, 0.48825872274842974, 0.2584359892588725, 0.13600770512294874, 0.2723315682356411, 0.12993352727659208, 0.10397497370425912, 0.023590365393603596, 0.09130335876576562, 0.16687271791693503, 0.4901068023403109, 0.25891448988805027, 0.059024152460805335, 0.012301233818620971, 0.15844918879793862, 0.4902787771430461, 0.48897533027141254, 0.42027218370938635, 0.060940798777581684, 0.1868450642026187, 0.41401225117679386, 0.3969660024370525, 0.1555394460953386, 0.29163063286905544, 0.21536894439855564, 0.34734665880787197, 0.4355011890714573, 0.11479444881135048, 0.35150767142584416, 0.12059768940506216, 0.3579166001473162, 0.42777044482267584, 0.46584891031638204, 0.03922620466265064, 0.14481504752855168, 0.28508484246445953, 0.4441034728456286, 0.17765865399401576, 0.23457599524101574, 0.4031767477341855, 0.33501309489393327, 0.22759762554209895, 0.26399966430752386, 0.12139259799308677, 0.16475016512497787, 0.49090849630632644, 0.4923287551475732, 0.05683043188515963, 0.16402783645907149, 0.2442941777055168, 0.16447057795989578, 0.25414695055728503, 0.41399641659611713, 0.045625960877305305, 0.22752534645436473, 0.09282908045229848, 0.2520677520125774, 0.2692741045696144, 0.1990524083401342, 0.14468945466666278, 0.3608031332010065, 0.3217362087362503, 0.15761823247825785, 0.3964724955443445, 0.3473180302224429, 0.2984569505588613, 0.15601845934362651, 0.09488688721726385, 0.01829563149059571, 0.46060008986866113, 0.2421838594720987, 0.24193929223810667, 0.20118761573018945, 0.2365987465270588, 0.2628201503625578, 0.22460301435006236, 0.019494601105710163, 0.0009226713423108324, 0.06764257641554405, 0.032926202746055566, 0.29006908703559126, 0.403212824664293, 0.3928465054573712, 0.20153455551929422, 0.30704892180666105, 0.15006937278205695, 0.036728140041892066, 0.37546741214619206, 0.2857028100014111, 0.04808545532053615, 0.35311779588979075, 0.38475844623823285, 0.48169834601966444, 0.24099313393169053, 0.043809648868312734, 0.2582068543666459, 0.23290296406822703, 0.09633276887855158, 0.48262601896718965, 0.4653930432427177, 0.33609224056824355, 0.285260553398514, 0.21306712784911463, 0.026531221450412368, 0.0938707566274039, 0.3901621911831273, 0.039518654284162735, 0.22468160292732492, 0.26367186125025716, 0.12515033696821792, 0.05026128827051174, 0.06991365753547779, 0.36385452600370954, 0.1349910224540783, 0.033746897169610934, 0.0638824161870366, 0.033720797974133354, 0.1565860432031818, 0.2137554212442928, 0.45614964322765994, 0.3543946256057856, 0.22820054413801005, 0.2834169661040045, 0.4189355077311167, 0.34483708709700517, 0.20121695474819967, 0.3137512431134959, 0.3320252917565234, 0.09830513737359131, 0.3924894756712221, 0.04863940935625122, 0.4166136899953071, 0.068417297837014, 0.08003056421318178, 0.49140745128858265, 0.22855394038463145, 0.15271933691482453, 0.2094452649207746, 0.4297515291671339, 0.4718100632561111, 0.2297531315645967, 0.300957405836623, 0.4843967093227949, 0.09560648633768365, 0.16333262659578401, 0.28890256202773446, 0.012776000606724236, 0.027590909767801264, 0.49108614795166766, 0.23408895999888668, 0.1494074264464877, 0.2611092654480812, 0.1902223583625976, 0.2523479460004811, 0.44756688275540224, 0.29333449523041777, 0.09289381768712734, 0.2855695255463741, 0.16304249851389047, 0.45564859970882843, 0.011936772212827518, 0.29936120931885807, 0.19256983829535884, 0.43532597831090836, 0.09586831748630908], "expected": [-0.0005231122324384385, -0.027775338404587808, -0.17520462018149952, -0.0002629529023080125, -0.00028910521187760276, -0.00011321999421768073, -2.9771498058615726e-05, -0.028541759431275, 1.0, -0.0006927177069892446, -0.5025549539813617, -0.00015034090318418396, -0.0011473229269178915, -0.028125940025631305, -0.0021739349063089573, -0.2535927493415397, -0.002646658200015721, -1.2480124067015507e-06, -0.052257349447362586, -0.0013148501737341887, -4.479998984862156e-05, -0.042021344909842155, -0.06150475069867672, 1.0, -3.126210980969945e-06, -1.8389392133850923e-05, -0.0008407051180290315, -3.1710265189547174e-05, -0.004306771287077757, -0.0024677560756814596, -0.05949592994920537, -0.035068820822101214, 1.0, -0.0064224390736026685, -0.005491241875909465, -0.0025911259401734284, -0.00017607755083163813, -0.09800751201216752, -0.08024529792951457, -0.000583755576715139, -0.000302874098291797, -0.0011365265231141636, -0.0031183299232482964, -0.00010063560625553041, -0.0007968660806749993, -0.0014217405423907537, -0.002276896409757931, -0.0001892781240035134, -7.977387783806374e-05, -0.5096595432155923, -1.797637915726463e-05, -0.012380554114299017, -0.02473172576538109, -0.029914204334813958, -0.011729033656957679, -0.0038266628100062355, -0.0005202459468557144, -0.0003140634867514914, -0.004059462723127866, -0.000296110947971315, -0.0015008861660522276, -0.005172451090744395, -0.00011846956320637162, 1.0, -0.006493802058551486, -0.00033058042384216663, -0.003906197326495028, -0.001511140691943959, -0.0012447451913175545, -0.001916667275133746, -0.003906759512174529, -0.019081883437346778, -0.3224567753133917, -0.006824283956335754, -0.0005457826226915528, 1.0, -0.0008140078232000583, -0.0009470729062994812, -4.231051442241692e-05, -0.0008313886247017818, -0.003900017845951632, -0.000360024083169826, -0.010864553331485555, -7.495798618340191e-06, -3.192238240749779e-05, -0.0016506940863561922, -0.000880085585056354, -0.023427434844493233, -0.002303633749866035, -0.07905205006730662, -0.002898898926327752, -0.00282680548699542, -0.19486980979340887, -0.000578013859174891, -0.00014689393132233614, -0.03339216088791704, -3.05275601393866e-05, -0.00019951676060148008, -6.231583724515998e-05, -0.00015466402499521122, -0.03222334536073993, -0.004339440612732475, -0.5942693820238085, -0.00010708892061467487, -0.1545246286551516, -0.00023516698873713343, -0.04878319102865182, -5.697316091813759e-05, -0.030831002049666233, -0.060974907786017586, -0.0064523375292733715, -0.003856388989221409, -0.008709773203197458, -0.005767120187507957, -0.08543650179163782, -0.023319281506211823, -0.0099562890715745, -0.00490869119030883, -0.024419115041086167, -0.0005904615540261213, -0.006207600665716493, -1.794110570933715e-05, -1.9438483651363417e-05, -9.360209947902476e-06, 1.0, -4.704532570342986e-05, -0.0004778263471526997, -9.2017637192458e-05, -1.0970216318600344e-05, -0.003060852484248428, -0.0484052601304369, -0.022528924242403395, -0.0004510021825999409, -0.0028963427590454655, -0.019255196337308336, 1.0, -0.003848141547328655, -0.008045237903686456, -0.00012714958932272358, -0.001017096517128094, -6.231712458644165e-05, -0.0024120380536793505, -0.0034885841993708934, -7.247929782071859e-05, -4.8256809055507024e-05, -0.0023939824980535136, -0.000497877781153316, -4.954083563319612e-06, -0.024326315523838304, -0.0010021272484915182, -6.476465608068519e-05, -0.0003944579447402361, -0.011054262069319025, -0.0012005410572979484, -0.349477738119722, -7.67454121393621e-05, -0.009372040344612325, -0.004499401173854575, -0.009868161540702684, -0.39549864805422713, -7.670104800913253e-05, -0.10126540920087689, -0.1090349775645928, -8.603349108163355e-06, -0.00015200511327506642, 1.0, -0.0001230108275044867, -3.596167342380946e-05, -0.003155883599887827, -6.260339143773067e-05, -0.026876239427209448, -0.009013532482376869, -0.25141853508262685, -0.3297486963841542, -9.819258450820643e-05, -0.0005032588956671663, -5.753948161461934e-05, -1.1088936753839074e-05, -0.0003564973334621651, -0.0033214853609016826, -0.008507745947310548, -0.04500716414999028, -2.6647707733019336e-05, -0.09966083798048074, -0.04471447272109711, -0.0011580362086437983, 1.0, -0.11018335983754259, -0.03623983092717994, -0.00010175205750516872, -0.00015324681691101805, -0.05311115115138151, 1.0, -1.2553969049861317e-05, -0.0015038193533837463, -0.010241891912627765, -0.0001990727911723131, -0.0036781187664921716, -5.671295101897823e-05, -0.01841655068816654, -0.009178582423760665, -0.03448187728123668, -0.015938941935534193, -0.003967611318002423, -0.00021355509662789472, -0.0002578198534528748, -0.0028836342648943885, -0.28089995331611195, -3.5915774135282723e-05, -0.001549746361193075, -0.07523070465190686, -0.007128665190393437, -0.10089087769493393, -0.001333045702643974, -0.3274190195984113, -7.526134140868837e-05, -0.32908996183664524, -0.0017749961599714354, 1.0, -1.853057855620692e-05, -0.009260448830709398, -0.010156521330143924, -0.00849007395770089, -0.028949519106874055, -0.012690494377513238, -0.00024313718328741366, -0.022676517311405405, -0.5602432846976004, -0.003602935754783334, -0.0009424384528021108, -2.3845947620666746e-05, -0.03837342658716219, -0.10891408834770518, -3.484217275512542e-05, -4.3494437114759234e-07, -2.5639066525758206e-05, 1.0, -0.0011994272517034216, -3.556457432791233e-06, -1.494419865935415e-05, -0.0011396805164833337, -0.00045741828567451845, -0.00034509490769303873, -0.0001101866874956243, -0.10325479241812374, -0.0011458360093976774, -0.35611714169366887, -0.001170631777862806, -6.477720631793176e-07, -0.006367422210788478, -0.006746718323750567, -1.0913926262256795e-05, -0.0010709060952180445, -0.3664228083264252, -0.00013067684790776658, -0.0011495610035152529, -0.0001374107366924528, -0.0017221552202767824, -0.0006101634898727602, -0.15939782735181646, 1.0, -0.0006567573968808655, -0.022761404336442012, -2.8183144587526967e-05, -2.3752567236077217e-05, -0.0072145498478727805, -0.13516820610105013, -0.08073414804940955, -0.012049162875784255, -9.114712701234332e-06, -0.039511019230000555, -2.826978342429112e-05, -5.135237002042867e-06, -6.401711199353636e-05, -0.011971068703159142, -0.0001564973507704959, -0.0004850819612642075, -0.2084731896228586, -0.017727385521006885, -0.002056804999974583, -0.0004884844654629568, -0.0012521832319797716, -0.0009980884003133901, -7.24945866608795e-05, -0.030166030184831404, -0.013466048463604387, -0.0014890110143554035, -0.0001878475557053638, -0.010720207413627678, -0.05888033572314455, -0.10160387204158766, -0.0006158243065892549, -6.213594494781128e-05, -0.0327653261535072, 1.0, -4.206922063312378e-05, -0.00014227418706237176, -0.019628542927810726, -0.11876563446327335, -0.007863041809599201, -0.018460844827586437, -6.68791928956291e-05, -0.35990701534398684, -0.03191383505359423, -0.001209751213113978, -0.014966193013883316, -0.011670787917244569, -5.893543529623313e-05, -0.0024722438676621204, -4.189135538999231e-05, -0.00047385114375168337, -0.00047723826676649415, -0.05825777378112788, 1.0, -7.435870559074322e-05, -0.00012604034459435913, -0.0005420403499200005, -0.4575998448283233, -0.0025918352344944345, -0.0055765351261459675, -1.06201383531175e-05, -0.010158584172786351, -1.0687154356210848e-05, -0.39805796121457215, -0.18733330144747845, -0.14384128668944848, -0.0005176939169437198, -0.3320807936344641, -4.548530735014343e-05, -0.0005595119469989069, -0.0043911046669959305, -0.005504656799422007, -0.005158446588249123, -0.0006764438553734723, -0.00039880747906619654, -0.0036689476880887063, -0.0024887386282521156, -0.05347493156295545, -0.00013421514819879007, -0.0003615142052588514, -6.313716749932611e-05, -0.0001068882677047033, -0.0004516297292444746, -2.4287002654640467e-06, -0.000983428754930053, -0.09147510863607246, -0.05770249789851332, -0.079707344119386, -4.0700587242464115e-05, -0.0007188147976222475, -4.708291836331329e-06, -0.039303702970071484, -0.003514806390958415, -0.004679183661306958, -0.001190429031791367, -0.2555784826725392, -6.339405305994481e-05, 1.0, -3.550315002428046e-05, -0.00017773431785338267, -0.0002030235462391295, -0.003788427371212253, -3.40652923070738e-06, -2.030948848847607e-05, -0.21374075076081708, -0.00042767078394117343, -5.686184260710744e-05, -0.020015400000278252, -4.0824770794105745e-06, -0.0054430676143331315, -0.0009711171230556871, -0.008160378729702341, -7.888157941027607e-05, -2.0162435212380868e-05, -0.00041793678750502917, -0.014117025601028305, -0.027999964507092266, -0.0072520535845450014, -3.069137193270918e-05, -0.02015898218007015, -0.0008172924810651353, -0.0004792662101113694, -0.007646725332222212, -0.035146619615624035, -0.312358316757422, -0.021720079374534528, -0.012266182656039277, -0.2203633828327365, -0.00024127174738168176, -0.06916982054518651, -0.006268229295193317, -0.5090347583465824, -2.335254082948489e-05, -0.0034886858938997845, -0.01705425614590236, -0.0005340003464977638, -0.0005538939528904298, -0.03160796033677492, -5.215190652540957e-05, -1.589069896601857e-05, 1.0, -0.00039616007355104124, -0.004079288080102732, -0.00015541496905268127, -0.00036557654750606365, -1.3497115490623293e-05, -0.008323788807219817, -0.169367117525756, -0.03138901461610844, -0.0005560552763522778, -0.00010916036438704875, -0.00019415123606256724, -0.006977050189835633, -0.10283383429760898, -0.00014449065014220032, -0.24980892941912097, -0.0035571204217339563, -0.02524095183861277, -6.1503148976012066e-06, -2.9516680888418374e-05, -5.5177799847707764e-05, -6.642787320380077e-06, -0.0004418865226422726, -2.0218578654133523e-05, -7.407601503488892e-05, -0.0004978696901741423, -0.0032901369273257647, -5.7057522885252437e-05, -0.00015773029635240732, -0.1687029306294118, -0.0038387219878481646, -0.3171682274206149, -0.0029872396561031866, -0.0784552819599271, -3.205809613780735e-05, -7.195424979243747e-06, -0.008663316223320493, -0.008095112797877767, -0.042810122582412374, -0.0007384117941778251, 1.0, 1.0, -0.00017287160942181746, -0.002688622017111944, -0.009232692160499422, -0.00028755080780378873, -0.0004685363848990535, -8.406805744241303e-05, 1.0, -0.00010679722159335852, -3.8217664798066266e-06, -0.08312624372072436, -5.705306254494118e-05, -0.01005548954409935, -0.06356768520752122, -7.819496180757815e-05, -0.001742537451394006, -0.00018476655011052378, -1.1435378370586637e-05, -0.030117931923657068, 1.0, -0.004692925124696525, -0.0037992967079261654, -0.5951421626422829, -0.0005318099212462899, -0.0019153046884570158, -1.6187415958873007e-07, -0.00019628746075599498, -0.00016827945510549335, 1.0, -0.10963527879154084, -0.0005455351388101338, -2.447446744405439e-05, -0.008949542407047387, -0.012002441955916198, -0.008252935422294128, -9.226702496491165e-05, -0.004026436926194646, -0.004296236913885226, -0.008509751860879483, -0.003932858561120826, -0.0004761090423354959, -4.707917517613701e-05, -0.2626657036231759, -4.923750169815039e-07, -0.0020487209997908655, -2.9297766100900645e-05, -0.02950279392334699, -9.503991662503278e-05, -0.00037188865014301295, -0.030576499217764046, -2.4991307984173444e-05, -2.6326738402737272e-05, -2.8732599779046895e-05, -0.27077372682092116, -0.0005181104644556325, -0.5940542706870028, -0.10304365134998493, -0.00981965328441391, -0.0012173236299877885, -0.007274534944042995, -0.17752237355106323, -0.08189694231355607, -1.260110566549037e-05, -0.00037612649615180926, -0.011826502488682767, -1.5487897162539507e-05, -9.008528495588693e-05, -0.022325056231926536, 1.0, -0.00043226048575762657, -0.003250413143161795, -0.0005708464572543384, -1.6728952959739314e-05, -0.10475066492613336, -2.3657885713917882e-05, -0.002502881454386692, -0.00028217660187556976, -0.019514447677734217, -2.7266999810941943e-05, -2.3833230551513495e-05, -0.00030614635843380405, -5.478000877185084e-05, -2.5918392502551557e-06, -0.00013064064539179563, -0.00017740968033491715, -2.063304001248662e-06, -0.010698935168987055, -0.0009781737141431606, -1.6081360873912815e-05, -0.00242915424348852, -0.25836070468447225, -0.000519619433778876, -1.780144917504507e-05, -0.006014677217893107, -0.0006887538607578035, -1.852396356980314e-06, -0.09406155590263585, -0.08907324787099738, -7.31596661949383e-05, 1.0, -2.750566400428948e-05, -0.0005249523441384088, -1.617955971376123e-05, -0.23797008098219122, -0.003219772512826689, -0.009772867147304047, -0.3597249748397592, -0.00010186843120034336, -6.958818757315438e-05, -0.0055160178111091545, 1.0, -0.0016365655671451798, -0.0006904557885321529, -0.03527744297844576, -4.694116957122851e-05, -0.032216857131706675, -0.00021541604597242128, -0.07527719286566742, -6.281797806442176e-05, -0.00045564113170388587, -5.734394234081569e-05, -0.002266228704590299, -0.096029299029694, -0.00012786415443774172, -0.00013828293844758937, -0.09375986456437399, -0.008235809152027788, -0.04568254405126358, -4.885566601100482e-05, -2.7246059752086305e-05, -0.008957934811909232, -0.0018994280557705207, 1.0, -0.0016975655923595536, -0.0008883163603108968, -2.2243288784697284e-05, -0.0035333146156236238, -0.00814370113103507, -0.0023697268210530822, -5.85029617480966e-05, -0.2525659917767248, -0.006118936750526876, -0.0029947851545082836, -0.08135721955317349, -0.05431676715064677, -0.0003276853019875479, -9.547669752138254e-05, -0.007730844463544581, -0.00020593042222353316, -0.3536201990510263, -0.2634046183098965, -0.00020092646853159065, -8.646848513716627e-06, -0.004170289347011058, -0.007811441980566906, -0.019696344917937952, -0.00010998376514907395, 1.0, -0.00018138847131067955, -2.2191108238763504e-05, -0.11916758090792044, -0.00019751358807884814, -0.0008247679374159244, -5.63870567904468e-05, -0.0007149592595933638, -0.0001406438840465036, -0.0004223489141470369, -5.960943904256235e-05, -0.0004407798215717742, -0.00031020393886945435, -0.0008047922477950078, -0.4062461327660339, -1.9699881571130663e-05, -0.419677675503848, -0.10869310960624515, -0.00046739060077202456, -0.0001684064165634048, -0.5366111524074768, -0.01857290897099468, -0.019905068788768625, -0.0002713392969575999, -0.012862851997205178, 1.0, -0.02237161536609605, -0.00206658968357194, -0.00014195761961120057, -8.700209587636803e-05, -0.0009469364700204693, -4.649984960300884e-05, -0.013349673360821648, -3.5142504383117284e-06, -0.0007599602252344361, 1.0, -0.00040926887388488894, -6.495928525314525e-05, -0.031277758488684644, -4.025124037124139e-05, -0.051429556305159, -0.005470870767986879, -0.032942075826863065, -9.336123049684711e-06, -0.04843026918742922, -6.741384193399862e-05, -0.0018267858999050453, -0.017757047834712932, -0.0032448663403659367, -1.2340368970416415e-05, -0.00020151268209956318, -0.0013151731564496655, -0.594090009161563, -0.003978466034578897, -0.0008988566135354228, -0.03914173273049515, -4.765600111631552e-05, -3.522915389856961e-05, -0.0007462300532090032, -8.401741722480108e-06, -6.758212421068397e-05, -0.00011481314319259274, -0.0011040717154842193, -0.0004766969563170493, -2.6367933157950466e-06, -0.1803654109474239, -2.270205928705168e-05, -0.4209507843267494, -0.019677475980196677, -0.2449217096253008, -0.0003482014276684522, -0.04742568755459438, -0.009673218598564518, -6.772862376164083e-06, -0.0003914899621636188, -0.0001329973080972554, -0.08744937684762519, -0.07115599508838072, -0.0007159183894578169, -0.3049232576088094, -1.6283143000248192e-05, -0.00010120234536199705, -0.0008422736597240117, -0.0002639745021431685, -7.986682292208129e-05, -9.059097345339584e-05, -0.016163668872585604, -0.0033385141999827312, -0.0003842711599325629, -0.004899627311470806, -1.6754730991147895e-05, -0.09958785574193793, -0.0053050223677098005, -2.125359902975752e-05, -4.3089556791312655e-05, 1.0, -0.0031677420598573624, -7.351483740048667e-05, -0.40279172816964, -0.17669889565566096, -0.09119020106855669, -3.443990704921544e-05, -0.00040149661833604463, -0.00020307107458062697, -8.106270014042399e-06, -0.00031428864795181647, -3.1683094469192382e-06, -0.002060984324523387, -2.84539623121737e-06, -0.0001768411525454828, -7.178429947217674e-05, -0.20095148112382114, -0.00014203781362288878, -2.2286098983537593e-05, -1.2389788677012793e-05, -0.0002537231601009353, -6.826618874648123e-05, -0.00019482510709267875, -0.009473640921877982, -8.951006842086201e-05, -0.00013976312938007615, -0.3905526621861369, -0.003395993973598426, -3.8065110528494387e-06, -1.700013542859593e-05, -0.5371017505226048, -0.0028533318576393486, -0.008755741342367278, -0.0008896796794974643, -3.794915489966775e-05, -6.904119687546642e-06, -0.0007394574729701665, -0.007655890462794815, -1.9833295618702106e-05, -0.00019347096149900878, -0.011799210391041613, -1.5427029584303228e-05, -0.0001747540708135202, -0.09937695784537323, -1.568888808108421e-05, -2.792777573518923e-05, -0.00024164732236954853, -5.107951487369391e-05, -0.00034826121604930604, -0.006075382584325581, -0.00014609886531221614, -0.0007788757229493188, -0.0656403711282461, -0.0014502628175352094, -0.0057356424785130755, -8.827205707539416e-06, -3.873792836331072e-05, -0.0032683459505783476, -0.17711378198634073, -0.01907931182819353, -2.0174253610752824e-05, -1.405527308565899e-05, -0.0013350750166812037, -0.0011491055719912774, -0.0008055896027542218, -0.05752886265572678, 1.0, -0.00012119073147850835, -0.042699696983501685, -2.571003921810772e-05, -0.0018090010274734217, -0.0023536239391172024, -0.10951966523930336, -0.004162169323568769, -3.782484446633363e-05, -0.013205489054211933, -0.0009539031403151306, 1.0, -0.0009416029338139691, -8.992766483968827e-05, -0.025885797305439447, -0.008438052044848036, -0.02961698279232412, -0.017390079051561876, -0.000188857070603828, -0.00021234622620932284, -1.703461482456961e-06, -4.8424804122188896e-05, -0.024145072686122596, -1.9462385793363047e-05, -0.01807535470365516, -6.152064214340745e-05, -0.0001675705330083375, -0.024905487313139917, -0.009569136854182767, -0.00324093146063653, -0.3097251959346401, -0.0006580000939720764, -0.0033256576439308033, 1.0, -6.013064581285366e-06, -0.019292196603794592, 1.0, -0.0026935024596761855, -5.3809736373745617e-05, -0.0014282219351448597, -0.034135962861542864, -0.06454728952541683, -0.0035379373890150937, -0.0005504824915544579, -0.40373094244065244, -0.0001474322932930709, -3.727649598799844e-06, -0.0012025280900412765, -0.0567233675897366, -0.0008888207985281619, -0.00015140082827523612, -0.0028334036665877576, -0.001590282362792447, -0.00075036974789584, -0.0013878337632183913, -0.3887930903438673, -2.1896625153847375e-05, -0.0030860742960021376, -0.0006488022349913811, -0.049482362704790964, -0.0015794084025585564, -9.712677756118175e-05, 1.0, -0.1455085068091481, -0.00016918676316652253, -0.0012858789920344082, -0.4109116978644814, -0.0005926814203550304, -6.142744112171258e-05, -0.040460858462194466, -0.10440835483270593, -0.007933244541547887, -0.08105580664321704, -0.0001140342573147673, -0.01131424659401794, -0.6052006196318773, -0.008552194701044454, -7.769918128155e-05, -0.005532557158006987, -4.889258341158683e-05, -0.0002857815494279181, -1.7125848400761726e-05, -0.00010001855505435647, -0.0012522944702472053, -0.0002376172708909423, -0.11817951601712023, -0.001574157252937031, -0.0007348882608630368, -0.00015110759925103973, -0.0019410112059697114, -0.00015673064999219874, -0.1099270383390981, -0.1095170916163777, -0.003556219482454589, -0.00015616627093632175, -0.0005107622498018773, -2.3286118393117247e-05, -0.00044496846065810656, -0.0001536224703363837, -0.00030914833672384984, -0.1626018499021137, -0.0001393862460470699, 1.0, -0.00011103749903419343, -0.007920888995558185, -0.00011699713592888461, -0.3341365492455418, -0.00048747536327711647, -0.0014766399369423226, -0.023837383356449946, -1.9233172117286163e-05, -4.0716473377065493e-05, -0.0013912265557404916, -8.827021408921287e-06, -8.872474465043898e-05, -0.0004534332883808892, -0.30141007151976174, -0.0006354973476159733, -0.21334384848499613, -0.0206179460978711, -2.2105727697588588e-05, -0.00021273275656569918, -0.11057347327209223, -0.001092205224268013, -8.092839309261585e-06, -0.0002526299641149713, -0.0012141788816762537, -9.711189365139397e-05, -0.0012760173269956334, -0.0024519772665411487, -3.1534765701023406e-05, -0.0006603101470083938, -0.0007128903001652684, -0.016457461169023378, -0.03570314351235338, -5.2245285862261914e-05, -0.0029560820459935927, 1.0, -2.1071463299628973e-05, -0.026161215976804864, -0.06951479659681957, -0.006530987454778783, -0.008925863176532028, -1.2285197287253642e-05, -1.685265999033754e-05, -7.22119281931382e-05, -9.19655967814068e-05, -3.378465538565886e-05, -0.0005540797765470671, -0.00500518585106881, -0.0007475048659785014, -0.0006261563462234359, -6.606130624189708e-06, -0.00014450186528670815, -2.348504471855992e-05, -1.1233260681779879e-05, -0.00030724080506284274, -0.00016668293905561674, -0.025864441543490144, -1.0137391549323463e-05, -0.26448911127965863, -0.0010995821869916257, -0.0006984771428126566, -0.0767979318531478, -0.017632617858919068, 1.0, -0.007964298893790958, -5.792170976564578e-05, -0.011680430906716732, -3.363597153199652e-05, -0.026760384769842382, -0.002002511450219503, -0.04280523480664795, -3.3936335872000366e-05, -0.00020820863273367075, -7.315196934223729e-05, -0.0009936292737034967, -0.017600693551875532, -0.16036294843790438, -0.00018242070398601475, -3.3027654907065184e-05, -0.000435755630761923, -0.0007526424673595289, -0.001711891339290255, -1.3698013163175794e-05, -0.002493579741122718, 1.0, -3.2878224241208607e-06, -5.416984798909781e-05, -0.00035926463231989976, -8.529635984032712e-05, -0.039924021632364956, -0.0006402785873988406, -2.092238670864127e-05, -2.9415489085476537e-05, 1.0, -0.0028935559417462104, -0.01361381554752947, -0.017467787669535023, -0.009803387207187734, -0.007741828427366354, -0.00020347632415381502, -0.06121565308288765, -0.00035954523740110454, -9.429171717852286e-05, -5.932927921581939e-05, -6.151753849598484e-06, -0.00047192834090534723, -0.00048059545838532265, -0.0005655349833137215, -0.0015794535545263638, -8.617686702194977e-05, -0.026509707570040914, -0.15686782237103705, -0.0004902542504824274, -7.441761623243242e-05, -0.004842332475283607, -0.2568532466049779, -7.6923838220933e-05, -0.00024936337739589427, -0.11514933873630434, -0.0008330434831518252, -8.723158825972705e-05, -3.4528351813188743e-06, -0.5848505528550245, -0.004945343812514553, -0.00014710186348478344, -0.21013236085266432, -0.001423324270223865, -0.015269510111889427, -0.03047890717139918, -0.24749060963529235, -0.0006607926729479168, -0.0001109264768423098, -0.0012027399956244416, -0.505830513426194, -0.007037734335116006, -0.0001171283906180978, -0.0005279773597564097, -0.02942096555484707, -0.0002500797308663625]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.factory.js new file mode 100644 index 000000000000..ba3ecad8e09e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.factory.js @@ -0,0 +1,136 @@ +/** +* @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 smallLambda = require( './fixtures/python/small_lambda.json' ); +var largeLambda = require( './fixtures/python/large_lambda.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 mgf = factory( 0.5 ); + t.equal( typeof mgf, 'function', 'returns a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the returned function returns `NaN`', function test( t ) { + var mgf; + var y; + + mgf = factory( 0.5 ); + y = mgf( NaN ); + t.equal( isnan( y ), true, 'returns expected value' ); + + mgf = factory( NaN ); + y = mgf( 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a shape parameter `lambda` which is nonpositive, the returned function always returns `NaN`', function test( t ) { + var mgf; + var y; + + mgf = factory( 0.0 ); + y = mgf( 2.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + y = mgf( 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + mgf = factory( -1.0 ); + y = mgf( 2.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + y = mgf( 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the returned function evaluates the mgf for `x` given small parameter `lambda`', function test( t ) { + var expected; + var lambda; + var delta; + var mgf; + var tol; + var x; + var y; + var i; + + expected = smallLambda.expected; + x = smallLambda.x; + lambda = smallLambda.lambda; + for ( i = 0; i < x.length; i++ ) { + mgf = factory( lambda[ i ] ); + y = mgf( x[ i ] ); + if ( y === expected[ i ] ) { + t.equal( y, expected[ i ], 'x: '+x[ i ]+', lambda: '+lambda[ 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 ]+'. lambda: '+lambda[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the returned function evaluates the mgf for `x` given large parameter `lambda`', function test( t ) { + var expected; + var lambda; + var delta; + var mgf; + var tol; + var x; + var y; + var i; + + expected = largeLambda.expected; + x = largeLambda.x; + lambda = largeLambda.lambda; + for ( i = 0; i < x.length; i++ ) { + mgf = factory( lambda[ i ] ); + y = mgf( x[ i ] ); + if ( y === expected[ i ] ) { + t.equal( y, expected[ i ], 'x: '+x[ i ]+', lambda: '+lambda[ 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 ]+'. lambda: '+lambda[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.js new file mode 100644 index 000000000000..9b8d315bdad7 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/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 mgf = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof mgf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'attached to the main export is a factory method for generating `mgf` functions', function test( t ) { + t.equal( typeof mgf.factory, 'function', 'exports a factory method' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.mgf.js b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.mgf.js new file mode 100644 index 000000000000..7869c11968a8 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/planck/mgf/test/test.mgf.js @@ -0,0 +1,112 @@ +/** +* @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 mgf = require( './../lib' ); + + +// FIXTURES // + +var smallLambda = require( './fixtures/python/small_lambda.json' ); +var largeLambda = require( './fixtures/python/large_lambda.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof mgf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y = mgf( NaN, 0.5 ); + t.equal( isnan( y ), true, 'returns expected value' ); + y = mgf( 4.0, NaN ); + t.equal( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided a shape parameter `lambda` which is nonpositive, the function returns `NaN`', function test( t ) { + var y; + + y = mgf( 3.0, 0.0 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + y = mgf( 3.0, -0.5 ); + t.equal( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function evaluates the mgf for `x` given small parameter `lambda`', function test( t ) { + var expected; + var lambda; + var delta; + var tol; + var x; + var y; + var i; + + expected = smallLambda.expected; + x = smallLambda.x; + lambda = smallLambda.lambda; + for ( i = 0; i < x.length; i++ ) { + y = mgf( x[ i ], lambda[ i ] ); + if ( y === expected[ i ] ) { + t.equal( y, expected[ i ], 'x: '+x[ i ]+', lambda: '+lambda[ 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 ]+'. lambda: '+lambda[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); + +tape( 'the function evaluates the mgf for `x` given large parameter `lambda`', function test( t ) { + var expected; + var lambda; + var delta; + var tol; + var x; + var y; + var i; + + expected = largeLambda.expected; + x = largeLambda.x; + lambda = largeLambda.lambda; + for ( i = 0; i < x.length; i++ ) { + y = mgf( x[ i ], lambda[ i ] ); + if ( y === expected[ i ] ) { + t.equal( y, expected[ i ], 'x: '+x[ i ]+', lambda: '+lambda[ 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 ]+'. lambda: '+lambda[ i ]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +});