From 9c85ee670c6f665d0dac2c5134fcb28546437df2 Mon Sep 17 00:00:00 2001 From: Om-A-osc Date: Fri, 17 Apr 2026 01:03:10 +0530 Subject: [PATCH] feat: add `stats/base/dists/anglit/stdev` --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: passed - task: lint_r status: na - task: lint_c_src status: passed - task: lint_c_examples status: passed - task: lint_c_benchmarks status: passed - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../stats/base/dists/anglit/stdev/README.md | 237 ++++++++++++++++++ .../dists/anglit/stdev/benchmark/benchmark.js | 58 +++++ .../stdev/benchmark/benchmark.native.js | 68 +++++ .../dists/anglit/stdev/benchmark/c/Makefile | 146 +++++++++++ .../anglit/stdev/benchmark/c/benchmark.c | 140 +++++++++++ .../stats/base/dists/anglit/stdev/binding.gyp | 170 +++++++++++++ .../base/dists/anglit/stdev/docs/repl.txt | 37 +++ .../dists/anglit/stdev/docs/types/index.d.ts | 57 +++++ .../dists/anglit/stdev/docs/types/test.ts | 56 +++++ .../dists/anglit/stdev/examples/c/Makefile | 146 +++++++++++ .../dists/anglit/stdev/examples/c/example.c | 40 +++ .../base/dists/anglit/stdev/examples/index.js | 31 +++ .../base/dists/anglit/stdev/include.gypi | 53 ++++ .../stdlib/stats/base/dists/anglit/stdev.h | 38 +++ .../base/dists/anglit/stdev/lib/index.js | 43 ++++ .../stats/base/dists/anglit/stdev/lib/main.js | 75 ++++++ .../base/dists/anglit/stdev/lib/native.js | 63 +++++ .../base/dists/anglit/stdev/manifest.json | 76 ++++++ .../base/dists/anglit/stdev/package.json | 71 ++++++ .../base/dists/anglit/stdev/src/Makefile | 70 ++++++ .../stats/base/dists/anglit/stdev/src/addon.c | 22 ++ .../stats/base/dists/anglit/stdev/src/main.c | 44 ++++ .../stdev/test/fixtures/python/data.json | 1 + .../stdev/test/fixtures/python/runner.py | 76 ++++++ .../base/dists/anglit/stdev/test/test.js | 93 +++++++ .../dists/anglit/stdev/test/test.native.js | 100 ++++++++ 26 files changed, 2011 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/README.md create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/c/benchmark.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/binding.gyp create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/include.gypi create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/include/stdlib/stats/base/dists/anglit/stdev.h create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/lib/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/lib/main.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/lib/native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/manifest.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/package.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/addon.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/main.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/data.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/runner.py create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.native.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/README.md b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/README.md new file mode 100644 index 000000000000..2ccce5cfd2d0 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/README.md @@ -0,0 +1,237 @@ + + +# Standard Deviation + +> [Anglit][anglit-distribution] distribution [standard deviation][stdev]. + + + +
+ +The [standard deviation][stdev] for an [anglit][anglit-distribution] random variable with location parameter `mu` and scale parameter `sigma` is + + + +```math +\operatorname{SD}(X) = \sigma \sqrt{\left({\frac{\pi^{2}}{16}}-\frac{1}{2}\right)} +``` + + + +
+ + + + + +
+ +## Usage + +```javascript +var stdev = require( '@stdlib/stats/base/dists/anglit/stdev' ); +``` + +#### stdev( mu, sigma ) + +Returns the [standard deviation][stdev] for an [anglit][anglit-distribution] distribution with location parameter `mu` and scale parameter `sigma`. + +```javascript +var y = stdev( 0.0, 1.0 ); +// returns ~0.342 + +y = stdev( 2.0, 4.0 ); +// returns ~1.367 +``` + +If provided `NaN` as any argument, the function returns `NaN`. + +```javascript +var y = stdev( NaN, 1.0 ); +// returns NaN + +y = stdev( 0.0, NaN ); +// returns NaN +``` + +If provided `sigma <= 0`, the function returns `NaN`. + +```javascript +var y = stdev( 0.0, 0.0 ); +// returns NaN + +y = stdev( 0.0, -1.0 ); +// returns NaN +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var stdev = require( '@stdlib/stats/base/dists/anglit/stdev' ); + +var opts = { + 'dtype': 'float64' +}; +var mu = uniform( 10, -50.0, 50.0, opts ); +var sigma = uniform( 10, 0.1, 20.0, opts ); + +logEachMap( 'µ: %0.4f, σ: %0.4f, SD(X;µ,σ): %0.4f', mu, sigma, stdev ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/anglit/stdev.h" +``` + +#### stdlib_base_dists_anglit_stdev( mu, sigma ) + +Returns the [standard deviation][stdev] for an [anglit][anglit-distribution] distribution with location parameter `mu` and scale parameter `sigma`. + +```c +double out = stdlib_base_dists_anglit_stdev( 0.0, 1.0 ); +// returns ~0.342 +``` + +The function accepts the following arguments: + +- **mu**: `[in] double` location parameter. +- **sigma**: `[in] double` scale parameter. + +```c +double stdlib_base_dists_anglit_stdev( const double mu, const double sigma ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/dists/anglit/stdev.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 sigma; + double mu; + double y; + int i; + + for ( i = 0; i < 10; i++ ) { + mu = random_uniform( -50.0, 50.0 ); + sigma = random_uniform( 0.1, 20.0 ); + y = stdlib_base_dists_anglit_stdev( mu, sigma ); + printf( "µ: %lf, σ: %lf, SD(X;µ,σ): %lf\n", mu, sigma, y ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.js new file mode 100644 index 000000000000..251a861b9e72 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var pkg = require( './../package.json' ).name; +var stdev = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var sigma; + var opts; + var mu; + var y; + var i; + + opts = { + 'dtype': 'float64' + }; + mu = uniform( 100, -50.0, 50.0, opts ); + sigma = uniform( 100, 0.1, 20.0, opts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = stdev( mu[ i % mu.length ], sigma[ i % sigma.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/anglit/stdev/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.native.js new file mode 100644 index 000000000000..a6c0bdfb6363 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/benchmark.native.js @@ -0,0 +1,68 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var stdev = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( stdev instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var sigma; + var opts; + var mu; + var y; + var i; + + opts = { + 'dtype': 'float64' + }; + mu = uniform( 100, -50.0, 50.0, opts ); + sigma = uniform( 100, 0.1, 20.0, opts ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = stdev( mu[ i % mu.length ], sigma[ i % sigma.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/anglit/stdev/benchmark/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/c/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/benchmark/c/benchmark.c new file mode 100644 index 000000000000..fdf3bfc32eed --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev.h" +#include +#include +#include +#include +#include + +#define NAME "anglit-stdev" +#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 ); // TAP plan + 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 elapsed; + double sigma[ 100 ]; + double mu[ 100 ]; + double y; + double t; + int i; + + for ( i = 0; i < 100; i++ ) { + mu[ i ] = random_uniform( -50.0, 50.0 ); + sigma[ i ] = random_uniform( 0.1, 20.0 ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_dists_anglit_stdev( mu[ i%100 ], sigma[ 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; + + // Use the current time to seed the random number generator: + 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/anglit/stdev/binding.gyp b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/repl.txt new file mode 100644 index 000000000000..b07b01200a24 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/repl.txt @@ -0,0 +1,37 @@ + +{{alias}}( μ, σ ) + Returns the standard deviation of an anglit distribution with location + parameter `μ` and scale parameter `σ`. + + If provided `NaN` as any argument, the function returns `NaN`. + + If provided `σ <= 0`, the function returns `NaN`. + + Parameters + ---------- + μ: number + Location parameter. + + σ: number + Scale parameter. + + Returns + ------- + out: number + Standard deviation. + + Examples + -------- + > var y = {{alias}}( 0.0, 1.0 ) + ~0.342 + > y = {{alias}}( 2.0, 4.0 ) + ~1.367 + > y = {{alias}}( NaN, 1.0 ) + NaN + > y = {{alias}}( 0.0, NaN ) + NaN + > y = {{alias}}( 0.0, 0.0 ) + NaN + + See Also + -------- diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/index.d.ts new file mode 100644 index 000000000000..7a81aa40744e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/index.d.ts @@ -0,0 +1,57 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns the standard deviation for an anglit distribution with location `mu` and scale `sigma`. +* +* ## Notes +* +* - If provided `sigma <= 0`, the function returns `NaN`. +* +* @param mu - location parameter +* @param sigma - scale parameter +* @returns standard deviation +* +* @example +* var y = stdev( 0.0, 1.0 ); +* // returns ~0.342 +* +* @example +* var y = stdev( 2.0, 4.0 ); +* // returns ~1.367 +* +* @example +* var y = stdev( NaN, 1.0 ); +* // returns NaN +* +* @example +* var y = stdev( 0.0, NaN ); +* // returns NaN +* +* @example +* var y = stdev( 0.0, 0.0 ); +* // returns NaN +*/ +declare function stdev( mu: number, sigma: number ): number; + + +// EXPORTS // + +export = stdev; diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/docs/types/test.ts new file mode 100644 index 000000000000..86b13ddc84a7 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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 stdev = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + stdev( 0, 2 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + stdev( true, 3 ); // $ExpectError + stdev( false, 2 ); // $ExpectError + stdev( '5', 1 ); // $ExpectError + stdev( [], 1 ); // $ExpectError + stdev( {}, 2 ); // $ExpectError + stdev( ( x: number ): number => x, 2 ); // $ExpectError + + stdev( 9, true ); // $ExpectError + stdev( 9, false ); // $ExpectError + stdev( 5, '5' ); // $ExpectError + stdev( 8, [] ); // $ExpectError + stdev( 9, {} ); // $ExpectError + stdev( 8, ( x: number ): number => x ); // $ExpectError + + stdev( [], true ); // $ExpectError + stdev( {}, false ); // $ExpectError + stdev( false, '5' ); // $ExpectError + stdev( {}, [] ); // $ExpectError + stdev( '5', ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + stdev(); // $ExpectError + stdev( 3 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/c/example.c new file mode 100644 index 000000000000..e98b1323719d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev.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 sigma; + double mu; + double y; + int i; + + for ( i = 0; i < 10; i++ ) { + mu = random_uniform( -50.0, 50.0 ); + sigma = random_uniform( 0.1, 20.0 ); + y = stdlib_base_dists_anglit_stdev( mu, sigma ); + printf( "µ: %lf, σ: %lf, SD(X;µ,σ): %lf\n", mu, sigma, y ); + } +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/examples/index.js new file mode 100644 index 000000000000..9a6a8e84f3b9 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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 stdev = require( './../lib' ); + +var opts = { + 'dtype': 'float64' +}; +var sigma = uniform( 10, 0.1, 20.0, opts ); +var mu = uniform( 10, -50.0, 50.0, opts ); + +logEachMap( 'µ: %0.4f, σ: %0.4f, SD(X;µ,σ): %0.4f', mu, sigma, stdev ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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", + "continuous", + "stdev", + "std", + "standard", + "deviation", + "dispersion", + "spread", + "anglit", + "univariate" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/Makefile b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev/src/addon.c b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/addon.c new file mode 100644 index 000000000000..459f2968d102 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/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/anglit/stdev.h" +#include "stdlib/math/base/napi/binary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_DD_D( stdlib_base_dists_anglit_stdev ) diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/main.c new file mode 100644 index 000000000000..972221f05204 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/src/main.c @@ -0,0 +1,44 @@ +/** +* @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/anglit/stdev.h" +#include "stdlib/math/base/assert/is_nan.h" + +static const double STDLIB_ANGLIT_STDEV_CONST = 0.3418336950449515; // sqrt( (π²/16) - (1/2) ) + +/** +* Returns the standard deviation for an anglit distribution with location `mu` and scale `sigma`. +* +* @param mu location parameter +* @param sigma scale parameter +* @return standard deviation +* +* @example +* double y = stdlib_base_dists_anglit_stdev( 0.0, 1.0 ); +* // returns ~0.342 +*/ +double stdlib_base_dists_anglit_stdev( const double mu, const double sigma ) { + if ( + stdlib_base_is_nan( mu ) || + stdlib_base_is_nan( sigma ) || + sigma <= 0.0 + ) { + return 0.0/0.0; // NaN + } + return sigma * STDLIB_ANGLIT_STDEV_CONST; +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/data.json b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/data.json new file mode 100644 index 000000000000..f8988d8d7f59 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/data.json @@ -0,0 +1 @@ +{"mu": [-1.0323623825418062, 0.4781437857134332, -1.7483320580526938, -2.9882102721172252, -2.4600724249113695, -2.1124877310139247, 4.881135750631495, 4.061083104602169, 3.705493779378104, -0.7615333276611498, -3.2807157064403905, 3.0243574230378805, -0.6514652160210179, -3.186139730399633, 1.944630268888801, -2.926025292703247, 4.361043841961834, -3.911444696602576, -4.756279640087607, -3.489443170943299, 3.8053745380071096, -3.6198635835107265, -3.0209671060039947, 3.7987885245530375, -3.914143487533679, 2.6045906280665214, -2.223225879406099, -4.435227000212134, -2.0212936996908692, -3.174407831646776, -2.2702005831539243, -0.07655066821448742, 2.064423576746771, -3.722259828727439, -2.356414010614457, -4.568956275703709, -4.312142525442074, -1.6812016574639688, 4.6588856306128275, 3.3745524471577735, -2.691732127393953, -2.2652754694848563, 1.3243306878704448, -4.361160816734797, -1.3897342562126749, 0.7640855235891877, 2.6232671122050464, 1.8206255392841753, 1.859963720759847, 2.3159156395166844, -1.0400247924741866, -3.1714283582701386, -4.05250888091235, 1.0797596798422688, -1.000393104680295, 2.108667723837553, 0.5955339418605243, -3.9965051126047046, 4.992966186428674, -4.159142934197248, -1.0867509603617922, -4.539554754334332, 4.588187093144487, -2.125996595281899, 3.994727361877773, 0.6043483267594372, 3.3547365302286654, 1.217966785455884, 2.2843336333568516, -4.103042807655965, -0.5061243945028355, -3.563181156607728, 3.8529656236004612, -4.85440047058556, 3.2721080872214774, 0.072308261974392, -2.0475620943485238, 0.35197120779232804, -4.061176895749336, -4.529139308438166, 1.140096420151659, -3.4969113445576827, 2.349686841478275, -0.0020210441100090293, 4.067050235821846, -2.7570634779029057, -4.839680251367934, 4.521719470888838, 1.4486242006582417, -0.006554526895373947, -2.324128109530422, 1.9275379162302695, -0.3123048562850004, 0.9382091016474492, 1.0257271378795405, -4.365594768561633, -3.7808109636732388, 0.41943827015908575, -2.06428366216725, -1.892495174279171, 0.2838696589514029, 3.1709372946343954, -4.516898062703096, 2.223782212837289, 0.6330623163889904, 0.3294724137116214, -2.4321329088367563, 2.8878120775450427, 1.1690273147978, 3.613988085195194, 4.935264518538608, -4.515536544592539, 3.1523240516382973, -4.127473921712921, 4.196567870633279, 4.427108645392751, -3.197112834605017, 4.553838397107713, -0.21693843948646752, 0.4003570042272644, -4.04143612699192, -2.371176526670137, -0.26230692263991084, 0.366400619366118, -2.2107290750767925, 4.921241820844736, -1.3452489007037602, 4.557487514150985, -2.4774236084737424, 4.677623606730121, -3.4530924872838042, -2.9082960569768765, -3.35002452746095, -1.9345449374837722, 4.938328424025972, 1.9519377965612854, 3.6931986911189725, -1.6003185845203873, 2.828753917630804, -1.9252963435665125, 2.4941349696467485, -3.161744982885486, -3.6118459544834103, -2.6229184552681692, -0.8196811368400505, -1.1535446189471643, -1.1955011863008416, 4.4684642848062275, -0.2536956356801001, 3.560340213198751, -3.5498523075040755, 0.0843812928737373, 2.440934708149623, 4.128157825136704, 2.8554918564448952, 3.519591648971888, 0.9652710880460464, -2.829355602163214, 2.3530817884859987, -2.7806761721927344, 2.054777975322695, 1.070761602010732, 2.3659804457042615, -0.9116203093889466, 3.7903771230011056, 3.6211987746779997, -4.2539825161236, -2.54354039424479, -3.788304677676362, 0.03165368058688678, -4.904511296293403, -2.6844927957685885, -1.5366759660618734, -3.598445802313981, -3.014153345148064, -1.1859446603093557, 0.00909788675291523, -4.631450257871918, 2.7131173905044568, 3.639745273518633, 1.9602013811890453, -4.735492619531319, 3.643411022698144, 1.7901425303721012, 3.3926280796014545, -0.7559399981679853, -4.277878981369044, -2.9914416293067045, 0.012547216516713533, 2.3024801044232337, -4.389266178160325, 3.950298850575834, -1.1015350711122087, 3.209447896455746, -0.8311746686229879, -1.0304020162785497, -2.9507933785680085, -0.8774109456273491, -4.59507529697484, 0.8372417609926188, 0.27366255079918744, 1.6692977836061118, -4.820715726449435, -2.80681356863128, 3.1811126544905335, 0.43744329279118155, 4.251063313435049, -4.118513248327354, 3.359063313718698, -0.9454731240049057, -4.943563104806393, 2.101559421783362, -4.2644213764190475, 3.8353676254271463, -3.889761303864796, -1.6639350988442092, 0.3803530196552094, -3.0798560532269406, -3.5620162901602184, -2.001261925190404, 1.5134239626256125, 0.4627167213529937, -2.2144584284347912, 1.285498296263766, 3.7536967172236437, 0.20552980083827066, -4.216684635082623, -4.919333099707069, 4.60748162582345, -1.496327389652362, 1.7414240444897064, 4.517187877576799, -1.4043597671950545, -1.8686559275847738, 1.4628176291441521, -1.0922513917253451, -2.5387568826633355, 4.975557582257066, 3.7232938253262287, -1.2736025105959303, -4.1589873356665406, 0.6487645094019108, 1.866046405819814, -3.978969306907023, 4.100316925846624, -3.3795759707098796, 0.7565195751345488, -2.819900178862409, 4.952487050308928, 4.3825757525679325, 1.705923779900198, 4.728882771833122, 0.7402564638608942, 0.17816854573568985, -2.937088559172998, -4.692156108598495, -1.9702434220731657, -4.500047937577171, -2.999575008372334, 2.8786015109707623, -2.2570045528777536, -4.1056607066216095, -1.2693402542288466, 4.902200468757949, -2.138053822915774, 1.1968677393286908, -2.858335983715622, 0.27521103997309737, -4.936082802593896, 0.787267287321546, 3.5773676928860443, -2.0609445514112834, -4.0994330438087445, 1.1299953452911504, -3.3596421688884104, 3.74363727033686, 2.67757016601524, -4.109087180194178, -2.5853069549351937, -3.498099886691585, 0.10318584521895513, -3.9282493204833466, 2.1211009496787847, -1.6023455058947302, -2.150633848220098, -4.371629652514942, -0.691070182720467, -2.7415444624062566, -4.593977641252405, -1.3656253290159959, 3.549205938431168, 4.6535759846390725, -1.0945036691289856, -1.5880891383662177, -2.2232297023387915, -4.336701857910597, 2.513961354991064, -0.7171489336436752, -1.0240834786617805, 0.5035254779770462, -1.8772150631933648, 2.313907326791, -1.4065651954013214, 1.7970235901870666, 1.9975103090647988, 3.466889646404006, 0.917600958284778, 1.4946164127954376, 4.4848415159251385, 1.3598481924731232, -4.457960407765686, 0.8790465326584833, 0.20275894526703198, 4.137034096231437, -1.5311426794270169, 2.3231665450741907, -0.35815007727574333, 1.801092564994347, 0.652379371718018, -2.9358512278128233, 2.4550744952348778, -4.419589999012656, -4.043563926300836, -2.9334224364211128, 3.449739126773707, -0.9171646055863194, 2.3124609572506234, 0.9288813517188181, -3.8180172731770434, 3.850971157658398, -0.42921339473222453, 1.14533508095605, 1.9804922246124734, 2.835308873382565, 0.9301438180421604, -4.4635476693289124, -0.8058777841752107, 4.375364531426941, 2.885002088263784, 3.5934123184451554, 4.797133674857793, 3.0307560962243834, 2.0755067598925345, -1.8766754437895514, -4.654981698827277, -3.4072710722210617, -1.6272578400122075, -4.9523135593983305, 3.989112950008794, 3.8840914784078233, 1.7411539950074681, -0.6517822182392177, -3.971082014248867, -3.3669947941302283, -1.1736255485279523, -0.1414906532318918, 3.8688293383294923, -0.49995618236437345, 3.737000772895545, -3.7159822494897754, 1.6329488988413416, -0.4424546253408712, -3.5437347508386785, -1.5397068785165247, -2.491206139993485, 1.5065134905227637, 4.354563157241998, 4.20971381405861, -0.17238722223777714, 0.1836587723651686, -1.5130694671388123, 2.8260821496560515, -4.300634905326868, -1.2563603505469603, -1.710969697079372, -1.9599820013137483, 0.07128835379393994, 2.1299421364435833, 0.16389953084057218, -4.131957747490002, 2.885694785582057, -0.2104713677241694, -0.167635298676176, -2.812279494690358, 2.8108238568667643, 1.7123848787980567, -1.7544278101105326, 3.3601767608111217, 1.8318859410709223, -0.6326609666966405, -2.4782452535312762, 0.48994536808398603, -0.5709349871804452, 2.361754782256014, -4.193410838986818, -3.4783267700854603, 0.5965316944751118, -2.4449460464754336, 2.9201784806038225, -1.7200137917899614, -1.2116839929371306, 2.1175866615780814, -4.008373729300666, 4.1182295344663515, 0.6884475008352275, -3.594442883107992, -0.6575904613739381, 0.8664248658943317, 2.62760434010763, 1.375662765912507, 2.2796757443409206, -4.240640875474146, -2.9747676187185235, 3.9284440637732327, -2.135154752043167, 2.4933613642091412, 0.7520737221380349, -4.24400637180566, -2.4962495817661887, 4.110025971328556, -4.576532072085865, -2.5347467565520523, 1.0301444239667585, 3.217099767782466, 2.4927616453784776, -2.2278798985135717, -3.04683043463738, -3.331859263607335, -1.708267755608166, 3.804678482546965, 1.4057107886686087, 0.4775335236412923, -4.7585998068154565, -0.9978780343908298, 0.13245749008124008, 4.714633430859713, 0.561247009849791, 1.1210586255144381, -2.295516093945782, -4.056200023147718, 0.4019314468931672, 3.4703002045132774, 2.72114295698527, 0.5545993666555908, -4.713918347283112, -0.22037807995070846, -3.173384855108897, -1.349149669954218, 3.326644932294636, 4.890321407061132, -3.1771131660922114, 2.1294217786572283, -3.8705214109905506, 2.793350412604511, 2.163713342351434, 1.766195463958768, -0.795773500242845, 0.05993799584882176, -4.930633345580767, -0.20030037802665568, -2.6683616125276943, 2.2522861762064768, -2.520009928311342, -2.2308821696662386, 0.15227442498051147, 4.839864402865711, -3.6177875563098674, -0.7771011165716182, -4.484900327573683, -2.932704603118977, -1.299071102977798, -1.9428319081704561, -4.928204211926111, -3.665337685093606, 2.252951759218459, 3.8199963908253878, -1.1355426092785716, 2.9161356276387274, -4.018481263370378, -4.705332736154235, 0.8599711519302486, -0.9270526073752077, -3.2369499475792853, -1.9043168449811452, 4.711807210539984, -4.072004003943276, 4.7063067879072555, -2.104198777169967, -3.7174356176399437, 2.066046899969596, 4.209992460409351, -1.1306799123087243, -4.998917050241457, -4.778293826614992, 4.547278125145493, -1.9417135073895144, -1.3398140937701197, -4.777851798723037, -3.430974582901747, 2.2141115865450693, -0.06126485088252753, -3.778301029388013, 4.124883169956028, 1.8571904653910778, -1.3685926910959054, -3.1195139733746204, -3.8307383746141275, -1.022624928328364, 3.0001656812731685, 4.7586966376851, 2.0418036955665366, -1.0889503983185111, 3.6576391463579974, -2.068717329663622, -3.3115477858080977, -3.3784740439409844, 4.328086085050266, -3.1758441680907747, -3.715711205162303, -0.33056632106377926, -2.2248991139847005, -4.993727328833063, -1.3952677071108455, -4.844293424783194, 0.14724364338185758, 1.0955117905204883, -2.5238315962841664, 4.7483741836738105, 3.496104469690586, 3.7842998952867966, -2.3576799252848124, -1.3638799231852028, -3.8209166526675906, 3.98245547150899, 2.8395391041001474, 0.1837043593264287, -0.4558511456741545, 2.6337580220247414, -2.4954490148864075, -3.8996176362404746, -4.179591731699553, -1.4217079637369712, -2.6321258513471912, -1.2327382057608958, -4.102677286377823, -4.180865193547029, 1.6000304628962976, -4.225931238618448, -3.185596113465312, -2.7903004482810023, -3.814389965111107, 1.733880866679427, -2.8545762844891165, 1.549122175661025, -4.279122763509783, 3.556515428548881, -2.3233168232528656, 2.1332244413140966, 1.7133339598806057, 2.599661254706551, -2.757311939823116, 1.010401672449496, -1.6983185288682359, -2.6099379033476033, -1.630652717025629, -3.8169107627442322, -0.4185142363670433, 2.326705685656507, -0.3048043539407992, -4.666114129393257, 4.975405956635367, 4.375710849374109, -0.2979917950670661, -0.19409320993111123, -0.35838803352600124, 3.419669317511344, 2.6887698655185996, 3.850015849302709, -2.3121297564370416, 2.0953773615583007, 0.40755743227393193, -2.0710280089622692, 0.1402512781166143, 1.5308554547791111, 1.9117584785924926, 4.757899494169363, -0.714898935989126, -1.6769166976528869, -1.0068729379340158, 2.743023405944095, 4.584531385433113, -0.06794427165004713, -1.8828019703590817, 1.7773894535648873, -3.119731153949825, -0.2064764874503684, -0.23736397346724303, 4.563021825301485, -1.7134858765238814, 0.7220600974969518, 4.072861754706885, -1.6236630322166814, 3.913331063918964, 1.3806411697187748, -4.246331539405494, -1.5330738021466983, 0.04154271942747201, -0.007995905734762054, -0.8003782954153396, 4.1207130654163056, 0.6890398204562338, -1.9291763795460537, 3.783123054834734, 1.2217573191489581, 1.7512877650927674, 2.3535951806848523, -1.8167772397596824, 4.709248791318185, -0.13717680791267917, 1.4305562203088389, -3.9024470966933587, 4.932513752583105, -2.794092318043976, -1.2092424468612641, -1.1846668799411098, 3.264376521495384, -4.668744860063904, -2.072880482540932, 0.6206052539210525, -3.9078559233962107, 1.8396486240957248, 0.3383688736157371, 0.3551571666049895, 3.5931699582492946, -4.774308161917244, -4.220147237321363, -2.9537623177911154, 4.301928420454772, 3.0211638496152986, 4.94107942170192, -4.284263752912553, -1.2753261727500318, -0.5093082569213383, 1.149889380735761, -0.216963741922779, -1.3193996864406934, 1.0172755055597227, 0.6606354825080647, -0.5999962144875344, 0.11762529485505269, 4.987037603944831, -1.585966109720589, 0.7245862235890677, -1.2759321932471215, -1.5162104396982015, -4.622210840937591, -0.789129616270607, 4.923881577302696, -4.890816375518444, 4.300247004426831, -2.4812140844991273, 4.830799006069364, 1.0788437240930797, -4.7217806739399695, 1.9110866724950917, -4.193793012527941, -3.889245159113277, 4.249735255391357, -0.26520744285068254, -0.5906487943197192, -4.0790401121013256, -4.488354227081396, -2.251044251217257, 1.615381552929108, 1.498130467121614, -1.2795040801953919, -2.421643423841109, 0.07418918116638107, -4.938420598593231, -4.450718452093447, -1.7604643044092185, 0.5786116047526431, 0.27012331992173344, 0.8988223762183454, 3.0650158586665768, 3.352201565467542, -2.651585161281067, 0.25755877982187947, -2.2523329486333212, -0.43293931327757296, 4.508440760936111, -3.468141831950601, 1.4875040496102612, 0.8667010340169998, 2.994855377060631, -0.21530652338868528, -0.17716940311419815, -1.0588628523226573, 3.323894469056958, 2.5322656218828667, 2.111171128919863, 0.7468897143906696, 4.228302132876024, -0.07355397356696791, -4.979940960516092, 1.7466611119929905, -2.660354244938903, -3.517965241927304, -4.7700200571237374, -0.5146845404866562, 4.6822382004259815, -3.2456104278611653, -4.78687707472809, -2.5797542803939857, 0.45849461586650975, -3.331200582097095, -1.3095038141319049, -4.836082536892794, -2.719907673131029, -3.9362956873120303, 4.929994204012512, 3.0166139919449506, -3.2263038468095417, -0.7530691095531861, 3.2528933978375, 2.77808131544517, -4.400032477552327, 4.4754681200362505, -0.25808735044892206, 2.288388661797743, -4.71877660542118, 1.9587656210874815, 3.1844310290866, -1.1082945116813745, 2.246116854098333, -3.2030755829751656, 3.256952628845802, -4.510503494246636, 1.8750416448212537, 0.15372981634990524, 1.4316199212070932, -4.303819605074155, 1.7399299505063048, -1.7843326788818512, -3.5007440101675122, -4.751264179000946, 2.3909265016165566, -4.09631903403389, 2.261093286664564, 4.623792255199541, -2.502279896190399, 2.2503747501045535, 3.308077615096039, -0.5466643938374531, -4.882226329261164, 4.684909350050326, 2.0804887796828773, -2.414381791635952, -4.442763864250939, -0.20018526732735964, 0.2129582671592285, 1.0826628745811622, 2.9650822922882645, -0.9043529168600406, 3.0870603548475124, 4.150226862948456, -4.280983897067669, 4.234509324260598, 3.303341042489766, 1.9320942794395677, 1.3675553806797414, -0.8759000741575873, -0.35804328952836073, -1.3902368375022767, -1.1771822660586242, -2.9394767821414245, -4.589397636679386, -3.7050017536082636, -3.2739427227894167, 2.2542347838834527, 1.5468059079100174, -2.9187281084731698, 1.5158121626175536, -4.981436439978174, 2.824105892771266, 2.1871397088494557, -0.6294017442099786, 1.7626395720340806, -4.2525305874124575, 1.3726848367743427, 4.454628284490024, 4.265299266649196, -0.9727533862694218, 1.9836763220465876, 2.5082307841848106, -0.9616125526848576, 4.280972771770314, 2.1981236388803804, 2.5913031428376145, 2.1143823962786783, -4.62719653490796, -3.3331706081220758, 2.3339071328063703, 2.3273115744393946, 3.819921776234196, -2.435762680737014, -4.685230567104528, -0.13532186333915952, -0.7890729153947547, -1.192039585182787, 3.3700243896163844, -2.1852765588344116, -4.05982194475494, 4.020621784806142, 0.44902186382615206, 0.3347854816680602, 0.20376373079122523, -2.4981818195989494, 3.7947964429175354, -2.178583361658797, -0.030848162962179515, 2.980969280998538, 3.756489860860734, -1.5171166733745114, 1.0085013858352578, 2.027380189869308, -1.3788329867048765, -4.1993065638524545, -0.4580205934770518, 0.907520395092968, -0.33219163965889464, 3.3949565945295426, -0.049253506988149454, 1.931719676254973, 2.991220219166106, -1.6275347728683212, -2.029971389734604, -4.803756917783707, 2.7644117460484843, -2.7227340530358015, 4.41018193993127, 3.875889528630662, 1.83115481659022, 0.871073529341091, -1.8220580280543741, 0.7679899258381981, 3.776622417271007, 2.748161695707365, 3.0526126837763314, 4.22736108684065, 0.8712477482268941, 2.8490819750046326, 1.6066071971766158, -2.198713073142613, -1.3491659457566318, 3.6142938003508576, 4.9098907245189665, 3.5842358689283067, -3.065062975720285, 2.9899322218909576, 1.4917507401239263, -1.8595896751247984, -1.7487562804488177, 1.6577362062060832, 4.661284258910197, 0.11595872128331575, 1.0728927187707074, -2.4064916734268382, 0.6669414720073839, 4.338212102352889, 2.017715717871722, -2.891826200422839, -0.4297480065634254, 0.5367088950300598, 3.49839022826027, 3.50391354639787, 4.721520455937009, -1.8441448706106844, -4.280566761000305, -4.409981475649324, 4.429037247840586, -0.6549515106075345, 3.1281019643136805, 2.819509011610392, 0.007881382310830354, 2.3673887300985434, -4.510744058121042, 2.85216795774057, 3.2078519579200844, 2.7862809090590224, 4.646304431616867, -3.7184176023756788, 3.3256083715510343, 4.413251293179426, -4.0086446494827035, -0.15212389036554175, -0.9048856308867137, -1.2255064153234607, 4.114743737823392, 0.863090961620042, -2.308882825462941, -3.694390132347092, -0.8296909348078243, 4.164682525727045, 4.8806820701526, 0.21214440722673533, 1.7548014002990833, -2.4299336906465543, -2.571472518076905, 1.4839224375849014, 0.052689855928979235, 0.09869064870109856, 2.311848822935909, 3.0222156294717823, -2.293482366053521, -0.8456240941942905, -2.435889334325151, 3.120067442750333, 4.312204006587372, -2.99015481538772, -4.5411039358253324, -3.87808307623391, 2.376965194177439, 0.762613384989768, -2.4564166244514487, 4.186418658398704, -4.658739150862447, -1.3711155159806667, 4.388599709919191, -1.1118989543140079, -1.1671846518396944, -3.2258952170347586, 4.273421152436157, -2.8127636096090525, -3.4271470418185803, 4.484661479104133, -2.3284241461063457, 3.7879941103128054, 2.155678873778756, 2.00315831697207, 0.16851356430865394, -2.1019745634398945, -3.2028059309383883, -3.9109090959729906, -1.6865774860319451, 0.3033270333444813, 0.7610831706227223, -1.295072991858456, 4.4661642907566605, -2.3175918867864453, 3.44500612214787, -0.9559461651387577, 0.0006510464976798858, 2.141116459843521, -4.767331819749126, -0.23650129968357447, -4.070498669023401, -4.1077463542706605, 3.7862158541795417, 0.5440201122895472, 1.356479025077041, -1.6415016784690586, 0.8140266253646988, -2.907498855962809, -0.6290481001589736, 0.0777062405058313, -2.3483959443294697, 4.33015538656019, -2.4784501744723686, 2.4317046852808843, 0.9022453615414765, -2.1873413358652916, -3.125008987314961, 2.355739718505273, 0.8682238918729794, -1.4741917594061524, -2.469816328305896, 4.914207699746978, 3.284864880315588, -2.791244854671401, 3.3876443781295826, 3.5376805935099362, -3.353880393444202, -1.9378024344635127, -2.56415533917139, 3.0272961199361212, 3.3828350982132207, -4.839225334749241, 2.585870577667918, 4.17285264112633, -0.5480503654122293, 1.7995556343826804, -4.891071029290281, 0.7963023346724061, 3.716898665037432, 3.303532928882916, 1.6950166176925405, -3.524941396677115, 4.285897231741462, -3.377099933412083], "sigma": [6.448943358738896, 3.9059063381711403, 4.15852998443765, 6.720359211717794, 9.033897742860663, 4.696278067247949, 2.8139096445368863, 1.4758609772421496, 9.447753439515953, 1.8021771191036076, 3.402378327502811, 5.391117391598598, 6.778166018225521, 4.7402412576043185, 6.092940770860867, 5.704476940629142, 4.3782718944681225, 8.97792394978461, 2.3865651998765505, 5.4363988996447254, 1.4524959847488619, 6.1840701790216706, 2.5704108337774114, 6.76535152865131, 1.4725424665341094, 3.0345016353436494, 2.6075403322488824, 3.7294636387713633, 3.012590113432824, 10.762025125765216, 7.200876826626942, 3.7588696476389707, 3.387943245372801, 6.6271263263192335, 3.4971145415147458, 9.719085001778131, 6.797750221655534, 5.043729027319793, 8.563665874683343, 9.249136710579151, 8.82964244041142, 6.718729897210042, 7.453484365224295, 4.934525661969776, 10.061015883634951, 8.794813933901942, 10.085523140889837, 2.346691127138432, 3.2645136211396366, 4.261700982331996, 2.909429190446975, 9.93684380974978, 6.715553265356553, 2.758676884400722, 6.642301719500943, 7.6333369812419365, 6.107537680343581, 8.275709995885206, 4.076508567894356, 2.668318200324247, 7.076624405860956, 1.0308067838914827, 1.3343275626415076, 7.262526798627941, 8.453622835421076, 5.619170326715131, 6.290881945809669, 7.382018607796551, 6.255006420686525, 10.252137781265596, 7.324001695589195, 3.3357518248687925, 9.987087933384412, 4.162440363855871, 8.082038544448036, 1.377027192535726, 4.781506823746961, 3.601421870061392, 4.709394122554114, 10.695357308589402, 4.28002775967878, 9.381014486133967, 10.290790671321044, 7.4052612276932255, 1.0120919767408778, 9.32292301266876, 8.421938542580886, 7.103954775085613, 5.971658461240617, 2.5488833079373565, 10.559389223806678, 5.264739338835707, 7.398762470620234, 10.90121746066531, 9.025462530868772, 9.058420811948587, 3.362516097983538, 2.056878823956059, 10.828629418415272, 9.53881689179767, 10.97861987961752, 7.899150893706035, 3.875753442338019, 8.89518197652281, 6.183723151035906, 2.124906472193641, 8.163997522494181, 6.854224028618871, 5.086235136617619, 9.243029657819378, 9.45239163946267, 1.5933420073318685, 7.173117558485424, 5.697167587171709, 8.93789124434177, 3.2818033337273933, 8.5872926729887, 8.450995857881255, 4.893168495974066, 9.41314742016561, 5.516322846094349, 3.5592823775736893, 6.405830050624853, 4.052700782134822, 1.6749232055224241, 8.974440467629426, 6.133029524135042, 6.728582098457482, 9.60495719768944, 3.286741761126251, 1.967841762758913, 3.6925446760799088, 3.0600988535452434, 9.485504225799259, 10.379280520736248, 10.00258636464238, 4.672707102973716, 7.639496351407722, 3.2031443919324056, 10.493412865396673, 8.674460249656383, 9.162154789462825, 6.749679584227225, 9.316559517578293, 10.128560107230733, 4.555330820698423, 3.44631313038414, 6.51657227659571, 6.951922583012262, 4.492884290633979, 1.8377972137682288, 4.915662658496558, 9.508511389497404, 3.7207217716634657, 9.638777724534364, 5.263055433435339, 2.996512922376704, 8.625550639196623, 9.421332380846241, 6.3557400999462175, 7.293453944662418, 9.535320801609673, 3.0673387808099006, 8.18462566527759, 10.771426100558152, 8.651318730111829, 9.80657162729834, 4.308154074257122, 1.0401542192542914, 9.430101968073366, 3.5519579006705406, 6.627027004881432, 5.240390263001745, 7.443985197209794, 5.873132645069233, 10.763630837115677, 2.169356219806149, 5.197056147841956, 10.784068121768541, 7.950635210119018, 4.601339122236809, 1.11905107767476, 6.546332436221661, 8.319451652256914, 7.572796943014048, 7.204937113983196, 7.810756389157399, 10.185611909121619, 3.262393976875453, 5.67970996101257, 8.575082076988723, 9.441180338851861, 5.592624099412116, 4.541055161374614, 7.701649128079521, 7.560873740315722, 4.9213168503352325, 3.2735767315646283, 2.1980176480646207, 7.200525406570674, 8.086425022113193, 10.240479336912873, 5.373347391268041, 10.324846410795987, 2.0312226869866095, 9.496229881084712, 3.9100264928142803, 5.415147501730341, 1.4507357017875446, 2.9295713908012146, 1.232038314247548, 3.5771345202834284, 1.5747078892086244, 7.205467415093421, 3.48532890056964, 7.425158529344364, 7.768605837348799, 2.691997649139335, 8.631604647686055, 1.6867571362033642, 8.343884304239255, 1.1445386772852442, 1.4354009561435912, 8.85474407647285, 2.829748745249231, 9.822571689378849, 3.6917043546285093, 4.219115113329821, 3.620431396909866, 2.1675457120372412, 3.135074675314965, 3.5296261822817168, 4.323797542259939, 10.69909577861467, 6.668108712167572, 4.083970599301965, 3.304095474064196, 7.6160354681664755, 4.447618113556898, 10.793150723462, 8.691499449150733, 2.6522701207721613, 10.716061055333112, 9.245589802499202, 2.0319186305447117, 3.2829921322344617, 6.414434704946979, 2.899180156993575, 2.050754887921299, 1.7197009814137478, 4.246687152900508, 7.5146921433834155, 1.9582152489993212, 10.745386593071434, 1.6534769863750411, 6.81747136553174, 6.578062433863763, 3.9716809636460564, 3.376245029919233, 4.6315987739980145, 7.7454758412093145, 1.7020950450539576, 10.942639143051792, 2.3917384278221325, 4.680787440886748, 9.44295499651189, 1.0880433654668178, 2.196957469823606, 8.874041609521967, 1.6378995110240726, 8.882817802697932, 5.34384150059855, 8.270501504428601, 1.4800558270689648, 2.3308186640108097, 6.767922958315549, 9.94807706640704, 10.163479003361463, 7.78478427276486, 9.898077859423484, 10.406404173714122, 5.121245012490922, 8.358613315553725, 7.072126570817463, 3.3132184234522954, 10.903805891287657, 2.4844346741198766, 7.408581946010237, 4.985872820524541, 7.355968505056456, 4.7378956664650325, 6.789629461101056, 7.846368713796243, 10.698321738277796, 2.392373888132391, 5.416112856636475, 2.655977282985761, 6.244055277638995, 2.3358688285252374, 7.105490039767928, 7.237282714834266, 3.7702347780359506, 9.803367228061635, 5.995046786362969, 8.340036009916982, 6.143177867555097, 9.423315140564464, 3.8471916061785, 5.217263207612806, 2.227672508607529, 3.3007236242302875, 4.854026054690119, 10.174105136941904, 4.419492838951373, 6.768381790095244, 4.947704691444974, 6.478306755642955, 3.5288171100967016, 2.3488165663672538, 3.717765197089311, 1.7950706166270105, 9.020581393794528, 9.247019358444085, 4.401609595669104, 6.611734579670542, 10.92291405216093, 8.344823241254979, 6.1911062883355905, 7.369436980812562, 4.019272061993577, 2.414650059837653, 6.863849692017063, 6.646130403691608, 1.9927597077070538, 2.955099341084967, 2.819024650577189, 1.2173856426912968, 8.084118396975997, 2.516593345753402, 9.163985644662171, 6.50743002942229, 2.6070710189682256, 5.311804124209896, 5.81841634987568, 1.8365252572361837, 7.831778773487782, 7.396454469914196, 10.996534124615078, 10.945293771743861, 7.946388977920353, 5.333557036426051, 4.8902334645914465, 6.53102087426122, 8.902954541381567, 3.1183514019932446, 4.293725661927076, 2.688966679525418, 5.149898610490319, 9.554714824199522, 2.7532655160939448, 4.65574987238946, 7.30120782585074, 8.95956026600113, 6.698590341087801, 4.78474811568722, 5.044103978510373, 10.290281413613307, 10.129142182679393, 7.753072887165917, 6.002142034271539, 1.3002644349763128, 3.0651711940499498, 8.08050161300061, 3.44933299577337, 5.296922074359292, 3.134223658517266, 3.593456231560353, 7.099511939991329, 9.744661010492907, 6.628860384542157, 4.882951089962942, 4.193284538653078, 10.601925487138386, 2.691080267172759, 5.072947115703655, 5.4763208095772296, 9.172492195374835, 6.53716242781439, 10.208249196779638, 4.616795585201583, 8.006054424527516, 8.06015160434119, 1.2304499034963625, 9.06482939243487, 6.584374003081432, 3.2967242632578344, 2.910952097616673, 3.314238394006116, 7.676893387377425, 3.237045187348544, 1.8165899109592878, 7.66874070219121, 4.7540912282246675, 6.970964884207771, 5.721787987790362, 3.509448772829818, 3.0476408240272512, 10.294863819004476, 2.4380055109070025, 8.247465338079566, 6.747513949278533, 3.832716095908604, 6.81908300002635, 1.6174774100379565, 1.8405544441878054, 10.895562921321913, 5.051391068664493, 3.9077190121023335, 2.0070890595772717, 3.4020894255638927, 3.091601372818025, 5.6227734088909, 8.164982908748943, 3.9810666610520196, 10.971479476517615, 4.350198437691587, 9.860859766268476, 5.78643672779803, 9.472338877158311, 5.478619558842101, 9.027390907846987, 7.950373684865529, 4.179241807951934, 2.7965437146107686, 10.640444920646647, 1.5686668811443596, 6.957968583976953, 6.7758680396214555, 2.5261108058325235, 5.362980770827997, 2.049061299064217, 10.544080872609243, 10.254454785336257, 1.7033048996525237, 6.559170472646828, 7.824277849205144, 3.956154018273068, 2.7537689928419753, 2.606347143053055, 1.616396523001802, 7.219261761296818, 3.748167115941463, 9.836314057365804, 1.7465294856850735, 5.69571088055058, 10.499229866429035, 3.864322537048265, 2.815173848985092, 10.183490454726881, 6.115532441307307, 1.2436878519771624, 2.192331353042013, 4.710979682527727, 2.783203176183321, 9.85705907953205, 5.9244685107674595, 10.610294399498462, 3.1588929360961364, 3.3590176874258715, 6.017644198608214, 3.95947996297096, 4.713378632177168, 3.8058645200594965, 1.0591461981555197, 5.150926591300753, 8.987599259158577, 2.0396296294159315, 5.441294678295521, 3.0081156715267925, 6.142934087406308, 5.139872107268657, 8.717017328863747, 5.1693101075151064, 9.46541085783621, 8.459449698998409, 1.2317274737864627, 10.123368059412853, 1.4928988572354864, 6.489405047741903, 1.4016417881517742, 1.5592757814257343, 4.046618582298436, 9.136195200004924, 3.6311603198697986, 5.59712083679627, 9.048311132779597, 1.3913975396223568, 8.222714920899376, 6.059490293684897, 8.811295751511064, 10.946475845634382, 10.782171733361235, 1.3216057894712032, 3.455235495717385, 7.153562261053027, 2.298935769663254, 2.6493957747527057, 2.687371189855905, 8.511481283751024, 5.3478418998808515, 2.204695258985038, 6.951905972518706, 4.502914959511209, 4.018898996279202, 2.2545848792896006, 9.5529497419779, 7.068285487395909, 8.68690849702228, 8.234633250041885, 8.579034449140835, 4.180502175545486, 7.7433811627149485, 7.673678871084214, 8.813047300772066, 8.70533085319354, 3.5302281708171526, 5.533456889069424, 7.742011812553271, 7.906344440764489, 5.902236507129578, 10.203602657661223, 4.365132578001741, 1.5031436599523298, 1.6701249647544216, 7.932429931730266, 5.356191175200271, 5.5199541158296395, 7.401365057175067, 7.2357733549353025, 4.238916603483119, 9.557913205129386, 3.5714632534571047, 6.514630677427023, 9.374196255047604, 5.597731679072875, 7.671348854145085, 2.2132796765753318, 2.0810850767750435, 10.564308231386104, 9.067117061711304, 8.890848236789433, 2.6488556114421273, 9.130467028943999, 3.9037121079466335, 8.428942369501762, 8.9698755632175, 2.2613083072669373, 10.916687564003038, 8.313751383003364, 3.9328685771072713, 9.040455723285525, 9.367784218045575, 4.333712820624422, 1.769949458280641, 1.7856485401274638, 4.766808609147123, 1.735294210365821, 2.8001934367432404, 10.727419696258261, 8.451412172123376, 4.921366146726121, 7.91264422326043, 8.301292384300655, 10.68755034432173, 8.080123796246374, 2.199342537386243, 10.310397469056419, 1.6699065372776503, 4.1854690084448345, 1.9558249783628592, 10.891857815859312, 9.366043424773519, 5.768033404059468, 3.0244949324254415, 2.2859891774524437, 9.74623815901738, 6.129051391248911, 4.640038969324607, 7.693779982402472, 6.465917876550581, 9.4927807959092, 7.779954141784507, 7.636777512234638, 2.93006333069651, 1.0559327668864706, 6.2854253650288125, 4.010026056657541, 6.457923170638948, 6.009615709054175, 1.830459884566005, 2.5184195585922966, 10.60888958638692, 6.770334432877481, 3.627554441781025, 10.35301189998258, 4.628002734788697, 3.422811811305421, 7.0521375580438095, 9.237047069134483, 4.494670279672812, 10.007110335671538, 1.7026446820914012, 7.889860170228943, 10.125701188816747, 5.877025602471027, 2.921341624166062, 3.8410667061886032, 6.524047502635453, 2.9128519218131745, 10.103545189818798, 4.855842066151513, 3.127094591325757, 2.901037421920111, 3.163824461622869, 3.0513699608159044, 1.7748997481465691, 8.906437334569032, 6.806773321096789, 3.5543321696814325, 2.078283101654456, 2.0866258916343465, 8.256824102712802, 5.733835603875157, 2.32758516566731, 5.515922708675505, 9.482224228471932, 6.334278904795177, 8.526739325734592, 5.503173697564562, 1.1653922890603798, 9.93895540811964, 7.946474154309117, 3.9899900624276423, 1.1932739515046167, 7.093594504507518, 4.5837550711235036, 4.975594259431161, 9.994719254021268, 8.376970139561214, 5.2843729185487645, 3.5895880232483224, 3.40178894551463, 10.063439439144007, 8.360698079899898, 4.478472626648985, 10.197026349886745, 6.506752727209339, 5.465050036043385, 8.980988023508882, 9.563894240135767, 5.408490051437294, 7.650054438027979, 6.557026233875408, 9.682629432541138, 8.50972379833465, 5.664339597757872, 8.414527138457224, 2.303702527008385, 10.345715928281905, 4.103360508849081, 4.686563185812197, 9.919022625636696, 7.737777293608643, 5.735336955260692, 1.0608986521003807, 8.32222735538554, 1.206787672499077, 1.0404181880681753, 8.312333415861783, 4.905245018643328, 7.4806886698738815, 8.249676914227567, 9.034015171405102, 8.603243882475661, 5.679336723135102, 1.4035198277381136, 4.951197629220085, 1.681051647739035, 5.164431693854278, 2.059777994204665, 6.187421863237254, 7.75934090329053, 4.0784731589678795, 8.010403608699349, 6.8922603556771715, 10.105234904039598, 8.194773413830909, 7.067803756452033, 5.210971731324079, 4.592494520517549, 5.72968803179393, 3.5927248758115615, 7.831972541640008, 6.235444294798918, 1.7561243971967835, 6.081987563892815, 3.64987325104199, 5.291590619771034, 1.1614476401724962, 3.965188032684727, 1.0592382543814496, 10.046580610238893, 5.732748197045038, 1.4394204005142077, 2.7822651504517726, 4.533409349122008, 2.2759056920103284, 2.6584253860792297, 4.247634279771376, 6.5769322252554705, 1.8968918564181494, 5.033140215041034, 7.817528269634324, 3.996593401923974, 10.88133370185605, 4.002314300792504, 4.697169546540188, 3.6061698087789975, 4.255084030692633, 8.043756114537073, 10.556702437196643, 8.026653186380344, 3.4390840545000603, 4.534851607851211, 5.3955188850764735, 10.49324289417011, 6.417894517577876, 10.596232991396974, 2.2213194047793854, 8.10400260489008, 1.6606837446101743, 1.8839815458931, 5.306473194738204, 3.3740980478364806, 3.294804231513324, 5.114988482608741, 5.4842297261566975, 8.175042374795225, 6.209377553955731, 1.7394484078717023, 3.7490023968361132, 9.636460981344653, 8.14331002403615, 6.7825738457677955, 1.161614857294593, 5.801805535082876, 4.714711174670936, 3.177022665006294, 7.178760026050441, 5.702256471164807, 3.0449234699506436, 8.086320036394483, 2.378436099519147, 7.081250086192402, 9.468768383222006, 5.2838199597619155, 3.173326985141242, 8.212844721924593, 2.670360084612218, 9.297713904070749, 9.5100534102846, 2.1676183555369857, 2.6471619051490913, 2.911997547739622, 1.2611306877685304, 1.4744794178565126, 5.248568141066284, 5.388434790094139, 6.183763527983909, 3.3408471456942523, 1.645096372052355, 5.176161317823102, 5.809729751744676, 10.747600100233846, 8.130714473249487, 3.345529291085401, 7.089776856854994, 9.393386179949509, 1.3877724098811441, 1.2652727314986114, 3.8063789616590986, 10.06454404581199, 4.941287194696642, 8.921993781946428, 6.989612410636273, 3.1302076659931624, 10.129642271191681, 5.814636283628476, 2.408064670843796, 2.686712071508577, 10.245869385042788, 3.3988428354269886, 9.2272008738055, 3.5636025763209647, 9.07120877684632, 1.2263356902498082, 8.209095072343109, 4.158296363326185, 9.249440703200019, 10.748692911924278, 10.624619302962923, 6.323149074169388, 4.3601908811626915, 9.829620103241158, 9.80201395821674, 2.5374990485775033, 9.9971273450299, 5.547175052457659, 6.160385463591309, 9.738504705163997, 5.868970587144977, 6.669814220084035, 1.7981878966825473, 5.091719059421882, 1.7308908589339203, 8.976622735770235, 1.038280466523839, 6.537449729601396, 10.00226303090636, 9.50202890741387, 2.2407679529198514, 6.683039133215468, 8.106729212177905, 8.238035306952495, 2.08056741238019, 7.400195543907263, 5.182268173051911, 9.141636973630328, 10.014982763253183, 2.627795798933712, 1.032534958595758, 1.7619100521515387, 10.858307508458262, 5.258079938803211, 6.601912989886523, 4.610384039275802, 7.716194981118084, 5.048253773919912, 1.629897226573355, 7.4817929396861595, 10.998103783444147, 7.668878575090675, 9.73210396188224, 8.249742459323803, 1.999475873917407, 8.269761729971695, 7.135241728698801, 2.752915637034339, 7.5785343853045175, 4.4053284051081, 4.249336837722655, 7.110403384169071, 7.914724942577262, 6.302296593426058, 10.995269143505256, 10.327511015406433, 8.698485128602703, 7.962877176942107, 3.7981850445637324, 8.930235108507294, 3.2105405296624037, 7.76637678049326, 6.758055347105712, 1.6887433895654738, 4.610698401754324, 10.774941379319248, 1.0508188980167912, 7.417402337119134, 3.2851333264160303, 5.229483451579275, 10.642733527660125, 1.7813552769481724, 9.151228834781806, 3.0496644072759396, 3.1204296342851037, 1.0175121633020947, 8.626139042155309, 2.832221653806141, 2.9250992156111146, 10.407399231352455, 4.920340085876624, 3.7661263551361825, 2.668289836555754, 6.194835940624771, 4.879167973050295, 9.345356403106782, 10.148147631329884, 5.704953326707868, 8.504543108103299, 9.886442952399896, 4.782560545021889, 3.969920291844633, 7.103653835142465, 2.2017063638365686, 2.003084827308627, 4.758275828977856, 10.80504275503287, 5.72756979057959, 10.859283466876969, 10.711255958218633, 3.5710936820848573, 5.3989412107808405, 4.5796441337282525, 8.834976816507824, 6.909313789494278, 3.3897630273753334, 1.2005715799637964, 1.3286238313155687, 5.6344569563840885, 3.205842244572782, 10.991899361165492, 5.749761041488231, 9.141402418217027, 9.56591404926324, 9.445236735559925, 8.746446096318325, 4.329232871810753, 8.48198258935043, 5.506591032850412, 1.5489344195021606, 9.748366261083028, 4.877962819521206, 8.136416530132905, 3.343391039287818, 7.8268682558234755, 5.229358951994454, 6.696251189869537, 10.780227161899306, 9.17520474272875, 7.454713620789586, 9.220155168859574, 7.091325805700719, 4.509688445830344, 4.771894361990139, 8.435790055337261, 7.673468160922827, 3.9901117490027884, 4.6388547324839235, 8.434931202543003, 2.1363591417095997, 6.603231551382782, 9.279795597366284, 9.9697712872665, 9.277733004640769, 5.107440623752245, 10.326614609815886, 10.977295982461401, 8.7030940412407, 3.552069355334201, 6.187429245032986, 10.531166506644945, 10.151854138264085, 3.1589308936712293, 9.494831059358942, 4.8719935495487885, 2.5856500106859492, 10.494356253361055, 1.9054609670457248, 8.48651062413606, 1.596018633914177, 1.5355065355125044, 9.352397343964343, 8.60019855887602, 4.3002092784442, 1.9580889992063035, 9.30878671725045, 10.537205326962413, 1.0990178475812287, 1.5953524247735353, 4.961709998216058, 7.138879465289108, 4.606517963077803, 2.74141248139551, 3.3822772660423674, 9.99525560557353, 1.3489731080836123, 9.95828902973775, 8.599909951413544, 10.117660270434975, 8.33995527199991, 5.664316104380175, 5.430577524311855, 10.371389234728753, 10.410641630550797, 8.343107022400252, 10.38669077790464, 6.902385250195335, 6.770984079139171, 3.2455199907563674, 1.2761489345765633], "expected": [2.2044661374533168, 1.3351703960765366, 1.4215256705355466, 2.2972452213708707, 3.0880906461003077, 1.6053460846859295, 0.9618891313146698, 0.5044990112233371, 3.229560468103388, 0.6160448637486517, 1.163047555631148, 1.8428655783912493, 2.3170055356381556, 1.620374184491412, 2.082772457393405, 1.94998243091398, 1.496640859597498, 3.0689569175874385, 0.8158084007394945, 1.8583443236038648, 0.4965120695046589, 2.1139235597122723, 0.8786530330937071, 2.312625111316888, 0.5033646324459614, 1.0372949066294677, 0.8913451467513759, 1.2748563361770051, 1.0298048101306316, 3.6788228149069324, 2.461502333209452, 1.2849083008447442, 1.1581131581683692, 2.2653750796553784, 1.1954315857214168, 3.3223107386137873, 2.323700076261149, 1.7241165302142036, 2.927349549073363, 3.161666577753179, 3.018269301331559, 2.2966882667722954, 2.5478521015243953, 1.6867871403252634, 3.4391942354088827, 3.0063637442585263, 3.4475716417117375, 0.8021780991189322, 1.1159207536387368, 1.4567929939672455, 0.9945409306421313, 3.39674803657132, 2.29560238696802, 0.9430087128297931, 2.270562540380442, 2.6093317858212064, 2.0877621728981177, 2.82891652701388, 1.393487986645731, 0.9121210699725324, 2.4190286691007348, 0.35236449181502827, 0.4561181211380705, 2.4825763709379713, 2.889733130348366, 1.9208217558679803, 2.1504354206276934, 2.5234226975936833, 2.138171957313171, 3.504526139879969, 2.5035905621187444, 1.1402723720478392, 3.413923171007642, 1.4228623699811045, 2.7627130991443933, 0.47071429340186305, 1.634480145444073, 1.2310873452587847, 1.60982959433565, 3.656033508621143, 1.463057703985963, 3.2067468450653904, 3.517739000111789, 2.531367808235489, 0.3459671401346833, 3.186889222040173, 2.8789023714519173, 2.428371110199742, 2.0413140773523293, 0.8712941993906255, 3.6095550357916784, 1.7996653016427244, 2.5291463140920287, 3.7264034450677657, 3.085207206416632, 3.096473457420475, 1.149421302421845, 0.7031104886526139, 3.7015904063693563, 3.260689024480396, 3.752862199943617, 2.7001959377131644, 1.3248631202775953, 3.040672923132047, 2.113804933853614, 0.7263646310148846, 2.7907294394520155, 2.3430047263686817, 1.7386465506174642, 3.1595789813424715, 3.231145961129531, 0.5446579858365928, 2.4520132800088934, 1.947483847613236, 3.0552723899632666, 1.121830959978875, 2.935425984840165, 2.8888351409091286, 1.6726498674563626, 3.2177309646380627, 1.8856650215413144, 1.2166826468343943, 2.1897285560350817, 1.3853496832687113, 0.5725451882602649, 3.0677661460107086, 2.096476144054862, 2.3000560811290343, 3.283298009634784, 1.1235190808643376, 0.67267462102765, 1.2622361907429587, 1.0460448983101902, 3.242464958869462, 3.5479878123113595, 3.419221057031953, 1.5972887348722957, 2.6114372660841267, 1.0949426832567684, 3.5870020934107765, 2.965222799660593, 3.1319332262558763, 2.307267912645864, 3.1847139649999985, 3.462283126939571, 1.5571655665914932, 1.1780659516411442, 2.227583980336203, 2.376401384217525, 1.5358192384768288, 0.6282210123257101, 1.6803391301483679, 3.250329582648903, 1.2718680714419206, 3.2948590052945512, 1.7990896860376104, 1.0243090845059746, 2.9485038467939244, 3.2205288599913207, 2.1726061231099845, 2.4931483115441315, 3.2594939430532235, 1.048519749398925, 2.797780833721583, 3.682036384857426, 2.9573122485257235, 3.352216615082374, 1.4726722260262743, 0.35555976018429103, 3.2235266003971876, 1.2141788938303195, 2.2653411282412974, 1.7913419670794717, 2.5446049658221455, 2.0076346335531454, 3.679371701151036, 0.7415590524850838, 1.7765289063728975, 3.6863578536806103, 2.717795011829478, 1.5728927543091022, 0.3825293648255982, 2.2377570056662694, 2.8438688990388075, 2.5886371608556047, 2.4628902762393845, 2.669979717601637, 3.4817853551889053, 1.1151961878077299, 1.941516242756544, 2.931251991690792, 3.227313560815479, 1.9117473608994875, 1.5522856652156325, 2.6326831793911514, 2.584561408420466, 1.6822719234370749, 1.1190188301639121, 0.751356494411943, 2.4613822059931048, 2.764212545012906, 3.500540890768402, 1.836791193517305, 3.529380399373997, 0.6943403565517675, 3.2461313492474675, 1.3365788037623578, 1.8510798797299202, 0.4959103454756672, 1.0014262134155567, 0.4211522093961924, 1.2227851107413341, 0.5382882163846201, 2.463071551027379, 1.1914028565286785, 2.5381693763803215, 2.655571238728719, 0.9202155034576217, 2.950573310885701, 0.5765904245118365, 2.852220802745679, 0.3912418851782763, 0.4906684127096201, 3.0268498863381104, 0.9673034696373597, 3.357685975424303, 1.2619489405562012, 1.4422357090095317, 1.2375854420624546, 0.7409401599245306, 1.071674160504766, 1.2065451600167647, 1.4780196904969947, 3.6573114436436946, 2.279384240041674, 1.3960387604143356, 1.1294511646806649, 2.6034175456767534, 1.5203457339060111, 3.6894625929781064, 2.9710473721843553, 0.9066352956408675, 3.66311074687182, 3.160454125058225, 0.6945782535097763, 1.1222373313652099, 2.1926699168165986, 0.9910374656661162, 0.701017120969633, 0.5878517408490908, 1.4516607611759054, 2.5687749824980193, 0.6693839542588076, 3.6731352037960905, 0.5652141479243712, 2.3304414277428656, 2.2486033880040366, 1.357654379342825, 1.154114313954444, 1.5832365228814085, 2.647664626681984, 0.5818334385684975, 3.740562771812915, 0.8175767843634425, 1.6000508666383193, 3.227920198600846, 0.3719298839866669, 0.7509940897664107, 3.033446433365542, 0.5598892419656779, 3.0364464319073106, 1.8267050858841605, 2.827136089133659, 0.505932952239796, 0.7967523563985524, 2.3135041126205635, 3.400587942201859, 3.4742195822308295, 2.6611015730870373, 3.3834965285293532, 3.5572595908319036, 1.7506141058503004, 2.857255675107663, 2.417491157528115, 1.132569696179707, 3.72728825787177, 0.8492634847521973, 2.5325029416479965, 1.704339329264098, 2.514517894717736, 1.619572382405205, 2.3209241266742366, 2.6821532101220726, 3.6570468505752274, 0.8177940061093526, 1.8514098705645137, 0.9079025285984734, 2.134428487620268, 0.798478672795104, 2.42889591539897, 2.473947092496755, 1.2887932853630113, 3.3511212434508924, 2.0493089949498153, 2.8509053260778754, 2.0999451897847243, 3.2212066340721868, 1.3150997222859184, 1.7834363602803611, 0.7614935249673681, 1.1282985527928031, 1.6592696621191911, 3.477851952736673, 1.5107315673634505, 2.3136609567832203, 1.691292176667877, 2.2145035359161027, 1.206268591882203, 0.8029046458641138, 1.2708574146305613, 0.6136156217482305, 3.083538669294522, 3.160942795449138, 1.5046184722328846, 2.2601136620252604, 3.7338200711085947, 2.8525417630551777, 2.11632873895779, 2.519121873552069, 1.3739226203422057, 0.825408752194818, 2.3462951024553447, 2.271871313644497, 0.6811924142221997, 1.0101525269879756, 0.9636376127296038, 0.41614343253583896, 2.763424062819175, 0.8602564023044226, 3.1325590742537615, 2.2244588522038984, 0.8911847196585153, 1.815753631133681, 1.9889307601879627, 0.6277862147244246, 2.6771658769159465, 2.5283573616825175, 3.758985892505073, 3.7414702133476974, 2.71634350658699, 1.8231895094945179, 1.671646574833769, 2.232522997864422, 3.043329847697692, 1.0659575821919556, 1.4677401085258626, 0.9191794159149275, 1.7604088711307668, 3.2661234734568962, 0.9411589248062384, 1.5914921820839505, 2.495798849401675, 3.0626795917050944, 2.289803887886465, 1.6355881282447313, 1.7242447011651412, 3.5175649186678233, 3.4624820999409818, 2.6502615529727556, 2.0517343897596616, 0.44447419634348906, 1.0477787952074402, 2.762187724188689, 1.1790982433856831, 1.810666445043406, 1.0713832542882633, 1.228364421616582, 2.426852399462988, 3.331053480177261, 2.2659678391851434, 1.6691572138058057, 1.4334059482226462, 3.6240953638597615, 0.9199019113902194, 1.7341042573286092, 1.8719909775893444, 3.1354668999159587, 2.2346223878088187, 3.4895235428748417, 1.5781762941566762, 2.736739166667223, 2.7552314055344427, 0.42060923707986553, 3.0986641261680936, 2.2507608950312448, 1.1269314364537708, 0.9950615116271596, 1.1329183564829564, 2.624220833073379, 1.10653111741883, 0.6209716416445927, 2.621433970571637, 1.6251085711248296, 2.382910684397345, 1.9558999301301974, 1.199647841587387, 1.041786324047076, 3.5191313392348804, 0.8333924323332953, 2.819261551270898, 2.306527625649234, 1.3101515051226988, 2.33099233871722, 0.5529082797250128, 0.6291635265881244, 3.7244705329902352, 1.72673567411865, 1.335790029104348, 0.6860906695195955, 1.1629487992138619, 1.0568135208764302, 1.9220534107616742, 2.791066277676527, 1.3608627269676792, 3.750421369567866, 1.4870444061348902, 3.3707741302236496, 1.9779990478070186, 3.2379645990969723, 1.8727767675445373, 3.0858663906445347, 2.7177056136857303, 1.4286056696985532, 0.9559528713201332, 3.6372626041469287, 0.5362231962762162, 2.3784681110675305, 2.316220009120794, 0.8635097908507114, 1.8332475333471563, 0.7004381952327297, 3.604322125536813, 3.5053181699428775, 0.5822470076363925, 2.242145479094606, 2.67460180825216, 1.3523467462332153, 0.9413310301233869, 0.8909372744796785, 0.5525387961155179, 2.4677869233608156, 1.2812498148882494, 3.3623835798519517, 0.5970226275966873, 1.9469858962063389, 3.588990540367749, 1.3209556516846896, 0.9623212789924922, 3.4810601705942825, 2.0904950515793495, 0.4251344139238721, 0.7494127271732494, 1.6103715921601451, 0.9513926257755897, 3.3694749274328286, 2.0251829622131017, 3.626956140095314, 1.079816044597138, 1.1482254278141335, 2.0570335518760614, 1.3534836661988108, 1.6111916339830405, 1.3009727317324185, 0.3620518585083137, 1.760760269609633, 3.072264264341445, 0.6972141327464129, 1.8600178657101885, 1.028275295120629, 2.0998618575156853, 1.756981474486126, 2.9797702432963673, 1.7670443748851041, 3.235596368652755, 2.8917249486555288, 0.42104595365281017, 3.460508310049135, 0.5103231326971919, 2.2182973061129743, 0.47912839157333403, 0.5330130019588628, 1.3832705824246372, 3.1230593638696322, 1.241252949441701, 1.9132844972551597, 3.0930176284344197, 0.4756265622455645, 2.8108010247122897, 2.0713379571793267, 3.01199778487291, 3.7418742860335104, 3.6857096042241, 0.4517693904077416, 1.1811159167515481, 2.445328620429874, 0.7858537088149996, 0.9056527473201993, 0.9186340237857918, 2.90951109753056, 1.8280725571524847, 0.7536391268269418, 2.376395706191136, 1.5392480590829045, 1.3737950939105663, 0.77069308008004, 3.265520108879021, 2.416178145789149, 2.969478030054512, 2.814875111201835, 2.9326030456677414, 1.429036505810172, 2.6469485949923235, 2.6231220030910887, 3.012596523428851, 2.975775412135968, 1.2067509399822074, 1.8915220147625431, 2.6464805049667466, 2.7026549344846353, 2.0175833142613113, 3.487935199238823, 1.4921493984994298, 0.5138251514648969, 0.5709049878888233, 2.711571834248529, 1.8309266207858697, 1.8869063118926337, 2.5300359658707414, 2.4734311424253397, 1.44900452555603, 3.267216787828313, 1.220846480646506, 2.226920276318075, 3.2044161439394685, 1.9134933037276611, 2.622325524791269, 0.7565735700116408, 0.7113850014969196, 3.6112365183285076, 3.099446128609898, 3.0391915048656233, 0.9054681012998166, 3.121101281990027, 1.3344203342511143, 2.881296515487736, 3.066205707868053, 0.7729913743089016, 3.7316916476544284, 2.8419203549371157, 1.3443869978387593, 3.0903323847809703, 3.2022242936383, 1.481409066737725, 0.6050283633668817, 0.6103948385233942, 1.629455800436847, 0.59318203191946, 0.9572004693225634, 3.6669935130699525, 2.888977451144813, 1.6822887746045248, 2.7048084124132026, 2.8376614493740084, 3.6533648251784405, 2.7620585736915384, 0.7518093862242788, 3.524441264229671, 0.5708303220173392, 1.430734336652827, 0.6685668792149884, 3.7232040030994233, 3.201629231841804, 1.9717081716523575, 1.0338742783957195, 0.781428127361338, 3.3315926026850162, 2.0951162841910156, 1.5861216660367985, 2.6299932402475186, 2.2102685995984914, 3.244952335717397, 2.659450471566472, 2.6105078752433584, 1.0015943750477054, 0.36095339942384164, 2.148570177457062, 1.370762024173783, 2.20753573973592, 2.0542891436261743, 0.6257128659727528, 0.8608806633870804, 3.6264759276385483, 2.314328435880575, 1.240020338810734, 3.5390083126153984, 1.5820072755109607, 1.1700324089020353, 2.4106582394313962, 3.1575339309463795, 1.536429749709283, 3.420767502765126, 0.5820213230279403, 2.697020055377349, 3.461305852294286, 2.008965377566453, 0.9986130018773048, 1.3130060250905913, 2.2301392644746647, 0.9957109355521855, 3.453732185289405, 1.6598904360272833, 1.0689462989079659, 0.9916723413986314, 1.0815018061901494, 1.0430610686548694, 0.6067205392432955, 3.0445203837620407, 2.3267844756839113, 1.2149904989793434, 0.7104271919880251, 0.7132790387138351, 2.822460692366533, 1.9600182112529456, 0.7956470377118721, 1.8855282410889052, 3.2413437452633245, 2.1652699634714234, 2.9147268104009534, 1.8811701995126824, 0.3983703523464038, 3.3974698520445403, 2.7163726227466913, 1.3639130462322775, 0.4079012440437133, 2.4248296206263666, 1.5668819331431816, 1.7008257707458028, 3.416531813539011, 2.8635306560874323, 1.8063767207429986, 1.2270421376760772, 1.162846085008335, 3.44002268834369, 2.857968317807413, 1.530892846125092, 3.48568719565252, 2.2242273274857833, 1.8681382474262553, 3.0700043212304964, 3.2692613071247374, 1.8488041388966698, 2.6150463758461338, 2.241412506032313, 3.3098489966765388, 2.9089103297966923, 1.9362621346910074, 2.8763689037948548, 0.7874831470916683, 3.5365143036500135, 1.4026668848414137, 1.6020252108678228, 3.390656155355868, 2.6450330037091665, 1.9605314237446239, 0.3626509063156816, 2.8448177278956135, 0.4125206892250562, 0.3556499936193176, 2.8414356459896566, 1.6767780298236905, 2.557151449503892, 2.8200175425174425, 3.0881307871335566, 2.9408786457195295, 1.9413886574737584, 0.47977036878457313, 1.6924861804941054, 0.5746400963080385, 1.7653767687174653, 0.7041015227312591, 2.115069278312309, 2.6524041720852334, 1.394159550071646, 2.738225864363112, 2.356006824592959, 3.4543097865450716, 2.8012496761059507, 2.4160134739205867, 1.781285721693298, 1.5698693714222067, 1.9586004313629544, 1.2281144195785805, 2.677232113399404, 2.131484963538076, 0.6003024916523645, 2.079028282182924, 1.2476496598494131, 1.8088439742215372, 0.3970219384414036, 1.355434876760642, 0.36208332642817515, 3.434259772564924, 1.9596464989581888, 0.49204239423085555, 0.9510719769737273, 1.5496720689617045, 0.7779812522737279, 0.9087393727247648, 1.4519845210538507, 2.2482170446192926, 0.6484215523800936, 1.7204969173868183, 2.6722945745274664, 1.3661702901719448, 3.719606506322614, 1.368125886171153, 1.6056508223464516, 1.2327103506944708, 1.4545310969384284, 2.7496268746726296, 3.6086366015969733, 2.7437805175447263, 1.175594809919929, 1.5501650815923185, 1.8443701571705078, 3.5869439915183494, 2.1938525973523815, 3.622149477006447, 0.7593218200107896, 2.770221155083488, 0.5676776607211824, 0.6440083732291382, 1.8139313398143486, 1.1533804031359016, 1.1262751049079411, 1.7484754131225153, 1.8746945117675062, 2.794504942125307, 2.12257447319787, 0.5946020766028418, 1.2815353420428681, 3.2940670644095422, 2.78365775541287, 2.3185122796140525, 0.3970790988881247, 1.983252623989631, 1.6116471419074896, 1.0860133968206604, 2.4539420655458146, 1.9492233996322517, 1.0408574408623237, 2.7641766573567526, 0.8130296003269318, 2.4206098825005298, 3.2367440839615895, 1.8061877007976823, 1.0847500889166866, 2.8074270581259104, 0.9128190548235438, 3.1782718992993253, 3.2508566973124267, 0.7409649919204692, 0.9048891354193472, 0.9954188817056725, 0.43109696293449773, 0.5040267476736207, 1.7941374413558997, 1.8419485748066469, 2.1138187360549447, 1.1420141243930457, 0.5623493715637007, 1.7693863494202162, 1.9859613882514713, 3.673891855128426, 2.7793521717463383, 1.1436146394528397, 2.4235246200229246, 3.210975906876322, 0.47438737075110843, 0.4325128530477891, 1.3011485852052953, 3.440400280122578, 1.6890984600414556, 3.0498381016508285, 2.3892850372598478, 1.070010452724476, 3.4626530470449866, 1.9876386061751665, 0.8231576443417395, 0.9184087149256527, 3.502383390837121, 1.1618390053110674, 3.1541681696149393, 1.218159436335504, 3.100844814713572, 0.419202860363593, 2.806145301554348, 1.421445810967774, 3.161770492674037, 3.6742654149865555, 3.6318528747777328, 2.161465412343386, 1.4904601600091456, 3.3600953607790625, 3.350658650219419, 0.8674026759482967, 3.417354980186496, 1.8962113452427738, 2.1058273259206235, 3.328949047578855, 2.0062119019139057, 2.279967240114687, 0.6146812131081045, 1.7405211402129868, 0.5916768180289118, 3.06851211879286, 0.3549192483648399, 2.234720597240264, 3.419110530666236, 3.248113651845226, 0.7659699890849045, 2.284487961037053, 2.7711532013276217, 2.8160380488863423, 0.7112080463640336, 2.5296361868290043, 1.7714738783081847, 3.1249195454556027, 3.423458563774334, 0.8982691477731111, 0.3529552401598739, 0.6022802234638036, 3.7117353775506285, 1.7973888943228338, 2.2567563116981737, 1.575984611721916, 2.637655442082904, 1.7256632410636645, 0.5571537915030883, 2.5575289261341494, 3.7595224547825734, 2.6214811001743077, 3.326761057851818, 2.820039948039881, 0.6834882261344207, 2.8268832092975544, 2.439066045160038, 0.9410393243544746, 2.590598411953863, 1.5058896866045846, 1.4525665127293645, 2.430575462070641, 2.705519672385627, 2.1543373318000394, 3.7585534793381403, 3.5302912510138196, 2.973435312803822, 2.721979728583232, 1.2983476282476942, 3.052655264761201, 1.097470932346075, 2.6548092719873253, 2.3101310306194374, 0.5772693928379018, 1.5760920714095328, 3.6832380255854447, 0.35920530673214374, 2.5355180485324924, 1.1229692636841042, 1.7876136514297702, 3.6380449271388517, 0.6089272565070166, 3.1281983667953703, 1.0424780529862063, 1.0666679920154436, 0.3478199425347371, 2.9487049827514675, 0.9681487931068764, 0.9998974732454364, 3.5575997350611974, 1.6819380324330004, 1.2873888879823763, 0.912111374280743, 2.1176036597810333, 1.6678640169727685, 3.1945577107859884, 3.468978802679166, 1.9501452757275384, 2.9071393953120266, 3.379519325269976, 1.6348403428810292, 1.357052522395183, 2.428268238786989, 0.7526174217542385, 0.6847218880073864, 1.6265390086625802, 3.6935276900715683, 1.95787634514166, 3.712068993023105, 3.6614682027701275, 1.220720148698748, 1.8455400234116788, 1.5654766762232644, 3.0200927708233514, 2.361836262887865, 1.1587352209744712, 0.41039581934497993, 0.4541683935833811, 1.9260472409725038, 1.0958649001935152, 3.7574015741894415, 1.9654620624374306, 3.124839366511981, 3.269951745942067, 3.2287001738907644, 2.9898299876159844, 1.4798776692811364, 2.8994274498246027, 1.8823383598606522, 0.5294779760007304, 3.3323200596775493, 1.6674520548888234, 2.7813013269201536, 1.1428837129399352, 2.675487296518173, 1.787571093276659, 2.289004287182257, 3.68504488417599, 3.136394140000932, 2.548272302496433, 3.1517597102590766, 2.4240541029302944, 1.541563464939711, 1.6311942821232603, 2.8836372852393914, 2.6230499752580383, 1.363954642803897, 1.5857168539817394, 2.8833437004152307, 0.7302795393536536, 2.2572070404465836, 3.1721468183095896, 3.40800375787937, 3.171441754616854, 1.7458953006399216, 3.5299848293785443, 3.752409647286881, 2.975010794441008, 1.2142169927898285, 2.11507180165882, 3.599907560100075, 3.4702458116401935, 1.079829019775287, 3.245653184848238, 1.6654115572774313, 0.8838622972457962, 3.587324575204502, 0.6513507631291666, 2.900975284686666, 0.5455729469914788, 0.5248878727999113, 3.1969645416159214, 2.9398376515008566, 1.4699564271171655, 0.6693407978255618, 3.1820569599430857, 3.6019718323629077, 0.37568133175904067, 0.5453452142592605, 1.6960796624316747, 2.440309546100303, 1.5746630566098285, 0.9371071581577765, 1.1561763355177987, 3.4167151565719633, 0.46112446205249386, 3.40407873536086, 2.9397389957455404, 3.4585571954522907, 2.8508777271373527, 1.9362541038629002, 1.856354381363586, 3.545290304856761, 3.5587080963599775, 2.851955101622561, 3.5505208879004644, 2.3594678546980434, 2.314550506862681, 1.1094280907825058, 0.43623070573398465]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/runner.py new file mode 100644 index 000000000000..c324863b0eef --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/fixtures/python/runner.py @@ -0,0 +1,76 @@ +#!/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 +from numpy.random import rand +from scipy.stats import anglit + + +# Get the file path: +FILE = os.path.realpath(__file__) + +# Extract the directory in which this file resides: +DIR = os.path.dirname(FILE) + + +def gen(mean, scale, name): + """Generate fixture data and write to file. + + # Arguments + + * `mean`: mean parameter (mu) + * `scale`: scale parameter (sigma) + * `name::str`: output filename + + # Examples + + ``` python + python> mean = rand(1000) * 10.0 - 5.0 + python> scale = rand(1000) * 10.0 + 1.0 + python> gen(mean, scale, './data.json') + ``` + """ + y = anglit.std(loc=mean, scale=scale) + + # Store data to be written to file as a dictionary: + data = { + "mu": mean.tolist(), + "sigma": scale.tolist(), + "expected": y.tolist() + } + + # Based on the script directory, create an output filepath: + filepath = os.path.join(DIR, name) + + # Write the data to the output filepath as JSON: + with open(filepath, "w", encoding="utf-8") as outfile: + json.dump(data, outfile) + + +def main(): + """Generate fixture data.""" + mean = rand(1000) * 10.0 - 5.0 + scale = rand(1000) * 10.0 + 1.0 + gen(mean, scale, "data.json") + + +if __name__ == "__main__": + main() diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.js new file mode 100644 index 000000000000..82f22b191bf1 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.js @@ -0,0 +1,93 @@ +/** +* @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 PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var stdev = 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 stdev, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { + var y = stdev( NaN, 1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = stdev( 1.0, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = stdev( NaN, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided a nonpositive `sigma`, the function returns `NaN`', function test( t ) { + var y; + + y = stdev( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( 1.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( PINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the standard deviation of an anglit distribution', function test( t ) { + var expected; + var sigma; + var mu; + var y; + var i; + + expected = data.expected; + mu = data.mu; + sigma = data.sigma; + for ( i = 0; i < mu.length; i++ ) { + y = stdev( mu[i], sigma[i] ); + t.strictEqual( isAlmostSameValue( y, expected[i], 1 ), true, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.native.js new file mode 100644 index 000000000000..2ec5dcec5e84 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/anglit/stdev/test/test.native.js @@ -0,0 +1,100 @@ +/** +* @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 isnan = require( '@stdlib/math/base/assert/is-nan' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); +var NINF = require( '@stdlib/constants/float64/ninf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// FIXTURES // + +var data = require( './fixtures/python/data.json' ); + + +// VARIABLES // + +var stdev = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( stdev instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof stdev, '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 = stdev( NaN, 1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + y = stdev( 1.0, NaN ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided a nonpositive `sigma`, the function returns `NaN`', opts, function test( t ) { + var y; + + y = stdev( 2.0, 0.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( 2.0, -1.0 ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( 1.0, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( PINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( NINF, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + y = stdev( NaN, NINF ); + t.strictEqual( isnan( y ), true, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function returns the standard deviation of an anglit distribution', opts, function test( t ) { + var expected; + var sigma; + var mu; + var y; + var i; + + expected = data.expected; + mu = data.mu; + sigma = data.sigma; + for ( i = 0; i < mu.length; i++ ) { + y = stdev( mu[i], sigma[i] ); + t.strictEqual( isAlmostSameValue( y, expected[i], 1 ), true, 'returns expected value' ); + } + t.end(); +});