diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/README.md b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/README.md new file mode 100644 index 000000000000..f00330c4bbc3 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/README.md @@ -0,0 +1,253 @@ + + +# Median + +> [Burr (type III)][burr-distribution] distribution [median][median]. + + + +
+ +The [median][median] of a [Burr (type III)][burr-distribution] random variable with first shape parameter `c > 0` and second shape parameter `d > 0` is + + + +```math +\operatorname{Median}\left( X \right) = \left( 2^{\frac{1}{d}} - 1 \right)^{-\frac{1}{c}} +``` + + + +
+ + + + + +
+ +## Usage + +```javascript +var median = require( '@stdlib/stats/base/dists/burr-type3/median' ); +``` + +#### median( c, d ) + +Returns the [median][median] of a [Burr (type III)][burr-distribution] distribution with first shape parameter `c` and second shape parameter `d`. + +```javascript +var y = median( 2.0, 1.0 ); +// returns 1.0 + +y = median( 4.0, 12.0 ); +// returns ~2.025 + +y = median( 8.0, 2.0 ); +// returns ~1.116 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = median( NaN, 2.0 ); +// returns NaN + +y = median( 2.0, NaN ); +// returns NaN +``` + +If provided `c <= 0` or `d <= 0`, the function returns `NaN`. + +```javascript +var y = median( 0.0, 2.0 ); +// returns NaN + +y = median( -1.0, 2.0 ); +// returns NaN + +y = median( 2.0, 0.0 ); +// returns NaN + +y = median( 2.0, -1.0 ); +// returns NaN +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var median = require( '@stdlib/stats/base/dists/burr-type3/median' ); + +var opts = { + 'dtype': 'float64' +}; +var c = uniform( 10, 0.1, 10.0, opts ); +var d = uniform( 10, 0.1, 10.0, opts ); + +logEachMap( 'c: %0.4f, d: %0.4f, Median(X;c,d): %0.4f', c, d, median ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/burr-type3/median.h" +``` + +#### stdlib_base_dists_burr_type3_median( c, d ) + +Returns the median of a Burr (type III) distribution with first shape parameter `c` and second shape parameter `d`. + +```c +double out = stdlib_base_dists_burr_type3_median( 2.0, 1.0 ); +// returns 1.0 +``` + +The function accepts the following arguments: + +- **c**: `[in] double` first shape parameter. +- **d**: `[in] double` second shape parameter. + +```c +double stdlib_base_dists_burr_type3_median( const double c, const double d ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/dists/burr-type3/median.h" +#include +#include + +static double random_uniform( const double min, const double max ) { + double v = (double)rand() / ( (double)RAND_MAX + 1.0 ); + return min + ( v*(max-min) ); +} + +int main( void ) { + double c; + double d; + double v; + int i; + + for ( i = 0; i < 25; i++ ) { + c = random_uniform( 0.1, 10.0 ); + d = random_uniform( 0.1, 10.0 ); + v = stdlib_base_dists_burr_type3_median( c, d ); + printf( "c: %lf, d: %lf, Median(X;c,d): %lf\n", c, d, v ); + } +} +``` + +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.js new file mode 100644 index 000000000000..29e5166c992e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.js @@ -0,0 +1,58 @@ +/** +* @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 isnan = require( '@stdlib/math/base/assert/is-nan' ); +var pkg = require( './../package.json' ).name; +var median = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var opts; + var c; + var d; + var y; + var i; + + opts = { + 'dtype': 'float64' + }; + c = uniform( 100, 0.1, 10.0, opts ); + d = uniform( 100, 0.1, 10.0, opts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = median( c[ i % c.length ], d[ i % d.length ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.native.js new file mode 100644 index 000000000000..066002447c26 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/benchmark.native.js @@ -0,0 +1,68 @@ +/** +* @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 resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var median = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( median instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var arrayOpts; + var c; + var d; + var y; + var i; + + arrayOpts = { + 'dtype': 'float64' + }; + c = uniform( 100, 0.1, 10.0, arrayOpts ); + d = uniform( 100, 0.1, 10.0, arrayOpts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = median( c[ i % c.length ], d[ i % d.length ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @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. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled benchmarks. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/benchmark.c new file mode 100644 index 000000000000..96fa83049891 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/benchmark/c/benchmark.c @@ -0,0 +1,138 @@ +/** +* @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. +*/ + +#include "stdlib/stats/base/dists/burr-type3/median.h" +#include +#include +#include +#include + +#define NAME "burr-type3-median" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [min,max). +* +* @param min minimum value (inclusive) +* @param max maximum value (exclusive) +* @return random number +*/ +static double random_uniform( const double min, const double max ) { + double v = (double)rand() / ( (double)RAND_MAX + 1.0 ); + return min + ( v*(max-min) ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double c[ 100 ]; + double d[ 100 ]; + double elapsed; + double y; + double t; + int i; + + for ( i = 0; i < 100; i++ ) { + c[ i ] = random_uniform( 0.1, 10.0 ); + d[ i ] = random_uniform( 0.1, 10.0 ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_dists_burr_type3_median( c[ i % 100 ], d[ i % 100 ] ); + if ( y != y ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y ) { + printf( "should not return NaN\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/binding.gyp b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/binding.gyp @@ -0,0 +1,170 @@ +# @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. + +# A `.gyp` file for building a Node.js native add-on. +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # List of files to include in this file: + 'includes': [ + './include.gypi', + ], + + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Target name should match the add-on export name: + 'addon_target_name%': 'addon', + + # Set variables based on the host OS: + 'conditions': [ + [ + 'OS=="win"', + { + # Define the object file suffix: + 'obj': 'obj', + }, + { + # Define the object file suffix: + 'obj': 'o', + } + ], # end condition (OS=="win") + ], # end conditions + }, # end variables + + # Define compile targets: + 'targets': [ + + # Target to generate an add-on: + { + # The target name should match the add-on export name: + 'target_name': '<(addon_target_name)', + + # Define dependencies: + 'dependencies': [], + + # Define directories which contain relevant include headers: + 'include_dirs': [ + # Local include directory: + '<@(include_dirs)', + ], + + # List of source files: + 'sources': [ + '<@(src_files)', + ], + + # Settings which should be applied when a target's object files are used as linker input: + 'link_settings': { + # Define libraries: + 'libraries': [ + '<@(libraries)', + ], + + # Define library directories: + 'library_dirs': [ + '<@(library_dirs)', + ], + }, + + # C/C++ compiler flags: + 'cflags': [ + # Enable commonly used warning options: + '-Wall', + + # Aggressive optimization: + '-O3', + ], + + # C specific compiler flags: + 'cflags_c': [ + # Specify the C standard to which a program is expected to conform: + '-std=c99', + ], + + # C++ specific compiler flags: + 'cflags_cpp': [ + # Specify the C++ standard to which a program is expected to conform: + '-std=c++11', + ], + + # Linker flags: + 'ldflags': [], + + # Apply conditions based on the host OS: + 'conditions': [ + [ + 'OS=="mac"', + { + # Linker flags: + 'ldflags': [ + '-undefined dynamic_lookup', + '-Wl,-no-pie', + '-Wl,-search_paths_first', + ], + }, + ], # end condition (OS=="mac") + [ + 'OS!="win"', + { + # C/C++ flags: + 'cflags': [ + # Generate platform-independent code: + '-fPIC', + ], + }, + ], # end condition (OS!="win") + ], # end conditions + }, # end target <(addon_target_name) + + # Target to copy a generated add-on to a standard location: + { + 'target_name': 'copy_addon', + + # Declare that the output of this target is not linked: + 'type': 'none', + + # Define dependencies: + 'dependencies': [ + # Require that the add-on be generated before building this target: + '<(addon_target_name)', + ], + + # Define a list of actions: + 'actions': [ + { + 'action_name': 'copy_addon', + 'message': 'Copying addon...', + + # Explicitly list the inputs in the command-line invocation below: + 'inputs': [], + + # Declare the expected outputs: + 'outputs': [ + '<(addon_output_dir)/<(addon_target_name).node', + ], + + # Define the command-line invocation: + 'action': [ + 'cp', + '<(PRODUCT_DIR)/<(addon_target_name).node', + '<(addon_output_dir)/<(addon_target_name).node', + ], + }, + ], # end actions + }, # end target copy_addon + ], # end targets +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/repl.txt new file mode 100644 index 000000000000..6d721058a999 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/repl.txt @@ -0,0 +1,42 @@ + +{{alias}}( c, d ) + Returns the median of a Burr (type III) distribution with first shape + parameter `c` and second shape parameter `d`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If `c <= 0` or `d <= 0`, the function returns `NaN`. + + Parameters + ---------- + c: number + First shape parameter. + + d: number + Second shape parameter. + + Returns + ------- + out: number + Median. + + Examples + -------- + > var y = {{alias}}( 2.0, 1.0 ) + 1.0 + > y = {{alias}}( 4.0, 12.0 ) + ~2.025 + > y = {{alias}}( 8.0, 2.0 ) + ~1.116 + > y = {{alias}}( NaN, 2.0 ) + NaN + > y = {{alias}}( 2.0, NaN ) + NaN + > y = {{alias}}( -1.0, 2.0 ) + NaN + > y = {{alias}}( 2.0, -1.0 ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/index.d.ts new file mode 100644 index 000000000000..e74c126cb6de --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/index.d.ts @@ -0,0 +1,61 @@ +/* +* @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 + +/** +* Returns the median of a Burr (type III) distribution with first shape parameter `c` and second shape parameter `d`. +* +* ## Notes +* +* - If provided `c <= 0` or `d <= 0`, the function returns `NaN`. +* +* @param c - first shape parameter +* @param d - second shape parameter +* @returns median +* +* @example +* var y = median( 2.0, 1.0 ); +* // returns 1.0 +* +* @example +* var y = median( 4.0, 12.0 ); +* // returns ~2.025 +* +* @example +* var y = median( NaN, 2.0 ); +* // returns NaN +* +* @example +* var y = median( 2.0, NaN ); +* // returns NaN +* +* @example +* var y = median( -1.0, 2.0 ); +* // returns NaN +* +* @example +* var y = median( 2.0, -1.0 ); +* // returns NaN +*/ +declare function median( c: number, d: number ): number; + + +// EXPORTS // + +export = median; diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/test.ts new file mode 100644 index 000000000000..6c5af0029b4c --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/docs/types/test.ts @@ -0,0 +1,56 @@ +/* +* @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 median = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + median( 2.0, 1.0 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + median( true, 3 ); // $ExpectError + median( false, 2 ); // $ExpectError + median( '5', 1 ); // $ExpectError + median( [], 1 ); // $ExpectError + median( {}, 2 ); // $ExpectError + median( ( x: number ): number => x, 2 ); // $ExpectError + + median( 9, true ); // $ExpectError + median( 9, false ); // $ExpectError + median( 5, '5' ); // $ExpectError + median( 8, [] ); // $ExpectError + median( 9, {} ); // $ExpectError + median( 8, ( x: number ): number => x ); // $ExpectError + + median( [], true ); // $ExpectError + median( {}, false ); // $ExpectError + median( false, '5' ); // $ExpectError + median( {}, [] ); // $ExpectError + median( '5', ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + median(); // $ExpectError + median( 3 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @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. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := example.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled examples. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/example.c new file mode 100644 index 000000000000..e10f824f0328 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/c/example.c @@ -0,0 +1,40 @@ +/** +* @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. +*/ + +#include "stdlib/stats/base/dists/burr-type3/median.h" +#include +#include + +static double random_uniform( const double min, const double max ) { + double v = (double)rand() / ( (double)RAND_MAX + 1.0 ); + return min + ( v*(max-min) ); +} + +int main( void ) { + double c; + double d; + double v; + int i; + + for ( i = 0; i < 25; i++ ) { + c = random_uniform( 0.1, 10.0 ); + d = random_uniform( 0.1, 10.0 ); + v = stdlib_base_dists_burr_type3_median( c, d ); + printf( "c: %lf, d: %lf, Median(X;c,d): %lf\n", c, d, v ); + } +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/index.js new file mode 100644 index 000000000000..d056e4465363 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/examples/index.js @@ -0,0 +1,31 @@ +/** +* @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 uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var median = require( './../lib' ); + +var opts = { + 'dtype': 'float64' +}; +var c = uniform( 10, 0.1, 10.0, opts ); +var d = uniform( 10, 0.1, 10.0, opts ); + +logEachMap( 'c: %0.4f, d: %0.4f, Median(X;c,d): %0.4f', c, d, median ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/include.gypi @@ -0,0 +1,53 @@ +# @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. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + '=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "statistics", + "stats", + "distribution", + "dist", + "median", + "quantile", + "continuous", + "burr", + "burr type-3", + "univariate" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @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. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + + +# RULES # + +#/ +# Removes generated files for building an add-on. +# +# @example +# make clean-addon +#/ +clean-addon: + $(QUIET) -rm -f *.o *.node + +.PHONY: clean-addon + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: clean-addon + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/addon.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/addon.c new file mode 100644 index 000000000000..bd43fb7ab5bf --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/addon.c @@ -0,0 +1,22 @@ +/** +* @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. +*/ + +#include "stdlib/stats/base/dists/burr-type3/median.h" +#include "stdlib/math/base/napi/binary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_DD_D( stdlib_base_dists_burr_type3_median ) diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/main.c new file mode 100644 index 000000000000..37dee3de4a50 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/src/main.c @@ -0,0 +1,46 @@ +/** +* @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. +*/ + +#include "stdlib/stats/base/dists/burr-type3/median.h" +#include "stdlib/math/base/assert/is_nan.h" +#include "stdlib/math/base/special/expm1.h" +#include "stdlib/math/base/special/pow.h" +#include "stdlib/constants/float64/ln_two.h" + +/** +* Returns the median of a Burr (type III) distribution with first shape parameter `c` and second shape parameter `d`. +* +* @param c first shape parameter +* @param d second shape parameter +* @return median +* +* @example +* double v = stdlib_base_dists_burr_type3_median( 2.0, 1.0 ); +* // returns 1.0 +*/ +double stdlib_base_dists_burr_type3_median( const double c, const double d ) { + if ( + stdlib_base_is_nan( c ) || + stdlib_base_is_nan( d ) || + c <= 0.0 || + d <= 0.0 + ) { + return 0.0 / 0.0; // NaN + } + return stdlib_base_pow( stdlib_base_expm1( STDLIB_CONSTANT_FLOAT64_LN2 / d ), -1.0 / c ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/data.json b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/data.json new file mode 100644 index 000000000000..f6c58c65ca48 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/data.json @@ -0,0 +1 @@ +{"c": [5.846713843023224, 1.036984781073812, 2.651425611475801, 3.782151578999747, 8.667661288065602, 1.5492790503479903, 4.842902521571438, 7.341280730583112, 7.438512448054047, 6.436350738231976, 8.096384595800526, 2.1374232958354313, 3.8643844332108213, 5.001332916910834, 5.402329536096341, 9.647805144238589, 9.853472706889155, 3.3912213789620274, 5.337689580127568, 8.201802543271443, 6.431632565087143, 5.67792534174543, 6.365061892561851, 8.827464319296151, 5.079794982671244, 3.2597346145649264, 6.922511432745469, 2.9722254792038916, 7.871458351278523, 8.723546970409851, 5.139874037748616, 0.33132680222200495, 5.885171308200488, 2.1518593012362106, 6.8644233484441415, 6.54960242976385, 0.6805663976834474, 5.732018908770641, 6.9982165815103965, 1.9951551593345573, 5.10606908283252, 5.023063062707343, 7.655586932121821, 9.424235261042144, 9.98866996080562, 7.9075130315950934, 1.4452745197146244, 3.8148587040167867, 5.368108187268616, 0.6788370954130761, 3.188490944465768, 9.680924781416739, 1.1695771417032386, 2.675132541404366, 4.964245749305276, 3.9394924029554432, 3.3390566233701793, 8.135742509688242, 3.406244158009848, 8.45749509391186, 8.072937473479612, 4.2793161182969515, 1.33397669763491, 1.2114039345988192, 6.589419111355049, 0.4550982653491119, 7.587356643402441, 1.706539665546054, 6.862459093060954, 1.3857907419226156, 5.186232507750486, 3.1598376513516624, 5.543375711458339, 7.864902669293341, 0.9996954230207921, 2.3405801410881, 6.888052252272967, 7.660127109890055, 7.1338147635737865, 5.8671483560584266, 3.1711876687862897, 1.8575273941189918, 4.93354596852664, 6.763527228340777, 9.928277220866368, 8.859993898164374, 1.2331215364076864, 4.30977627138045, 5.828526555572317, 4.022988679655769, 9.162494193381331, 0.2051310732590194, 6.305423611963805, 5.01339523781173, 5.802401615574683, 1.6729718580816644, 2.771957340409099, 5.1611655155495075, 0.21026456717353362, 8.770711707231182, 3.795634401746524, 8.0621975757916, 1.1077755043311288, 4.979267497138796, 2.895555452350481, 5.809269052461013, 8.975334146819364, 4.337731620938999, 9.801644714283492, 5.959930590005609, 9.86334901350641, 0.9909087062272713, 8.056260045614222, 7.966759807964407, 1.7296727673200174, 5.011210773528051, 3.374370767820374, 1.9289251056442258, 5.9054304070265236, 8.78223245172422, 5.481066778489726, 3.152610246101116, 5.2096084703938565, 6.079410611936876, 1.6794310809857615, 5.3844097656007115, 4.543969246381961, 1.0006276530388758, 3.4520504031146615, 8.012660279528633, 2.628310956885024, 7.123812565092807, 7.1163349633711634, 8.949266116038892, 9.322432154704913, 0.5927543710184323, 7.256897003417905, 3.936744364101239, 7.091441127844578, 1.1470147340718484, 9.270016390405939, 4.683210669944213, 9.579836815505294, 5.482346726306752, 9.363408284807361, 2.4896166826828536, 8.130289889616604, 0.8083695813375912, 3.722435261974004, 5.52320546644463, 1.0893053194491753, 1.3048501872188079, 6.888036950930807, 5.717500841878076, 3.4682147976636646, 5.084233168847263, 6.5946818083052, 9.02597526409109, 5.541147948310365, 0.8440431890055909, 3.772071188212801, 2.7981605535977985, 3.3986897226801207, 8.695188492558666, 3.7910663498690735, 2.2542292635881425, 4.392256401806634, 2.041561845858937, 0.6823232026986724, 10.09660686018629, 3.0004658710575707, 9.381794984437796, 1.8135796817018546, 5.990552580999627, 4.139191014302816, 5.472607916749846, 9.851204004964407, 2.3284088513246792, 5.070605231721752, 2.339102675046288, 2.775383973629324, 8.591869180118035, 2.0123600746022374, 9.770463392731592, 5.840782881607197, 1.9935258460938865, 4.740763821422913, 2.2966118188268947, 3.0284308324620715, 0.5926634335079072, 3.5854976022493967, 9.193706723183913, 6.541741999109408, 1.5074367150027257, 1.0444771193786129, 2.58795767840742, 6.596208787841645, 4.9058256756038325, 5.257521686048765, 1.1809564226168745, 1.703582853061133, 2.2916480065906106, 5.36376002640985, 1.1801963477323563, 6.8708516411415825, 0.384640870112679, 2.5388660695063514, 0.7190797252580537, 2.8828336123870204, 1.0957974770021328, 5.81677097284521, 9.349299230100906, 9.415891534821705, 2.0866088718639375, 5.9986154395852616, 9.360148174886152, 6.9908214840101595, 0.5192325940683183, 1.167512978153038, 4.147872677441358, 6.914281217477042, 7.238672078550141, 8.87285522115859, 0.4782942832829483, 9.017175036061328, 6.236857633916861, 8.379856225106117, 6.761840883426676, 9.230194277818216, 1.8816380653129616, 9.802316314016169, 0.18716804604948503, 6.598666945749561, 3.523011362996429, 4.451420664923745, 8.932719054198328, 9.017369372314251, 7.0507055516431585, 2.8931795849471773, 3.8767610732534643, 4.794082251748098, 0.11283144299170092, 1.7388988143683826, 2.0889194483743854, 1.5686073090523978, 9.23016042126564, 0.1317265368954356, 9.989140354467292, 4.773818238061936, 10.009522131120724, 10.084338177296411, 0.9167410494464422, 9.544828399203864, 0.49065786503162057, 3.0765455275535603, 9.158626495441434, 6.454571706987254, 4.676583785942151, 5.45533582985307, 4.309697366514397, 8.555729970220828, 4.631555132570918, 5.019128763514393, 7.483345297392329, 6.5827355259681575, 4.461181783366429, 10.050544854424965, 3.7130845306095073, 6.364807478911731, 8.790532586678875, 6.636687658250758, 5.441518494512906, 8.786802619806648, 1.5025564286942328, 2.5042889450777106, 9.593281451333677, 9.563186428103423, 0.326205044540142, 7.548386543830888, 8.107138617865814, 9.407655251434322, 0.7295805923258113, 9.44289255534137, 4.742188749572743, 1.7879943350464012, 4.338918665231303, 4.699410024953146, 9.476353438605933, 1.12485694119827, 4.943730839450957, 3.5788070733992225, 0.2303015177627609, 6.697922182713135, 3.854408508485998, 9.31708700235212, 2.7507617100840576, 4.5867827283798555, 2.6298702890138737, 6.571452427136379, 1.1203614825719077, 2.8383213007050876, 8.823243652665527, 9.740068701883512, 8.78114241602895, 3.9512781853055112, 7.136066274428093, 9.536563831309687, 2.627077571237395, 2.9790151769512985, 2.0833087560964048, 8.454594163464373, 8.557266434400075, 6.719429089898178, 7.2442802756359335, 4.080986478206364, 2.632066993107086, 0.3940425748872022, 6.930021499813448, 1.2106255618167017, 0.944309289232833, 4.236189047814095, 3.660024561810402, 4.663298122422109, 1.940543895494784, 7.203944734598057, 2.206657611918191, 8.112830462698842, 3.3992694718011474, 2.095200606169356, 9.232803632998902, 1.6061958533139264, 2.9716516768082335, 6.254396185543653, 5.818841802954735, 5.962909200021594, 8.871289715965618, 5.118419688828185, 0.9097765268813972, 9.266986533374448, 6.623152266270749, 9.872201370555617, 3.635261287471788, 7.075810746405612, 6.835813415191007, 6.784865062707502, 9.370717268748013, 5.028580880340618, 1.8227973982395285, 2.176123634688404, 8.407614836576325, 2.1857192563563643, 9.75583468841986, 7.508577455998339, 3.244426193760456, 3.9238684648579247, 5.933868909951098, 3.400503618500965, 9.135179795053574, 4.6216880099392705, 7.922994518559155, 0.3664905720780153, 0.42610188123857073, 10.09809671171147, 8.559215587673439, 6.272488191608386, 0.49386318800759377, 8.247212307532429, 9.706035550084685, 8.513387760526378, 0.975327114442177, 8.74226485485399, 6.130200909666479, 7.579352002439387, 8.50013240600544, 6.11532844486382, 5.649205242851966, 5.230867547445541, 3.1255154875940607, 3.110064625950623, 5.401128543674112, 9.772204443739879, 2.0860797042434664, 8.149336601387573, 1.13129595770868, 3.2589042133483592, 8.358166615943762, 7.564819698444231, 6.980591338507132, 3.423539289981239, 7.322462579763737, 2.25838256840469, 3.3898546000682352, 1.857781761307754, 5.763024526345478, 3.636803467811339, 5.5507063972434825, 3.4636370573715456, 0.33311436059655797, 1.5661960646882611, 4.101423685955916, 6.520784267666356, 4.813799833433277, 8.124400500011651, 3.219816570906152, 2.836376470555826, 2.132123623170347, 3.0190595858374536, 4.555842166874198, 9.80704224086996, 7.677359721872884, 1.8734304416722758, 1.9110914148716662, 3.688522568225341, 7.938380524395604, 6.053999017178449, 5.902915211016, 1.927100281977363, 2.4224930575843193, 7.215779970867629, 6.32369028554755, 5.467331502559209, 4.949887252898983, 8.745692203939607, 5.375561604099873, 2.1357052273000154, 1.2214312835906227, 5.569385371605338, 2.4764751889254035, 9.338758278736663, 3.883157841964102, 1.5364429439811755, 2.3009379713477895, 7.4558555926898755, 4.309551604413884, 3.8273171671716235, 9.83062048716401, 8.483986548122592, 8.857398850158233, 9.250183137108467, 7.715802982972789, 9.369187065975146, 4.075528323531084, 8.195956956197973, 1.1203127613317332, 10.09090989968735, 0.5883860418185981, 4.566846841697602, 2.9857141757955064, 4.992232437417199, 10.062413764469039, 9.924449751396676, 2.123417035878037, 9.31570721360891, 8.290094215893422, 1.3646127552646115, 0.7059636304219051, 7.758228439375472, 1.9655471987020157, 6.950933824326091, 6.035228734365468, 8.703021819879517, 0.3279368396056136, 7.25071544862889, 2.0726568900666775, 9.26786285798988, 0.5642495268073054, 3.4622293969141107, 0.30048419878440635, 6.53245456084434, 7.9301240893031615, 7.773035364047868, 2.4530690263294086, 7.540661103236024, 3.488111709009726, 2.4300162318897436, 7.071927030140663, 6.830492135971046, 1.5314565395827384, 1.9195264648318455, 3.5595605809671493, 3.998585090148319, 0.729791239698314, 6.3770923016196095, 6.063468455610824, 9.77838332052841, 7.433449399873528, 6.802426375606926, 0.483752710713493, 3.7495772251917203, 0.5368732818228649, 7.437953363350049, 9.516753971222206, 7.6301841916480715, 3.3148350460055673, 9.233852852800137, 2.1278438594629114, 3.0056772351239815, 6.367227937823816, 8.301354547499203, 5.288448392523252, 7.155757407238797, 2.8338568969199254, 5.383698471361879, 1.5513696790250808, 4.9435623504269115, 0.15095562940111598, 7.407454143548369, 7.371895863105144, 1.6374051942576895, 0.14507017369758005, 7.447909611310163, 6.836418212718438, 1.4573980028495126, 6.202004705613537, 7.238125575921535, 1.9307099530176597, 7.17478729929088, 1.6490909559094702, 3.8332013617834417, 8.098072238094892, 0.8178522067372717, 3.4810751044998844, 1.6331428969078976, 2.019724107083911, 3.958152459618766, 7.227372660834834, 6.747097645347529, 0.6092904834443945, 8.35393553221498, 7.687130639486289, 0.5527011086172772, 9.290638443860276, 7.0893001681632075, 9.99685628853676, 4.947608623005514, 5.948249702617515, 0.6484714164104942, 10.051534939852015, 8.769467112298644, 6.116972347539648, 8.246282106575, 7.097503711175876, 9.341911054366864, 2.5673632410416736, 8.146382604443234, 5.435765670786763, 4.499261162474463, 3.7756501824666433, 4.396390834361441, 9.199718360582516, 1.4869939762792261, 1.4980821905576502, 4.010944005744522, 4.270459224386026, 4.481725314227374, 0.31549778048732036, 8.340216214057234, 8.990293797044995, 10.036309809721264, 3.507434683615539, 1.893638206959587, 9.348886954934553, 4.2562305945584455, 8.834750193000652, 8.435590161928966, 9.91637202089788, 8.75506947513852, 9.428913836629263, 0.35671388702299567, 7.002489654040038, 0.35134421157375295, 1.0497614481038042, 9.217665210480844, 0.2672630345800474, 4.259465702581082, 3.243853439078889, 0.3375575321842005, 7.139946880517973, 6.352463282657144, 7.422372328807441, 0.20861827750150322, 4.426287267867355, 3.4714621769826945, 3.278980436232756, 0.49205520807317427, 10.05995166285702, 6.887973668204603, 9.64980657526675, 1.5957616337378955, 2.5214116401544238, 3.501047116097976, 1.382061883237613, 6.1157763180783515, 4.486899654465912, 2.233693208455121, 9.286877877921798, 0.8375253420921401, 9.427207329351734, 1.3469884976295, 1.3247929807706305, 4.743072231702216, 4.981985638980781, 6.182072214304093, 3.686260577941464, 2.502514655105935, 2.6183766554744436, 2.8513916399830994, 9.895998346072588, 2.5817804687066537, 1.6743018232137041, 8.782700379584611, 6.1463662774613645, 8.551044015715553, 1.9394846455042736, 5.04690419210128, 7.414184605104378, 2.9938797411285223, 9.439370241612748, 4.692141166845458, 9.785947705585885, 5.812084978629907, 0.6822126077746115, 1.0326985519127863, 3.2825011881805954, 8.237814596654339, 3.5520444753852876, 7.142216625931656, 9.688906168976404, 1.133857872001507, 8.909877912079516, 10.01847870298739, 6.057965059317429, 1.6079622047297526, 5.93212380528462, 8.823180167205136, 4.035880484625191, 4.8938688658876925, 5.716291923807843, 4.833654456203813, 9.300368281127705, 3.1916417857057744, 7.828707947158527, 8.334370881988145, 9.525862685752198, 4.037326341419423, 0.27996275050397024, 9.56015976345394, 4.763889691316063, 9.423728861329147, 9.359716097686436, 3.5338838685252316, 8.832494085276025, 2.253395856440288, 5.737733166821358, 2.9208021840850895, 9.789154598308006, 6.333096453004275, 0.7866846641904189, 7.271668332056638, 7.6319261243189445, 4.14279394746095, 9.181790589816611, 3.5263803853040154, 3.712268510230483, 8.762039226626966, 6.236621676077012, 7.641335077227408, 7.1019590784402284, 2.683511916659098, 1.5171666449806742, 2.1330508551601257, 6.977734373886385, 8.754141261729835, 4.193451300718351, 2.8680462454585807, 5.217248407595912, 7.711081777798148, 3.8146273406790123, 1.3792396801995832, 7.40985233443419, 3.3083105766374064, 1.952185886804354, 2.3756728152341555, 9.419021682830698, 5.160282054114435, 6.505774319086377, 1.5779013415574406, 0.13271498034309817, 6.416173198641982, 8.346097980345276, 7.090438427436299, 5.663324450581994, 6.459029124350863, 6.635762926000873, 9.381118746080338, 1.1831680968434466, 9.496837864033237, 1.0451496690414852, 7.134891597866069, 1.2919993599248547, 6.306579717473072, 6.079107600311347, 4.528436352235757, 2.2470718029054693, 3.554093274949335, 6.94728566612533, 6.913152346278967, 2.585806913085865, 2.951047980613264, 3.5061289654194474, 6.390343191949791, 9.987137790376941, 6.630962347006292, 7.414757066005659, 4.50618142558911, 1.235126851922631, 7.127118047779934, 2.615563576304838, 5.72260533320056, 0.6550457181236701, 2.7142608621164155, 5.110258207215488, 9.448195460289872, 5.308655983529563, 4.7821324692106195, 8.375532247316592, 8.930213298484073, 0.3952633979294905, 4.188331814466985, 4.330165614627093, 4.112780466089804, 6.877438034507845, 9.175762186852564, 6.219416842670673, 8.754160474117786, 5.235484731321882, 2.880569769073069, 7.031967086905929, 9.398909646979908, 8.724243116011209, 7.643840095385043, 4.3578554166410175, 9.454775991634895, 0.8220690740255819, 1.5023448971472564, 4.54021909606513, 7.322565102827934, 7.9014755650296475, 8.1210819024096, 3.938187076427243, 3.3184750671693695, 8.82940334744834, 3.046716367385464, 3.8828055028243003, 8.29909736954687, 4.203975596235639, 7.631355031489917, 0.28852431825720937, 2.3134314523486563, 9.36781332589417, 9.963285267722311, 3.8628649590257047, 7.317926233340722, 9.965757262633467, 6.759143078802204, 5.711337114008128, 9.885294277502837, 8.302634252320344, 7.411843324344761, 8.154776988135369, 2.3853568515042745, 3.2314618265794173, 2.5685589057190072, 5.323713578755449, 3.203713987378509, 9.306085145295885, 8.522943709187695, 4.525681543890835, 6.392568797531789, 9.450551232962463, 2.9944501455534946, 3.746026084466331, 9.970872141005533, 4.555908238200351, 2.0132183867491915, 0.3889086548168529, 4.866730899325955, 4.886833315385593, 8.819405211134224, 5.408687566384339, 6.189138574275086, 1.6959130059564442, 2.8062993396129543, 8.012865141725458, 5.676537969263682, 3.9977776559423828, 6.181082843809127, 6.9846933140125405, 1.3905412829988428, 1.355976450619265, 8.481656079731533, 4.75170751298555, 1.1153338811653113, 5.387158193781861, 6.96629980250763, 5.276934040810776, 2.6919843717478042, 9.646437585949288, 7.8446601163200995, 3.5387637572441766, 4.132432762881599, 2.7490609096813876, 8.239987019299015, 4.009300130660782, 8.575106331238871, 3.452835032257958, 4.092542523185704, 1.0426104160832816, 1.5670190372634718, 6.9049019523406425, 4.9112479958829045, 8.835829425150628, 8.520766358432535, 6.2930569780748105, 3.3048316660351076, 5.59519030750338, 1.8214255069312357, 6.105319974441584, 9.37599662201581, 7.809493035884518, 7.144149210905432, 6.20913878352358, 10.067778588388654, 7.413217150828803, 1.454740765223942, 8.930347544888457, 5.277073643626805, 6.755343656893065, 2.6845066848085875, 4.38796033742133, 1.7890152624790445, 7.498217725187963, 6.416716026151687, 2.39004202805273, 7.8571857208597, 1.611572296419378, 6.363895058097136, 2.2554380099318783, 7.297993440830973, 6.242092024699792, 9.996160049514556, 4.7850559656042915, 5.221455741267545, 2.3658089143084537, 4.827614085882086, 0.8801165565750989, 8.605688352449453, 9.740998257118887, 9.204236098167907, 4.124655850519694, 0.7733126978733439, 3.891446114520979, 0.7685962937390477, 4.407460519927208, 1.08271311135556, 2.786161125656047, 3.1154865458780887, 4.638538579081659, 2.7524340106153153, 10.075580282217361, 1.396691416272996, 7.106761510673787, 3.1504964883735864, 7.618248902236523, 9.4194374721993, 4.773231845988827, 8.37033717700347, 3.9138339975061265, 6.060913621100607, 8.759447978772814, 3.0873315386311284, 3.2352336071875984, 5.395294796320227, 6.788293936963337, 9.404439776797306, 9.376956001314287, 6.595197294873102, 9.534509145203007, 7.281187354915394, 6.73835975576196, 9.811880513767607, 3.3953474361334837, 6.649445531502825, 0.8019385196770134, 4.473662697399441, 3.246845227267404, 6.214890602107673, 7.424730408182436, 3.003026055950291, 6.939621978532769, 3.2964284622243754, 3.7366758159437805, 6.511826509202878, 6.266508202514969, 4.47411200861911, 6.347962219558399, 2.8104902625851236, 5.258784587206371, 6.319684087460422, 7.24063639827734, 9.54660838975097, 1.7586425724646382, 2.448194212774163, 8.661938677626072, 8.19660622167484, 5.287521390429106, 0.3647004436811251, 4.831048200675553, 8.511070440230348, 8.60676453096311, 1.4115733383970386, 3.758801995051133, 6.865140046787385, 7.3439869213805595, 9.326628391317847, 1.271632194124529, 1.5967465433126704, 0.13440814571037954, 2.2873783382465853, 3.115424870814637, 2.705188459899984, 3.25887640900221, 6.512731697417005, 5.992337788169439, 2.827520212817509, 3.588074063004616, 8.839954753486923, 4.541222528876758, 4.996298054576764, 3.375330229719816, 5.276084005186879, 8.87045961667008, 3.7642433637213935, 3.7643147869957514, 3.4509531974005636, 3.911598682603746, 9.890823536140976, 8.734780767556083, 3.0889327542236678, 0.7693057603225294, 6.692967650146105, 6.973133518901143, 5.360236328640012, 9.577488761751706, 3.246467606233907, 4.924296606429007, 8.473791626214044, 5.855311542938514, 4.2596311271029315, 2.71408097010865, 7.276262908578522, 6.511328599365216, 6.443717233869857, 4.05355084250906, 9.466632005307218, 4.37029582559066, 5.219080461961472, 7.6753653124684895, 8.2993570783381, 5.52579886474103, 9.909226888444225, 0.9088635795908028, 7.704320390371163, 7.315983774160124, 1.1822918219540324, 5.603172805820218, 7.787158085424686, 1.151075142155339, 4.729039027484632, 4.068868151389102, 5.016583482323798, 9.920337144371754, 0.9578098379193444, 8.165258938705822, 4.354694557931367, 3.6042375796382298, 2.7457940015977447, 1.9653693177167264, 5.092490430877223, 9.447892890824102, 9.832314507973665, 3.7843539410392277, 6.141576057818851, 2.996442518487401, 4.934003043537707, 7.259083548085261, 6.4241699794858835, 8.744207706165323, 9.04607111520415, 4.845905363876978], "d": [7.557566106436227, 8.97805397320066, 6.244246876930492, 3.18232291012732, 5.471581810986119, 3.0267557946173285, 1.1280009437081673, 0.24669285086610473, 8.185604222759563, 6.244819684798859, 10.00507835444819, 8.424713637829813, 7.563282221446222, 5.990059273143942, 6.06744697104298, 7.0375249151415495, 9.287932023813825, 9.863132147196424, 6.523288406175347, 6.700919245407867, 1.0694676429865857, 7.404500118734064, 6.692859470465159, 6.842660024838709, 5.398705710580858, 1.570265370027969, 4.391150911481711, 2.351229805583468, 3.697796187255499, 1.3999454511109655, 2.9165376898938313, 2.6110730238586544, 5.329823031162833, 3.6034988414592606, 4.842390617803438, 7.015110420923405, 9.455820060893895, 2.8138487452963825, 4.615687869537597, 8.56846335821201, 9.44881645631519, 8.675604207449673, 3.07409570022779, 7.018061822214194, 4.05166806735438, 8.643432841609743, 1.561642981833432, 2.1223509845429835, 9.693467146411567, 3.5681635879663176, 4.101075203870554, 9.560844946988011, 9.745627301219548, 6.73289848901253, 2.0914755426485687, 1.219998419479662, 6.648746294361461, 5.32854013902998, 0.7956924382663954, 3.0906342752347515, 3.188244470115652, 1.154997331947012, 6.149641330625224, 1.4669432294716778, 7.747691814302652, 0.8279488723263283, 4.808629999543352, 1.5834867286714127, 8.516995900717328, 4.00685587568663, 3.1183021521728684, 5.060348059921403, 6.094600267056107, 3.1504013230256853, 1.302469544923437, 1.2405084898391705, 3.0039009563167043, 6.771145735862231, 1.2211722464830177, 7.7560995549738685, 2.3594007952865295, 9.059974562724033, 7.63211046139426, 8.283826128776862, 8.860158838669895, 8.398894191844123, 8.955365403244889, 1.1096993157866797, 2.989590480748682, 7.8765950104585345, 7.866847580928094, 8.589151208853819, 0.803918383579275, 4.6661602888575535, 2.789527064661592, 1.2644659931276692, 2.3940982473341186, 6.779479993551349, 9.550010501245387, 1.8735414232522962, 0.7943857811522169, 1.2523690471931603, 1.1677889898642035, 8.174917813198682, 2.7418104156985046, 5.196873889749068, 9.38795640656141, 9.14563816245328, 0.10355355712473471, 8.232509093251398, 2.8363415696802066, 6.060754558739318, 2.6496051741369353, 3.5106453055350326, 2.7068777913518227, 5.338050491941108, 0.5784622301292607, 9.354714418976554, 6.729671201303921, 4.279555179206754, 9.887856580740403, 2.466089257279481, 6.1005978311632, 9.558497447893597, 10.01289803318072, 8.39214753208205, 9.157213220686943, 4.003720283531152, 8.194828716241314, 6.591816170839694, 8.5063787242002, 1.264217905258127, 3.180499938771957, 2.0084398707517304, 2.580282464064949, 5.263951911889444, 2.239426657615693, 4.135094386325529, 9.39757238617981, 3.1280204934715217, 9.316856391304439, 2.0409544451773542, 1.0298432986549366, 3.324073389434249, 1.0002124055037132, 8.983808713041403, 5.368999696929999, 3.7750001653648457, 10.00051454177857, 2.399945291347739, 1.479050576163572, 9.524528899531, 9.41610260920315, 8.399757155509812, 2.7019390070882032, 5.4744547849826635, 6.814668390100964, 1.8576774517592864, 3.803284077574005, 9.884189691480639, 1.0908174154820771, 1.1997194015303136, 8.759573261422696, 4.467955703565215, 3.0283525154916346, 9.772265289125396, 4.622165123980665, 6.772974984340273, 4.081319638404017, 0.8719179910763951, 6.63189633617716, 0.5790414297615497, 5.741500887698005, 0.2223664518852463, 2.221132830327184, 9.967941072315526, 3.3745241099884726, 8.81931400171631, 9.874262318916067, 8.514529621079049, 7.097790899804696, 3.457849422413871, 9.198453235021194, 6.4876118386389585, 8.687327929201393, 7.2266381283341605, 6.79815634637612, 1.4557366045882592, 1.3255997408660525, 3.333444178090407, 5.823136065294253, 5.024164521886348, 3.2061201468402034, 9.705923298713401, 3.9499092012606773, 0.4956728229895889, 2.612272175708823, 2.0578304594331454, 9.211438557496015, 0.24658384377196021, 9.039951834549974, 1.0769744321926134, 6.762822512179942, 5.7799207442615925, 9.558208283665227, 1.3233426382591096, 4.58648552693556, 2.3258918829632025, 2.2248681878112286, 8.55950692771952, 3.4531841048917356, 6.054824957379808, 0.10956902567253227, 8.14433514119166, 6.762984511500332, 1.6567239784474819, 0.6759970067768782, 5.683531353419531, 1.4457601797708786, 9.457190432606666, 5.517730305668934, 1.5592755322814777, 3.066663517413266, 1.2245378895091341, 4.254276080663557, 7.800675667930419, 3.603757295253517, 6.060946336479978, 1.754137063293174, 4.113652930059754, 5.114867922035712, 0.8104350505383383, 2.0783868178602702, 4.405950013209022, 1.3489104221946568, 4.725947046477314, 3.5712344739472512, 7.026981960290119, 10.088678585398737, 3.4526965688033298, 5.402597406116964, 7.786697668737892, 1.2603721426358816, 3.1552013050903036, 1.5979143101292947, 6.064741568469643, 9.265030196741176, 5.219489976123416, 7.815113222721373, 8.678111401716073, 7.203881929612972, 2.417114554686569, 9.570582063289436, 8.118400289055527, 5.1855366900493065, 1.0984053109577807, 8.580719202111666, 0.5438308234717691, 8.143784335705082, 4.299984113569407, 4.656567062144614, 5.209752473118883, 0.7530508058169848, 2.6720558319056353, 3.2911966704888207, 3.681303142269019, 1.4630310889241849, 4.920283428647193, 4.711923580032394, 1.0649778733400617, 8.610205632366075, 0.870688594321931, 0.5846739130863431, 8.880346783921961, 8.16997029697324, 1.7140074384353432, 7.812603490144615, 2.3686589876470463, 2.398704973243473, 2.210386223687578, 2.7440710286569456, 1.4393181187853943, 7.444204310001486, 8.27671917301076, 8.022679533825507, 5.700430419575022, 5.442489777408251, 9.482788292425068, 6.894095881200512, 4.347613535535448, 6.67085441620897, 6.468736558659677, 2.897829163436566, 3.880340865559908, 6.589562734858416, 6.727006172225531, 6.9073234847862945, 4.823253571081674, 6.66628291247423, 1.9011011783792786, 6.958932926867282, 9.429568904224737, 1.5777861563880047, 2.610975289441355, 9.705378192492512, 8.093833019013552, 8.23580320954963, 1.5065921282859573, 8.379252786465559, 8.56662490440786, 8.983257956678166, 0.526531300766364, 0.987707704869316, 3.1857199093273993, 4.8391930014165245, 4.562443067675292, 9.03295426271247, 6.143812869152439, 4.100826364180872, 7.878066262123076, 3.417342244057977, 3.12042443057702, 8.522046397906333, 8.23120764230675, 7.845377472823291, 5.875951122848822, 9.284249738981547, 2.2537789375424286, 6.865759572511247, 8.70451958217708, 8.781854832191023, 8.111133793410504, 3.3421849024123405, 6.72484124064366, 9.854060816386822, 2.781318009846745, 8.32473268055181, 0.28469696371657294, 8.934520374948457, 1.9779713383513564, 4.3103890953888255, 6.052999950609982, 8.201157620443471, 2.402637052305695, 5.071775653608626, 9.488295856969183, 7.722915368120873, 0.20988771123931374, 2.649211260675918, 0.3124212018446214, 4.845598330666139, 7.422114900564427, 8.725462903430216, 0.7701185993983338, 7.876623507737707, 3.0258458269588706, 9.803376848834832, 8.38032091504086, 5.633492119183046, 6.959292525542888, 9.065989666870056, 8.841485271754076, 8.976191229273457, 5.89759465789376, 1.662878994954593, 2.8257388495099534, 9.132795871023141, 4.624102355195081, 0.8374427773671999, 0.1048004920651501, 5.20769805702685, 5.513121644987005, 0.2988044564662128, 5.819693426789392, 5.635592272371331, 5.222909107865797, 1.3761384701852475, 5.4409106090541215, 2.1298890061978537, 8.14009343191758, 8.66077833038814, 5.760377836969999, 1.8358109118290078, 9.815363140340681, 9.837803171958589, 6.349615196820952, 9.09871346801432, 3.239075562737123, 6.456009908440711, 4.189916573764314, 2.4963015223806284, 2.947735229041726, 1.5731914496550836, 0.42462911050076924, 0.9350620385374208, 6.684156201331671, 2.6169769459508943, 8.65635722224958, 4.855373922521735, 2.147215716301296, 5.74351430241492, 7.794644150244206, 6.039400558310669, 2.9485699113295882, 0.8968866497519689, 5.406013070225866, 1.7723391228316643, 4.8435502397221395, 6.150490997727578, 3.0680991232403043, 8.525361518088165, 5.640004470347247, 5.661775598341851, 1.0996588836730403, 7.807175622648353, 10.0759963175556, 1.198103742602783, 4.490539484727448, 0.6846194549613437, 9.03399931524279, 7.68706840172031, 0.5698150072799034, 0.6702760505743165, 8.238968819763985, 7.131884296797415, 7.967344011179696, 9.972233083259342, 6.934790642646662, 1.733194740469124, 0.6460709648526407, 5.428640109343261, 8.251780887482068, 2.9747268575064614, 2.87576576682434, 5.020154565318828, 5.946246439659996, 1.6870536127735603, 3.1873441174559027, 7.407867273672497, 0.14075830426871763, 5.855774562335317, 2.4205556663229353, 9.435056825631527, 3.9026253398431323, 2.2840319842459613, 2.595651253805723, 1.1613432214227504, 6.468215368274973, 3.3307995585703956, 1.9788348786809629, 8.739180342573091, 4.5614353918886135, 0.6116977760226104, 6.942068890370343, 3.332611659523789, 1.726080854920734, 2.09758329694364, 9.717177035328023, 9.905738075009623, 8.076599219134271, 7.89675640254351, 1.3287441048313176, 3.3566437218599012, 0.4387947160952831, 3.2468492367166033, 7.086440194717098, 5.679541775310464, 3.932991680272481, 9.567707758826218, 10.062260022052557, 1.4999419943368264, 0.3319014815175546, 3.95277451240447, 8.85395578777766, 5.633163240200781, 7.974411131896668, 6.96176550472887, 5.175148361890626, 7.6800539601305875, 4.237637872411596, 0.30676789375542735, 0.42006022729268777, 8.333943549121772, 2.3847568530591468, 9.23584078239595, 0.2736347890348999, 7.869076338707784, 10.011282828804283, 0.46406770919917284, 8.7631299657067, 2.8898412491551526, 3.9717519924950238, 3.4504980470262425, 6.820812395006602, 8.244559415874313, 0.9830035052863039, 7.665388647999832, 6.36804702876762, 1.4779496278598647, 4.194140968987604, 0.5005225805691392, 1.1097056521746673, 1.4296339651479606, 1.91706575022775, 7.10856855153979, 8.097040611325763, 7.459049429825356, 9.486518920750676, 3.502870820950038, 4.835524096379705, 4.544648307565465, 3.6841520630344013, 7.316946620611192, 2.2341799869703958, 8.709358299973879, 4.720764803832136, 3.5653084753351627, 1.9829663339197967, 7.520827386885489, 9.69363825500086, 6.81969287205091, 9.687236587648274, 8.85506319742316, 0.7868499593862098, 2.671496541967462, 5.230575083430164, 4.6272070895163235, 2.912625893844415, 8.218278680915107, 0.850165407963006, 6.464742335790641, 4.219790812078742, 4.384733817839034, 0.3179260619265144, 7.937272001685061, 1.7823233442560182, 4.14510893928455, 1.1669031894240645, 1.4209366384026634, 10.066985469515354, 9.658786603932084, 7.301922828083961, 8.826440739958077, 3.9699119121131776, 6.065643645468789, 1.460025776264673, 2.966208624955231, 7.19245105194168, 4.77365065638782, 2.2778590565486234, 5.389599430157014, 0.535168336322479, 0.8762921928695376, 5.59296318371198, 9.748547827961852, 0.6721499173688293, 10.057055942365759, 7.289519618308458, 3.6044791883877, 5.0045155169346245, 0.15784101585110447, 9.717080481643857, 3.584506728127684, 0.15399076660893565, 9.440449045156626, 5.640586484025817, 8.419066921214316, 5.4965966547516425, 0.5930583004077415, 1.7101462410304058, 4.210865359984483, 9.808850299950075, 7.455141346921371, 6.382259408179996, 2.107999036499968, 0.6450085120878267, 8.43017063056586, 5.2862846295325205, 7.586818937875275, 1.9514465132208014, 6.860841761941952, 9.144768934189644, 6.125477936409591, 7.155901177626827, 3.0339682592320796, 0.5621114766802336, 0.4427160561857645, 8.119564030275296, 5.475193066813977, 5.992076159184292, 1.0198792252895272, 6.189710709824006, 3.7941214052807424, 1.3941075364378952, 10.002484948466705, 0.20965130051569073, 0.6907828661339143, 6.784249248261199, 9.229220966644151, 9.087651029804583, 1.9813191553039466, 6.397373327513167, 9.083486738105035, 9.296262507073079, 5.173018307922238, 1.854095791020337, 2.889030830819397, 3.410762997172978, 8.804156633714557, 9.067924814489656, 7.905628682884977, 5.183542370192403, 9.624416547089554, 9.744549894503987, 0.15189682371847804, 6.979114326244055, 5.460460153393425, 0.22197983956159342, 9.495407384824073, 9.153973468399572, 7.052396141635235, 3.803097381359376, 1.977158102084764, 1.071823330332915, 5.722658709983054, 0.7750817029675404, 3.7752966231988885, 8.19131864084229, 9.812668770527715, 9.785272966809806, 3.655587924904672, 2.7375202609099003, 4.068540432552574, 2.441499265411984, 7.086621621014947, 1.9948426629968452, 5.843578297037565, 7.410636957953047, 2.2325253660234003, 5.33174234637839, 7.242987637507873, 7.48374406459952, 4.386800491974057, 7.8362508591301285, 4.935110482193244, 6.160218993764746, 0.19876957426057543, 2.174816185142031, 0.4399673425258087, 8.100127833774629, 7.269604729945379, 1.3435022011714104, 3.6789177018188024, 4.191314476840532, 3.460846424059898, 5.7008067446725565, 7.428834095347106, 3.8005396237019795, 0.9788076947463019, 9.54105835112117, 8.864977978005216, 7.178452173461169, 3.353352536735296, 5.739773016274581, 5.319696645675453, 4.6511834697471715, 7.963600781872973, 0.33931037394880115, 4.693450153773892, 8.886838289594957, 9.496356026965971, 8.52694013413341, 5.864737060440722, 2.9207809743537374, 8.699630800424684, 5.907010519574385, 2.2255860780148495, 7.805954560445328, 0.418214448782006, 1.7367111322129025, 2.868245408316089, 1.8037115800994763, 9.994072689664154, 4.1194123577841095, 5.128060441733063, 4.950081834847529, 2.952266598093196, 7.177777399218243, 1.9504027971161342, 1.2503547666372206, 0.435395496009111, 10.050553715560335, 5.5129992854490455, 2.7480486013406504, 0.5086607141900111, 0.16613229029834745, 5.978207494950668, 6.583142287051066, 2.235968644979245, 2.4510813965764378, 7.205253700497716, 9.709152625061408, 4.350997649424821, 8.555902078681873, 9.556632397588368, 9.558949701847432, 4.039019070347401, 9.098498615938585, 0.8137223174726759, 6.093479908943273, 2.3346475122425803, 1.287213236376723, 0.7426791033833401, 7.4770196554284585, 5.509156296089877, 9.288469404315464, 6.3561577917580765, 1.3606573422579615, 2.1878565715772837, 7.163420660822139, 2.510827822588252, 6.664728543731307, 9.770210932965256, 1.8557960198509982, 1.5987115920422224, 7.588187808736698, 2.7741286695934164, 8.734669993460773, 2.393968754440585, 4.295910667438827, 0.49337457888631187, 7.916742501064757, 3.6387055776814603, 6.810768218791656, 5.489166405710773, 2.070261654648132, 0.5279534761550296, 5.6891145600273045, 1.1698812673913628, 1.0433558589738368, 3.394748149997088, 2.0936566130796894, 9.009241702313371, 6.88725855757465, 3.503622596584172, 8.225502642423448, 0.6934806515071533, 8.450012244480712, 2.9702990060268983, 6.185229334676399, 2.5344727902552546, 1.122386674470356, 1.2851763898070268, 9.225167683905667, 8.031369718482162, 8.033536804664866, 9.62792124516682, 4.083869057850012, 7.497247953815377, 9.461862180520315, 8.949335211463868, 2.5544599186095107, 9.181331391667715, 0.5542493790560042, 0.5501078896361543, 5.667999653307817, 4.707330867346953, 2.4342474233608544, 3.5258065417589024, 7.503411818299173, 1.2735342123098647, 7.111357264214575, 0.5082764847373965, 6.432610829237904, 5.601275694897401, 5.628656965379458, 4.879978906550782, 7.874004930873848, 6.701657015602712, 6.004724636214316, 2.3427933743896543, 0.8739104348118286, 8.549993492092582, 3.2432976600919217, 4.122001821121197, 8.677744166178675, 9.720055382593186, 4.019834004079117, 3.6343210295126807, 1.7671906573612783, 1.0584206544894403, 4.737770398397004, 4.991448349264926, 7.540189502678899, 4.4089724652912725, 9.108923547327231, 6.265475888636845, 0.7327677738540405, 2.2159569315317342, 4.728627209026942, 5.967136114811534, 1.4807219842017705, 9.731103412394212, 5.820959572195921, 7.945090366028636, 4.528729902871073, 9.695716972983893, 6.173640169092584, 8.030919296692545, 3.013006986627169, 8.830875960818219, 0.9616708737459744, 5.7368488983261, 2.8435827724702842, 5.044449269488813, 8.658558782938009, 8.523053011815518, 5.032925478055631, 6.46505272113003, 8.41698810413928, 2.271551527695498, 8.019657088405891, 4.248397347433868, 5.434410814596362, 5.87702730612838, 8.13873059342253, 7.29315535921976, 1.5835621765364671, 9.438107420401378, 6.443584660379191, 4.977499616037361, 3.7602957720946284, 6.627030404293169, 1.8507442180941802, 7.234426412109568, 1.0096188734989675, 4.325328177410389, 6.855568536577373, 2.3335039401600155, 2.327386126927713, 4.8507794058358416, 6.675449782956487, 9.50615997817652, 0.936725403745987, 7.437333930876326, 1.3057514904638756, 2.6748230110640345, 0.1591368350908883, 7.9010160743971305, 3.8434220216588586, 9.857948410825172, 7.332440837419822, 4.625495882605516, 1.0150558616713912, 9.570354722933095, 5.219516749282508, 8.702519252944395, 9.614522723323962, 0.6786057118718546, 1.4797616096230903, 7.507859773439737, 9.530680244363431, 4.075349146745002, 7.355188879402928, 3.622483603877291, 7.092179434842819, 8.337666588321508, 1.7349808969259395, 7.396354818628626, 9.736556785047487, 1.6387331848947606, 4.049979059395504, 8.432778437086569, 0.2609052354115481, 6.709671086781798, 0.6279305539903578, 9.604909712221966, 1.394656021510231, 0.45049233516265097, 2.106957283466125, 9.249712895328084, 0.8818678781567401, 1.8854866064109255, 2.596930120657539, 0.5289763482289344, 7.580671308973313, 8.976669676443434, 5.915930716160445, 6.60302957048556, 4.605010594410738, 6.8942209208768395, 3.4310723659677533, 8.618410584277168, 8.56758888754065, 6.192455340933354, 6.87273522058458, 8.9185510927374, 6.599589349494384, 2.1264548094728375, 8.129644253919013, 10.013874546115344, 1.2613183250962023, 3.5963296539527865, 8.504329606355649, 8.659680028105752, 6.05480776498968, 0.21606273753877905, 7.017688447098871, 6.566705488315275, 6.854170853969451, 5.521331062398372, 1.448637569256871, 6.699710105554509, 6.764929582244767, 4.801312882791608, 6.294782103282471, 3.3888916475125943, 6.800380787392824, 5.072720936266494, 8.360754662303973, 8.473255832308638, 7.391855687075847, 2.7864244827168947, 2.584917639535093, 8.08827557135335, 3.6116938503569163, 2.5547573282290426, 7.031206329297323, 2.2978958592726975, 8.085892569160094, 7.871761711611832, 7.032183036498193, 2.128754434293286, 9.873436248265794, 6.053920247783407, 0.8722212951072427, 0.7969876183470247, 7.3479549232762436, 1.1145221693338159, 0.828891069326697, 6.314476221819994, 1.5528647569332388, 5.194163168232757, 10.079629392218612, 0.9998755910088918, 9.294672401340856, 6.233801117705696, 5.641289879215355, 9.980220829630236, 3.0982606732996874, 6.727913883826119, 3.3189012919185337, 2.6065384723415472, 5.59890227741837, 3.132636306218203, 4.529503732418242, 9.220223813236439, 4.489431552073145, 8.140810910330355, 6.419595244955732, 6.7078479981145716, 5.909288548866097, 3.4889427549470375, 1.0275014751374612, 8.708008329027724, 6.262768766721237, 9.20907726028335, 4.4290551303249375, 0.8417252382055961, 7.203254325576821, 1.8826491666671852, 4.783660682799287, 0.5880835333660638, 3.7292812161297264, 7.70504645637309, 0.4742866155518487, 3.2975523529145234, 2.1953182179088393, 3.7771759891487955, 2.8238348237690283, 4.686672081404346, 3.5828156069592088, 1.3641313922055487, 1.0170355405812592, 1.311077715521266, 1.8289208512336341, 9.640921517289675, 9.487322006688466, 3.237133522478438, 5.405738766129076, 8.620317751521089, 6.030221847465738, 4.489125486460493, 9.049778929297236, 7.914765749717863, 8.591380256082116, 6.486070538617799, 8.537499053923598, 6.967547379567252, 9.812647917548173], "expected": [1.4928886392896394, 11.387094556020012, 2.243251953020542, 1.4530444714770565, 1.2598362269413415, 2.40150521678047, 1.034450300486506, 0.6877885861946875, 1.3856569056982633, 1.3949195752390426, 1.384618987047796, 3.1555725673811157, 1.8339517465133923, 1.5212430683440612, 1.4783151433353552, 1.265024747067764, 1.2963746958544338, 2.165334677789323, 1.5067725439785167, 1.3103006741590362, 1.0144339598331378, 1.5050886378241886, 1.4162952488031284, 1.2886515737958404, 1.4789213182513457, 1.198021753745353, 1.290629483603327, 1.4335371401962715, 1.222143181576168, 1.0523578000686888, 1.2917325045565777, 36.35941428892082, 1.3985506545100923, 2.0557333240445006, 1.3134236370331693, 1.413101889544041, 44.05662506324022, 1.2491953273835084, 1.2970064477192589, 3.455420704954766, 1.655990947248977, 1.6406281149466608, 1.196695237492342, 1.2717070595154898, 1.183029859845762, 1.3688878245999048, 1.4959773129056966, 1.2832129140686739, 1.623711027257305, 9.663764662339053, 1.7000857173216588, 1.3064336097249882, 9.29511129673801, 2.2943840865738734, 1.207033976604201, 1.0703614911904082, 1.9374508391488412, 1.274576422738803, 0.9079270446803213, 1.1773270276457843, 1.191622125360524, 1.0467652626090862, 4.922155211548233, 1.5161468205861586, 1.432601133590637, 0.5526117587421876, 1.2784776695863613, 1.4207438988411187, 1.4327287133624826, 3.329303606685512, 1.3075214950451663, 1.8352999337253837, 1.4649324644489252, 1.19513900627936, 1.423359719716767, 1.1317483860836763, 1.216310461602693, 1.3374966704121936, 1.0384468924211563, 1.4977140373472972, 1.4032795501984119, 3.9080514533370874, 1.6111754168344155, 1.4341389631094326, 1.287475054811597, 1.318994666889275, 7.717149109934494, 1.0335175147981608, 1.2592312720009193, 1.8096123768467207, 1.2972901557516425, 174947.11409949086, 0.9514761824613599, 1.4410218412275078, 1.2437262007624736, 1.20688241203575, 1.4824279898234727, 1.5401063214516364, 220000.37855132887, 1.0959596509333103, 0.916373822594761, 1.038180046172558, 1.208958800405666, 1.627422043121044, 1.5377767153703052, 1.398189487387109, 1.3313670013122265, 1.7966812368489753, 0.5052103476483693, 1.5039481004489927, 1.139072615276126, 8.414726814184926, 1.1616659090334818, 1.210507637320228, 2.038082973413717, 1.4832938192790683, 0.7798327702734068, 3.780349938012313, 1.4566089429456495, 1.2188796167490439, 1.6136152162675836, 1.4289630775848645, 1.5015088241178596, 1.5305258309857743, 4.8034088733922, 1.5768530511628627, 1.7500354736116004, 5.285041761875866, 2.020174595723789, 1.3158445850616032, 2.555794206122929, 1.0451120126111375, 1.2195741391741695, 1.1041128569743506, 1.1345820331699374, 27.33050730858687, 1.1499597841101499, 1.5404784371726377, 1.4367573954016752, 3.3716130276647647, 1.3181868946926696, 1.2132609677942592, 1.0042454319371001, 1.3055270478012624, 1.0000314437127047, 2.7550998934020177, 1.276049004613621, 7.2528711915369035, 2.0292782742935693, 1.219068770823999, 1.6036464954998828, 7.243697017396518, 1.4526460844686158, 1.5358188580759105, 1.4254641815168279, 1.482737936350072, 1.4032677914745788, 1.0918909824837244, 1.337135918475507, 22.346967644400486, 1.0320377268798138, 1.0918373389236207, 2.084744041063062, 1.2278581247960423, 1.4307316799629928, 3.183544383731253, 1.5139129797705682, 2.977983383120758, 11.84805605412349, 0.9809470744247856, 2.08572359129894, 0.9146088818997228, 3.102352237403237, 0.5988275706076089, 1.2746428912667687, 1.6172752159478447, 1.1619081112412628, 2.9310790934144033, 1.6768692865123627, 2.871427315497046, 2.271527540521416, 1.1914792879041183, 3.546613713433896, 1.2502936612907305, 1.5311326819141278, 3.163569668800357, 1.6012068464877516, 1.2402669941997921, 1.1320305649589226, 11.839829273124632, 1.7803967458291587, 1.2310399995310983, 1.2427186952197276, 5.623705584147101, 4.859172233470102, 0.6500330802485629, 1.1979095415608054, 1.205046431189751, 1.6239281209679106, 0.09751497570207178, 4.414351988833511, 1.0453621503310764, 1.5144577837728261, 5.730266965872235, 1.4572941383693134, 2.6398262728916926, 2.042433938576452, 4.354468757589546, 1.4177908736065186, 9.550699660369599, 1.295015678054649, 1.2531254340535591, 0.5108568532316226, 3.1907184037083978, 1.449378185574979, 1.0724703277366623, 0.9202286208234169, 51.093930985437105, 1.516127991136934, 1.8610521261146824, 1.337562480014271, 1.0834598590689617, 1.1672197567012268, 1.7686729347075432, 1.2117470216394854, 1.4636825711388863, 1.2032910202385645, 1.3663482981195292, 1.081645448213921, 2.462111226126645, 1.217630379841605, 0.19960474498292974, 1.1507812291392643, 1.6525968888525493, 1.0935048589195588, 1.2294701376424877, 1.1863380026203583, 1.3791446571641206, 2.4934274380363073, 1.4738126145118755, 1.514059129281357, 1374069611.9681726, 1.195408347540067, 1.9581115464467447, 1.4757911312568375, 1.2570162752444725, 265508168.92202616, 1.2157850338985168, 1.64561207225051, 1.2820685786824029, 1.2552646130687724, 3.3280609363911573, 1.3115673830303538, 138.0159387362491, 1.8816328128562443, 1.0141083531111705, 1.4674208105507967, 0.8167436639693386, 1.5585705058619745, 1.4986122870713268, 1.2384077320752445, 1.5234510845991982, 0.9211209920152749, 1.1765760176424573, 1.2465333310669522, 1.423127456308039, 1.05109052325165, 1.6630240133812721, 1.3356636241460302, 1.0098829957630295, 1.4528405052334765, 0.964573406594066, 0.9108130138392014, 5.318547475723282, 2.6327854636524473, 1.0752856661217118, 1.282249720189511, 27.319410684641582, 1.1558811328855416, 1.1311097103718275, 1.1417378720035327, 1.9314124174297609, 1.2794522349549746, 1.6720746626554803, 3.8390941874406055, 1.602337146454178, 1.5293122557848147, 1.3128159708087304, 7.367883317899561, 1.4262789881353706, 1.855294189436969, 12879.784175897063, 1.2157464492356174, 1.5270796328382479, 1.266189540897255, 2.241839576076169, 1.6326640364749587, 2.034021136000411, 1.4000052360664896, 2.0811050873383197, 2.2143298936737366, 1.338647346180356, 1.0629758023099722, 1.1452030822170234, 1.9325546714724622, 1.402631787222592, 1.2905703639103485, 1.2270439142266358, 2.276477878625216, 3.278446602309594, 1.3477321059938818, 0.8892582412576006, 0.9974466438242413, 1.2156121691826014, 1.5815662664223156, 1.9871523611865238, 612.4873487512502, 1.3588509464310867, 4.0455724001377895, 12.516048839672278, 1.4222804021973168, 1.4625048824623876, 1.6977224327703468, 3.501811028774254, 1.3918633463193033, 2.5641162390129875, 1.3705514182075111, 1.350505438064601, 2.915785491563492, 1.309598272313593, 4.740519023082419, 2.255242617232688, 1.2644773227743804, 1.4645939644715251, 1.5514941820545114, 1.1529041651345386, 1.6119692805354355, 0.07612830282343919, 1.3121301300228752, 1.1400750916980973, 1.1934715007860657, 1.7864376928708745, 1.4094134276584722, 1.1737919369280703, 1.327295919469439, 1.3169347853935778, 1.6006498461012648, 0.16676123606328344, 1.7414240230365061, 0.7786537492744676, 2.355054145757943, 1.2689732418365562, 1.393739484338904, 0.8899540038149917, 1.8369308331679708, 1.25694465969888, 2.1567776653378994, 1.3077092997374975, 1.552555640666628, 1.3294807445111267, 1002.5799687937132, 358.67865159847713, 1.2837337089589185, 1.2753408782430848, 1.1108531802931436, 13.357396337650925, 1.3607100897590674, 1.206482318692143, 0.9707055782142028, 0.0011363814722212642, 1.2497973411459213, 1.3880567483849169, 0.7464640217777512, 1.2753814943289403, 1.3944820378740257, 1.412865367011813, 1.08430876856292, 1.8939072285406802, 1.3596315841141091, 1.565390477558919, 1.2895536791552797, 2.6803279669030378, 1.100346487430682, 10.089137907832956, 2.2325082056115444, 1.2948688304540208, 1.3983283516408644, 1.2278547584022592, 1.8889050454005012, 1.263969196252265, 1.656101411481602, 1.4794363437344358, 1.3747235217136489, 0.7823075649568209, 0.9744671895168853, 1.4901250140813012, 1.4112660096712515, 1734.3850708795383, 3.309397917868821, 1.2652499374384485, 1.3701728709026348, 1.6378852101458192, 1.2960586722078309, 1.5105040541496078, 0.9473215919088609, 2.542076001636471, 1.2764507862751655, 1.5080946017439385, 1.2420956586069394, 1.1957462177511193, 3.734844468359482, 2.8993321016590254, 1.7378292241359383, 1.0164914952545752, 1.4808347658374574, 1.5645344426984067, 1.1350255731244574, 2.093920345551509, 0.9252043488058355, 1.491688686882286, 1.539980499798864, 0.8396547571072639, 0.934252481773145, 1.5724093975642481, 2.9111444609591586, 7.122872055019399, 1.6039495649957793, 2.4833988459570753, 1.0789759861086383, 0.8449395730559359, 3.660482621363092, 2.8809242199322886, 1.19655018095556, 1.352063112856289, 1.6472075296600885, 1.2369442309858594, 1.0830728947694483, 1.17322116242362, 1.2853254010438084, 0.5287314971155831, 1.2478004200433834, 1.3110975224756412, 1.368966105200408, 4.315141848537266, 1.1082189503846764, 7.478605316143074, 1.0454229458733986, 2.074929343674341, 1.340750597530993, 1.0901752984413653, 1.2857469787801723, 2.3421877066124566, 0.9231892454634618, 1.3124077974274149, 2.9246601493979067, 2.714073149171667, 1.1284477679256748, 3.762529806772391, 1.4587296474922657, 1.4913735570975393, 1.315838770284072, 3.1724675406626024, 1.2251625432897648, 0.5216161546087906, 1.1675369527835655, 56.40720093907575, 1.8034810940115382, 239.7241856631422, 1.4862361703165543, 1.3951354696752183, 1.0708381137507763, 0.45048426641153944, 1.2449247811685664, 2.0523952362916855, 2.3085787079969435, 1.4038593332519997, 1.391515659831171, 3.5555434419700207, 3.4188351246913937, 1.624737656471924, 0.5842047850812474, 0.13961036344684227, 1.467264471870253, 1.1962975086179304, 1.2981861101345826, 0.719182006649884, 1.4199520544911268, 232.25607726835494, 0.7185490357564395, 104.74007949208864, 1.1918467071928422, 1.190215224821136, 1.2177061770948407, 1.9626922555937516, 1.30156399027644, 0.9888644586082844, 2.191107526937206, 1.4045131484664897, 1.063813740114188, 1.3834249687336062, 0.8579077650714221, 1.051419397653906, 1.0915762744788842, 1.7086608380466752, 1.5855565652740702, 8863397.628636288, 1.369476971192482, 1.4189646411444972, 2.529465169635577, 396382.2896310264, 1.2739379241112576, 1.2590845105323563, 4.8759125588664025, 1.1770992605798414, 1.4107615815133825, 2.599132154300357, 1.2392404049448318, 1.6960782728356762, 1.8401915925940076, 1.3789373144593737, 15.376836540200333, 2.1112463824638583, 4.644834474804514, 0.8426479325342272, 1.3598443181971043, 1.3104453513857577, 1.3101423315562364, 8.644874485126122, 1.3376702690555868, 0.9703954166833234, 51.52522768249769, 1.2037723293946294, 1.2826197423100842, 0.8137571315047241, 1.622373967207792, 1.133178001367779, 13.83503733035886, 1.0210313098598274, 1.0543391138115477, 1.5399871220960375, 1.3703766004458184, 1.3840546633752528, 1.3075025253426602, 1.9065346739381954, 1.2958818240121452, 1.0959873183086155, 1.345337417012802, 1.8345065896145427, 1.5253095141599176, 1.11892344124838, 3.8021784625469834, 0.5215407004563006, 0.9544528650666487, 1.60686544725093, 1.7894165031091152, 0.15396548091720008, 1.3723903383176714, 1.2922578082867575, 1.1671195350212629, 1.7222745156370742, 0.0990171975127227, 1.3212673902848087, 1.4375946424367838, 0.6015605475710807, 1.3569024965183196, 1.2277197674926852, 1.3237563434903168, 1.2371968021576008, 0.10718397698842846, 1.1041218631664464, 133.9695224314512, 12.06531172590744, 1.287394284097027, 3299.5314645639623, 1.247909352088624, 0.8166667945907409, 1448.9190364573467, 1.3168747936996459, 1.4469337891332172, 1.121671122853194, 46352.930204610864, 1.7757025117889975, 1.842694067363617, 2.0078295827717225, 15.861195332393573, 0.9154517756521693, 0.8242546552580085, 1.2847375423513192, 3.508042872566554, 2.298584703058296, 1.0078011858932339, 4.6798423052114515, 1.3005675634178822, 1.1030053652078822, 3.2525384732360045, 0.7032903110619335, 0.5205876475006206, 1.2668158984459765, 6.645428338698112, 6.77706712154649, 1.2013914226789335, 1.5451408250768564, 1.5067994010603285, 2.001895304180247, 2.1730012852314258, 1.3527784334852058, 1.5804308367506288, 1.162505662206901, 2.6356840834733903, 4.539177751703603, 1.3127415862029017, 1.3721089168042233, 1.3544883708761635, 3.8358866995580447, 0.4057182488120974, 1.356266231874142, 1.950328413118468, 0.7217829993080326, 1.7332243646502736, 1.296698871360952, 1.477901531353945, 10.587753842542483, 2.3170446921082055, 1.0294141176440852, 1.2825174733531435, 0.901451234131095, 1.2514092810610076, 1.284655473034333, 10.03406637886616, 1.3406188598200193, 1.169244302238924, 1.2280137847431412, 2.8488570642015216, 1.2065444028603924, 1.2941975921157487, 1.243123654057257, 1.5271130594744524, 1.5011920277341042, 1.2324860238272581, 1.2365210140586171, 2.05464790016107, 1.347097012042563, 1.2358783681657042, 1.2839249744202987, 1.5977355601703873, 1999.0591572456208, 0.6966213027812777, 1.2283687529350176, 0.8671188811408427, 1.294407236072452, 1.9183274773836, 1.045471551535068, 2.0102441117178347, 1.3485371876069274, 1.6747854148061319, 1.232417001915472, 1.4435392885700633, 7.732201414760246, 0.9959112531692067, 1.4032399438000116, 1.83252642593936, 1.2831140767769518, 1.5177648309442953, 1.7384884326810737, 1.2524104681953974, 1.3406289942756344, 1.3685636663203307, 0.7648419668584081, 1.9835682844787006, 5.236259256365149, 3.3530321058517654, 1.4244909276129096, 1.2675949798155426, 1.3690911245822386, 2.382330466679698, 1.490826581960783, 1.1394683246325932, 1.864591307979947, 0.35052432174156584, 1.100903830381224, 1.4799789840376192, 1.4744987064840371, 3.0300570066560057, 1.1974065530712266, 1.4543683480363179, 1.3381565957519426, 2.3221888388293577, 30898130.323441207, 1.141938048816765, 1.0365972634268767, 0.8249486990833371, 1.5937055592479927, 1.365072454602847, 1.2070362821670506, 0.8924893332614623, 0.029800973679553547, 1.24696881054892, 8.19045323616031, 1.1524203861026339, 2.3763606310513055, 1.4384451618731662, 1.534644446259402, 1.4737608523730352, 3.004934678811559, 2.0708669996242866, 1.451285641837763, 1.2742546805277932, 2.666722523942316, 0.9046895059716797, 1.8286994200904108, 1.1808426430948211, 1.0343912772353423, 0.9366925827740449, 1.3695182392972236, 1.561912587766766, 7.93143364327019, 1.3541802774978227, 1.169252108276232, 1.1882093896029584, 32.81698765417996, 1.5252907695125935, 1.5413176956810024, 1.3181919879082946, 1.1609526485721051, 1.1363141029002866, 1.3234357321615295, 1.15144515089542, 549.7120986061523, 1.2976236278146291, 1.4953949048258668, 0.7609875611125414, 1.4158302641098177, 1.1854990781765014, 1.4321108263573818, 1.2574547236985998, 1.1925907805491607, 0.7068200755292836, 1.3372373337409558, 1.0228756569925643, 1.0067234495583222, 1.2144155666211396, 1.2394034163412044, 1.3062647057503056, 15.355182353749713, 2.7499780102735842, 1.7083153893175516, 0.9288373128635811, 1.365139380322454, 1.1788485500792185, 1.7184052153852534, 1.4170052768141748, 1.0179804964679884, 1.1164645634832258, 1.9288186006833166, 1.3363738565271421, 1.7726556175085504, 1.405004088574923, 346.7850932145788, 2.743110162443478, 1.3166404947562542, 1.2876771029991798, 1.3522211321594009, 1.4160506745061034, 0.9124329605583591, 0.8719142529038721, 1.4291942906633168, 1.2047197999254828, 1.1430964193948572, 1.22873269905086, 1.3315920586561096, 1.1454189030298214, 2.0244069246463527, 0.6597113633879653, 1.5042187611895608, 1.8826901655282848, 1.2440484998617658, 1.246770835124267, 1.6941080788690925, 1.4144816953295347, 1.2489367572546481, 1.427729703120466, 0.950311307828436, 1.2813132173493649, 1.3700282346826662, 2.3238480323214827, 598.8427649312689, 1.7078467783056832, 1.4074728549344444, 1.1934990113624067, 1.1452170193425375, 1.0126890454674202, 2.973382401461294, 1.970868633624285, 1.3392180037639354, 1.3660196104623876, 1.8864981291612746, 1.4150243501825763, 0.9370161999963911, 2.055223800548483, 3.901461098658998, 1.2800536043850934, 1.11467796566204, 10.34530122447234, 1.467921889378862, 1.410319831029195, 1.4063575790339042, 2.629153877367754, 1.247100534533489, 1.359000682175234, 1.465383403737062, 1.833532685072851, 0.9803665244217393, 1.2828426343784223, 1.378587635807786, 1.250266963015437, 2.0536754816729603, 1.8278370919878495, 6.263168165550424, 4.016596454598765, 1.4270208715470536, 1.2334685718743628, 1.312815231554122, 1.225166324583702, 1.3729836569816551, 1.8753221491129541, 1.5411996437854099, 3.5459129131871623, 1.1031508838507909, 1.315958458403327, 1.3212119373047393, 1.3048557790237676, 1.293395014051605, 1.2448403592591901, 1.1123019587013763, 4.850235639348887, 1.0014849685015919, 1.3931761757804613, 1.393303265641616, 1.4851083805010026, 1.2728563737059904, 2.849498271372724, 1.343235350275444, 1.4953364551365722, 0.9624204378128745, 1.3445278800008147, 1.247323018587542, 1.210940189474783, 0.1458089831292672, 1.3873479713811887, 1.296598546379075, 1.2995830044172845, 1.620930325160663, 1.4176345718871648, 1.0087748532965082, 1.7095638213442723, 9.185645939270161, 1.3355560999439886, 1.3050590639896424, 0.9394384517572967, 1.1330048392755965, 20.5056707944027, 1.9428088031499593, 8.958458716018784, 1.6906554502882674, 4.2104476774111514, 2.263655480761745, 2.19225508608306, 1.1656804877488556, 2.3233054747908164, 1.2952505204087337, 1.5829698584027556, 1.2663942833090154, 2.1813836945715357, 0.7123561134521491, 1.265499443814107, 0.8634128474981749, 1.36304772991221, 1.1190957730505116, 0.8073544787405741, 1.113633446004609, 2.2865821826268244, 0.9465226248647765, 1.1622582536331227, 1.1906268758425635, 0.8995057306183996, 1.2842731936157605, 1.4658609078311453, 1.244433028075416, 1.3529656417414873, 1.3095945159115099, 1.2572887946218094, 1.553952814224659, 1.4520161529345645, 21.861864535420985, 1.6110239942720128, 1.995497545333466, 1.4989416923384833, 1.3449820124800094, 1.3737364481485885, 1.417070837644471, 2.22455056774524, 1.0868918789222897, 1.2684551502728096, 1.4822037399131422, 1.742630274804672, 1.3942044864556173, 0.3240745836416368, 1.5383913472393347, 1.41534364741562, 1.3626312781956424, 1.2345723233295793, 1.3200894178198874, 2.4727254928183533, 1.2931165158642637, 1.2550934224096622, 1.501920679917859, 58.344604311956665, 1.587294771230666, 1.2532501229831636, 1.3290507254758632, 5.722054889708933, 1.8535857886901954, 1.2022136933904106, 1.1741660621398893, 1.295380561653335, 3.3920005567101787, 2.075238836009442, 21164658.471165355, 1.578337967783385, 2.169903769355088, 2.4152513832597284, 2.0051866610107445, 1.1579020844942982, 1.5486768065075587, 2.108619718507381, 0.9474410891707584, 0.963730709007844, 1.6643287709160652, 1.0300469935718313, 0.9236050836959904, 1.5041856833968765, 1.0669861685610045, 1.6771981137921415, 2.0177305551452904, 0.9999500204191784, 1.9233411144887758, 1.2416006791057683, 1.262288641940697, 2.344649919500312, 6.0391045648903106, 1.3934941899159, 1.2328906228037488, 1.2482582590436606, 1.2356468229984803, 1.5371317850144595, 1.4411772687905924, 1.351125958808488, 1.3575934212001461, 1.7651723527424872, 2.225648079846449, 1.3563302955740015, 1.377168169525791, 1.2650774520250188, 1.009282970589365, 1.3009597964962374, 1.633751581005685, 1.6296546830938061, 1.2602564461871355, 0.9708376541310864, 1.5141898872888861, 1.085116975584748, 7.727193198699323, 0.9000936891255777, 1.2424778978333886, 7.379609474929319, 0.8075589639456193, 1.2050939239479173, 2.3649999813773857, 1.4033023358107815, 1.3694763827899274, 1.4420432362615883, 1.1684490097640874, 1.537861103144215, 1.0028646391959006, 1.0865320971270322, 1.2398116938158665, 2.574304332620487, 3.715771170725503, 1.3247760928627956, 1.2343467185016388, 1.286912475140368, 1.7442242129845011, 1.338369413260474, 2.3269824426462433, 1.6235640876950663, 1.4066078243108378, 1.4045195949823945, 1.326422578066269, 1.2834726647557526, 1.7152524854784235]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/runner.py new file mode 100644 index 000000000000..38a516ebbd47 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/fixtures/python/runner.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# +# @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. + +"""Generate fixtures.""" + +import os +import json +import numpy as np +from mpmath import mp, mpf, power + +# Get the file path: +FILE = os.path.realpath(__file__) + +# Extract the directory in which this file resides: +DIR = os.path.dirname(FILE) + + +def gen(c, d, name): + """Generate fixture data and write to file. + + # Arguments + + * `c`: first shape parameter + * `d`: second shape parameter + * `name::str`: output filename + + # Examples + + ``` python + python> c = np.random.rand(1000) * 10.0 + 0.1 + python> d = np.random.rand(1000) * 10.0 + 0.1 + python> gen(c, d, './data.json') + ``` + """ + mp.dps = 50 + y = [ + float(power(power(mpf(2.0), 1.0/mpf(dv)) - 1.0, -1.0/mpf(cv))) + for (cv, dv) in zip(c, d) + ] + + # Store data to be written to file as a dictionary: + data = { + "c": c.tolist(), + "d": d.tolist(), + "expected": y + } + + # Based on the script directory, create an output filepath: + filepath = os.path.join(DIR, name) + + # Write the data to the output filepath as JSON: + with open(filepath, "w", encoding="utf-8") as outfile: + json.dump(data, outfile) + + # Include trailing newline: + with open(filepath, "a", encoding="utf-8") as outfile: + outfile.write("\n") + + +def main(): + """Generate fixture data.""" + c = (np.random.rand(1000) * 10.0) + 0.1 + d = (np.random.rand(1000) * 10.0) + 0.1 + gen(c, d, "data.json") + + +if __name__ == "__main__": + main() diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.js new file mode 100644 index 000000000000..359f963c1b9e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.js @@ -0,0 +1,102 @@ +/** +* @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 isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var median = require( './../lib' ); + + +// FIXTURES // + +var data = require( './fixtures/python/data.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof median, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y = median( NaN, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = median( 2.0, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided a nonpositive `c`, the function returns `NaN`', function test( t ) { + var y; + + y = median( 0.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NINF, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a nonpositive `d`, the function returns `NaN`', function test( t ) { + var y; + + y = median( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( 2.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the median of a Burr (type III) distribution', function test( t ) { + var expected; + var c; + var d; + var y; + var i; + + expected = data.expected; + c = data.c; + d = data.d; + for ( i = 0; i < expected.length; i++ ) { + y = median( c[ i ], d[ i ] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 12 ), true, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.native.js new file mode 100644 index 000000000000..ed4ba59206eb --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/median/test/test.native.js @@ -0,0 +1,111 @@ +/** +* @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 resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); + + +// VARIABLES // + +var median = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( median instanceof Error ) +}; + + +// FIXTURES // + +var data = require( './fixtures/python/data.json' ); + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof median, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) { + var y = median( NaN, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = median( 2.0, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided a nonpositive `c`, the function returns `NaN`', opts, function test( t ) { + var y; + + y = median( 0.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NINF, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided a nonpositive `d`, the function returns `NaN`', opts, function test( t ) { + var y; + + y = median( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( 2.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = median( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the median of a Burr (type III) distribution', opts, function test( t ) { + var expected; + var c; + var d; + var y; + var i; + + expected = data.expected; + c = data.c; + d = data.d; + for ( i = 0; i < expected.length; i++ ) { + y = median( c[ i ], d[ i ] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 12 ), true, 'returns expected value' ); + } + t.end(); +});