diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/README.md b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/README.md new file mode 100644 index 000000000000..d1ac38f4ae5e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/README.md @@ -0,0 +1,265 @@ + + +# Mode + +> [Burr (type III)][burr-distribution] distribution [mode][mode]. + + + +
+ +The [mode][mode] of a [Burr (type III)][burr-distribution] random variable with first shape parameter `c > 0` and second shape parameter `d > 0` such that `c * d > 1` is + + + +```math +\operatorname{mode}\left( X \right) = \left( \frac{cd - 1}{c + 1} \right)^{\frac{1}{c}} +``` + + + +For `c * d <= 1`, the [mode][mode] is `0`. + +
+ + + + + +
+ +## Usage + +```javascript +var mode = require( '@stdlib/stats/base/dists/burr-type3/mode' ); +``` + +#### mode( c, d ) + +Returns the [mode][mode] of a [Burr (type III)][burr-distribution] distribution with first shape parameter `c` and second shape parameter `d`. + +```javascript +var y = mode( 2.0, 1.0 ); +// returns ~0.577 + +y = mode( 4.0, 12.0 ); +// returns ~1.751 + +y = mode( 8.0, 2.0 ); +// returns ~1.066 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = mode( NaN, 2.0 ); +// returns NaN + +y = mode( 2.0, NaN ); +// returns NaN +``` + +If provided `c <= 0` or `d <= 0`, the function returns `NaN`. + +```javascript +var y = mode( 0.0, 2.0 ); +// returns NaN + +y = mode( -1.0, 2.0 ); +// returns NaN + +y = mode( 2.0, 0.0 ); +// returns NaN + +y = mode( 2.0, -1.0 ); +// returns NaN +``` + +If provided `c` and `d` such that `c * d <= 1`, the function returns `0.0`. + +```javascript +var y = mode( 1.0, 1.0 ); +// returns 0.0 + +y = mode( 0.5, 2.0 ); +// returns 0.0 +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var mode = require( '@stdlib/stats/base/dists/burr-type3/mode' ); + +var opts = { + 'dtype': 'float64' +}; +var c = uniform( 10, 1.1, 10.0, opts ); +var d = uniform( 10, 0.1, 10.0, opts ); + +logEachMap( 'c: %0.4f, d: %0.4f, mode(X;c,d): %0.4f', c, d, mode ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/burr-type3/mode.h" +``` + +#### stdlib_base_dists_burr_type3_mode( c, d ) + +Returns the mode of a Burr (type III) distribution with first shape parameter `c` and second shape parameter `d`. + +```c +double out = stdlib_base_dists_burr_type3_mode( 2.0, 1.0 ); +// returns ~0.577 +``` + +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_mode( const double c, const double d ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/dists/burr-type3/mode.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( 1.1, 10.0 ); + d = random_uniform( 0.1, 10.0 ); + v = stdlib_base_dists_burr_type3_mode( c, d ); + printf( "c: %lf, d: %lf, mode(X;c,d): %lf\n", c, d, v ); + } +} +``` + +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/benchmark.js new file mode 100644 index 000000000000..708f5e57ef54 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/benchmark.js @@ -0,0 +1,59 @@ +/** +* @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 EPS = require( '@stdlib/constants/float64/eps' ); +var pkg = require( './../package.json' ).name; +var mode = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var opts; + var c; + var d; + var y; + var i; + + opts = { + 'dtype': 'float64' + }; + c = uniform( 100, 1.1, 10.0, opts ); + d = uniform( 100, EPS, 10.0, opts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mode( 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/mode/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/benchmark.native.js new file mode 100644 index 000000000000..03ddc9c5d988 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/benchmark.native.js @@ -0,0 +1,69 @@ +/** +* @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 EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var mode = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( mode 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, 1.1, 10.0, arrayOpts ); + d = uniform( 100, EPS, 10.0, arrayOpts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = mode( 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/mode/benchmark/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/c/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/c/benchmark.c new file mode 100644 index 000000000000..f0dc37761244 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/benchmark/c/benchmark.c @@ -0,0 +1,140 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/stats/base/dists/burr-type3/mode.h" +#include "stdlib/constants/float64/eps.h" +#include +#include +#include +#include +#include + +#define NAME "burr-type3-mode" +#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( 1.1, 10.0 ); + d[ i ] = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 10.0 ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_dists_burr_type3_mode( 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/mode/binding.gyp b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/repl.txt new file mode 100644 index 000000000000..eb36aabf9e6a --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/repl.txt @@ -0,0 +1,46 @@ + +{{alias}}( c, d ) + Returns the mode 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`. + + If provided `c` and `d` such that `c * d <= 1`, the function returns `0.0`. + + Parameters + ---------- + c: number + First shape parameter. + + d: number + Second shape parameter. + + Returns + ------- + out: number + Mode. + + Examples + -------- + > var y = {{alias}}( 2.0, 1.0 ) + ~0.577 + > y = {{alias}}( 4.0, 12.0 ) + ~1.751 + > y = {{alias}}( 8.0, 2.0 ) + ~1.066 + > y = {{alias}}( 1.0, 1.0 ) + 0.0 + > 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/mode/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/types/index.d.ts new file mode 100644 index 000000000000..7b91fcd58394 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/types/index.d.ts @@ -0,0 +1,66 @@ +/* +* @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 mode 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`. +* - If provided `c` and `d` such that `c * d <= 1`, the function returns `0.0`. +* +* @param c - first shape parameter +* @param d - second shape parameter +* @returns mode +* +* @example +* var y = mode( 2.0, 1.0 ); +* // returns ~0.577 +* +* @example +* var y = mode( 4.0, 12.0 ); +* // returns ~1.751 +* +* @example +* var y = mode( 1.0, 1.0 ); +* // returns 0.0 +* +* @example +* var y = mode( NaN, 2.0 ); +* // returns NaN +* +* @example +* var y = mode( 2.0, NaN ); +* // returns NaN +* +* @example +* var y = mode( -1.0, 2.0 ); +* // returns NaN +* +* @example +* var y = mode( 2.0, -1.0 ); +* // returns NaN +*/ +declare function mode( c: number, d: number ): number; + + +// EXPORTS // + +export = mode; diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/docs/types/test.ts new file mode 100644 index 000000000000..6cced5a065fc --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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 mode = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + mode( 2.0, 1.0 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + mode( true, 3 ); // $ExpectError + mode( false, 2 ); // $ExpectError + mode( '5', 1 ); // $ExpectError + mode( [], 1 ); // $ExpectError + mode( {}, 2 ); // $ExpectError + mode( ( x: number ): number => x, 2 ); // $ExpectError + + mode( 9, true ); // $ExpectError + mode( 9, false ); // $ExpectError + mode( 5, '5' ); // $ExpectError + mode( 8, [] ); // $ExpectError + mode( 9, {} ); // $ExpectError + mode( 8, ( x: number ): number => x ); // $ExpectError + + mode( [], true ); // $ExpectError + mode( {}, false ); // $ExpectError + mode( false, '5' ); // $ExpectError + mode( {}, [] ); // $ExpectError + mode( '5', ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + mode(); // $ExpectError + mode( 3 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/examples/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/examples/c/example.c new file mode 100644 index 000000000000..a472236ff3ca --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode.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( 1.1, 10.0 ); + d = random_uniform( 0.1, 10.0 ); + v = stdlib_base_dists_burr_type3_mode( c, d ); + printf( "c: %lf, d: %lf, mode(X;c,d): %lf\n", c, d, v ); + } +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/examples/index.js new file mode 100644 index 000000000000..9834e5e84de8 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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 mode = require( './../lib' ); + +var opts = { + 'dtype': 'float64' +}; +var c = uniform( 10, 1.1, 10.0, opts ); +var d = uniform( 10, 0.1, 10.0, opts ); + +logEachMap( 'c: %0.4f, d: %0.4f, mode(X;c,d): %0.4f', c, d, mode ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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", + "mode", + "continuous", + "burr", + "burr type-3", + "univariate" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/Makefile b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode/src/addon.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/addon.c new file mode 100644 index 000000000000..becec8640d13 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/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/mode.h" +#include "stdlib/math/base/napi/binary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_DD_D( stdlib_base_dists_burr_type3_mode ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/main.c new file mode 100644 index 000000000000..623219fffcb1 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/src/main.c @@ -0,0 +1,47 @@ +/** +* @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/mode.h" +#include "stdlib/math/base/assert/is_nan.h" +#include "stdlib/math/base/special/pow.h" + +/** +* Returns the mode 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 mode +* +* @example +* double v = stdlib_base_dists_burr_type3_mode( 2.0, 1.0 ); +* // returns ~0.577 +*/ +double stdlib_base_dists_burr_type3_mode( 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 + } + if ( c * d <= 1.0 ) { + return 0.0; + } + return stdlib_base_pow( ( ( c * d ) - 1.0 ) / ( c + 1.0 ), 1.0 / c ); +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/data.json b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/data.json new file mode 100644 index 000000000000..1d5e6f0b5484 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/data.json @@ -0,0 +1 @@ +{"c": [5.683983253360189, 3.922853950209263, 2.2558900097986214, 8.954033138737607, 11.015085182204787, 9.881716601395976, 7.863718603891524, 2.4142838721626116, 8.671687593861666, 4.268588722050822, 7.595931919697437, 4.489301463545184, 8.911722952452386, 9.439346337158286, 2.1166659003637767, 4.445490655255707, 8.5662649733575, 1.5301483796463236, 6.3371513490546825, 8.84726653891611, 4.293580734091421, 3.014139128698665, 7.8232389965085165, 9.58201459240266, 1.4083681450964205, 1.2535338909668605, 9.128490961515235, 9.402083430329384, 4.597535399106353, 4.981449922790848, 5.911528957197998, 7.635670857079242, 1.5974026565269575, 7.667103458412317, 4.170120738609585, 1.4109518138167312, 3.918798745102482, 3.386473977134067, 9.109401160240813, 4.266276791894192, 8.13762439457782, 10.692945414535593, 1.4665930061089774, 8.612513989123121, 8.800651633338465, 10.671301874439886, 1.3104813977015497, 5.376537627718779, 5.484847158739504, 9.026183788914881, 2.859568368778125, 9.233708564633071, 8.79797811926455, 3.787493178370326, 8.903300021138667, 7.08849859483348, 2.480439991052859, 10.728637929885133, 8.569020749176396, 6.856022824398822, 9.588085978396528, 7.31887745719072, 3.5090454265768214, 2.7642721957073593, 1.2512863497947726, 4.8348293267116995, 6.174885404964453, 6.021344609561398, 2.8346350116675625, 9.388286989566042, 4.50370109275556, 7.917645342195396, 4.322038163214756, 7.636158669436089, 3.3965166746169686, 3.8846165469928775, 5.790458584083996, 3.6786550314778537, 4.870815457446955, 7.6749175719236025, 8.614375858579377, 2.622809822358163, 1.1355710327032955, 5.2310957994172345, 3.5338889956313526, 10.213427373554238, 11.059530479151205, 5.2183576392774285, 1.7766793779269177, 7.722352979744469, 1.9898921070137046, 2.387787340434455, 9.048647374470999, 7.2829269055041195, 4.814275923963628, 10.275687745381298, 2.6232707486860742, 6.1103967704562585, 10.605130489832788, 4.036665917717208, 10.724166869000799, 4.444246576778611, 7.366265113385589, 5.925243132491337, 3.8807374280349793, 9.775669575953286, 7.376724860878442, 9.293099149250557, 6.057369649113486, 1.1320649783065542, 3.1511690202438793, 10.005171319742189, 9.591228618362132, 4.6427231480610995, 7.554692487018674, 4.470075676625852, 6.4645081133520765, 10.797530366861244, 8.120578065506649, 8.917860748004308, 7.855028492174242, 10.360660957599443, 2.117072962203791, 7.336261134708437, 2.0313848320118115, 8.009948555087544, 9.559902195347616, 6.574416481540032, 7.599041435054977, 2.81950883516077, 9.549087287333046, 6.104040861769468, 10.834588243034904, 5.568177079204002, 5.680197372608179, 4.992861911897356, 3.17861517322673, 2.7193937681760985, 1.263124356460196, 4.32253685637607, 4.641588408657613, 8.099291734409972, 8.122437215717014, 4.072749819089344, 9.803977567729405, 6.347345470914137, 8.430089780493443, 9.287605339572758, 9.116817066546723, 5.697808703644169, 1.6668996656368298, 3.6977685846755404, 8.540754581209404, 3.0861262946727175, 1.7238383085732847, 6.511882791117079, 8.869044560102111, 4.1559566856582535, 2.0230781637929773, 5.934095953618753, 6.201743663120876, 6.2049397115173655, 3.908904138779398, 4.7983235075662325, 8.347253528872821, 4.286765266947706, 9.434372996280088, 6.300520243852326, 1.5020283011615911, 3.0143509487407596, 9.681233620592195, 6.073523842521411, 10.419158109683126, 8.611551606041001, 9.929398572389044, 10.730636028482396, 3.148230620319317, 6.470727248841305, 1.846947463779436, 3.74632207172536, 10.954726321516672, 7.154411274991382, 9.793567525204988, 5.619565761370875, 1.2792915817610397, 10.637288502284472, 6.239775020344412, 3.805591894877789, 1.242903792442849, 3.378101768074686, 5.158839090949446, 6.669272119660183, 10.958009719779888, 5.768342273012804, 6.909284086683233, 3.2581384705362173, 4.545845759430739, 10.59684066604011, 1.2265446413349836, 5.450930756822448, 8.16793355370409, 4.181329423524939, 3.0861193845447867, 3.2909301551160257, 9.09218991492022, 9.618890137397141, 2.0883818702559065, 8.085641274720722, 4.427898749979638, 2.652837708321855, 6.702530254215514, 7.203644807889379, 8.025848391173966, 10.411639627283877, 8.892121530455809, 3.114901797959454, 3.723429538279641, 9.94702866804663, 6.388228445836633, 2.077387003215554, 3.600114056438375, 10.728386076211875, 1.9795342983770527, 4.585733869131788, 9.963431209419692, 6.2283521154059205, 5.23563313324876, 10.84133492620265, 6.271801490571367, 2.705948438794472, 5.901238443506003, 7.938988642583368, 7.621518323633577, 5.581913420794406, 2.552743375951616, 1.4223386173569033, 4.342199000897319, 1.3862073667607113, 4.73075710345693, 9.867683830838105, 6.80612774098986, 10.933253640970866, 2.8671673990673607, 2.5310825710204092, 4.721268142548824, 3.9206732469979566, 7.141096987734771, 6.184209336360913, 7.027082564857771, 3.8624554744399644, 4.588050265595813, 7.6587274669542555, 2.1952716234885297, 10.473745979273897, 3.551328579288763, 4.760971886759716, 2.336297281310408, 10.707569813508691, 6.6095002481639735, 6.712093089613983, 2.8616795214312267, 6.178416722344611, 6.8931993753073435, 4.055806342971708, 9.83067385388574, 3.956701387125642, 8.985844994294181, 5.815044073177619, 2.3464978742354674, 8.069301605502869, 2.745716932365079, 6.572368856750705, 7.948529482165323, 6.624175675290978, 5.5316347469067075, 5.066740635136325, 6.047366516393044, 7.463324053552169, 5.025947679099344, 7.990020550127957, 8.862941117134858, 6.109200202170621, 8.391083287617887, 7.869477282150333, 9.158595706042503, 3.8845251656010484, 1.5541420213977166, 9.165864518621412, 3.179007553168112, 10.006660408809681, 1.995130511154284, 1.8392106192257875, 2.813380985893028, 6.0321020637720295, 6.154874688229727, 7.896518203959873, 3.1627655105366794, 7.152401126282273, 9.602635909752104, 8.132704812593754, 1.3084847847056704, 8.978953752448492, 3.51369507900027, 1.8427099256222947, 2.9909261992609375, 9.235560222534785, 6.904053446022873, 6.009363151272476, 3.05108265703956, 4.480913912173737, 7.502545481595298, 1.669261315123968, 4.837990825451513, 8.01487152799507, 4.6000492073361805, 7.742743957927157, 1.7207545628305945, 6.545994740907119, 6.8755191344402125, 6.41446119689361, 8.488180562716881, 3.735160650402755, 2.284885955035724, 8.574427830457282, 5.452294437507286, 10.576785458205697, 9.419288021331957, 4.931116348518975, 9.315824621873821, 1.6410042923610848, 1.673363898274263, 7.542466584427576, 1.7484467064342493, 6.720703675328702, 3.5593999079136807, 10.050608623865147, 2.8605999284472006, 8.583205047807285, 5.213014421053764, 10.420084098048987, 9.664677505250266, 10.995847157456035, 6.397116371305188, 8.29379361109135, 7.259003029916425, 5.37434398825623, 10.573848929909303, 6.953587698467622, 8.348494426733064, 9.61146270478449, 2.0581342545630945, 5.116561381298492, 5.311228741000695, 3.5490850350042904, 4.208529995704694, 2.904947366955474, 10.418166402401338, 8.306688885230354, 10.720069527160318, 2.1417418249019926, 7.040146231470349, 1.8277273509390637, 9.8623253431374, 1.4595958469039685, 9.164772297551401, 10.555300640432332, 4.4794269206915125, 8.57452368494784, 3.556069327695011, 9.044118994822337, 8.67192870237395, 6.1571201507743165, 6.26879624259144, 10.96516043888317, 4.312671518447139, 1.1979207228659108, 2.1972439011124756, 4.599861138394871, 4.341830055839392, 9.690506630318895, 2.986652857340434, 6.782707711234146, 6.265572818698763, 3.497512272686069, 8.938898914695066, 3.1920363716560343, 6.091694519966044, 3.5190427806333973, 5.921429750425645, 10.993957319466004, 9.06482603512632, 8.450993529360206, 9.605276275948063, 9.261573175398917, 1.2468250543294592, 4.213526159026017, 7.218974547705281, 8.624070451300426, 5.8941202768812335, 9.742231178028668, 5.7231848649386645, 8.801014774661587, 5.691700453366618, 2.2957489844644208, 5.199483335737813, 3.7580525172668335, 7.589744605445789, 2.7462637159136953, 10.127700918649744, 3.7826304897453293, 1.4919484409816077, 5.726258855252947, 8.191686964492677, 10.817210719203542, 8.341867207345874, 2.7171323011809623, 8.822118987091244, 7.887947862118077, 7.222205665633041, 10.370247105304873, 8.19898245392304, 4.851755292161516, 3.4842310502293343, 3.152263947321965, 6.838290795938072, 4.390091485465671, 5.803354866935665, 1.8711323907549595, 3.4019827528637383, 8.78567994733933, 8.32245193474115, 4.2287926203554775, 6.008469731527557, 6.929500132906401, 8.480892157159165, 5.014630685883207, 6.2649860833521185, 10.810978451822383, 6.497518963843719, 8.382931408186783, 2.0662889818513976, 3.7965758763526583, 1.7946773686878228, 1.2608804748625582, 10.637477936053557, 6.0420934915823565, 7.7914304827478045, 6.69301885801557, 9.660429418096557, 2.0910358786372587, 6.566031892937277, 2.1902998454430214, 5.218085595153463, 1.4734822119413107, 5.759692637424337, 9.32507934720408, 9.407005823029111, 1.9088461093277045, 2.006492910472222, 4.399515346841975, 8.477806329880432, 9.51688899238773, 7.985660656842924, 1.3271568365717115, 1.9628227711981152, 2.0820790590508054, 5.381962652426203, 3.2324474410247697, 4.367149149341677, 3.017789968342163, 7.589661570454668, 7.751686135410505, 1.9650069303423392, 3.357143413686059, 3.636278775604053, 7.275394693299589, 6.130445464793851, 6.48617245326745, 7.2218375176639835, 8.69169743070125, 9.737844475910846, 9.504646702786019, 10.159916421560709, 1.6645959949082814, 10.620097059550265, 4.374014586430782, 3.7413618520468988, 5.7809161410561, 2.0396479061434984, 5.874018301792518, 3.1545540529377094, 9.519012737644438, 3.1603762923693193, 4.044542324174529, 10.14060523596412, 1.9393939625223513, 6.735666303183908, 5.3540494412611945, 9.442141752898353, 3.904268279992112, 9.886718408430932, 9.391844678879083, 2.317912236110365, 1.5572664145234152, 7.7292608932869395, 1.6095900877109317, 9.206420745985538, 4.9049727031736525, 8.32394368986767, 10.999028053302117, 8.191468190915558, 5.462467311420879, 1.8227209328866492, 10.071047255921506, 4.1684761054291375, 2.028271148392422, 9.768225951773344, 1.3218009668131938, 3.220634504193444, 1.4349181551177561, 7.792347679953021, 1.6530159147487202, 1.8131177907546883, 5.804324688280255, 5.315812191288833, 4.886395602573675, 5.447781063869693, 2.631000553221804, 3.7634964783607896, 10.92643459998053, 9.544603763089885, 5.494075431278558, 3.7272742142102047, 6.675204378078503, 6.678095773683898, 7.01585369072242, 6.068566157634116, 7.153556833734809, 3.4189037902116985, 10.20583948516685, 1.3204184644731056, 1.9235842016157692, 5.4679262808260045, 10.483242846290334, 10.35896045334106, 8.324240129778328, 3.905515204314506, 5.259093061058405, 7.670537336814769, 1.889974493263851, 9.900561010059374, 7.391349579353879, 8.475617575985323, 4.350034686742861, 10.564556296433855, 4.0591132294928105, 3.9490063971950344, 2.9458487002789147, 6.40242470580538, 7.0187765279810606, 5.753966185456417, 4.316941027301743, 10.231565739943504, 7.8572979732864905, 9.237047149610794, 7.455213488867145, 9.224571962768996, 10.509650180412715, 7.43392328203849, 5.455474393252638, 10.924425781894811, 8.422765085002341, 5.2951804600751355, 10.230731759953683, 9.364727657320566, 2.9541091488158013, 9.138105996922649, 8.715413208557223, 6.018075555118328, 4.367086353749491, 9.918641314550774, 10.661967580272984, 3.0515728587343607, 4.106083208499724, 2.4630439364608328, 6.23871954078232, 11.070040547957435, 4.3519893359047686, 4.843300142441882, 3.8456893742330758, 9.237091223255854, 9.309368229838316, 6.340908213754016, 3.181538796591105, 3.1425728617156126, 1.5000301457564194, 4.633651676280987, 5.8341317488387965, 4.4184079935830365, 6.351609446748087, 6.425120356439132, 9.815145580415304, 6.869488355683325, 4.747414703193346, 8.988504325325218, 7.06592246663617, 5.337570815130814, 4.484927231637084, 5.174560354707326, 8.730642434618069, 5.457581475610381, 6.004238607173489, 1.1732374195106423, 5.0545068831741435, 3.5771669373682826, 10.219982642356255, 3.9404540064437867, 10.692079488225856, 7.235372075121736, 6.503447037291632, 8.67898090322394, 8.4743995102039, 6.078081845804679, 5.784456776913233, 6.037321361051163, 4.550541285968329, 9.751371573332374, 2.540876236546782, 5.350154114175295, 5.329968791304996, 5.798282213943505, 10.657616113992075, 7.334480500018543, 10.058749812515117, 3.8178092083749595, 3.381378076541343, 2.76294175597116, 7.9924611849150935, 1.1706017155763295, 7.027685893119628, 6.3627091710849975, 3.827161491934469, 7.809323015744763, 5.789994062383853, 8.748669668308308, 1.800925712718188, 6.059698076298542, 9.577368078356486, 7.5655300270672505, 5.187089341428225, 6.393941784713935, 7.247416995378829, 5.691479065452551, 3.4321203937536318, 10.394560762110471, 3.6675188002502916, 8.74519249558119, 2.0723546180285926, 6.933636516817085, 7.834821696259818, 3.601983342817301, 7.754951553069992, 1.8467053720605189, 5.166483153841664, 9.690935004641227, 10.059211718628404, 1.4800249496703157, 1.6494046118221752, 5.418281194177355, 7.482829448245646, 3.0692526277648495, 3.4829055470013564, 3.608774047674247, 7.596253648800094, 3.173411673415574, 5.969859117581274, 3.6208096493127764, 7.6221578703581745, 5.887546556035598, 10.500265634207812, 5.07673330629404, 8.487854753411156, 10.9769484562509, 9.161519607046804, 4.985855981089815, 10.399698166273652, 1.292201620101572, 7.934518525294987, 5.792751306210352, 10.480143070874783, 3.393409076048507, 9.107112561329897, 8.8430104516778, 5.744858991171842, 4.698499745464796, 3.5451414203695175, 6.1787148425386995, 7.298291985314448, 3.676031421315106, 9.32702309843103, 9.04091752535945, 8.401205510588003, 1.7812188572496115, 1.9811016022483898, 2.4099040733827986, 8.382719876251803, 7.5019021767562215, 8.224379090735919, 5.738624610861168, 3.8089795761751235, 7.5348329974729005, 2.9512684428034968, 9.801054626012679, 3.5038478962239097, 10.001725730103857, 2.0585324358746027, 3.0727848315667408, 6.122951662378943, 4.268270009448171, 7.949540839632453, 6.95723403281583, 3.5364482819823766, 8.49257906379092, 7.181048817159851, 6.401685061502041, 3.4163304853078538, 6.182832393958481, 8.914308960779907, 3.1267827269688735, 6.713796517220015, 2.051535949800514, 5.848247133724703, 1.8654858084470218, 8.791395106224769, 2.5480525979413695, 4.88414084521688, 5.675161007711306, 3.532639279064841, 3.5132651211447663, 5.9233465036747575, 3.8716377214400644, 1.9851259859567274, 6.408138036272236, 6.305645417991739, 8.204464796566018, 2.0277406448912183, 8.985153266828567, 5.089431925859575, 10.139281767797032, 2.901425385927946, 2.0398394501144015, 10.75863700957499, 6.038200434409415, 6.02334624611499, 8.03271280417877, 8.667743305443087, 11.00020644597396, 7.862145765225906, 8.320253825922629, 7.383985573514158, 2.230097931475993, 5.659774522921063, 4.611252886331828, 3.408988002902206, 9.719153052859358, 10.261111102684781, 9.865037415699556, 9.885321984047843, 8.144527815938488, 4.854377622106776, 3.228516904243465, 8.882223943563826, 6.791272209888376, 6.767381852665176, 3.0830640301136616, 10.187616887047314, 7.266732276844246, 4.023147737868024, 7.884696102381815, 8.187174947308081, 4.744145519038991, 4.890605506232012, 7.188228250455293, 7.150329490481695, 6.087530081169055, 10.813738379084858, 3.688574063815176, 2.528605154363608, 7.0304450260569915, 3.760881949148771, 1.8521841816118247, 3.56463567738632, 3.325999685889418, 4.732339024207317, 2.461722048173443, 9.656626831008122, 3.7502577191497335, 9.589284330487157, 10.280443795774383, 4.534689995705268, 2.3004355946472677, 5.0299556782943124, 7.029152180784784, 8.205629732223604, 10.909846358474539, 10.837844669763816, 10.900199189432003, 3.0735990991791855, 4.803589813039119, 2.6726970797862695, 10.840956908174316, 11.006632288076982, 10.33403018919503, 2.5870072524235157, 8.005504825991896, 9.758210245081049, 2.1605539360845007, 9.1460461893283, 2.8241147449941786, 3.4231969045221313, 2.742994194999592, 10.594368494563355, 8.95756908915745, 2.9024024517779017, 10.33733061460341, 5.062261108708142, 8.729073333846054, 6.732173439716158, 8.379260996928748, 8.377595538086512, 5.203049378521293, 7.4833158599211504, 1.958930533741572, 7.749181850709558, 1.5324009927084017, 3.8353777494524124, 3.1953251838566143, 6.317347267759313, 11.02491016000832, 2.6940948818485357, 3.3893496732845065, 1.8856235975579962, 4.828791516781827, 8.331049266040377, 7.578547533808669, 10.328494838409869, 8.030253593679555, 1.8224230386617082, 6.876178298028341, 2.951121369879223, 2.7998191737322733, 5.788892304776894, 8.779365006460008, 8.707136976030588, 5.748415891178359, 1.2145593763686815, 9.324543267540767, 2.304874563079783, 3.5250403548655864, 5.185001987663668, 7.500289392815247, 9.419081885568955, 1.7612159311420963, 5.37088784342769, 6.713358371262041, 1.715839137864649, 5.292222673218781, 2.800217480738394, 8.602462017889456, 1.851409761616414, 8.694188291830105, 3.8413562136071113, 2.1910868179753367, 9.2035687910126, 8.704836780233325, 5.533844012023181, 3.5243695165853572, 2.3577890168915907, 9.818313992065276, 10.594491495582739, 10.856889324942772, 3.34527702692611, 2.0314538928582206, 2.452919439080472, 1.8013127017918376, 7.979197498026643, 10.108230620062312, 8.578462670192122, 5.415901115084962, 4.1395050846913986, 4.837753975289145, 6.21998146880102, 1.5618328567095154, 1.2055175649210395, 8.658904594831018, 4.884322229743523, 4.156207900575463, 3.1645366095325493, 9.874479892832655, 4.23595710589718, 4.210657214796218, 7.09054642729261, 5.957456766406947, 5.956334152761469, 5.504208377588149, 5.061682377984253, 4.980104489706287, 7.670542171096308, 7.677334499734238, 8.653978786595648, 2.547414234427884, 6.94703191477185, 2.520230283912747, 9.95452179227295, 7.20628852264762, 6.76465734553657, 5.94013562884154, 8.44832831340413, 1.9929729496042483, 3.9344888870908714, 1.3599107906685728, 5.184970211907201, 4.912380003545312, 2.8820953405365493, 6.190687125247026, 8.736894044477943, 2.1228671163721615, 8.940401902536914, 1.9972580862582503, 4.386041183335225, 2.311464330557638, 3.780204610469917, 7.62519307010465, 1.3472061296642093, 10.454733663212572, 8.987438011470479, 9.550649122216013, 9.30075252234043, 4.519852743169865, 9.37804507907092, 4.898012552543411, 5.936639395263928, 5.246221196142171, 9.133515164588603, 1.1123455299079634, 6.619633228530642, 4.986241248036229, 2.5569961989032888, 8.372487543952012, 5.753271445567343, 5.297513974488346, 4.423121504047863, 4.2114500421021885, 10.698828973397978, 4.5519009816139, 2.567146753123052, 4.677550097278841, 1.157031962167744, 4.208122488274363, 4.74688799052932, 2.59270347770305, 8.501902373437373, 6.6695499793225785, 5.83683981147399, 5.384977854451767, 8.642476857588665, 8.482963353965758, 4.2213542686954195, 6.104185776205966, 8.55611173808032, 3.3251664201304223, 7.473894208364298, 4.796129831882828, 9.498729860758443, 1.5465189427322803, 1.9673230075837158, 2.039540804166447, 6.358367005469702, 2.4913130190125665, 4.091642054856633, 5.219847894134865, 7.443341179833089, 6.6084439653961216, 3.8253463993346073, 1.4463526483474, 1.2696980966843099, 2.7183775539103365, 7.921794612872086, 4.6882060734484545, 3.307607862683767, 3.5860987088231338, 4.851009747853007, 9.439524370991675, 4.160786666227052, 3.2458135815639135, 5.940265070205882, 4.349014921525082, 5.827112521583665, 6.614701516490534, 6.438046905632637], "d": [4.727575264367097, 3.890367067177792, 0.9875074776053149, 7.725162845757844, 7.201710704222901, 1.954226240895346, 1.6376965605948868, 2.7988386546527857, 8.89271177060896, 9.329764000900221, 8.735940175154873, 4.135604734721905, 7.481806098349452, 4.381036988736223, 3.4985576673529883, 0.5512991250934262, 2.6073604546431395, 2.443157895415067, 6.709707451211757, 2.851012665386501, 3.125100657326548, 3.566351177845705, 6.82039404590576, 0.8339647848542807, 0.7842741361288185, 6.654098504325519, 6.110311699428529, 0.21653592560965765, 3.0213655524802676, 6.99747826946339, 3.9720176799561693, 2.6545983429268696, 2.109644531450211, 2.7686906891431593, 1.9316310657836222, 8.352289694742709, 6.289210611555243, 9.466846291083732, 1.6124409539624984, 1.9076299409605346, 0.9959663884942304, 2.748327939352165, 1.1868097266091382, 7.42795666816611, 5.821463077208184, 3.290332940612702, 10.056562150442822, 3.916580075176417, 1.6487387144442645, 5.927442619797688, 6.926725425999531, 8.132808869478527, 7.747337008093275, 6.702505565554986, 8.657773640678252, 7.901491017374767, 3.498148716817022, 2.1172774813665005, 9.088463112879634, 8.2929644071621, 0.4719773803582027, 2.800286971993844, 8.852632124026123, 8.305023024530287, 8.554200059512938, 1.2373348562552922, 7.1302580313935096, 5.549555818284951, 8.594248450169264, 2.2081487215926865, 8.231786812641268, 3.6850646869409833, 8.401733053063966, 6.118838556319751, 8.739111971960414, 4.490017988569457, 8.719964847970493, 7.783057666833441, 6.946820099493729, 9.546501577370815, 7.308261898445558, 4.7033343842994775, 6.463687834588817, 3.9648496437783076, 4.1756155269525035, 4.766335218663939, 4.662662055241321, 5.624063773610461, 0.368261189380089, 2.5178868920915076, 3.6614261852787924, 5.115107174874642, 6.591405896806526, 2.818711101436079, 1.5994497940484598, 2.419823784452495, 7.829647234333421, 5.197942937908523, 5.746733605475904, 6.598230927140924, 3.726107380155861, 9.230175510306234, 1.5697711920763424, 6.8605349155080955, 8.506678649828244, 0.4369879924672625, 8.274642991857474, 9.297548778435631, 0.24744476647120198, 1.3274840507031083, 2.943370154744794, 2.1503031154432093, 8.991810625532173, 1.581406008184143, 4.30891531856628, 8.536799809786649, 7.387219912214354, 1.6904744150156126, 0.8713692870999566, 3.737177298459431, 8.94321269866643, 1.5571362994368798, 0.16903736427092078, 2.9284533977516483, 4.265408282766863, 6.89639648328658, 2.389953173202889, 1.2126186436435304, 6.3157534845836745, 0.6007196265228797, 7.411068758514233, 9.725957586906185, 4.36460434824171, 3.254681523355264, 9.72170140800581, 2.866846393210245, 6.937527157177274, 2.717438830542336, 9.7651726597647, 8.768668608318169, 8.357415728262566, 3.031402498150264, 3.875935877640251, 1.4983025510238324, 8.255724383468776, 0.3725521315578805, 4.658805945363607, 4.76685930602967, 3.782897961267009, 0.27320981138355005, 7.881508488901155, 3.664476434551389, 9.177354574494764, 9.145511254129216, 5.663209593288826, 6.988601746280072, 3.908522806939001, 5.7209466148945625, 4.6977379821228835, 8.627054377119906, 3.355184411108225, 5.729834579222291, 6.6704827323653, 7.550195407043002, 2.1290458026535544, 8.90154920541748, 9.950025357624583, 3.9678041280521783, 7.842296159332587, 8.369580090236418, 9.631627436078821, 7.737738263679395, 8.2772835965188, 9.130556102193772, 4.221198255242867, 7.729091147214893, 8.539536469976708, 5.647374484962622, 6.234703599236123, 9.157164155771595, 5.326186592809812, 1.2210356791036292, 9.824485848511765, 6.451530465383973, 8.481359533881866, 8.498081786074891, 1.1306932298493988, 2.1007298690547316, 6.8383546844479355, 6.634662553059598, 6.010476540894174, 8.811788074138374, 7.860146389824049, 8.15503578443178, 1.6954590156528981, 6.26033262525579, 5.6560777304372625, 6.237292428235033, 8.498424270498765, 8.386344056866923, 8.825380279134318, 6.171966622686573, 3.0256189198775583, 5.180154279474178, 6.965151390359929, 8.938741067835666, 3.3088667265027962, 8.689516206791364, 9.395951152289266, 4.101150665181988, 1.5956380095098766, 2.5449684720663135, 3.788038619231624, 4.344672523650829, 9.106565430753262, 10.059258328758991, 3.194741028363741, 0.2285409348449529, 0.8443605388528873, 2.867996783044342, 6.02170705200891, 5.524509594419316, 7.169429550990431, 5.078033101746891, 5.371811779741062, 5.633143494698276, 0.6910404259205115, 4.887148754319759, 7.491759881553231, 8.469391195254646, 7.489920173562741, 2.6575543594953888, 2.8101698257902243, 9.725150819787787, 6.900025633118844, 2.011687018781426, 5.049230063580306, 6.495982570844443, 1.5394760239996519, 3.469979964484615, 3.526563608340686, 9.337982819412565, 4.388328994794938, 2.163380960675062, 8.974985312422326, 5.79179409119285, 1.1262682303316207, 8.216530599093186, 9.995935009423745, 2.9062511196301455, 3.3560998896011154, 5.205512890337714, 1.7619306255445188, 7.906138032340495, 6.586428310870424, 9.281521580972392, 9.199213075405375, 2.5229401814522636, 6.287387040138745, 5.83781048994935, 6.723676457880939, 6.435687856497742, 7.654255608050129, 1.6649548761339261, 6.4459375151774685, 5.346442580227598, 3.4713080463043333, 7.924853339186922, 6.729993374555533, 2.561610480982782, 4.6859194393792265, 5.788624274733593, 5.085570172837704, 8.360922608250192, 1.7331835968447429, 4.3260198264802945, 7.891601435215404, 8.653774501861848, 5.412779209431285, 0.5344738469870612, 2.28590859614194, 7.290192686617712, 7.255011448198552, 4.797531803758149, 0.4390156321349702, 8.927929161801217, 1.2962252890780446, 8.232593999957473, 0.8115735455777094, 5.104365747310911, 6.483333709900452, 7.9892036995048725, 7.2709770787437575, 7.975558490284956, 2.616690903968227, 1.158576474142854, 7.123847300483718, 5.86007498000642, 1.2033036064346092, 2.8694797647337777, 4.703706443256966, 8.401835141895615, 1.5820958924064077, 9.602481768593488, 8.220993258966368, 5.646262437267858, 2.2927018561044177, 0.8861555736502679, 5.101509112764242, 8.328254363216118, 0.5001297699605599, 0.4136667405089688, 6.008518637852678, 3.981689253358631, 8.132839724277229, 1.1522386919847205, 9.306979070863465, 1.7170398603646786, 0.6097433797268613, 2.714415732494323, 0.7387337546358163, 4.409159008833147, 3.787562390148438, 0.5035755180829092, 7.317168430298722, 5.355685090027864, 1.308493621063438, 4.250414555107927, 4.867059365794753, 9.413944494427803, 7.445250635139516, 8.940208738705786, 8.202334192535536, 2.788236277883269, 6.397189840829734, 5.5525240682091965, 1.2069658571452901, 8.595888889434207, 7.642549976561625, 7.595726529275491, 0.5866198229271323, 0.3793714716417461, 2.9001481935616202, 8.903367109280417, 4.828261636829844, 8.992573842604743, 2.7872504126567343, 8.441328779035672, 6.682718515443966, 6.489121569252374, 1.4461233260324657, 2.278847556489665, 4.7095773651737245, 3.5889644521942943, 7.799933508063504, 5.6990853264994445, 2.2302590205215456, 1.1390591108404968, 8.127697475270374, 9.219569888592567, 6.902864141260847, 8.159229319804272, 5.63119525564362, 2.731577400503539, 5.460474873141859, 6.764877136084891, 1.829948671827939, 2.607599823571031, 8.544074860423093, 3.046949535556075, 6.229611907342466, 4.2376636406634445, 1.245753626737861, 1.1841526951754555, 4.7749127262733, 6.4778590273646905, 6.7229902260798164, 7.762069619556688, 0.9831135492147202, 3.761807659161424, 4.081673801373956, 4.39634156430261, 3.10749609722043, 4.757608279468215, 3.8996611312157103, 7.247043385954815, 7.19612052095962, 0.5212790626353024, 4.243761625726121, 1.1666457651081485, 7.809632255821463, 8.803795351598366, 8.451158734470047, 8.299329786004748, 9.189432633797514, 7.0320214506843115, 0.8125108255715839, 7.497766095176009, 6.016270926240807, 9.887516739642662, 4.118750658335869, 4.531101966758936, 0.3968235066105473, 8.158058989305296, 0.12508868447928637, 3.7546190063870175, 5.55049431545401, 5.307837943761726, 8.443676719790044, 4.016973840791199, 1.5796258296215004, 4.998124621604305, 7.561080185656911, 5.628609677768851, 1.9009097245327955, 5.311026647237324, 3.0980108382957536, 7.9392758766285265, 4.192792270004501, 6.468027034399647, 8.22338035512592, 6.436675150993609, 5.296480054892193, 9.434339231921783, 2.6042626466659313, 8.864177560611664, 8.263480620891404, 9.19794598991636, 1.238070992302307, 9.567853723969636, 1.9078510610851906, 2.801324452365447, 4.7561953661175185, 7.429728287363206, 9.410739118024528, 3.124298830658283, 6.796360418647411, 3.195813872821843, 5.591165891457946, 2.183618072167713, 0.6815681533894068, 1.9251943869075028, 4.3058994941564865, 8.186609635577362, 7.475351398766243, 9.511470907731098, 0.8291036164033837, 8.352990078988912, 1.3733408764276578, 0.2659297260917447, 5.675065038026093, 1.35017205766075, 2.2847363293193723, 8.348502518566105, 1.9739688919014442, 2.108037343609317, 4.716906073267608, 1.3461872394858254, 2.4779811218056147, 4.087690633367834, 3.386797763733047, 1.5831140453000625, 2.98013347718782, 3.6271562708428626, 5.205934853326296, 8.867118174129658, 3.9705236329739013, 9.530733189362358, 1.4114170545969884, 9.588808111704683, 8.793422267808346, 3.2622395463062848, 1.3650153426588074, 0.4705209312802804, 7.077604725735874, 0.22840798986243352, 3.3468034082628164, 3.824599450490117, 0.7164053966793248, 6.377172928732188, 2.458502101901957, 5.777658296683773, 8.997647095621561, 7.523195690707913, 5.028904825691412, 5.401243382122185, 8.415298717457778, 9.85576388229009, 8.738330805875327, 0.5150739288808724, 8.078607738115677, 1.4864224738731158, 6.73494284212841, 1.357205112234734, 8.609753535034162, 6.008874411964289, 8.458414110205338, 3.2810090715496276, 4.44603855984697, 9.888552991365977, 2.394868031901337, 3.7006783407204593, 4.170347539825018, 9.783448717004601, 7.9577640773545815, 6.903950251601166, 6.573958700801336, 4.969043887058996, 6.4755481908359, 3.278208101743989, 9.282803419863786, 4.120229593052312, 3.77838956857851, 0.21809679416704633, 6.072633851607675, 3.6470809882207655, 6.288275391399828, 6.171825430390304, 8.346398365292899, 8.7730785155758, 4.163365744113619, 0.5995948304456388, 6.276061989892315, 0.13987677694300307, 9.020445808389546, 3.0890253571597293, 5.885700129226052, 1.497977022389091, 0.757472224411626, 8.925074446702542, 1.0576779313687745, 3.474644223880986, 0.538302082387435, 4.244668396513461, 2.0599093873878247, 7.946757784222278, 6.447544474387879, 6.019865931718249, 7.614290350758823, 8.568291143678632, 4.404748033571526, 4.296454570521353, 5.88515933740608, 6.338376810119918, 2.920836815926681, 5.435842749778142, 4.733718338289922, 3.2586457203686146, 5.218978584261312, 0.5022332006401297, 10.005938821535695, 3.428294961775286, 2.5297070818192546, 2.741013179652344, 7.725148937836041, 6.757940921061561, 1.0263147749901258, 2.731895249412657, 4.825893345857391, 7.652488780652982, 8.472204515988093, 5.957448062267592, 2.204983771219522, 8.424135959054926, 5.922866892946535, 5.955091950837665, 9.502144415979322, 9.224957022493825, 2.6355526884952374, 2.396131476812051, 7.737066104825365, 9.923259649160261, 8.237726068114648, 6.780858217661112, 7.56511724757431, 7.7644159529229, 9.876198599089848, 0.44900098717092096, 6.067895766938193, 7.408012695661437, 5.301843629798456, 7.308988503377985, 8.250006838082808, 6.445602041913295, 7.8277211026004725, 6.993154162190243, 8.792491500462747, 0.5574147585591337, 6.2500811661270035, 7.932229322499808, 7.52294306408111, 2.334436439533961, 4.107159419390457, 2.192221285068041, 9.235251742234437, 4.137674241564053, 2.098754776523791, 8.642216933247978, 5.090361901794599, 6.610799980650894, 5.841378098872486, 1.5006228945560685, 4.166855914990341, 0.9466582595012861, 5.772497785206244, 3.243287790453937, 1.4444507851517419, 2.32510750132546, 9.238245271052358, 0.3587749970151809, 8.03928473494784, 8.988043411479213, 2.2143363500419833, 8.887346940529882, 1.4786006439079813, 8.392363109404025, 6.6027612129447375, 6.581124496463, 1.2824423973141952, 7.18569297964709, 2.923210133993095, 6.468762864016144, 4.266271868656622, 5.775113207780233, 2.8514567683361225, 9.103639449249403, 4.018801888740625, 6.656336461886397, 1.0207634331876236, 0.9399358078942598, 3.3899747688301916, 0.8840056060889844, 3.8400715489346458, 4.052824516429678, 9.239083712641495, 9.719646729326847, 7.503599675417105, 5.029975091102977, 2.9144375376243814, 10.067571409561408, 1.2225370557429938, 5.748041183184462, 4.671725654216178, 0.5714004600457622, 8.378872038124054, 8.54064482404333, 2.549476691908892, 0.9320646447115565, 0.5927603747583153, 3.8550922343117136, 8.886608279185916, 4.10875036562245, 2.5930966859841864, 0.6852834187944467, 1.884566763371266, 8.46576385654196, 6.872412635718082, 5.088787310896116, 7.477207211871775, 9.605349718569666, 9.650892558362626, 0.9202512976769016, 8.068361963698639, 3.9213841177853817, 8.734653674632384, 5.573384245943582, 5.7256181295173, 8.370149172324753, 8.02448915841849, 9.061822272588733, 4.613754691542926, 3.082146607760882, 9.31160781296126, 8.903691174654599, 7.3149137277000715, 3.205594117578318, 9.425230937787017, 5.6496578552694245, 5.585953719354514, 6.256926941563915, 1.2483033320782755, 9.472365679024778, 6.1536074911125, 9.48442744786133, 0.569003583855071, 6.308877018172218, 10.03821470816467, 3.436680758190067, 1.794579308258043, 0.7056179533128114, 8.703891764902501, 0.7492652757848349, 5.169177425188416, 4.77232383268215, 2.9503753426044144, 0.38217667152806933, 3.029496292424414, 1.8148741796670942, 10.05001703187732, 4.579493241819546, 6.944238392163068, 4.270809942882302, 4.772571668659404, 7.436498014261758, 7.17007297372777, 6.173092373914722, 3.972382077418448, 3.5451428931597326, 6.918901575143998, 4.2668775843372435, 6.54932371530332, 10.04655192785093, 2.607170915977973, 9.572295072930826, 9.755533616435448, 6.757893661286905, 4.993868496018365, 1.958295561934681, 4.234494820478208, 5.90091064675484, 0.2867442501368499, 1.404727077651442, 3.768584470485725, 7.764556962081694, 9.895992640693331, 0.9156111783349018, 5.231604277067602, 0.9031278492956106, 3.234569464547754, 1.3039018425488447, 8.031242643846571, 4.363209322004206, 9.54810169965532, 8.345495817179458, 2.7386488297761313, 1.915483075599158, 0.5781497187338634, 6.55916515815463, 3.889933456913958, 4.952877868571398, 8.002076170955641, 8.02228826288709, 3.6119733744166838, 6.40894495458695, 7.3774921702879315, 6.317049385044177, 3.6470445958514874, 3.775992918606136, 0.6413444299562564, 9.18370550527755, 0.46016710352038126, 4.2964842064081115, 6.765677025806521, 2.634893334661048, 7.2268899435469445, 7.689611571229682, 5.483323251278522, 4.801894670132143, 6.700992052782064, 6.8580554547205, 6.171999322139851, 0.22678111964058548, 0.9181098426892708, 7.003221188201982, 9.115949973576244, 0.960848057234509, 6.808087937695536, 7.0190042333671, 1.4278187389149866, 4.544967273504701, 5.475998719706681, 3.6237024973860996, 5.4308395766670134, 7.414760075759162, 8.351446872326829, 1.8439014765377382, 8.44533729011621, 7.7430613372515715, 1.9403749478953458, 9.455670816839115, 9.836992940320544, 7.058668575591826, 8.996757992689934, 6.741023690914114, 9.040608223718815, 7.848165619399255, 2.092337607248418, 5.131275963353335, 9.124868016206568, 2.6468761932930995, 0.8202085279946424, 6.8384388055713545, 8.805761245242785, 7.284705956445163, 1.802276932365966, 1.5363996072862895, 5.292668314622976, 1.8239062041263776, 8.905532514484838, 9.697532375162705, 6.698695126305413, 6.3619654570274635, 4.985698226253161, 5.5993227378112485, 4.048799095534816, 5.083565504247763, 7.002289910012786, 7.345448518331228, 0.9095274685645615, 8.69701013297217, 0.6397441405971581, 1.547605021116072, 7.025363196938393, 5.313155131081659, 7.5450538265986555, 6.328727712811613, 2.7444876049140974, 6.7938995772339, 5.629849087776297, 3.5629510773160433, 7.757846971088097, 5.877851577815945, 7.6905524849352, 7.166460865141575, 7.9104063090198435, 5.211453988345019, 8.554764383318904, 9.025961972321182, 9.84022799142739, 8.269644964290942, 9.8844823065026, 3.2272566803043468, 7.568345776999565, 5.737232251634602, 9.088801689842947, 9.027969298441006, 1.5420107240738268, 3.4924642529305108, 0.38585743953699725, 9.724901775246856, 6.043698785402248, 0.974221414128955, 8.825413727514619, 1.9518486933337942, 7.737435729551722, 4.7052586053497665, 2.7838242608554045, 1.9941733411462603, 2.65052671534568, 1.1264222223293419, 2.405109228805237, 2.788579244486374, 5.971793509087226, 1.616097823795546, 0.34821615332189626, 9.0096706037499, 4.212897523241207, 8.09273728263308, 9.476661209746966, 2.991539253310871, 7.485330185582379, 2.558033831520463, 7.481387516507715, 2.8076501816333024, 0.8850340559204594, 9.666108989908349, 3.6230464059639877, 6.608340649416865, 6.805271043158656, 3.7658030721747093, 3.3385262938999563, 5.139497457222758, 8.300424474023417, 7.311354311859494, 5.0879128205897235, 8.547886370234737, 1.6805851614239176, 7.8970842891502295, 5.045179492581621, 5.905139164614331, 4.8567073712115265, 4.152489054922538, 3.387691034008015, 7.051332556897778, 7.1049747580128315, 4.361529989471712, 4.607024565088598, 6.928045900945698, 7.832526007466159, 3.42738203854655, 2.7309438981369074, 5.951801461944232, 3.1930610857644304, 0.8954613248312925, 5.908608913842715, 8.176322970812976, 8.964067888271895, 0.7431961877286551, 0.3334945109504527, 0.9693436324324355, 5.022902096457457, 4.414914040658184, 6.11091722879458, 5.895277485275725, 4.270974511164882, 5.961874170106196, 1.6745559840909197, 6.24292191819284, 5.440960211845958, 9.239443095029683, 2.643839647838233, 9.092731769553207, 5.1545244486222, 1.9016615034903939, 1.6404003168196934, 9.725528427143702, 6.054292555804816, 6.017005030763183, 6.815069585355445, 7.720323123286763, 8.006563383502858, 2.974888717048579, 7.232330072667941, 4.311245822212874, 1.9468796750439843, 4.979047570332536, 4.97855142487763, 8.383349907774713, 2.130401501195386, 0.8590296395851459, 8.284569472884721, 9.130969917079547, 1.4348458753937288, 5.694083809446917, 2.6545403125141287, 9.676461451559893, 8.332523441595876, 3.615927641973141, 8.631609091625732, 3.0984834481498824, 6.46752674086637, 0.12660075448840505, 2.2999625194297955, 3.9812898340317493, 5.1975529376145655, 6.792442819976758, 0.9456116949825076, 4.959329496931883, 6.089174667639778, 3.4918824338421595, 5.040769614359402, 8.479381815995453, 2.125643001692723, 6.945298205087639, 6.592578745680113, 5.185950504173739, 3.2696096957952956, 5.547801579341283, 5.564139292217854, 4.306086573643189, 4.870999214802343, 9.701579058427052, 4.441180040728513, 4.976114829674049, 8.205962631121546, 1.8313577773947098, 6.794452870270235, 9.976338080406236, 9.071423349602608, 6.272559235088631, 1.9156063512663957, 7.649698334629623, 6.763458785728767, 2.4032159280138754, 9.654682938213716, 6.938181999720337, 9.867416391319605, 1.4724774268629381, 0.15208711914825748, 7.491444539724407, 7.151575216760829, 5.747866136243494, 7.75023450364224, 1.1802847891774537, 2.8361296373133063, 6.969664813915084, 6.34631254046969, 4.904018515471993, 8.944496759445139, 6.236153769523415, 5.4343383606304805, 7.85134770951071, 8.391334993033858, 7.534268191979283, 0.3186776634224019, 9.650204487843505, 0.20292560376993332, 2.968715074526599, 8.690085656443033, 5.752877099935528], "expected": [1.268851665008251, 1.3114658339598844, 0.6489872569056138, 1.2397136963960438, 1.1855384646561178, 1.0540768291477878, 1.0379300978069144, 1.2416148032435548, 1.268589010288099, 1.5966479245327307, 1.3061214242956978, 1.2957590026622596, 1.2363874333564, 1.1540091375862247, 1.405407036314537, 0.742648754468668, 1.0981613846884284, 1.0530494757979143, 1.3145623527910575, 1.107097517224413, 1.2196760047637862, 1.3423333455276654, 1.2556051963407513, 0.957661836718558, 0.10780289382079772, 2.565444867023391, 1.2031082683932877, 0.7824352077177688, 1.1989460881867213, 1.4162196136623266, 1.2208161950297691, 1.1108391958090218, 0.9442450074493488, 1.116881534559934, 1.0773933071475095, 2.8914813774987294, 1.4928210893895517, 1.7824637721872505, 1.0338308954314435, 1.0739009168287683, 0.9695514153277889, 1.0864865839580815, 0.4402602221880236, 1.2438929685350684, 1.204052190417082, 1.1057292765767062, 3.555261570280114, 1.2375647214050758, 1.0400425140722414, 1.2013284568149818, 1.7398935751436089, 1.2391138045948054, 1.2445706778207453, 1.5370008912847275, 1.2573558652628327, 1.3105507592975665, 1.3756420604577673, 1.0590960500560174, 1.2752818450852963, 1.3312259263892656, 0.8916342012474605, 1.1234008252742334, 1.7171652745231967, 1.8926516379427691, 3.2142924812570417, 0.9678581127066683, 1.3365486376502353, 1.2892294666449238, 1.8917040585674678, 1.0707182391023606, 1.5181083893605916, 1.156392493669627, 1.5493650980026978, 1.2439115302289412, 1.7370291969268667, 1.3667694951523561, 1.4092119096297238, 1.6205527406814817, 1.4239609338479984, 1.318135822197836, 1.2414570894800556, 1.5448494021216175, 2.6070842516903263, 1.246619838833005, 1.368992638148335, 1.1522501518374584, 1.1383858997601983, 1.3373857030110774, 0.0, 1.1018293332795541, 1.4526922698717597, 1.6508447814083493, 1.2152504401275899, 1.1249801671557969, 1.0298964094857639, 1.0756942824458038, 1.9009369999860928, 1.270876890929703, 1.1674578797103736, 1.4964671084980037, 1.1184879403121073, 1.5665270259962634, 1.0321618878753025, 1.3424418665892406, 1.6236154056050909, 0.8852114410535217, 1.3060341680802952, 1.2556909049713874, 0.6457131101077961, 0.27911655358757026, 1.2447324378966316, 1.0642206831585477, 1.2428853268526991, 1.0254838798897115, 1.1885847677555437, 1.5351308489521573, 1.3281937269302033, 1.0358287517586897, 0.951211382467432, 1.1416749686772163, 1.2993128961899096, 1.0280602542551807, 0.0, 1.1303703282547042, 1.5787545062610564, 1.251204844982207, 1.079016740932558, 0.987479160283436, 1.2504417677900603, 0.5460772844066802, 1.2187620389577454, 1.4120370670698965, 1.1341474502616518, 1.1877714643939077, 1.445760967249255, 1.1733632094978683, 1.6631493147880028, 1.2201733344882153, 3.5804939882154088, 1.5651219928052156, 1.5064516980217433, 1.124592267194836, 1.1601240648992606, 1.0014229059628992, 1.2264654326189321, 0.7670433488978607, 1.180779581345628, 1.167281295569032, 1.1403035255578486, 0.6462467854507361, 2.4821172396576423, 1.3044024888901948, 1.2777246415961492, 1.8487825457658162, 1.9695591518212194, 1.31419491682621, 1.1483799096669804, 1.4296819106652157, 1.6673325360521838, 1.3959436559472438, 1.1772033737399958, 1.2874445366097056, 1.5177048544532932, 1.4564807376394717, 1.0725469522259659, 1.575995891653648, 1.2607648654656556, 1.2079024916642698, 2.644209710696393, 1.8155164925949134, 1.2494405528445371, 1.3610451368376113, 1.2128022533980183, 1.2745295989372976, 1.1421815576287115, 1.198584348646926, 1.7888692991357056, 1.2725790353256732, 2.0287547698837454, 1.682149168195237, 1.1538842611454816, 0.9926608056234213, 1.2489581993030292, 1.3466683551870522, 3.1395718708561238, 1.2112728392839067, 0.9717734353903399, 1.1036582531920989, 2.6409966269989074, 1.599830720127638, 1.3592833942656806, 1.3535952732020469, 1.196164035848232, 1.394281444914801, 1.04491333086709, 1.5926268083242492, 1.3891630119719018, 1.1767966974725115, 3.24233435873755, 1.4264339337120135, 1.2849977292536916, 1.4543188339705013, 1.2599672906074013, 1.4930396651683633, 1.2217008336590638, 1.2413746832328378, 1.3644897998144192, 1.2855772927160576, 1.5753294236343818, 1.4550804794430612, 1.0349174534912542, 1.1094244731603584, 1.1585240065288036, 1.1389785774596566, 1.26495826987852, 1.898981180335429, 1.2516614093445233, 0.8055008026825308, 0.9218748901877298, 1.25806109837106, 1.5181537549374224, 1.161163165407533, 2.1204280366740496, 1.3522291651524352, 1.170277710361665, 1.2827404974891539, 0.8472498961492152, 1.1462001446243082, 1.3418783336175513, 1.928675053573043, 1.3645232713413469, 1.1074442383601155, 1.1197659719876718, 1.4544990806895721, 1.8299008786697242, 0.8309140733743248, 1.3694716202972648, 2.3943836694585454, 1.0196336443662752, 1.1199646727233983, 1.1720810442329528, 1.2158382842803965, 1.4660699979146683, 1.0981846245949496, 1.5205157802543974, 1.4601852911678614, 0.9799106716553354, 1.3676824991833958, 1.3588527832914856, 1.2122123022415936, 1.229106072905076, 1.2166035909532258, 0.9519564562754588, 1.2062846701660088, 1.5661598697403363, 1.526723482425542, 2.1748210070131657, 1.0774164540234505, 1.2880965929302064, 1.2691150606706636, 1.720367692251867, 1.3138286014979077, 1.3136748315076174, 1.0323525925454295, 1.1949236083534043, 1.4254768909736772, 1.1310317438903223, 1.3839096520478513, 1.8839207089441243, 1.1007000174452892, 1.521895361347955, 1.2732348770913464, 1.2050935245766328, 1.345281006128173, 1.0507105822373148, 1.2767330914475268, 1.367242400628804, 1.3102369936574016, 1.3397089706441956, 0.8811247658332815, 1.0784338576699548, 1.3453295542155015, 1.247042392549233, 1.1979976290410659, 0.8759703020658594, 1.643886548871893, 0.5520638925126198, 1.2426448229888007, 0.7364158935052363, 1.1634696149767427, 1.9995754943860027, 2.352517736699532, 1.7846929649772436, 1.370685160599691, 1.129086893405269, 0.9889428738111835, 1.6813251381198817, 1.2529987403146965, 0.9995300603187436, 1.1162463068062587, 1.8476855528111271, 1.2508237774093405, 1.0028465598930285, 2.6135755108929692, 1.8112920329579725, 1.1902922476388516, 1.0954174769567653, 0.9228042072113896, 1.5210595231661965, 1.5250429704861963, 0.8604136115257743, 0.0, 1.383440791309197, 1.1662001589703308, 1.5022676032928868, 0.987340514210108, 2.698430913709202, 1.047737312470289, 0.8769213504338169, 1.1318672306012354, 0.9330808357944222, 1.3729184298261168, 1.4480565258252331, 0.8837360563640234, 1.3902493767774893, 1.1600219994584793, 1.0088892962635776, 1.279010467969624, 1.1694480084256678, 2.816787345675389, 2.3863083707129675, 1.3125115644617968, 2.4683824926187885, 1.1317611815520017, 1.5514919763493813, 1.1727196539067768, 0.8533484181135761, 1.2664393553575133, 1.4213200255587166, 1.2027008640998629, 0.9180952222837796, 0.8860456458720981, 1.1446262997511063, 1.2817835960727328, 1.2154738256119495, 1.4521426039187035, 1.0888606688292657, 1.3297273362774487, 1.2359144359186065, 1.200325736985128, 0.8088679856222708, 1.1146786772330204, 1.286078251010001, 1.3061362860252186, 1.5373766021311879, 1.6093004424353523, 1.066062597515756, 0.988608311988387, 1.204491484788472, 2.3024964781076, 1.2873655127049126, 2.3911151233882744, 1.1777546665622078, 1.1423641980926356, 1.1873473108330266, 1.1867344775123847, 1.0627649924749838, 1.0980933300153133, 1.6890478624021033, 1.1134985326416982, 1.2167787827519556, 1.2259757575109342, 0.9896389297588158, 1.0001467209090118, 1.3533868964225733, 2.5545590039430444, 1.9437692036753407, 1.4867032430687939, 0.893025869093314, 1.1316949178615463, 1.41280415926167, 1.212895571173213, 1.1605698977944345, 1.4280891722394993, 1.1469705535342005, 1.6841453575792202, 1.3434390276441126, 0.6187485668279403, 1.2347822373887412, 0.9987184879615819, 1.238160017234854, 1.2744990022625682, 1.2344182105852288, 1.2411087448910063, 3.4328216339901423, 1.498131150608224, 0.9299496280709066, 1.244923304193779, 1.313912193688784, 1.251182101587527, 1.2356834833248431, 1.1694893448051553, 0.745602910658902, 2.081112235468413, 0.0, 1.3095695378151706, 1.229174922575651, 1.598162252466064, 1.221638150955824, 1.3332222771154512, 0.6652999987524995, 1.2797667547840947, 1.2597481739472758, 1.161866653376357, 1.0571958121857357, 1.6044421406206133, 1.118263567195497, 1.2782398101645065, 1.192272838861945, 1.18494475071753, 1.2726764083989952, 1.4027684853819105, 1.4770489972676015, 1.8472977575320852, 1.1180202351502668, 1.5594887979646568, 1.3949732721649368, 2.5220836604973615, 0.9115125018627358, 1.275609223628306, 1.057775676369282, 1.1883194576409761, 1.2560744851595913, 1.306209317114333, 1.2836555948713477, 1.1945429652299895, 1.3210902419631458, 1.1013853989775633, 1.2694346314150762, 1.0757505835682917, 0.3769098253101554, 1.0748661444439047, 1.6315203994659335, 3.0757456765424718, 1.1965830357913025, 1.4113515101633902, 0.9406941513021982, 1.341297824983596, 1.0146374487339664, 0.0, 1.2695604668334235, 0.800070486627736, 1.113996332008604, 2.804128690855414, 1.077119010816872, 1.0655064710456914, 1.1638470698882084, 0.7238458896186153, 1.1488984527855126, 1.297543439186713, 1.1349153600617603, 1.0310279327820078, 1.1236599395335083, 1.4509366788197955, 1.7829600144150726, 2.300267799263718, 1.2406515915681258, 1.8291867469954004, 0.9911977730460982, 1.9014108797445008, 1.3075375330397017, 1.140741472216449, 0.7494501132163355, 0.5483317328423819, 1.5847995606119478, 0.7066518877524945, 1.1785102091341582, 1.1952645244320261, 0.9103933258364882, 1.2196163129069235, 1.0810758252031876, 1.187775853282087, 1.2286495278442209, 2.410110749192909, 1.1523877181119702, 1.3890806503011233, 1.644416601646729, 1.4407045742446163, 2.313765585379595, 0.8121918344668079, 1.7547178858238917, 1.0237229594712505, 1.6508541200549136, 0.9715787638321457, 1.2237182475486499, 1.942481374986338, 1.3415335049378743, 1.1960043413106496, 1.1558102692756664, 1.6849941955554748, 1.0770472606555084, 1.1336507284031747, 1.5131923580556295, 3.011510339619239, 1.2846524638879155, 2.3200055975828664, 1.2111056119921448, 1.3237761303991216, 1.2318755563787105, 1.1023861198925264, 1.2921828259247574, 1.2462151545207913, 1.4967011246736905, 0.8017754240343332, 1.4498627338960048, 1.4458935259139363, 1.1931218987781038, 2.34380328464345, 1.7560931194796199, 2.966102399117535, 1.177659583200719, 0.0, 2.0545118623673004, 0.0, 1.4584493231726474, 1.1956425651258886, 1.334578403629092, 0.9230398997485436, 0.7778659785059551, 1.2109066590036932, 0.984626188543564, 1.2049854919603684, 0.6603135506883381, 1.2095845384572266, 1.0789813543959976, 1.315040895383007, 1.3200973768656294, 1.2577921643539547, 1.660739999541694, 1.2216330390096117, 1.7384970903525385, 1.605090483455662, 1.333305214379875, 1.1805876958420112, 1.0956328725912226, 1.205712490191342, 1.384682857576899, 1.1973255040920305, 1.2166910996813198, 0.0, 1.2484308580644954, 1.154970696505334, 1.0949500232754878, 1.178324805894696, 1.2017693817428874, 1.502784070702399, 0.8848551563235177, 1.217625063832545, 1.2436328992523082, 1.3077212598756993, 1.4048194223601493, 1.427541618592899, 1.0658123135599087, 1.289225156421188, 1.1965583193356506, 1.2453161631613505, 1.26071233273813, 1.2235805775691222, 1.1121958644744094, 1.1215821759226305, 1.1950424905587078, 1.293967157412754, 1.4350303563793465, 1.1931046293140752, 1.2259668131338677, 1.7860583722118275, 1.268746428525233, 0.8709263505653296, 1.3092340538971292, 1.4980343918163743, 1.1694735399153062, 1.1935607136115123, 1.795617141018409, 1.478977127951764, 1.9649151828485727, 1.3287051551144702, 1.2063887370547037, 0.737914060237273, 1.3947104522632887, 1.5995750732676748, 1.2284647177005679, 1.0779338189815517, 1.2135220863778087, 1.1186927691772042, 1.8373415119083552, 1.6308113205652666, 1.0990007482380533, 1.4037001388219958, 1.3659390966332872, 1.31067726690717, 1.2814355460388023, 1.0246020982469053, 1.2005664970452823, 0.9004813624855332, 1.1985799932542998, 1.1519643545760996, 1.010751823773394, 1.1283726332254924, 1.4791086186082887, 0.8403998934886615, 1.4146234683542214, 1.4006721226282772, 0.7694368904532973, 1.480004028653035, 0.9819988657279962, 1.2188057387636548, 1.509323522859293, 1.1811914413337634, 1.0007296482467658, 1.3203791013816788, 1.1122631802736898, 1.2274930646676474, 1.2301720144276316, 1.3103954176945176, 1.1482738724021953, 1.5470369260816859, 1.138808697766505, 1.8065750499587452, 0.9361410512961417, 0.9179094176183672, 1.1901783833192416, 0.9699488521875149, 1.174792961484437, 1.1356809408781405, 1.6718283474839366, 1.798212852997117, 1.8216414258032496, 1.2022753229319116, 1.094128256311105, 1.360220636207634, 0.9870942023769795, 1.468364516908473, 1.1953125768587356, 0.8299934075375606, 1.2573855922555646, 2.4803530665379867, 1.1254637396803264, 0.9703284594113731, 0.8879122408069028, 1.2414349189136467, 1.3718434637613883, 1.1881940597290566, 1.1350197092403218, 0.7075541655117947, 1.048213030392674, 1.6615473206330582, 1.2288876550324546, 1.728124510131351, 1.3072416851707138, 1.3122099202085398, 1.738925062329615, 0.9552099047681519, 2.360029901258622, 1.2466227056757155, 1.2364962531270747, 1.173015853171776, 2.107225563833352, 2.5992676667619943, 1.4173556327286008, 1.3175870452484022, 1.4658458252106559, 1.2493722361697157, 1.7196814501713422, 1.3094317683339818, 1.6936117128048642, 1.1737425669555335, 1.7229118915724906, 1.2311185780255, 1.2973132181292368, 1.1788134509876496, 0.9747666803182924, 1.2844071406117321, 1.1690959664842324, 1.2623602492885793, 0.7890492002689161, 1.1815314709563711, 3.593828010943464, 1.1455880696367289, 1.057595166838649, 0.9456999263056317, 1.7356457148366127, 0.9412593478975493, 1.18666588115912, 1.268251084818222, 1.1891849914203219, 0.48708741472906963, 1.1574566499734098, 1.0547616809935225, 1.741618754816412, 1.161460135910842, 1.222587418342485, 1.1688938532821755, 1.7454356623732497, 2.161970756771603, 1.912971714680357, 1.2230714646639398, 1.1766115799583656, 1.1453220348194457, 1.3561125550909305, 1.3539622350167966, 1.2588102822341818, 1.9567349172922115, 1.0873961776797092, 1.75837341597574, 1.242575655751608, 2.012968639481745, 1.5064444011075828, 1.0734030911831922, 1.3171719762093943, 1.2283614467594044, 0.7416729948555301, 0.9628323147999747, 1.1495530697029785, 1.303089603878402, 1.3949972266582413, 0.8075805860796046, 1.269095639199824, 0.9624861953394733, 1.2883838873590456, 1.0007771106043108, 2.206574311847848, 1.2436851654242929, 2.5817408568070452, 1.2554896415408097, 1.2272232397063192, 1.0744352981311345, 0.8276212193906054, 1.5673360141100483, 1.3414132809458215, 1.2686094370010257, 1.5989484155696074, 2.2495625460416564, 1.1863587863088727, 1.3064193647343252, 1.2554954928456652, 1.9566362627892069, 1.137476778654099, 1.2402538701267616, 0.9328099249211491, 1.9136356014377343, 0.0, 1.1333820028018322, 1.3326160844169739, 1.1326305729476949, 1.2579073786675297, 1.2473227791861357, 1.1563500289692352, 1.1983218782592127, 1.237153513744366, 1.2723364172417486, 1.851829914243583, 0.5725176088719988, 0.887340550342573, 1.6208395655601646, 1.24128167152378, 0.9768935735608371, 1.2009671834394497, 1.204308960774239, 1.0186406896512719, 1.3017988322948817, 1.5296855049706177, 1.1381310857383493, 1.252175942159866, 1.31351751034151, 1.7940052034605123, 1.0465519454730117, 1.3147024130727385, 1.5612182107890065, 1.062213184399936, 1.2953007663210805, 1.5480651599015252, 1.4269545904535248, 1.33020287663908, 1.2784285343931017, 1.39609805558325, 1.1987138279639973, 1.1024077506927925, 1.6213144235550903, 1.3408970878388027, 1.1829067378197229, 0.3986082261867322, 1.5812599545229493, 1.7587090143867024, 1.4519229170347674, 0.9970580068372001, 1.027409791745709, 1.444133041540749, 1.0472711676753346, 1.2245878852402303, 1.5714208185806025, 1.8977866774117058, 1.3847255905274385, 1.2281599941861854, 1.213172437241168, 1.1252915152688554, 1.1505009456765039, 1.1844614332652303, 1.7201185852745264, 0.8929543407155812, 1.9619007009786984, 0.9382817215154358, 1.0266277071691974, 1.1952685053506367, 1.63244284068318, 1.2657302865453015, 1.1941217974490956, 1.2284342880015482, 1.2169810007938338, 1.6186027224493256, 1.3116844312757812, 1.851541959921901, 1.1701601368492731, 1.2389844642809782, 1.7499137694900018, 1.2091844055970553, 1.326928822531031, 1.2610333525310644, 1.354954737052394, 1.2942903393653724, 1.2674107948558773, 1.495934637581579, 1.1435691802610286, 2.19683515422288, 1.229787962118251, 2.897426972628001, 1.6580507317287034, 0.9795451538395819, 1.1821805293995646, 0.8882010528711315, 2.039505134521655, 1.5522992683474737, 0.5187343008997128, 1.5024157569097465, 1.0608284327718849, 1.2857699695188383, 1.1491033804600475, 1.1131365690434074, 0.9628430459443976, 1.1205342908018965, 0.8354349681953974, 1.1582976813025379, 1.1486438885045376, 1.2081261329041704, 1.034767220714202, 0.7175941875063175, 3.4435130953537882, 1.150897550680252, 2.0687290977228607, 1.7480336432992472, 1.1787708926371319, 1.283125528952349, 1.0881769798485843, 2.3221639168695036, 1.1591016739296784, 0.9358251408169616, 2.7684847539407333, 1.221917844485153, 1.7254078561780413, 1.2313827794307388, 1.4907871465719078, 1.1298719841172828, 1.422444943091434, 2.156468640534737, 1.2254699123909245, 1.1874121683366912, 1.4245552561347665, 1.0242483605599753, 2.0199802333768337, 1.1651880117886937, 1.1706781481779533, 1.1453197223691973, 1.3841309351055653, 1.3858178083357602, 1.882501999253427, 2.2216100140288897, 1.1807281930092661, 1.1498626280852062, 1.2346663125522988, 1.4110785074695644, 1.2556357113537575, 1.1648112135125315, 1.2948527801740441, 1.3273808022894855, 0.06351250314193331, 1.2095550957671617, 1.4723725256649531, 1.5988398603428, 0.7007958631916587, 0.8541652042693841, 0.8840216186818881, 1.3787882680544334, 1.2047190235412233, 1.3140476203291038, 1.3059792973630675, 1.2530030364712001, 1.36403823816766, 1.0419867278414001, 1.2461224173095986, 1.2232840417396913, 1.2748665467374762, 1.2075192389268534, 1.3446080276828893, 1.6262927548219468, 1.0507436329302795, 1.039130190038812, 1.3683767489474676, 1.312865733290787, 1.2175324080873473, 2.055546119613631, 1.5736597226401128, 2.8677832370480667, 1.177415931550287, 1.4322397386404375, 1.4543251969811133, 1.0719061300658352, 1.183724454909802, 1.6946457372276473, 1.2516503016622758, 1.0421625309463434, 0.8591642656862615, 2.087581208254804, 1.6739759440542084, 1.0187940116934748, 2.1713575158781264, 1.0845152730221308, 1.2706333801039913, 1.2339760103496202, 1.1319851800858534, 1.5325223670442731, 1.1118809690421119, 1.4002532666096654, 0.0, 1.1151778025710402, 1.1466437209483642, 2.0843126187651846, 1.3031215294185954, 0.9087568598512007, 1.5920408321382018, 1.2213119740817147, 1.1979533040852974, 1.3040789420811256, 1.5389421966592802, 1.1055450020862516, 1.1871187777425798, 1.437988877630862, 1.6202768285487668, 1.2182195395688522, 2.2169969544809933, 1.4145725559625548, 1.2927047724600997, 1.5730892234027132, 1.2875663116132108, 1.2182864274972152, 1.2735676556596738, 1.42617244002933, 1.051049673948236, 1.234513837632144, 1.6304302942873814, 1.3957191946932654, 1.220777438232664, 1.0672191856815763, 1.2879783055722083, 1.4226803827424939, 1.0801005341088035, 3.0007281539636605, 2.089712257276494, 2.4640729767075347, 1.0203230096524571, 0.0, 1.5382096898678241, 1.4022999413687212, 1.2396621861556878, 1.3305043841008004, 0.9205100076989587, 1.1784270204056302, 2.657084647051869, 1.7204216278469335, 1.2001187174544239, 1.5234266441142403, 1.581686533481149, 1.4751358374516028, 1.463269899076886, 1.2378019014766584, 1.5308125711626634, 0.22674522553720075, 1.4225839831178604, 0.0, 1.1610643394583022, 1.3538310321491718, 1.277745253251924]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/runner.py new file mode 100644 index 000000000000..e1f976058f78 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/fixtures/python/runner.py @@ -0,0 +1,80 @@ +#!/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 + +# 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 + 1.1 + python> d = np.random.rand(1000) * 10.0 + 0.1 + python> gen(c, d, './data.json') + ``` + """ + y = np.zeros(len(c)) + m = (c*d) > 1.0 + y[m] = np.power(((c[m]*d[m]) - 1.0) / (c[m] + 1.0), 1.0/c[m]) + + # Store data to be written to file as a dictionary: + data = { + "c": c.tolist(), + "d": d.tolist(), + "expected": y.tolist() + } + + # Based on the script directory, create an output filepath: + filepath = os.path.join(DIR, name) + + # Write the data to the output filepath as JSON: + with open(filepath, "w", encoding="utf-8") as outfile: + json.dump(data, outfile) + + # 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) + 1.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/mode/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/test.js new file mode 100644 index 000000000000..233451a272e1 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/test.js @@ -0,0 +1,117 @@ +/** +* @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 mode = 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 mode, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y = mode( NaN, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = mode( 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 = mode( 0.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 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 = mode( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 2.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided `c` and `d` such that `c * d <= 1`, the function returns `0.0`', function test( t ) { + var y; + + y = mode( 1.0, 1.0 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + y = mode( 0.5, 2.0 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + y = mode( 2.0, 0.25 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the mode 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 = mode( c[ i ], d[ i ] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/test.native.js new file mode 100644 index 000000000000..a90b38396927 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/burr-type3/mode/test/test.native.js @@ -0,0 +1,126 @@ +/** +* @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 mode = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( mode 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 mode, '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 = mode( NaN, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = mode( 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 = mode( 0.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( -1.0, 2.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 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 = mode( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( 2.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = mode( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'if provided `c` and `d` such that `c * d <= 1`, the function returns `0.0`', opts, function test( t ) { + var y; + + y = mode( 1.0, 1.0 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + y = mode( 0.5, 2.0 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + y = mode( 2.0, 0.25 ); + t.strictEqual( y, 0.0, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the mode 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 = mode( c[ i ], d[ i ] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 4 ), true, 'returns expected value' ); + } + t.end(); +});