diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/README.md new file mode 100644 index 000000000000..52c7a35823d0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/README.md @@ -0,0 +1,187 @@ + + +# Logarithm of Cumulative Distribution Function + +> Evaluate the natural logarithm of the cumulative distribution function (CDF) for an [Erlang][erlang-distribution] distribution. + +
+ +The [cumulative distribution function][cdf] for a [Erlang][erlang-distribution] random variable is + + + +```math +F(x; k,\lambda) = 1 - \sum_{n=0}^{k-1}\frac{1}{n!}e^{-\lambda x}(\lambda x)^n +``` + + + + + +where `k` is the nonnegative integer shape parameter and `lambda > 0` is the rate parameter. The [Erlang][erlang-distribution] distribution is a special case of the gamma distribution, as `k` is constrained to the natural numbers. + +
+ + + +
+ +## Usage + +```javascript +var logcdf = require( '@stdlib/stats/base/dists/erlang/logcdf' ); +``` + +#### logcdf( x, k, lambda ) + +Evaluates the natural logarithm of the [cumulative distribution function][cdf] (CDF) for an [Erlang][erlang-distribution] distribution with parameters `k` (shape parameter) and `lambda` (rate parameter). + +```javascript +var y = logcdf( 2.0, 1, 1.0 ); +// returns ~-0.145 + +y = logcdf( 2.0, 3, 1.0 ); +// returns ~-1.129 + +y = logcdf( -1.0, 2, 2.0 ); +// returns -Infinity + +y = logcdf( -Infinity, 4, 2.0 ); +// returns -Infinity + +y = logcdf( +Infinity, 4, 2.0 ); +// returns 0.0 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = logcdf( NaN, 1, 1.0 ); +// returns NaN + +y = logcdf( 0.0, NaN, 1.0 ); +// returns NaN + +y = logcdf( 0.0, 1, NaN ); +// returns NaN +``` + +If not provided a nonnegative integer for `k`, the function returns `NaN`. + +```javascript +var y = logcdf( 2.0, -2, 0.5 ); +// returns NaN + +y = logcdf( 2.0, 0.5, 0.5 ); +// returns NaN +``` + +If provided `k = 0`, the function evaluates the logarithm of the [CDF][cdf] of a [degenerate distribution][degenerate-distribution] centered at `0`. + +```javascript +var y = logcdf( 2.0, 0.0, 2.0 ); +// returns -0.0 + +y = logcdf( -2.0, 0.0, 2.0 ); +// returns -Infinity + +y = logcdf( 0.0, 0.0, 2.0 ); +// returns -0.0 +``` + +If provided `lambda <= 0`, the function returns `NaN`. + +```javascript +var y = logcdf( 2.0, 1, 0.0 ); +// returns NaN + +y = logcdf( 2.0, 1, -5.0 ); +// returns NaN +``` + +#### logcdf.factory( k, lambda ) + +Returns a `function` for evaluating the [cumulative distribution function][cdf] for an [Erlang][erlang-distribution] distribution with parameters `k` (shape parameter) and `lambda` (rate parameter). + +```javascript +var mylogcdf = logcdf.factory( 2, 0.5 ); + +var y = mylogcdf( 6.0 ); +// returns ~-0.222 + +y = mylogcdf( 2.0 ); +// returns ~-1.331 +``` + +
+ + + +
+ +## Examples + + + +```javascript +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var logcdf = require( '@stdlib/stats/base/dists/erlang/logcdf' ); + +var opts = { + 'dtype': 'float64' +}; +var x = uniform( 20, 0.0, 10.0, opts ); +var k = discreteUniform( 20, 0, 10, opts ); +var lambda = uniform( 20, 0.0, 5.0, opts ); + +logEachMap( 'x: %lf, k: %d, λ: %lf, F(x;k,λ): %lf', x, k, lambda, logcdf ); +``` + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/benchmark/benchmark.js new file mode 100644 index 000000000000..f83926244b94 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/benchmark/benchmark.js @@ -0,0 +1,90 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; +var logcdf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var lambda; + var len; + var k; + var x; + var y; + var i; + + len = 100; + x = uniform( len, 0.0, 100.0 ); + k = discreteUniform( len, 0.0, 100.0 ); + lambda = uniform( len, EPS, 20.0 ); + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = logcdf( x[ i % len ], k[ i % len ], lambda[ i % len ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( format( '%s::factory', pkg ), function benchmark( b ) { + var mylogpdf; + var lambda; + var len; + var k; + var x; + var y; + var i; + + len = 100; + k = 2.0; + lambda = 1.5; + x = uniform( len, EPS, 50.0 ); + mylogpdf = logcdf.factory( k, lambda ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mylogpdf( x[ i % len ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/repl.txt new file mode 100644 index 000000000000..bb9f7d0efc2b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/repl.txt @@ -0,0 +1,83 @@ + +{{alias}}( x, k, λ ) + Evaluates the natural logarithm of cumulative distribution function + (CDF) for an Erlang distribution with shape parameter `k` and rate + parameter `λ` at a value `x`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If not provided a nonnegative integer for `k`, the function returns `NaN`. + + If provided a non-positive value for `λ`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value. + + k: number + Shape parameter. + + λ: number + Rate parameter. + + Returns + ------- + out: number + Evaluated logCDF. + + Examples + -------- + > var y = {{alias}}( 2.0, 1, 1.0 ) + ~-0.145 + > y = {{alias}}( 2.0, 3, 1.0 ) + ~-1.129 + > y = {{alias}}( 2.0, 2.5, 1.0 ) + NaN + > y = {{alias}}( -1.0, 2, 2.0 ) + -Infinity + > y = {{alias}}( {{alias:@stdlib/constants/float64/pinf}}, 4, 2.0 ) + 0.0 + > y = {{alias}}( {{alias:@stdlib/constants/float64/ninf}}, 4, 2.0 ) + -Infinity + > y = {{alias}}( NaN, 0, 1.0 ) + NaN + > y = {{alias}}( 0.0, NaN, 1.0 ) + NaN + > y = {{alias}}( 0.0, 0, NaN ) + NaN + > y = {{alias}}( 2.0, -1, 1.0 ) + NaN + > y = {{alias}}( 2.0, 1, -1.0 ) + NaN + + +{{alias}}.factory( k, λ ) + Returns a function for evaluating the natural logarithm of cumulative + distribution function (CDF) of an Erlang distribution with shape parameter + `k` and rate parameter `λ`. + + Parameters + ---------- + k: number + Shape parameter. + + λ: number + Rate parameter. + + Returns + ------- + logcdf: Function + Natural logarithm of cumulative distribution function (CDF). + + Examples + -------- + > var mycdf = {{alias}}.factory( 2, 0.5 ); + > var y = mycdf( 6.0 ) + ~-0.222 + > y = mycdf( 2.0 ) + ~-1.331 + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/index.d.ts new file mode 100644 index 000000000000..17bffccd653d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/index.d.ts @@ -0,0 +1,137 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 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 natural logarithm of the cumulative distribution function (CDF) for an Erlang distribution. +* +* @param x - input value +* @returns evaluated logCDF +*/ +type Unary = ( x: number ) => number; + +/** +* Interface for the natural logarithm of the cumulative distribution function (logCDF) of an Erlang distribution. +*/ +interface LogCDF { + /** + * Evaluates the natural logarithm of the cumulative distribution function (CDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda` at a value `x`. + * + * ## Notes + * + * - If not provided a nonnegative integer for `k`, the function returns `NaN`. + * - If provided a non-positive value for `lambda`, the function returns `NaN`. + * + * @param x - input value + * @param k - shape parameter + * @param lambda - rate parameter + * @returns evaluated logCDF + * + * @example + * var y = logcdf( 2.0, 1, 1.0 ); + * // returns ~-0.145 + * + * @example + * var y = logcdf( 2.0, 3, 1.0 ); + * // returns ~-1.129 + * + * @example + * var y = logcdf( 2.0, 2.5, 1.0 ); + * // returns NaN + * + * @example + * var y = logcdf( -1.0, 2, 2.0 ); + * // returns -Infinity + * + * @example + * var y = logcdf( +Infinity, 4, 2.0 ); + * // returns 0.0 + * + * @example + * var y = logcdf( -Infinity, 4, 2.0 ); + * // returns -Infinity + * + * @example + * var y = logcdf( NaN, 0, 1.0 ); + * // returns NaN + * + * @example + * var y = logcdf( 0.0, NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = logcdf( 0.0, 0, NaN ); + * // returns NaN + * + * @example + * var y = logcdf( 2.0, -1, 1.0 ); + * // returns NaN + * + * @example + * var y = logcdf( 2.0, 1, -1.0 ); + * // returns NaN + */ + ( x: number, k: number, lambda: number ): number; + + /** + * Returns a function for evaluating the natural logarithm of the cumulative distribution function (CDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda`. + * + * @param k - shape parameter + * @param lambda - rate parameter + * @returns logCDF + * + * @example + * var myLogCDF = logcdf.factory( 2, 0.1 ); + * var y = myLogCDF( 12.0 ); + * // returns ~-1.087 + * + * y = myLogCDF( 8.0 ); + * // returns ~-1.654 + */ + factory( k: number, lambda: number ): Unary; +} + +/** +* Erlang distribution natural logarithm of the cumulative distribution function (CDF). +* +* @param x - input value +* @param k - shape parameter +* @param lambda - rate parameter +* @returns evaluated logCDF +* +* @example +* var y = logcdf( 2.0, 8, 3.0 ); +* // returns ~-1.36 +* +* y = logcdf( 0.0, 1, 1.0 ); +* // returns -Infinity +* +* var myLogCDF = logcdf.factory( 2, 0.5 ); +* y = myLogCDF( 6.0 ); +* // returns ~-0.222 +* +* y = myLogCDF( 2.0 ); +* // returns ~-1.33 +*/ +declare var logcdf: LogCDF; + + +// EXPORTS // + +export = logcdf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/test.ts new file mode 100644 index 000000000000..784bffdc827a --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/docs/types/test.ts @@ -0,0 +1,119 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 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 logcdf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + logcdf( 2, 2, 4 ); // $ExpectType number + logcdf( 1, 2, 8 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than three numbers... +{ + logcdf( true, 3, 6 ); // $ExpectError + logcdf( false, 2, 4 ); // $ExpectError + logcdf( '5', 1, 2 ); // $ExpectError + logcdf( [], 1, 2 ); // $ExpectError + logcdf( {}, 2, 4 ); // $ExpectError + logcdf( ( x: number ): number => x, 2, 4 ); // $ExpectError + + logcdf( 9, true, 12 ); // $ExpectError + logcdf( 9, false, 12 ); // $ExpectError + logcdf( 5, '5', 10 ); // $ExpectError + logcdf( 8, [], 16 ); // $ExpectError + logcdf( 9, {}, 18 ); // $ExpectError + logcdf( 8, ( x: number ): number => x, 16 ); // $ExpectError + + logcdf( 9, 5, true ); // $ExpectError + logcdf( 9, 5, false ); // $ExpectError + logcdf( 5, 2, '5' ); // $ExpectError + logcdf( 8, 4, [] ); // $ExpectError + logcdf( 9, 4, {} ); // $ExpectError + logcdf( 8, 5, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + logcdf(); // $ExpectError + logcdf( 2 ); // $ExpectError + logcdf( 2, 0 ); // $ExpectError + logcdf( 2, 0, 4, 1 ); // $ExpectError +} + +// Attached to main export is a `factory` method which returns a function... +{ + logcdf.factory( 3, 4 ); // $ExpectType Unary +} + +// The `factory` method returns a function which returns a number... +{ + const fcn = logcdf.factory( 3, 4 ); + fcn( 2 ); // $ExpectType number +} + +// The compiler throws an error if the function returned by the `factory` method is provided invalid arguments... +{ + const fcn = logcdf.factory( 3, 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 = logcdf.factory( 3, 4 ); + fcn(); // $ExpectError + fcn( 2, 0 ); // $ExpectError + fcn( 2, 0, 1 ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided values other than two numbers... +{ + logcdf.factory( true, 3 ); // $ExpectError + logcdf.factory( false, 2 ); // $ExpectError + logcdf.factory( '5', 1 ); // $ExpectError + logcdf.factory( [], 1 ); // $ExpectError + logcdf.factory( {}, 2 ); // $ExpectError + logcdf.factory( ( x: number ): number => x, 2 ); // $ExpectError + + logcdf.factory( 9, true ); // $ExpectError + logcdf.factory( 9, false ); // $ExpectError + logcdf.factory( 5, '5' ); // $ExpectError + logcdf.factory( 8, [] ); // $ExpectError + logcdf.factory( 9, {} ); // $ExpectError + logcdf.factory( 8, ( x: number ): number => x ); // $ExpectError + + logcdf.factory( [], true ); // $ExpectError + logcdf.factory( {}, false ); // $ExpectError + logcdf.factory( false, '5' ); // $ExpectError + logcdf.factory( {}, [] ); // $ExpectError + logcdf.factory( '5', ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the `factory` method is provided an unsupported number of arguments... +{ + logcdf.factory( 0 ); // $ExpectError + logcdf.factory( 0, 4, 8 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/examples/index.js new file mode 100644 index 000000000000..de30680730b9 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/examples/index.js @@ -0,0 +1,33 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var logcdf = require( './../lib' ); + +var opts = { + 'dtype': 'float64' +}; +var x = uniform( 20, 0.1, 10.0, opts ); +var k = discreteUniform( 20, 1, 10, opts ); +var lambda = uniform( 20, 0.1, 5.0, opts ); + +logEachMap( 'x: %lf, k: %d, λ: %lf, F(x;k,λ): %lf', x, k, lambda, logcdf ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/factory.js new file mode 100644 index 000000000000..54f0ee098df6 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/factory.js @@ -0,0 +1,55 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 isNonNegativeInteger = require( '@stdlib/math/base/assert/is-nonnegative-integer' ); +var constantFunction = require( '@stdlib/utils/constant-function' ); +var factoryGamma = require( '@stdlib/stats/base/dists/gamma/logcdf' ).factory; + + +// MAIN // + +/** +* Returns a function for evaluating the natural logarithm of thecumulative distribution function (CDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda`. +* +* @param {NonNegativeInteger} k - shape parameter +* @param {PositiveNumber} lambda - rate parameter +* @returns {Function} logCDF +* +* @example +* var logcdf = factory( 2, 0.1 ); +* var y = logcdf( 12.0 ); +* // returns ~-1.087 +* +* y = logcdf( 8.0 ); +* // returns ~-1.654 +*/ +function factory( k, lambda ) { + if ( !isNonNegativeInteger( k ) ) { + return constantFunction( NaN ); + } + return factoryGamma( k, lambda ); +} + + +// EXPORTS // + +module.exports = factory; diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/index.js new file mode 100644 index 000000000000..cc3fd59c1ffb --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/index.js @@ -0,0 +1,57 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 natural logarithm of the Erlang distribution cumulative distribution function (CDF). +* +* @module @stdlib/stats/base/dists/erlang/logcdf +* +* @example +* var logcdf = require( '@stdlib/stats/base/dists/erlang/logcdf' ); +* +* var y = logcdf( 2.0, 8, 3.0 ); +* // returns ~-1.362 +* +* y = logcdf( 0.0, 1, 1.0 ); +* // returns -Infinity +* +* var mylogcdf = logcdf.factory( 2, 0.5 ); +* y = mylogcdf( 6.0 ); +* // returns ~-0.222 +* +* y = mylogcdf( 2.0 ); +* // returns ~-1.331 +*/ + +// 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/erlang/logcdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/main.js new file mode 100644 index 000000000000..e30603fffd93 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/lib/main.js @@ -0,0 +1,94 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 isNonNegativeInteger = require( '@stdlib/math/base/assert/is-nonnegative-integer' ); +var gammaLogCDF = require( '@stdlib/stats/base/dists/gamma/logcdf' ); + + +// MAIN // + +/** +* Evaluates the natural logarithm of the cumulative distribution function (CDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda` at a value `x`. +* +* @param {number} x - input value +* @param {NonNegativeInteger} k - shape parameter +* @param {PositiveNumber} lambda - rate parameter +* @returns {number} evaluated logCDF +* +* @example +* var y = logcdf( 2.0, 1, 1.0 ); +* // returns ~-0.145 +* +* @example +* var y = logcdf( 2.0, 3, 1.0 ); +* // returns ~-1.129 +* +* @example +* var y = logcdf( 2.0, 2.5, 1.0 ); +* // returns NaN +* +* @example +* var y = logcdf( -1.0, 2, 2.0 ); +* // returns -Infinity +* +* @example +* var y = logcdf( +Infinity, 4, 2.0 ); +* // returns 0.0 +* +* @example +* var y = logcdf( -Infinity, 4, 2.0 ); +* // returns -Infinity +* +* @example +* var y = logcdf( NaN, 0, 1.0 ); +* // returns NaN +* +* @example +* var y = logcdf( 0.0, NaN, 1.0 ); +* // returns NaN +* +* @example +* var y = logcdf( 0.0, 0, NaN ); +* // returns NaN +* +* @example +* var y = logcdf( 2.0, -1, 1.0 ); +* // returns NaN +* +* @example +* var y = logcdf( 2.0, 1, -1.0 ); +* // returns NaN +*/ +function logcdf( x, k, lambda ) { + if ( x === -Infinity ) { + return -Infinity; + } + if ( !isNonNegativeInteger( k ) || lambda <= 0 ) { + return NaN; + } + return gammaLogCDF( x, k, lambda ); +} + + +// EXPORTS // + +module.exports = logcdf; diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/package.json b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/package.json new file mode 100644 index 000000000000..362bfea53fe8 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/package.json @@ -0,0 +1,68 @@ +{ + "name": "@stdlib/stats/base/dists/erlang/logcdf", + "version": "0.0.0", + "description": "Natural logarithm of erlang distribution cumulative distribution function (CDF).", + "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", + "probability", + "logcdf", + "logarithm", + "log", + "cumulative distribution", + "distribution function", + "erlang", + "univariate", + "continuous" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..98be20b58ed3 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/REQUIRE @@ -0,0 +1,3 @@ +Distributions 0.23.8 +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/data.json b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/data.json new file mode 100644 index 000000000000..e3f1572fd681 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/data.json @@ -0,0 +1 @@ +{"expected":[-8.084005492032124e-8,-2.738468004426831,-1.8762769116165322e-14,-2.6730014340141708e-5,-27.187175451335623,-1.4046011517407186e-6,-1.0334827393554962,-0.02655673338785126,-0.0017655509695227644,-0.0010649942747639567,-0.6009494399860846,-3.2858160642204427e-10,0.0,-0.00013238375402633366,-6.661338147750941e-16,-0.5981548972904878,0.0,-0.28231171789023585,-0.36525069126721926,-0.00036753595463420605,-4.5773392680188144e-8,-8.15641857730936e-6,-19.889390811288475,0.0,-5.193084536321565e-7,-1.1102230246251565e-16,-7.771561172376099e-16,-1.2101430968414279e-14,-1.3322676295501888e-15,-7.467620818753226e-5,-8.038057138051735e-6,-16.554592825330015,-1.1102230246251565e-16,-2.656765918726969e-10,0.0,0.0,0.0,-0.0011097443016167292,-0.016795695708256522,-7.95030707937235e-12,-0.022094283589411193,-4.824551396714918e-6,0.0,-4.981302625975907,-8.326672684688709e-15,-0.00151661070791671,-1.380842298139036e-7,-0.0038493519116556065,-4.440892098500627e-16,-0.04679966771229731,0.0,-5.950795411991016e-14,-17.8030618598623,-0.6604799530202261,-0.0034632952510361835,-0.1442744938654161,-30.04783840817909,-3.8513636724254097e-13,-2.8062131790130752e-8,-1.4785950241968766e-12,-6.725286924149589e-5,0.0,-2.0206059048178054e-14,-0.0011757346401352303,-1.0202949596305709e-13,-2.654315548659094e-9,-5.4868332100150386e-12,-2.4149349187333074e-11,-0.015353296228760244,-0.4345534673486687,-0.02661377142111966,0.0,-2.0594637106798774e-13,0.0,0.0,-3.088152755486552,-17.901492234678123,-8.196101497774296e-9,-5.8766960359706654e-9,-0.0027989452356810096,-0.0039044825215946333,-1.0303373352393707e-7,-7.292066527639071,-1.1335377081423491e-13,-6.265775340298509e-5,-1.6653345369377362e-15,-1.46102019372664e-11,-2.575257216869244,0.0,-8.715194199847996,-2.7053528600128496e-6,-6.0679102411473025,-3.470003045208188e-7,-1.6704193584044696e-11,-0.20196162485463323,-0.006863300450165902,-0.16061381977389244,-3.5306238641412966,-0.027230799521053076,-2.364775042451863e-13,-0.5782001311446039,-4.693971271559956,-3.885780586188056e-15,-8.25530089073512e-10,-5.419720829745641e-7,-0.3972012859532444,0.0,-0.3975413423819566,-0.046897947341793374,-0.07352199376653165,-2.7619506909895945e-7,-0.0030973259291365695,-8.215650382226192e-15,-0.0005251075302821303,-1.1082712526092788e-10,-0.3662041089771706,-9.637143580711224e-5,-0.00031604230264576077,-6.288837267169244e-5,-2.432858851474787e-6,-3.341771304121777e-14,-4.762311155346976,-9.080636243354154e-11,-5.685394287757677,-11.271499620550005,-11.323737829631309,-2.8536659071935786e-5,-0.5119951705744539,-27.75930109899697,-26.803472217367506,-2.766675777366273e-13,-0.38840156754141414,-14.938828505881851,-1.0802858608244901e-10,-6.594366070802344e-8,-9.589203879990723e-10,-8.961443728506874,-1.3926658019559869e-7,-0.00111875937093686,-6.157356219647372e-6,-1.1799450305723125e-12,-7.953375745233319,-0.94057125127477,-0.04160564791330687,-15.998655079464843,-1.660489446921609,0.0,-2.551103772706964e-11,-7.92638977004167e-8,-4.625789569576382e-8,-3.4550116161113857e-9,-0.006711794897120723,-1.2122525205955563e-11,0.0,-4.4193428766589286e-5,-21.439528764023187,-3.495148537199401e-5,-1.1102230246251565e-16,-6.661338147750941e-16,-4.263160480158291e-6,0.0,-0.8377683103222122,-1.1728242618885848e-5,-0.08806914731404011,-1.5765166949677346e-14,-1.784944108461176e-8,-2.1714915946277476e-5,-2.373753416333462e-10,-6.108891700152511e-5,0.0,-0.00024125196513742793,-2.84617108064847e-9,-3.33066907387547e-16,-1.2366774271307266e-12,-5.903055821933699e-13,-5.321322977797596e-6,-0.00713243506726869,-1.3998354906618947e-8,-3.611061222303479e-5,0.0,-5.119035829837013e-6,-1.953189832284219e-10,-0.09313316753699673,0.0,-2.776874734014823e-9,-0.19905352343178204,-1.0681211083808139e-8,0.0,-3.997244537543966e-8,-13.054763664000983,0.0,-0.03125558515231337,-0.0026822617527370762,-2.3902253658205168e-5,0.0,-1.309130703660583e-6,-2.3980817331932135e-12,0.0,-0.1739757782002796,-7.282507930055233e-12,-4.829470157119548e-14,0.0,-6.648180203213977,-3.6702491113723445e-9,-3.8344570549100663,-8.882377478727203e-5,-3.581471716368981,-5.219363599857598e-8,-1.4692874076493635e-5,-5.105046399728597e-7,-7.22755189031003e-14,-2.05646832917068e-10,-0.0007311390770542867,-8.59468052287012e-12,-12.287793813412144,-0.4989846282052241,-0.9625843674575184,-2.444711100227583e-12,-0.5104221007056009,0.0,-14.061024627909672,-1.0875355939242726,-3.7484493294135335e-10,-28.71379432338714,-3.70192165941952e-7,-0.00807557018225538,-0.000559967289986973,-7.838879548546644e-10,-0.1610249589997645,-12.629696055424445,0.0,0.0,-0.01780267822170448,-2.2777335573235654e-12,-4.842073394911243,-1.511712755299894e-8,-0.002302522064778262,-0.1789323376155632,0.0,0.0,-3.774758283725539e-15,0.0,-0.00010087223348896551,-0.3229699864253402,-2.5127677716372737e-12,0.0,-0.15879371978578874,-7.12431034009396e-8,-0.3085165830992423,-3.1611059742569205,-3.992756185487871e-5,-3.774758283725539e-15,-0.4032659697985563,-0.04033757009834778,-1.6653345369377362e-15,-5.873079800267251e-14,-10.704216352895271,-0.16200914230592853,-0.6710395809177511,-6.667082240673774e-6,-0.000653382334300561,-0.01223435961421339,-1.0071396040629006e-6,0.0,-0.33958740975106516,-0.000873361134589241,-3.8314803950757576e-5,-5.524409459825602,-9.755061361867773e-9,-8.881784197001256e-16,-4.8122620456222105,-3.0167254295704996e-9,-0.15701270326509117,-0.8713445766632407,-49.65825025786923,-8.843564282215439e-7,-0.3740880613458841,-0.6008567313727782,-0.9004588013284079,-8.711485472997905e-5,-2.9844115624480704e-8,0.0,-2.3185717817020654e-9,-0.0003612739531466688,-1.2988887576249608,-0.00016502108277404565,-5.11590769747403e-13,-9.782627986812366e-6,-0.08286153934385372,-6.843881017694e-11,-3.534388780866393,-0.0003093153881680215,-3.199460902993193e-8,-6.661338147750941e-16,-1.946935503601827e-9,-2.8887429009487436e-5,-0.2972189583240681,-9.893471282818535e-5,-0.0997895838850126,-9.892087149410635e-14,-0.008473249523049575,-0.0001618173616445054,-6.024556210355413e-5,-2.5739516311392407e-7,-0.0029533717067046833,-1.9327672814232863e-9,-0.0972162986959735,-2.2773893882092698e-11,-5.630856893454812e-10,-0.00028318725596985166,-0.007524729320499643,-1.331172824601384e-5,-5.881830904215384,-23.625185810199554,-0.011164077907285078,-23.76118861018224,-7.060462786096003e-8,-0.0008287301562916111,-1.275024328577992e-7,-1.2502458727010978e-5,-4.456400344734953e-7,-0.0004651918839026831,-1.5543122344752203e-15,-0.023959389714437607,-2.362730011919349e-10,-0.5261720587573777,-9.676718342000568,-2.5847681662679236e-8,-8.972025747375052e-8,-0.14839389144540832,-1.4779288903821005e-12,-0.0026367932533696275,-5.440092820663282e-15,-1.9883206192814524e-11,-1.4969673644245813e-7,-1.1217804463177963e-11,-2.784220265351821,-0.00016929894474680915,-5.7482362412308045e-8,-1.1430774732777984,-2.6115344022309515e-7,-3.2262351731122836e-9,-12.223900259331357,-2.3453409489755482e-8,-9.782287350210607,-7.882583474838643e-15,-2.032324667420559,-7.496505077676036e-6,-2.9784122057021172e-8,-4.689777535354711,-17.876625254251056,-1.76541190290161e-5,-0.10578677918702083,-6.0216360967869616e-9,0.0,-0.03298930681315176,-0.00010829484353704566,-1.4442320346635056,-2.0189538931609514e-10,-0.24970125192214246,-3.29594457327526,-6.244467015154401e-6,-1.3949441921161834e-8,-9.974920889774923e-11,-5.950924199632371e-10,-7.033151153270597e-5,-0.0004942742806141043,-1.3204241219200292,-5.565192569784664e-5,-7.088524930861464,-0.41933244232803,-1.1768364061026729e-14,-1.9185107174634015,-1.7221029952971757e-5,-0.03767626184036868,-4.757277583192118e-9,-1.1029740460387475e-9,-0.014118484158558533,-5.83835310242206e-6,-2.220446049250313e-16,-3.937203067048663e-7,-1.668520877032329e-11,-2.19651520250565e-5,-1.4824030891812354e-11,-0.23705262891293105,0.0,-0.4271226930397948,-12.307543153456765,-1.301959243481546e-5,-0.14815949361242237,-1.4156817707288284e-8,-1.2233485666450459e-5,-0.018375715641799927,-0.011456567488574402,-2.9114210260939572e-5,-3.42760768674647e-5,-4.2778891541166624e-11,-0.0017332389482695404,-2.2664246750738792,-8.07027004336354,-0.0020282927715353075,-0.0003713879610495445,0.0,-0.012857210579009936,0.0,-2.64839150645e-10,-4.430113321598495e-7,-4.031767032205564,-0.20240850911929592,-6.77852882528406e-7,-0.0035079866648719104,-0.42243983015403236,-1.254079557075698e-6,-1.1552763666692194,-6.354905681546047e-8,-1.1102230246251565e-16,-5.7731597280508306e-15,-1.045667533283428,-4.501523365040599,-0.003951011307684902,-2.654964439909126e-7,-3.1565528554664325e-7,-0.001661991105411677,-1.8762417410042809,-1.1102230246251565e-16,-0.003300804544112099,-1.3631835915499533,-0.2895944635465263,-1.0769588364394427,-8.240186311104324e-12,-3.333999742949901e-13,-7.127631818093759e-14,-7.305377416781395e-10,-1.663399418344158e-10,-3.7371370030771406e-8,0.0,-0.003252169008775831,-3.099956516098061,0.0,-0.05427678717678157,-2.2775392685510211e-10,-2.220446049250313e-16,-7.912797087361379e-10,-0.00010340273558193207,-1.2984885523112057,-6.6340266613671655e-12,-1.007044225348587,-7.771561172376126e-15,-18.264974099297582,-9.401368572530244e-13,-2.2490919193293115e-5,-3.35094372402773,-0.06249032550079771,-4.82556472299302,-4.0353953520237794e-10,-0.22886813787942825,-6.830618930347129,-0.6438633125973519,-5.3840353431755094e-9,-0.4031519237391759,0.0,-2.997602166487927e-15,0.0,-1.699671294043178e-9,-1.6753265441595016e-13,-0.001216305907513367,0.0,-0.00017189521541361284,-16.024445005795073,-0.015193958477621982,-1.1102230246251565e-16,-2.655726704191323,-0.060927691689942234,-0.0017058131152343108,-1.5527815053648443e-5,-28.782241631696184,-2.4857382821855375e-10,-2.30637142726232,-0.06716599717826544,-3.171977909872362e-5,-23.93894643994643,-0.0012236842926086698,-1.221245327087673e-15,-9.319189864677308e-11,-0.04809400071420626,-3.2190807848962406e-9,-3.9122807221909692,-1.7484284919937079,-12.921720617611584,-5.067597037172597e-8,-1.6653345369377362e-15,-5.074927292237172e-6,-0.2026711840128158,-4.5034327038175325e-5,-1.509888880704881e-10,0.0,-4.77728967496319e-13,-0.2541501797896747,-2.7763927861984954e-9,-0.18702115055918703,0.0,-0.8945019934352464,-0.05351996398256227,-2.030389192172022e-9,-0.0015528639835857264,-1.1552157839945114,0.0,-1.1102230246251627e-14,-1.5922148057142862e-9,-3.9135361618044427e-13,0.0,-5.662137425588314e-15,-0.001971817316607117,0.0,-2.4842051280426514e-8,-0.00018796800802930492,-0.06775487283885795,-20.04425370695188,0.0,-0.00204134733285773,-9.076650615704013,-1.2650436254171363e-11,0.0,-1.7254803623783936e-8,-0.11875608981107008,-2.0961010704925152e-13,-3.193900699522901e-11,-5.8083839929788305e-5,-0.004076577221211549,-7.833717106182007,-0.22353475754693267,0.0,-5.402850768403031e-8,-8.497705911391595e-8,-0.000147178165733213,-9.038040449334021,-0.0006928025327781541,-2.591949988309318e-10,-0.004400696251713957,-0.01557972404033668,-8.887749429262168e-10,0.0,0.0,-0.023353446667592172,-0.006825676043450071,-7.145284364210573e-12,-2.0544677070709625e-12,-1.2356782264078755e-13,-8.851253063863234e-12,-0.22266004719843513,-5.916778178691366e-11,-8.326672684688709e-15,-2.1241119974261477e-11,0.0,-1.0144329820656434e-11,-1.8072210394864628e-12,0.0,-3.3907380331770636,-0.0008349438486142657,-6.310617316874608e-8,-0.5916396921006322,0.0,-0.014063652747123383,-0.007589932422120041,0.0,-1.4536417033900825e-6,-4.6611710807499644e-7,-6.359202054031647e-11,-6.486333694482902e-10,0.0,-1.8232304555165454e-11,-7.449596495235078e-14,-4.872768855081e-13,-0.8864483028524298,0.0,-0.4552732939248162,-19.5398469795533,-0.18943615679636222,-1.882003159926994e-8,-12.151741424038024,-1.9977619560626504e-10,-3.0075275603732977e-11,-1.8377743771394012e-11,-2.4732856132900043,0.0,-28.70339460919093,-1.3459860794896667e-6,-1.7193401663752132e-6,-1.3145040611562717e-13,-3.90648323548269,0.0,-0.0233267065226884,-4.901731026350127,-2.6542990028485583e-11,-0.00011452931496224894,-0.004292332160420713,-0.00010639846327701996,-6.016298570445533e-13,-7.166761631164542e-10,-7.949538918061046,0.0,-13.026633862624582,-2.979585138616362e-9,-3.744737537328251e-7,-3.434263984362214e-11,-7.372975749032502e-7,-2.862749368764954e-7,0.0,-3.621329482944805e-5,-6.635867347161813e-5,-0.6130728173956286,-1.3180503546806715e-7,-8.000857139520207,-0.0015838815629719088,-5.662137425588314e-15,-1.997626294773341e-5,-0.003127224458753186,-0.00031465816612974483,-2.4378573633982506e-9,-4.6659338371308635e-8,-0.5437060466908255,0.0,-0.015130565811044818,-0.5416538313382644,-1.906756615237349e-8,-0.1935587654005798,-3.2726770805143723,-0.5547066142146525,-1.0496969234091987e-7,-0.001934763589681032,-3.001010551218552e-11,-3.4377690986835427e-6,-2.7440617655373317e-6,-1.4392506356591587e-7,-0.07132634904134015,-2.529844332714352e-8,0.0,-33.952875130574625,-0.0008055341983919962,0.0,-1.4427070768464448e-7,-1.1499087881149624e-5,-1.635881538576884e-6,-6.565502163505971e-9,-0.0008841760216780984,-3.1574570086406595e-5,-7.864333326616785e-9,-3.38034867033259,-3.9887377086293946e-8,-3.0900529203091494,-0.16912533698003548,-0.03430817287228192,0.0,-0.9167103479852835,-4.475706834427819,-6.282719286949299,-2.5557891716074007e-7,-9.481304630299286e-14,-2.75478809764845,-1.020473111223877e-8,-3.9802698206727896,-7.216449660063544e-15,-6.062854451011787,-2.3314683517128315e-15,-8.98170426921792e-14,-16.607404955917875,-4.2035734555176265e-8,-8.460676603796722e-12,-1.2362810775865903e-10,-2.3858348632903086e-10,-0.3911035130257159,-0.0006468228692805272,-1.3322676295501967e-14,-3.861620475293724e-9,-0.003817370199134854,-7.2112289092210435,-1.282253346125583,-5.19458280749638e-7,-24.11676472195672,-8.282594792735939,0.0,-9.385559897558091e-5,-0.0015596272148403832,-0.7478518910617217,-7.0655419326828905,-4.1990268018951476e-7,0.0,-4.263029494061078e-9,-0.00011842472948131292,-2.0115675793766316e-10,-11.833485906396655,0.0,-8.142754251967517e-10,-7.861757071821205e-6,-3.0503707869477856e-6,-0.06748838113169436,-3.701103832239331,-0.1669062844081722,0.0,-50.512654891808076,-1.2597700660429586e-12,-4.3154368967189145e-13,0.0,-2.6312285683616557e-14,0.0,-3.1542843873036294e-6,-0.026179827404132678,-9.984239707099442e-9,-4.107825191113088e-15,-6.425099268392825e-5,-0.07380017111627077,-0.000655837586635818,-0.00129487691193718,-0.009519407906624257,-1.3259668697373637,-13.562914256713638,-2.4036217463720877e-10,-5.108355961763986e-10,-1.6583430148518757e-5,-3.029107136261261e-5,-9.320322291732533e-13,0.0,-1.3216427952918622e-10,-2.220446049250313e-16,-2.8723004016523378e-9,-5.100023156167852e-8,-1.0060974187236412e-5,-4.5372761114128027e-10,-2.6735513806407503e-10,-0.4769845690177233,-7.527938369536788e-7,-17.603286891923588,-21.613796325045083,-9.218981239057302e-7,-0.0011355518587882836,-5.814504698883658,-3.543931814738513e-11,-0.0004941717593519217,-2.042810365310309e-14,-1.2999713839917155e-7,-0.00020889470639818042,0.0,-22.124208045547864,-0.04981864226216668,-5.319633622505587e-12,-0.16057329493536746,-1.0281294334435669,-0.016186756253305127,-1.301641573151526e-9,-3.0691208555982185e-5,-0.0003050857974210692,-1.8740831110954647e-10,-0.2838313496158948,-2.728205010820704,-5.589917061287569e-6,-37.52950893875065,-0.0001602370569741674,-1.3280990192882626e-5,-0.06845739358756861,-2.455258218961548e-12,-24.841487498766227,-1.7128222665167475e-6,-0.05368582906463538,-5.3338317372980945e-6,-2.1278705847592336,-7.288725178993179e-12,-7.753384862564185,-5.678790770959288e-13,-4.192183728085923,-0.026128379842914225,-1.2265307735346376,-0.4666799200727985,-9.764794924906982e-6,-0.20491607491385808,-6.728852874596753e-5,0.0,-0.003361038922380462,-2.0721407327496065e-7,-5.752648359325513e-10,-0.19422728456415744,-3.7175387198643413,-4.200750858283028e-12,-8.022082998204532e-11,-45.26539246848308,-1.3807747263186872e-8,-0.0016034115396400745,-9.856853993668926e-7,-2.608601633097905,-3.398862598374261,-0.002978909715116448,-0.5488356081060497,-5.24248601585099e-5,-0.09715510628242863,-6.831858458980679e-7,-2.337693677224016e-6,-1.6265168114498217e-9,-6.661338147750941e-16,-0.02713296899608143,-1.0716701756639695,-0.25182466179346114,-14.968742286938168,-2.6350463791601027e-6,-0.20722928670383356,-19.453927587348527,-3.1411944442708314e-6,-1.0796233912701388e-9,-9.667781836179543e-5,-1.2416772638388162e-6,-38.82537011859399,0.0,0.0,-1.1109794812856018e-7,-1.5994693483186518e-7,-2.1653878070287556e-7,-1.509140077637725,-0.9701521213720502,-7.892817494935848e-5,-25.73078051544458,-3.632459192543784e-5,-4.440892098500627e-16,-0.00254371486826789,-0.00032136069302205606,-3.4037736862735406e-5,-0.0626615393460954,-8.409685173999062e-10,-50.674623995056415,-15.435384892982519,-1.1102230246251565e-16,-1.4771688015299604,-0.004172092881212462,-0.5542749836035064,-5.4520051224340396e-5,-0.002444932585602291,-23.87711252787617,-0.7006892392452477,-3.33066907387547e-16,-0.017722678696008715,-0.0005781757494316179,-0.00019546189489590826,-0.012869631646554113,-0.14559697556065088,-0.00016358086058013794,-1.1599517590071915,-4.778502039646643e-10,-4.724891436336701e-7,-7.95570276355689e-11,0.0,-11.997250374387292,-14.933275017487226,-4.8948746645257306e-5,0.0,-4.527885261760357,-0.028766151077031666,-0.5013308238471312,-3.63178789197999e-8,0.0,-2.8458014342354176,-1.1102230246251565e-16,-0.0004023738703225871,-4.984901380567077e-14,0.0,-3.054392410933612e-6,-0.0022283585775202336,-1.7686985318264486e-5,-1.1298047546486527,-3.33066907387547e-16,-1.4340750809185976e-11,-2.627744802985171e-9,-5.563975184965833e-9,-2.1537925769978146,-0.058832436653519685,-1.329259158082975,-0.0005722350923469567,-0.6124477034216069,-6.0335394640395315e-9,-6.848245294412856e-8,-4.665838615252448e-9,-0.04342945870674212,-2.3658852654764883e-13,-5.29165290764721e-9,-0.0005099413163182596,-1.4566126083083114e-13,-0.8795748122056355,-1.9984014443252837e-15,-0.004555586905345909,-2.338129689860853e-13,-4.0856207306206594e-14,0.0,-0.10219872906382416,0.0,-0.005273877732232357,-9.753309271336756e-13,0.0,-4.640471578529226,0.0,-0.04883732448922054,-1.2190030447726192,-0.0008316205678365106,-0.0002518589579215828,-0.1306378675498478,-0.006246530679864558,0.0,-18.73413202432875,-1.1597285227209961,-0.4995401254921751,-0.00012145639210416811,-15.178341003701227,-0.7506418532935507,-3.33066907387547e-16,-2.353612772747417e-6,-9.992007221626415e-16,-0.008301282876900984,-4.087508562205512e-9,-7.063373394069155,-4.958786213331495,0.0,0.0,-1.215859764711323e-8,-0.0023615026198122602,-1.5938952392870358e-9,-5.98294667551605,-0.00023799075672583932,-2.6645352591003792e-15,-3.9779934909585857e-10,-1.1102230246251571e-15,-6.511761837635536e-5,-4.7895898222679064e-5,-5.187999001221952e-5,-1.102090378861024,-0.32010360226179113,-2.3605396861485564,-4.797024145384789e-5,-2.7476594446082028,-22.86531566176531,-2.4238074573358784e-5,-1.4273426885888532e-10,-0.003754105525938892,-2.718343328581328e-10,-1.7517653994201468e-11,-0.002768375114939129,-1.8419021864977006e-10,-2.4921398278676352e-11,-0.0016700795191496663,-2.9063217403877246e-7,-7.507089533765514e-9,-1.7851729224046255e-5,-49.02262471442604,-0.003935741861551984,-0.21916182974785287,-1.0594600980331681e-5,-3.4337414620547565e-6,-9.339451111642893,-0.0038252585667086594,-2.0828484514387765e-9,-0.13146907529300364,-4.799240213415134e-5,-9.38255029269859e-11,-1.4988010832439727e-14,-0.07483272286361299,-12.118003208629629,0.0,-0.0068332056299414,-0.7266038202015048,-1.0802257036148726e-8,-1.6325876734534238e-6,-0.16301670634105053,0.0,0.0,-1.8160075941379662e-8,-0.03447216627681819,-3.117506253147926e-13,-9.074089084185635,-9.70685716732755e-8,-7.260858581048788e-14,-8.941246621202411e-5,-0.9179531160067264,-4.545241960688441e-11,-6.150635556423557e-14,-4.4408920985006364e-15,-0.0021232214197860724,-8.404388296412788e-14,-5.453278246628717,-1.6983711701963873e-6,-7.699974203878868,-1.385337692794924e-5,-2.1943691310886802e-10,0.0,-7.915669219869707e-6,-3.1168401193375217e-12,-4.2407522028434385e-9,-1.866319321482809e-10,-0.00014668807751781467,-7.226996778823571e-12,-5.023539363531755e-10,-2.843342758715621e-5,-10.191328760482817,-4.849375346903757e-10,0.0,-0.05960127510074712,-1.4004377667334395e-9],"k":[18,15,11,12,15,11,15,17,20,19,17,16,18,11,14,17,10,19,15,18,11,16,16,13,16,19,15,15,20,18,12,15,11,13,18,19,12,12,13,14,17,11,12,17,15,19,16,11,18,19,11,19,17,11,18,11,14,14,18,13,14,14,11,16,14,15,16,11,20,19,20,14,13,16,15,20,16,20,19,17,18,20,18,14,11,12,18,11,14,11,20,11,10,19,12,14,10,17,17,11,10,19,19,11,19,20,12,18,17,16,17,17,11,17,11,17,15,16,10,14,15,10,16,12,20,11,11,20,16,18,11,12,12,13,14,15,19,20,13,13,10,14,17,16,15,14,11,11,17,14,16,20,11,16,20,13,15,13,19,14,16,12,12,14,19,13,14,15,15,10,13,14,14,13,15,10,17,15,12,12,10,17,18,12,14,15,15,14,17,18,11,18,11,17,12,15,11,14,18,14,15,14,18,17,18,20,19,19,17,10,12,10,13,14,19,20,12,15,15,13,18,18,14,13,14,11,11,18,14,18,15,10,16,16,11,10,19,12,15,10,13,15,19,12,17,16,18,17,11,13,13,16,12,18,12,16,18,13,11,14,17,19,14,14,14,15,14,19,16,17,16,17,18,13,18,12,18,11,15,19,12,12,12,19,13,16,17,14,12,14,11,20,17,10,17,17,18,16,18,15,11,17,12,14,19,14,10,11,15,18,13,19,18,20,10,16,17,11,20,19,20,15,11,14,19,14,15,13,20,15,14,16,13,13,13,12,11,17,18,14,11,16,20,18,11,10,15,16,18,13,16,14,18,14,14,15,15,20,15,13,12,20,14,11,14,14,20,19,13,14,13,15,13,17,15,11,10,14,17,18,19,11,19,12,15,10,10,16,13,11,10,16,17,20,17,10,10,12,11,19,16,18,13,12,18,17,14,13,11,11,20,15,11,20,12,10,14,16,10,19,15,10,16,13,13,13,14,11,12,15,11,15,15,16,14,16,11,17,13,11,18,17,10,15,11,14,15,13,16,10,20,17,17,16,10,16,12,13,19,10,15,12,15,14,14,19,14,17,18,12,12,12,13,17,16,20,15,15,19,17,11,19,16,14,16,16,17,20,13,17,15,18,12,15,18,10,15,18,13,15,12,12,11,13,15,11,11,13,14,11,14,11,16,14,12,17,13,16,14,15,11,12,19,11,18,12,13,19,18,17,18,12,15,18,14,18,16,13,15,20,13,16,11,20,19,14,19,12,11,14,16,15,15,16,14,17,11,13,12,17,15,16,16,19,12,12,11,18,11,17,14,17,12,12,14,18,15,15,17,14,14,13,13,14,10,17,11,12,16,12,13,10,15,16,13,15,20,14,10,12,13,16,12,14,19,14,17,16,19,19,13,14,17,15,20,17,14,20,15,18,17,15,15,17,20,12,16,18,19,16,17,16,15,11,15,16,12,15,11,19,13,18,17,12,14,12,10,19,11,18,14,11,10,19,14,19,15,18,18,13,11,14,16,20,20,15,13,13,17,15,16,10,14,20,18,15,16,14,19,18,11,20,13,11,18,18,11,19,11,12,19,19,15,14,18,19,17,17,10,14,19,13,10,12,12,10,12,14,18,12,19,11,12,10,17,12,13,11,15,18,19,14,13,14,13,17,16,18,20,18,20,17,15,16,14,18,14,10,17,19,19,17,19,18,13,15,16,14,19,19,19,19,13,15,15,17,18,12,11,15,15,17,16,19,20,15,15,13,13,10,10,14,19,15,14,15,11,12,19,13,13,14,18,11,15,13,12,19,13,17,17,17,15,12,15,16,14,16,10,10,15,17,13,11,17,14,12,17,12,14,12,20,10,10,12,17,16,14,12,12,14,13,12,19,14,19,20,15,17,15,16,17,14,11,13,16,17,19,11,18,11,18,12,12,12,14,10,12,15,12,15,14,15,15,11,13,12,11,14,10,18,13,13,20,14,10,13,13,20,15,14,18,19,19,16,16,10,11,18,12,15,13,16,11,11,19,15,11,17,13,19,17,13,13,12,18,16,14,16,16,13,13,13,15,19,17,11,16,14,18,12,16,15,16,19,13,11,14,13,12,11,15,11,16,20,14,13,10,12,10,14,15,19,18,14,13,14,12,10,16,11,17,17,13,17,20,20,20,14,14,19,18,13,19,10,18,13,15,16,17,20,15,14,11,14,20,16,15,19,17,13,19,15,11,10,11,20,14,18,12,16,18,17,15,18,12,11,14,10,13,19,18,19,15,19,16,16,12,16,19],"x":[3.209298005276216,0.5838162928147317,3.2826095792707752,2.4495468006342227,0.07988140654991982,1.7718992618153606,1.159000329922869,1.710880846026065,3.215804770303884,2.2601202304591146,1.0055007861693654,3.7524611813472815,4.29277830266256,2.6308379964716844,4.107030598935385,1.3762121609297546,3.9379043971409633,1.3905438615806653,1.5244424398438583,3.1611207064534987,2.781762008753552,3.603586847207916,0.11739049953259029,4.740256134188694,3.5619413766275434,4.35757502547478,3.8074907211109683,4.759181678623005,4.210967391676198,2.1190800398118492,1.7677737139380323,0.1789068505109609,4.055160366585001,3.4047625859688386,4.79767987698864,4.696656301135596,4.225677676272051,2.207080791414511,1.600557599936212,3.0666129456239895,2.535392379043479,1.6629999976177545,4.843434283439725,0.5613613275252549,3.689653595829099,2.001361264029888,3.502464539592989,1.8718249486517635,4.439937028198199,1.5700700439163602,3.8374895132274673,4.97015547825408,0.26524030209255756,1.0038977267899063,2.469485093155276,0.9421602194220818,0.04055436732219919,4.867947366001415,3.198117762848847,3.04825268542523,2.169448917877148,4.354500316457374,4.526623141134799,2.221580106624082,3.0796727123276817,2.7789753866475424,2.9970135941910536,2.821809044801382,2.8116849122100103,2.0128639309511525,1.6083894116867108,4.047476956794112,4.0402513329933125,4.533818931495151,3.943819288586316,1.0628753206913055,0.15853973497886475,4.69966184499595,3.025167758485666,2.512819941220274,1.9668239486321204,3.31814945892797,0.37214920337669655,4.486963310755938,2.358392331069514,3.8284706205109726,4.647920214817011,0.355784714854267,4.430077311768928,0.21147219165202458,3.8790058127382347,0.34282280639469753,2.895447284915763,4.966412725009499,0.9532446496703578,2.121047949408395,0.733541280612946,0.6048090865495215,1.4565094664601697,3.087851710753981,0.982414011234532,0.9308166371510895,4.477504486147072,3.236527412404783,3.848603790877914,1.5063215123044538,4.310717080749475,1.3221365005227277,1.229336341846835,2.1415796289389917,2.837319066185171,2.3122343515875694,3.484772691253983,2.0152149543900606,3.064692078893203,1.6166882700127827,1.9755620543695251,2.5021184473430482,1.3447277193057683,3.2772362241689237,3.556571198452116,0.29450199582405745,4.0266401745935925,0.28432033794140776,0.6051364179389224,0.18115684725213133,1.8629118922766326,1.3766863134918799,0.11200789376756393,0.10093347009545783,3.9323537627961267,0.9567451505459512,0.13452191460375407,4.895856176467753,2.987206427147315,3.818945290713236,0.5935457553309598,2.706119807431901,1.4562442348657867,2.8772350949091106,3.535213902014055,0.24058554020239376,0.9829464539544358,1.389059938112236,0.21997092544458252,0.5479682540181341,4.320656150878407,2.9181677443789527,4.510572784927069,3.671804864518213,3.0234572531699113,2.0402350548843233,4.011235940480553,4.976814393111356,4.028479308719353,0.0994642403158752,1.895120285962738,4.283784816924895,4.326534228487166,2.8894869235750322,4.591579099774444,0.9402694093530428,1.6883236417569236,1.7244435367157906,4.515969580651029,2.989587454885264,3.0648418789189917,2.707056141484941,2.2744454704597654,4.5989529302719125,2.5062653686745002,3.7264599669238416,4.223022503711169,4.12622142410369,3.303491362713954,1.8902220810233072,2.3760298778749487,2.4953000534440677,1.7980432268926854,4.014049098416548,2.0138601637557603,3.1112830980212025,2.071617738755314,4.69992584399005,4.142329906869536,1.3427640983636473,3.367672988518888,4.278984234612414,4.463831933596531,0.29076925711966073,4.233708774308843,2.0848081507803555,1.5604710804171296,3.6508277167706806,3.8255625388349945,2.0878864568123467,4.960853631407448,4.8060325314300565,1.565339920812539,4.846582201725402,3.990815298645697,4.462669105412369,0.4296989940300683,3.4112184139450226,0.6768230505762468,3.564678034830637,0.7824648468569312,3.2578157804955272,2.472451915032565,1.8009568379480945,4.2867047243122345,2.437760784975583,2.0854404737149235,3.8074220648899857,0.31763396884401773,1.594350656603527,0.7831471800938977,3.2038075627837137,1.0771473567206546,4.998055077946423,0.24271630590233462,1.434485994779493,4.089080917792191,0.04505804480189779,3.486552479918351,1.4660517104398574,2.456086718430516,2.9818950639993957,1.4791541047910883,0.2627215015289158,4.767001537023289,4.614405843324667,1.809470334010192,4.564124112351483,0.3449362071780432,3.2013792170698157,3.222393216704347,1.2454601448133718,4.994394264422562,3.9003107899045597,4.683695908571301,4.4547540252207325,3.9129302422122123,0.8928160026885601,3.387044805551402,4.954557683954041,1.496162862965279,3.4615685415746587,0.8325909661823194,0.565596754166986,2.668587197757341,3.9124222138817526,1.0567943485010867,2.1234265070164864,3.8434031902340022,4.4643350092578356,0.5505745705292403,0.8685822949533994,0.7951891453006821,3.1172159565597863,2.350850662947363,2.0693993813551144,3.002294480930377,4.83528665718052,1.5071229467962377,2.2280616853455633,1.9913904091615653,0.5489069475484504,2.5787858996923765,4.578466925642539,0.6968236939983646,2.8497679208673317,1.6761233332973262,1.1091010188388277,0.0329575167517443,2.5004677982065058,1.8616062946432081,1.068113051599332,0.6971121746569142,3.2725387773508,2.351589688535454,4.752728956986084,2.272660938722511,3.1218672364033684,0.6591675159051225,3.256000803500612,3.7168615340584243,3.539820414808455,0.9245692576795467,4.163427000188226,0.5196169453153582,1.9800037883235977,4.352454183150557,4.085374397381487,3.5741441684934823,2.1199369307742537,1.7696246788867271,2.7293910401105292,1.85444470561413,3.596693536473141,1.1639364386642854,2.650443167536787,2.2208685237855175,3.226861562470194,1.9580279071621298,2.7714226609172314,0.9730998991568363,4.444362064575463,3.336782198184218,3.625720293804889,1.7529834191366915,3.6990016568366864,0.5935018293741495,0.17181255416016394,0.9852521038063372,0.09181435237267388,3.06220893565591,1.2516221642186847,2.6453223521001124,2.4454564741001343,3.9963939029737534,3.03284712408811,4.4967831906699285,1.4574838426494678,3.853862647826528,0.9399746071262327,0.222907369735445,2.9609069472543483,2.7318777006441612,1.580114687920335,4.919885249100673,2.2216662613125076,3.585212418898304,2.644167454655304,2.48237864307225,4.9655007765129495,0.6300541786799024,1.8287700834027327,4.948042966262079,1.1894372434825766,1.8786826035802628,3.9653413840072993,0.4586644323358957,4.502957060803463,0.24142254848430744,4.446438035355265,0.5775781798935437,2.683016149466491,3.548029248061852,0.5646517468233792,0.17132227388104382,2.7205184465564414,1.5935700267956414,3.6295825176607215,4.957890429128592,2.061621865134271,2.7019665971718494,1.2252533259817961,2.8070441089144698,1.138039828603431,0.4668618531387825,3.9718866649296087,2.604097695483299,2.9612963744325467,4.346285246544262,2.533896839826885,2.3458243175209597,1.4779565198779832,2.4361605123770285,0.5073162938589859,1.1430553805355719,3.2974093439567547,0.7606292292452871,3.261415483845826,1.9889439961775846,3.0014818830831045,2.7286210169043863,2.1422712843543046,2.487129032727336,4.32667079886658,3.478081474169783,4.5302618755073585,2.535958078302136,2.95776325601327,0.9024164776977073,4.538979631960483,0.5830639234169682,0.3763038948271985,2.866374789909595,1.321988118085884,2.8733847281543916,3.7404412375261575,1.4814146327587485,1.9812486948512769,3.559384779034292,2.411462362044298,3.943303230027437,1.2956909971114805,0.6358904134103455,0.3771943331180555,2.1262380503131526,2.7694109935361904,3.8001585613554294,1.4603475408874511,4.166326262208234,4.507999327700808,3.6598483030795763,0.37720384800446705,1.1785468279523892,2.469303929387297,2.3181746843367925,0.8472261381706142,1.8837306481717564,1.1395914571555736,3.4534222652717323,3.9602895377131198,3.5435167343716056,1.098508114439309,0.2312992525969365,2.950766683203383,3.584492198206317,1.778134106614222,2.047367283038373,0.598040636766094,3.4943616011859446,2.2708482586286145,0.601040235995498,1.1148457191710592,0.9175365794632567,3.3385767508642634,2.8482954057062013,3.3134812583178808,3.76584547240693,2.7845532573029192,4.222447756527652,4.257480132009418,1.4088256752778445,0.9450703089360113,3.762593770464107,1.1729112385572975,3.3704548348290664,4.234399049081923,2.8347472753256304,3.2509242168570736,0.720466800108383,3.2221246640826955,0.8810605522426607,3.2827239808017166,0.21951112976293208,2.6020680854318687,4.186729584475032,0.7827149958626428,1.2827467929918102,0.5509428910085828,4.125690216787718,1.6927611088040457,0.3742515480012498,1.2296730010594537,3.6934295060560163,0.9261195243211717,4.835493422261722,3.192326783770821,3.9387200122681643,2.4703742335914205,4.297199123251807,1.8421290960948133,4.952343372212883,1.8581844796034934,0.28572180356789156,1.0854403451230192,3.8181262826004665,0.5584497376831532,1.7437584057452966,2.42396388116795,2.580010710566014,0.13347481702829567,4.941097729960251,0.6306893363662186,1.6583073854331603,2.5960816492642556,0.039932569904730375,3.371539954456422,3.7944360137608486,3.6612536774104227,1.290937412818991,3.9554637606804777,0.9515837533350857,0.8699811625524945,0.1359057424529414,4.163924542134802,3.759955001911179,2.750746813689642,1.062223937002028,2.505856133031537,4.786615256421702,3.144525886886394,4.379058624422959,2.0328389384991667,3.0744500500227496,1.7366338869248565,4.5476306427349025,0.8045140803455869,0.8702642249363507,4.588725903351232,1.912362361017499,0.91178703081149,4.526083148921987,3.8413207917610963,3.13311570467605,3.957533648117228,4.904277840886358,4.839153810921562,2.18574013584979,4.474371580868982,4.075308446923181,3.3760318630970576,1.5153585799992024,0.12168406387660868,4.444951357488012,2.7802232491750463,0.17790443446252135,3.5892426561232527,4.847423241890991,2.1273481530278597,1.488068367038603,4.417891807522521,2.716390626290099,2.238329140652045,1.8127373257908985,0.4587761808257562,1.2615490795383721,4.287843372351578,4.021955720414132,2.7441790046587173,2.0002765040142156,0.34250531018404307,1.7885506004524627,3.281487578985996,1.9393858568735385,2.119545103297961,3.5078752546047487,4.7386636870780094,4.74479554800955,1.8954295140223731,1.5785233966095868,4.398534461817768,4.0418365787663895,3.998475891762832,3.159841916571511,1.1305440327134586,3.544230762554416,4.178206849948117,3.094604190221837,4.027857227637522,4.707690267819254,4.381861705916723,4.720039757203559,0.398791143710962,1.7520207443505575,2.826815941827925,1.2166550374502378,4.53277953862556,1.64959517755427,2.6250674245849854,4.436906487889285,3.1997435586132195,1.941015144605649,4.566460143146128,3.667409709940592,4.48021620227244,3.742337106613696,3.857909151585562,4.216380098097063,0.8462313992131654,4.502888758931833,1.1453900810477906,0.10980812118061734,1.1398280121899895,2.7600653480549453,0.15725061749349178,3.9942813844520075,2.8336944041541208,2.6943375394037212,0.8337215230493927,4.695453975098821,0.11517362243252449,2.3721114205637917,2.2745854208487994,4.5004169565762995,0.47128153289125896,4.979271384844165,1.3578274827224974,0.5889285317757736,3.1313159827612114,1.6598324421757487,2.0195480502914394,4.064727286806409,3.160019980519487,2.919618311539867,0.19122637999688497,4.979485368999676,0.21729666982383322,2.2621073224416395,3.836122343293169,4.771681352431527,2.1170709500289,2.3601140412285244,4.752046377794938,3.8861942006757957,3.5528043004760224,0.7147695400202203,3.0641976826157187,0.604032326729988,2.135267420160277,4.334718725350137,3.6334566127327728,2.547869792401812,3.362506993034953,4.931911737828184,2.8287476108200496,0.9169795583620466,4.27475557645118,1.632962889434072,1.1402484739550527,3.1563442337850938,1.1770175223959733,0.5014189304508343,1.0422908450224448,3.6539645378254555,2.062033692580154,4.301994425664353,2.1526922492263294,3.943190187078761,1.9258307193173367,2.0848516899908724,3.1833679085954913,4.245445647780677,0.06230743518789439,2.012545338013711,4.873989633346184,2.7945789788763733,3.612229821785511,2.5034983403471727,3.626721088572472,1.7620818708860382,2.674844477494109,2.7920835323953606,0.750708634768496,3.7330232662152167,0.8107835166968203,1.5223009774411533,1.2065354501914483,3.831600352465785,1.0341810014624948,0.38193534329137024,0.5684713828179161,3.0069333389319435,3.537980866262445,0.8051242590717561,2.630058400557126,0.317160760139486,3.3108196707705764,0.6382300638688121,4.390763256077303,4.8490076684823045,0.12553725450805575,2.8651921362465615,3.2579382119023768,3.5237395052621636,3.372038410611558,0.9578494420197153,1.3782992495413349,3.9274769181524913,3.326648079047008,2.7380351052124103,0.3867306626144873,1.136932965083846,2.2897308929714826,0.19125675934384856,0.6377981585846093,4.041833231815055,3.9312627949913725,2.035165914630192,0.7190018910466894,0.5947186649670866,2.659292827624427,4.044328421280045,3.520695104841653,2.211826122219764,2.6061511302344122,0.44081069818193597,4.265454941729219,3.107618132233834,2.340688601956953,2.7130572241895576,1.5064196026893728,0.6512599377804279,1.3068278849235777,3.5882009315104164,0.013005071001818691,3.9738002329346385,4.429375234106798,4.742718991817123,3.408402023787482,4.91792354344306,1.6194593327400653,1.1870021468241077,2.920648187999398,4.551904136689808,2.200008661010704,1.971982460911944,1.34402853188119,2.3619069757167437,1.0052106850111135,1.2631845517540023,0.12895606000045523,2.835616156962164,2.7042737116386446,3.623852129496669,3.7468740513297365,4.541159896054841,4.7450063436579955,4.363052471313656,3.616018176159927,2.7505077925919736,4.278292980089386,2.4124375600475805,3.904300072204152,4.962651508542008,1.5211876536704212,2.651546000975281,0.19362656236422526,0.1177355676676567,3.0124766801955287,1.8181476287849203,0.524012070924979,4.386805143759883,2.0018613114767008,4.966667465729983,4.529798052939232,2.2875262890646404,4.108206403407964,0.16500190437774842,2.3193949691266607,3.8320644790648655,1.1361642611344813,1.3812830978750141,1.5280806305655226,4.934359064930713,2.8139840664944815,2.1373608354214957,4.418343392176887,1.1800160712474839,0.638198058838606,3.578896182310331,0.04689358545835576,2.2877505585874918,3.169442775940902,1.5067191808745513,4.0383760376096935,0.0908465889338711,4.241005865009912,1.5850333833464247,2.970913646104541,0.959462807846318,4.837853896297811,0.45395798946492316,4.074774096269229,0.4536950803029016,1.3869784000492875,0.5418555067668712,0.7570281272415363,4.032968920441368,1.260554934748808,2.9535730748856026,4.870839149771055,1.8211622160980168,3.363225277079826,4.418962359151022,1.268801303470593,0.4337417181534059,3.837674770083611,3.290760540580211,0.007502201433013389,2.5524507764432425,1.5876690500697732,3.1436831948767385,1.0697440038189865,0.6778385561992101,1.5415957440388222,0.9756040940236871,2.9978723832198115,1.5755537109392086,1.9961164251984842,2.79241340323846,2.8301027908400913,4.176637841566986,1.8983625546441778,0.5546157263373408,0.6509829194148015,0.15619816490909988,2.1583032256171304,1.3678348228491177,0.08922059238963442,2.574677407108854,3.9574908242443256,2.397916688847151,3.6447889409676675,0.019737430762949426,4.799090025618714,4.760118231066781,3.56308121107317,2.4060351755916463,3.1539002121943476,0.8635520099695521,0.9163184244889516,2.723856853264659,0.08427396290934364,2.4873795100870417,3.3104231190734317,2.6205657141074017,1.5328341888220587,2.8813762467333772,1.8922085975751997,3.981805629891241,0.029503181779559906,0.259916836804841,4.463094048406824,0.832514283705188,2.657959428015527,0.8713545324172117,3.357375963963996,1.8419307962494775,0.04025831885925035,0.7673533452340936,3.8814826488560583,2.5893732791056183,2.548950478759294,2.3507447912935913,1.8390865662502143,1.0593024102794675,3.200391120062747,0.7767717921233708,4.181763112144225,2.561655947356351,3.645958252540961,4.345106204044223,0.16054204320326004,0.19344411360379454,1.5540412122864948,3.658302525266101,0.6649887309710062,1.2629495106431587,1.5341018614949147,2.537553635954949,4.950303040002404,0.5227306783436564,4.526062655975009,2.0354023027134396,3.8401147358500687,4.437124865136922,2.809855814529944,2.540483209172062,2.8737607277479507,0.7227291880137326,4.513030037628864,3.139356771474789,2.624308296239887,4.698846380838011,0.9498882350172422,1.3760777437462801,1.0609254821870073,2.6549798176316974,1.0630585096550138,4.753261794848747,3.6745535529905253,2.9441667260515834,1.449792889405392,4.706511799608931,2.820966049489751,1.6967311543655095,4.979071910055593,0.8226743305065892,4.271569679230476,2.1071502749588973,4.021326845559406,4.8510934384514455,4.671433583359555,1.4632387500574329,3.773514199916713,1.6106570887615272,4.7272186851359095,4.79013273268938,0.3235744265607521,4.317684086850162,1.4858937277572803,1.1626892464667093,2.7880366415345375,1.82578591277837,1.56255372582824,1.8870007401536848,4.48757020454212,0.12881707595495173,0.8978467558148906,1.1270510327884935,3.5962273975064796,0.08875768355046221,1.5152033224860695,3.6750997179893377,3.560897803683223,4.568800216879257,2.0461826236138005,2.4770671879433124,0.31548265774940853,0.8429731452051353,3.9957214136115127,4.735898001357528,3.111133151887236,1.4115332651928225,3.252746105667344,0.36745352069831483,2.014636598722829,3.125725171501508,3.747333214134254,4.075785213773434,3.2973843596903007,2.429291003810497,1.838100909954623,0.5400774114126833,0.9923054919384722,0.7601535078564614,3.4857529934067513,1.0441493503972947,0.12088408820121799,2.330662363802569,3.4070881747647714,1.39932311747262,4.501895689600323,2.874787300893616,1.8075234320618279,2.79769655173127,4.742640349764543,2.9779835724560417,2.6434586044491546,2.87390216683335,2.495349808046697,0.06467299730515519,2.024642886665019,0.9281275979478931,2.7140312933682265,2.8917013679870363,0.4264430308574302,1.580046625504175,4.232540115529889,1.125674091019797,2.424591709540158,3.722650777468775,4.109033532650716,1.6193441686611376,0.321702735396423,4.796091663700766,1.9049544893754984,0.7425559573411522,2.134251510938359,2.6027880164068824,1.2794302677030416,4.656845341720293,3.8178941667166386,3.0554847914928644,2.1382471313334683,3.4522490738110023,0.4181786409933891,3.2747841169181764,4.017198884140425,1.4629031048339558,0.5696749097942977,4.353585114122159,3.9780673873173273,4.382607791300147,1.5474123119495538,3.4615448613057405,0.48108696618304525,2.9788354931436367,0.4560447937660955,2.730333125858033,3.577743101195055,4.024662471224108,2.146438499996033,4.078251353212957,2.9449869181159016,4.86856417861428,2.5328372633253524,3.473235454052022,4.048955099679201,2.1645864791284053,0.3737862920443491,2.914388130525042,4.9644086483473275,2.1091094602352776,4.816007347227503],"lambda":[15.454457344315944,16.458745023085264,17.40834315301953,12.788345313942443,14.08113069075105,19.163039936837492,11.475019678129652,15.122463721042354,11.059374545353391,15.587708081582026,17.073422612207864,14.422698962635312,19.212896045201,10.38984128406754,16.39175681751004,12.486050457018658,16.420463274789448,15.671506185793135,10.950704799789788,11.34413441372647,13.883942592521503,10.92516795660184,19.052553732881556,16.295939969511803,12.241549579568686,18.1478291707728,18.141101464204294,13.799630613029812,18.504817453999948,18.257832340838874,18.730761472452585,13.899437694165513,15.710370158851513,14.405531309956693,18.557604766731192,17.952853611648415,15.71840081652009,11.515084063999145,13.622370145185066,18.08914725429201,10.371077423985074,19.37199311288876,15.95578288547752,15.203094233228615,17.92996643984403,17.256474415771724,13.010629586883724,11.678844512959062,17.03320443590324,17.15021440582534,17.49736546164183,14.304671502805375,11.188033294699768,10.76276820529097,12.776275032632558,15.591398595478774,18.313621631829744,12.194490739759567,16.00087843647053,18.284879959373328,15.198192187417082,16.917814083294648,12.604781021869911,13.92984518817952,19.8225069322631,17.81511605319131,19.89843936743944,17.135441432028554,10.978832491086536,10.109820670917728,18.371338900109574,19.613803887670983,14.410048910832849,18.829136955488558,19.199214645600378,12.329613196186129,16.300900641223862,11.96753495510137,18.216276014205533,12.197310422501046,15.917103248552394,15.793035745093611,19.886138517076347,13.575615674442345,12.071452414372,16.221074579861572,13.315201874554164,18.718483924544,19.7230902817089,13.243767929104475,12.171290639111213,11.354955413098114,11.79069194503361,12.775793345736682,15.765564705198265,11.735177227219468,18.097738130533557,16.700154841692573,17.723669270049133,17.51096810320437,10.333482992414813,11.01247086767613,16.68709620542038,13.556040073553737,12.539811281230048,14.412282235153523,15.477046126129059,14.827068106010834,19.946687958983865,10.372172507691062,16.26557143721886,13.168856121769588,16.68463821298672,16.778899540916875,15.151463272803502,11.637145704505734,17.148305580798226,13.312282649370426,19.987360865739987,11.623838483689429,18.103195591530618,13.686380460599654,13.875986631447645,16.53427708932002,10.56305272132972,11.501095824722102,15.910753349932328,15.110742291900625,11.555841807525608,18.632420681610412,13.701627547971107,13.918416811758584,12.9343297902596,10.258652254045085,14.500987547762032,13.329779308862802,11.781914313027457,19.19246703572464,18.426285484727686,12.203126465673481,14.165821220600947,19.35130462629968,15.829273734218003,16.987070861334868,11.812916611245791,19.49163313502583,16.572099194764128,16.546072419895374,10.644628320758313,11.93321228035883,16.82132945422726,16.05053234004228,12.269148128925679,15.425846496280537,10.545685920895071,11.916926581646578,18.74846074987435,15.927809225631021,17.813789020137786,12.892832936169413,17.83867260980414,11.805178920389835,19.282438068086513,11.248111858905057,16.133017074786828,14.52257066810354,11.341471143778563,19.504944607631412,15.224066718216488,13.903485998466426,11.734346776340235,12.792110270923978,16.162158670041592,13.562809910203718,18.376974318622032,16.08692878090894,12.101926670616812,18.912621235221593,17.169270325070485,19.925394812923976,15.126150523537493,18.184676711233898,11.55721181747565,16.333690628724455,11.515943271144812,13.735045119281152,14.126113144520899,16.94192856632997,10.981774473121709,16.052243447814355,16.15175753174048,12.815547284905456,14.40850699028741,10.722452095274452,18.715734283240295,19.454697610146255,10.326060791787471,18.259335198286664,14.171389191290356,11.469154873310318,16.01614087648337,17.150932106787366,18.262047865096388,15.380613038684235,15.492844879386723,11.57026539186185,14.803320681804689,15.918022160791242,16.155119282924492,18.66809717022335,13.423290912742196,17.937987971260785,13.216664779870051,14.542986265098119,17.1253896331539,13.106578370651972,13.629891975343499,18.37319445338713,14.538804211698745,17.240116326611545,17.877731853677446,11.126836284737369,12.32612614086077,14.473814043870792,11.718017087827935,14.013388049809347,10.209195180211996,18.89616629533225,12.089048556387608,18.330928470773756,15.335075135965562,18.602150126920094,14.104192710807324,13.320986698835174,13.36380258610689,11.95263288135518,10.458349297797461,12.308601251756622,19.107269704069033,19.451727955747465,13.491557327910986,18.939902678451283,10.119537981601148,15.472876330842757,18.448401885371787,16.689524810077828,15.004610923872415,13.915943722088148,15.424575165788259,13.246423339493969,12.092911256919692,17.656562480874932,12.503330854317074,12.290529462248754,16.160197061580217,14.686590924167646,10.123833334550381,19.252834111197487,13.531452653425145,11.7339222192952,14.213354949022577,14.564790082203864,13.122732689725755,14.924141207562318,10.508442637106153,13.507390230292211,17.00725385521994,17.187476714676162,19.15392216882229,15.910810785268634,11.464438058924344,18.50863987436344,13.41309646256945,10.775060107143279,14.902767054939277,14.512581267963354,10.638458724881595,10.363289840230566,19.76894404207941,12.17908521399126,17.42090060960305,17.81142371942117,19.525671806124286,11.94264834197221,16.14452768151428,10.575705094870042,17.37986861128301,10.16779542800651,18.547745638082915,12.647861966538814,10.835890739443578,19.675263979066365,11.33760250943179,14.457069376475134,14.931014190550354,18.31795757600316,11.61177477471998,12.934666337738724,12.809607492436276,17.517194908164413,17.575693940777413,13.548084204639855,13.548757080453715,12.82331663833195,16.952590839759758,17.390031347424358,14.776355058748436,10.896140526049521,15.4733604802014,10.021197169006372,13.336521443694721,11.647443503935314,14.21946258547659,17.044832928863926,18.873499251940252,18.53610334943103,15.735138840011526,19.527872949212615,19.68530696449265,17.66086827638013,12.53999196927586,10.289785109689598,13.367831496615537,15.33346566817129,15.501151172585974,15.461565152884013,19.89233596494912,14.491996357192113,19.26043014641946,12.175047687887837,11.716352954801767,13.243743867523023,17.4969729605938,19.824014288484953,16.304286131456447,10.321293913789287,10.16885502709348,19.592180554362134,10.126834360952296,10.091766189651475,19.308337715820258,12.850005963681728,13.033168488826306,11.423042263547027,10.251955142180647,12.613337362113825,18.67920047576725,14.723341234992871,14.39803833889169,10.681925278643584,15.112302594138528,12.895307367241823,14.806377942676955,12.851416578629834,16.760181989031324,11.108265797400719,12.46660092938625,13.590184541873269,18.887922254778665,13.707035790233649,14.121258105231405,11.538520247948737,17.467719440328054,15.725476341048292,11.45433306588927,12.983876700790187,16.228750524943823,10.901623412244955,13.034197360908355,10.044618465846135,12.391307827614353,19.92819539639573,12.221646964903599,12.167660037070613,11.36292091348903,13.862377446456486,15.251488152133435,10.947468575905555,16.657412878944147,17.696947396046905,14.01924434598001,10.77544291167312,16.656322029042833,17.208073165885324,19.896384637018954,15.229062053174765,18.754216265432397,10.561041480847171,11.857318917082686,11.065008580743317,13.346586021104127,10.353437783512549,18.0305964293701,15.922837569944964,10.906369176416028,11.512500925056322,11.584592732414505,19.02831477640113,11.120808595459504,19.93574012272296,14.074026696528211,12.941787534295543,19.048511488679484,14.393565114519635,19.603711499702886,12.457051758446571,11.092183370141113,17.477186971519572,11.783820303936658,14.1603347322785,14.729034994428229,19.18143750469785,18.109289718284966,15.453366893247045,11.565528542873768,15.619813516409799,18.241402886011272,12.934802635493227,18.149305008544644,11.04502120580642,11.990442035076002,19.270862357570643,14.79998542101287,15.675661100623541,19.19147017420252,10.97141321779691,18.947353636676585,11.663409289720576,11.252085103411984,17.15517030699956,18.836251794003743,19.140495443913423,13.616297866018453,19.77012980581577,10.447868483073757,18.188051851877603,15.724459466014686,11.30163657723345,18.243396418609137,14.360824508203377,17.234396186723203,17.64890300461009,14.828636984795583,10.385041904634116,12.242668232852768,17.28892232355501,15.19863123005597,18.973491535885586,11.463180335785811,19.35178604039192,10.42765304392612,13.203229733637976,18.56078686698574,14.47810243085087,10.3942826137571,11.31874122719704,10.901544280790006,10.486182051520611,14.955122493596155,11.964935558214393,17.075391605412626,19.241275065471644,19.669339096401483,19.57974767804091,14.060172279816149,18.983916130314803,17.16565591395667,19.267743382910272,13.226970514146483,19.067070501636763,17.315713408593492,13.144232071363318,10.928520833370499,13.041682887274119,14.86240447700989,16.367199124532235,10.673494522336105,16.320448297109138,15.670176732679138,14.898545031388318,14.64432147094799,10.368846857024034,18.578445354302403,14.271396214751785,18.011539955168438,12.88288202446693,10.12776979022393,18.161483903440136,18.4379745283778,11.689145173660469,18.136716734469545,15.69516640020431,14.139805810533245,14.015880697472394,12.255497523836635,19.8071708651496,13.925646289587679,10.349950497735938,14.940781889732904,10.718619546940994,15.194679307589842,13.548695639774126,19.388823408171152,10.101623431189882,15.192128071403722,10.062987954716752,15.686578865259197,16.10222764423252,15.466308279524432,13.507243108592807,18.727873519264016,12.109386570380813,13.715403409812954,19.357703365792247,10.11323451890571,10.55875029481274,12.4163540853973,18.176994106667642,17.98955885424391,10.268072758947381,15.09015961478174,14.236503525161515,17.294819948018105,18.76368003965048,15.641089995834829,12.727171885746307,19.071838313449327,18.12408694858098,17.221299152155808,14.062602295299921,16.990278641410747,19.60651462565267,11.258011495610166,18.046598462291847,15.847936127112227,18.600757669259085,17.842854886503545,14.956584030134099,13.968024722722033,14.547782735851289,13.527752533227666,18.034216591435264,14.018512676010452,15.75789108933295,19.910793337010034,12.643043202469833,16.410332553303963,14.225514053486277,15.699009802503829,15.053974102095633,15.928203130632948,15.833158682612325,18.104145527820812,19.932459747680177,11.716149558353681,14.36033563162868,15.11701637118545,18.13887026733918,14.778529353570658,17.1040114568979,12.48293521103469,16.57307229691806,15.780478319862198,11.88510551282784,18.263667855932297,11.120673174693746,18.280015635068203,13.109531448281793,12.047748318937543,19.280777749095634,14.53440314704217,17.400241471964534,13.087398900602096,12.913509424425117,18.053660142428132,16.717042529643955,17.979471294755953,16.299974797854887,18.158522457596234,19.842109488818455,12.828594871505018,18.30975253432218,19.492508600725024,11.033362430627331,13.92352576533542,12.470747912498858,14.339311011157562,15.538619357968235,14.337691123132798,12.733045586391789,17.32859204089855,12.696660031744045,12.2547026696294,18.373279204220708,18.443130008619512,13.437512039307325,10.06695410154653,18.605402773705936,14.440393241150346,18.72220948812157,19.507941292911852,17.260388227944436,19.47050954172731,10.645871977505866,13.087404216016349,18.82547750850283,19.531514531740676,18.96323287594232,10.649433464322026,11.352998133865874,18.24872155877158,13.816412691657526,10.52135581321525,13.589182249799759,17.542908143892095,10.854899441097858,10.355946730937895,11.576175563081321,10.06204391484297,17.82372822826441,19.096102416486147,19.468714429456757,15.062847528521068,15.368228151225312,17.41808340184911,12.85857082582942,19.264588536736277,17.715811431121562,13.902078778710935,14.55565772903282,13.748228704977677,18.916922848532636,10.017848747072657,19.255602547794155,10.119865750605918,15.088890898804056,15.946933285547408,11.197015879417952,12.167516554980132,18.832928516811393,14.501353571167137,11.583253587888368,17.34794337307313,11.855666696969266,16.266685877453796,11.617249809074195,14.006948927135145,15.802453760358713,10.395155817898967,14.173697477929405,11.66214822993086,14.741553017354182,17.482953808199905,17.012694148405348,18.05174293112008,15.454256704358482,14.31200519019464,19.40512547882721,14.925722794267141,16.797448742045006,16.5335081623782,19.440950676203087,10.930003766908442,17.584577956670913,14.919994190341445,19.72628272008894,14.74253615418607,16.426142887061165,16.235115446515184,15.656444174899843,18.317622807895606,16.939224691572832,16.194971704784077,17.242701066945376,11.45066302058742,14.52529025009403,11.829297290643725,17.628632032609033,13.214504811631246,10.642562673727443,19.992853345456894,10.466185250615819,12.900313182412908,14.53749341074817,12.700042547773576,17.710082443651046,17.740142959571116,15.785916657044362,12.43521458923107,18.2500760454937,12.7519377095691,19.070574732121003,16.45276699698105,15.519477023508319,16.214321840492815,17.24170212986834,15.183201245698587,16.208186954780494,17.537914160821465,12.7404797424616,16.858676675051157,12.93442186325688,15.510054352285453,17.24628133290392,16.31087706460604,19.225365562288445,16.5240787833211,15.732729028307764,15.986299930186913,13.632250819458571,13.049915302359683,18.467252595576632,10.649619212648009,18.781842872209744,11.276161921290841,15.420644555410432,17.34326809197204,16.451729537156336,10.132312188318318,10.736855648357459,14.84239427262003,17.650334212721805,11.45110083993605,19.003376006864265,16.683883414192934,11.374477123438956,16.18174921415868,14.629845652399798,12.341698002923051,12.482731003878241,18.58586358371653,15.543031492225385,14.34748373010104,14.187323773599068,15.52269791989106,16.21125357220304,12.200997295972513,11.872876550347687,13.85454115856892,11.14199466277768,16.738521151344028,19.277946017385595,17.287522421125413,11.025607421947596,14.119993537751077,16.747101976287695,10.331634697144157,15.163726043271014,11.612407387997779,14.808063844227068,17.589995631421317,13.594999594965799,12.926894615737154,15.079921509762904,10.733351481423053,17.619169643297724,16.32760292714234,10.213415966844323,10.85258475902043,14.574798023582066,14.665400568645126,10.223782044002874,14.502556025558619,15.011926365590458,15.52586527124448,11.872006672608139,11.721967217601255,13.97523450501924,14.21150594375365,12.274801334342024,14.911108146977536,19.68116933362836,10.811130071934203,14.567108981139167,11.163038735509845,15.588976867529801,12.132983077791698,11.392957802152107,13.232165734558006,12.814662073992492,15.892612389795072,14.669876850256099,18.093752486665167,10.754927823584348,18.49670510841642,16.505736331641714,11.49442687776913,12.240417112828549,10.658561077248711,19.801977660677892,17.91583372900848,12.621631741268263,12.905509146868665,18.361761082882943,14.233372080144099,18.342601039751848,16.12377003278185,12.950034456251823,15.262129598851487,18.791765155236497,18.065867261862106,19.7778514586197,11.763908269628116,10.11701061097671,16.47221780762558,12.377200647513371,12.243598788225516,12.033003348166817,10.715066948063734,15.046231752160974,19.877637311093594,14.674711603433787,14.618513400669078,11.024335438683504,10.702520798372783,16.85409737330726,13.100265659738065,12.22749158856162,12.407487316139585,19.225342227241054,10.21442695866085,18.87921257985703,10.745101152560517,13.830273067878933,12.386134874898982,19.201685256031354,18.553765123349933,16.11445887076946,16.594265609652112,10.230656619135347,18.84629736694871,11.25046619815398,14.571865912499664,14.611913838146268,16.465445380314385,18.629762366672807,10.34679750298072,14.281163000096765,11.372298369003744,15.641027179122975,13.847225791124378,11.660095372177565,12.989618778572181,11.105786593628203,14.510075347388224,14.388534563183455,16.295877390881817,14.477009559565987,14.629287439336945,19.567104546570114,19.860113351811485,10.29938841044271,18.37556027396086,10.24526047148741,15.341629113970924,19.601012451231203,13.58616825919162,14.136733955036618,14.749396094151908,14.033394606568132,18.06060226770343,12.864870886886896,10.08576192419567,15.335450012003133,16.66432885021654,13.219944350507856,16.830969853932153,17.5316439290085,12.09224066035851,11.119428249755094,14.790408890897467,14.287591447638452,13.718191123933767,17.992157144605525,10.534652629125919,12.680288629348151,13.51110989790467,11.937397287598833,14.329788529728692,15.3436402398752,18.298084491592064,11.780004148546332,18.0320067382087,14.00692218281644,10.234755780760263,17.224760793794506,13.21996703572661,19.625424831298307,15.39946256868021,18.830218182663835,19.856998649094475,13.484609152578416,14.681833309517716,18.761541763214808,17.92336714536466,17.24399205664178,11.731284856796966,10.319250026552215,18.460563347376876,13.262133231505913,12.576662005729524,18.24880403088975,11.579063030367482,14.355283809525323,17.622535415874474,10.123417981402206,15.612111755447948,10.158798421591749,18.522271162473164,12.46967384060417,13.728743985348029,13.263776086000522,19.74537319449216,19.99556148305235,11.834900385425556,18.317470662073,18.02681439722945,14.682020191238323,18.078900214443323,13.793930988087649,10.714080206083555,16.063231182230034,19.035056750720813,14.37244367319845,19.178240142627185,10.015050957261453,13.16758344303822,14.775740634620742,18.98182549108801,11.744358240353236,12.333946127823676,10.046463297520067,12.30741000547399,19.901304477662112,14.84048083010614,14.634563525671895,18.611964042697444,10.478541735753028,16.273728424454603,16.226245052935678,16.36722344325977,12.524096179288339,10.629066871365808,14.95719727380121,17.900523844981507,17.65465515693186,11.46549520239729,16.744109386729683,18.383449372770926,13.216471687480041,15.6716193627277,14.574120706379292,15.59753525031222,13.377310334537531,12.190616903563885,16.27048838677241,13.541044706452718,15.916381967987492,13.689814286267929,14.026879425688206,19.30241253464046,13.76655400313265,18.202655470568907,18.992106285584903,14.863464303151803,19.237166783474645,18.57260293651104,19.81286176684473,17.48995876426235,11.814348524671967,16.713821357096307,16.573192238893448,13.570008640765714,13.817705482306655,18.01824185983918,17.306501782536415,14.647598828948018,15.506644306374888,16.576699261138703,15.706168208304145,18.807835485168347,18.30114619112075,14.560150111067545,11.730020998300859,15.212235418908083,13.262588661258828,17.68217043704067,16.91911570905245,11.989965987126618,15.404361576470064,12.33900702234662,14.80941025542199,18.601122150444105,12.790041600599993,19.31099937001971,12.686112729681726,18.386735742600287,14.90081671796868,10.778291383718908,11.875859848587258]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/runner.jl new file mode 100644 index 000000000000..ac705c610da2 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/fixtures/julia/runner.jl @@ -0,0 +1,77 @@ +#!/usr/bin/env julia +# +# @license Apache-2.0 +# +# Copyright (c) 2026 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 Distributions: cdf, Erlang +import JSON + +""" + gen( x, k, lambda, name ) + +Generate fixture data and write to file. + +# Arguments + +* `x`: input value +* `k`: shape parameter +* `lambda`: rate parameter +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = rand( 1000 ) .* 20.0; +julia> k = round.( Int64, ( rand( 1000 ) .* 10.0 ) .+ 10.0 ); +julia> lambda = rand( 1000 ) .* 20.0; +julia> gen( x, k, lambda, "data.json" ); +``` +""" +function gen( x, k, lambda, name ) + z = Array{Float64}( undef, length(x) ); + for i in eachindex(x) + z[ i ] = log(cdf( Erlang( k[i], 1/lambda[i] ), x[i] )); + end + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("k", k), + ("lambda", lambda), + ("expected", z) + ]); + + # Based on the script directory, create an output filepath: + filepath = joinpath( dir, name ); + + # Write the data to the output filepath as JSON: + outfile = open( filepath, "w" ); + write( outfile, JSON.json(data) ); + write( outfile, "\n" ); + close( outfile ); +end + +# Get the filename: +file = @__FILE__; + +# Extract the directory in which this file resides: +dir = dirname( file ); + +# Both large: +x = rand( 1000 ) .* 5.0; +k = round.( Int64, rand( 1000 ) .* 10.0 ) .+ 10; +lambda = ( rand( 1000 ) .* 10.0 ) .+ 10.0; +gen( x, k, lambda, "data.json" ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.factory.js new file mode 100644 index 000000000000..b97c2580d311 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.factory.js @@ -0,0 +1,188 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var factory = require( './../lib/factory.js' ); + + +// FIXTURES // + +var data = require( './fixtures/julia/data.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 logcdf = factory( 0.0, 1.0 ); + t.strictEqual( typeof logcdf, 'function', 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the created function returns `NaN`', function test( t ) { + var cdf; + var y; + + cdf = factory( 1, 1.0 ); + y = cdf( NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + cdf = factory( NaN, 1.0 ); + y = cdf( 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + cdf = factory( 1, NaN ); + y = cdf( 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + cdf = factory( NaN, NaN ); + y = cdf( 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + cdf = factory( NaN, NaN ); + y = cdf( NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a finite `k` and `lambda`, the function returns a function which returns `0` when provided `+infinity` for `x`', function test( t ) { + var logcdf; + var y; + + logcdf = factory( 2, 1.0 ); + y = logcdf( PINF ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a finite `k` and `lambda`, the function returns a function which returns `-Infinity` when provided `-infinity` for `x`', function test( t ) { + var logcdf; + var y; + + logcdf = factory( 2, 1.0 ); + y = logcdf( NINF ); + t.strictEqual( y, NINF, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a negative `lambda`, the created function always returns `NaN`', function test( t ) { + var logcdf; + var y; + + logcdf = factory( 2, -1.0 ); + + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( 0.0, NINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( PINF, NINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NINF, NINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NaN, NINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a negative `k`, the created function always returns `NaN`', function test( t ) { + var logcdf; + var y; + + logcdf = factory( -1.0, 0.5 ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NINF, 1.0 ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NINF, PINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NINF, NINF ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + logcdf = factory( NINF, NaN ); + y = logcdf( 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the created function evaluates the logcdf for `x` given rate parameter `lambda` and shape parameter `k`', function test( t ) { + var expected; + var lambda; + var logcdf; + var delta; + var tol; + var i; + var k; + var x; + var y; + + expected = data.expected; + x = data.x; + k = data.k; + lambda = data.lambda; + for ( i = 0; i < x.length; i++ ) { + logcdf = factory( k[i], lambda[i] ); + y = logcdf( x[i] ); + if ( y === expected[i] ) { + t.strictEqual( y, expected[i], 'x: '+x[i]+', k:'+k[i]+', lambda: '+lambda[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 450.0 * EPS * abs( expected[ i ] ); + t.ok( delta<=tol, 'within tolerance. x: '+x[ i ]+'. k: '+k[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.js new file mode 100644 index 000000000000..b45719a84984 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.js @@ -0,0 +1,38 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 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 logcdf = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof logcdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'attached to the main export is a factory method for generating `logcdf` functions', function test( t ) { + t.strictEqual( typeof logcdf.factory, 'function', 'exports a factory method' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.logcdf.js b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.logcdf.js new file mode 100644 index 000000000000..d4f7a55037c9 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/erlang/logcdf/test/test.logcdf.js @@ -0,0 +1,140 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var EPS = require( '@stdlib/constants/float64/eps' ); +var logcdf = require( './../lib' ); + + +// FIXTURES // + +var data = require( './fixtures/julia/data.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof logcdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y = logcdf( NaN, 1.0, 1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = logcdf( 0.0, NaN, 1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = logcdf( 0.0, 1.0, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `+infinity` for `x` and a finite `k` and `lambda`, the function returns `0`', function test( t ) { + var y = logcdf( PINF, 1.0, 1.0 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-infinity` for `x` and a finite `k` and `lambda`, the function returns `-Infinity`', function test( t ) { + var y = logcdf( NINF, 1.0, 1.0 ); + t.strictEqual( y, NINF, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `k <= 0`, the function returns `NaN`', function test( t ) { + var y; + + y = logcdf( 2.0, -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 0.0, -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NINF, 1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NINF, PINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NINF, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided `lambda <= 0`, the function returns `NaN`', function test( t ) { + var y; + + y = logcdf( 2.0, 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 0.0, 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, 1.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, PINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = logcdf( 2.0, NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function evaluates the logcdf for `x` given shape parameter `k` and given rate parameter `lambda`', function test( t ) { + var expected; + var lambda; + var delta; + var tol; + var i; + var k; + var x; + var y; + + expected = data.expected; + x = data.x; + k = data.k; + lambda = data.lambda; + for ( i = 0; i < x.length; i++ ) { + y = logcdf( x[i], k[i], lambda[i] ); + if ( y === expected[i] ) { + t.strictEqual( y, expected[i], 'x: '+x[i]+', k: '+k[i]+', lambda: '+lambda[i]+', y: '+y+', expected: '+expected[i] ); + } else { + delta = abs( y - expected[ i ] ); + tol = 450.0 * EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. k: '+k[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); + } + } + t.end(); +});