From 2b3ef6cf3c1a32f7ed86ad5491507943372492be Mon Sep 17 00:00:00 2001 From: Aryan Sharma Date: Thu, 22 Oct 2026 03:22:30 +0530 Subject: [PATCH] feat: add `ml/base/loss/float32/huber-gradient` Signed-off-by: Aryan Sharma --- .../loss/float32/huber-gradient/README.md | 226 ++++++++++++++++++ .../huber-gradient/benchmark/benchmark.js | 64 +++++ .../benchmark/benchmark.native.js | 74 ++++++ .../benchmark/c/native/Makefile | 146 +++++++++++ .../benchmark/c/native/benchmark.c | 148 ++++++++++++ .../loss/float32/huber-gradient/binding.gyp | 170 +++++++++++++ .../loss/float32/huber-gradient/docs/repl.txt | 42 ++++ .../huber-gradient/docs/types/index.d.ts | 59 +++++ .../float32/huber-gradient/docs/types/test.ts | 84 +++++++ .../huber-gradient/examples/c/Makefile | 146 +++++++++++ .../huber-gradient/examples/c/example.c | 34 +++ .../float32/huber-gradient/examples/index.js | 33 +++ .../loss/float32/huber-gradient/include.gypi | 53 ++++ .../ml/base/loss/float32/huber_gradient.h | 38 +++ .../loss/float32/huber-gradient/lib/index.js | 55 +++++ .../loss/float32/huber-gradient/lib/main.js | 79 ++++++ .../loss/float32/huber-gradient/lib/native.js | 69 ++++++ .../loss/float32/huber-gradient/manifest.json | 81 +++++++ .../loss/float32/huber-gradient/package.json | 69 ++++++ .../loss/float32/huber-gradient/src/Makefile | 70 ++++++ .../loss/float32/huber-gradient/src/addon.c | 22 ++ .../loss/float32/huber-gradient/src/main.c | 48 ++++ .../test/fixtures/julia/REQUIRE | 2 + .../test/fixtures/julia/runner.jl | 104 ++++++++ .../test/fixtures/julia/small_negative.json | 1 + .../test/fixtures/julia/small_positive.json | 1 + .../test/fixtures/julia/tiny_negative.json | 1 + .../test/fixtures/julia/tiny_positive.json | 1 + .../loss/float32/huber-gradient/test/test.js | 153 ++++++++++++ .../huber-gradient/test/test.native.js | 162 +++++++++++++ 30 files changed, 2235 insertions(+) create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/README.md create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/binding.gyp create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/include.gypi create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/include/stdlib/ml/base/loss/float32/huber_gradient.h create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/lib/native.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/manifest.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/package.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/Makefile create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/addon.c create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/main.c create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_negative.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_positive.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_negative.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_positive.json create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.js create mode 100644 lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.native.js diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/README.md b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/README.md new file mode 100644 index 000000000000..d03f97a314c2 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/README.md @@ -0,0 +1,226 @@ + + +# huberGradient + +> Compute the [Huber loss gradient][huber-loss-gradient] with respect to a model parameter for a single-precision floating-point number. + +
+ +The [Huber loss gradient][huber-loss-gradient] is defined as + + + +```math +\frac{\partial \ell}{\partial w} = \begin{cases} -(y-p)x & \text{if } \left|y-p\right| \leq \delta \\ -\delta\,\mathop{\mathrm{sign}}(y-p)\,x & \text{otherwise} \end{cases} +``` + + + + + +
+ + + +
+ +## Usage + +```javascript +var huberGradient = require( '@stdlib/ml/base/loss/float32/huber-gradient' ); +``` + +#### huberGradient( x, d, y, p ) + +Computes the [Huber loss gradient][huber-loss-gradient] with respect to a model parameter for a single-precision floating-point number. + +```javascript +var v = huberGradient( 3.0, 5.0, 10.2, 0.782 ); +// returns -15.0 + +v = huberGradient( -1.3, 1.0, 23.2, -0.999 ); +// returns ~1.3 +``` + +The function accepts the following arguments: + +- **x**: input value. +- **d**: threshold. +- **y**: true target value. +- **p**: predicted value. + +If any argument is `NaN`, the function returns `NaN`. + +```javascript +var v = huberGradient( NaN, 1.0, 1.0, 0.782 ); +// returns NaN + +v = huberGradient( 1.0, 1.0, NaN, 0.782 ); +// returns NaN + +v = huberGradient( NaN, NaN, 1.0, 0.782 ); +// returns NaN + +v = huberGradient( NaN, NaN, NaN, NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var huberGradient = require( '@stdlib/ml/base/loss/float32/huber-gradient' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -100.0, 100.0, opts ); +var d = uniform( 100, 0.0, 5.0, opts ); +var y = uniform( 100, -100.0, 100.0, opts ); +var p = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'huberGradient(%0.4f, %0.4f, %0.4f, %0.4f) = %0.4f', x, d, y, p, huberGradient ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/ml/base/loss/float32/huber_gradient.h" +``` + +#### stdlib_base_float32_huber_gradient( x, d, y, p ) + +Computes the [Huber loss gradient][huber-loss-gradient] with respect to a model parameter for a single-precision floating-point number. + +```c +float out = stdlib_base_float32_huber_gradient( 3.0f, 5.0f, 10.2f, 0.782f ); +// returns -15.0f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. +- **d**: `[in] float` threshold. +- **y**: `[in] float` true target value. +- **p**: `[in] float` predicted value. + +```c +float stdlib_base_float32_huber_gradient( const float x, const float d, const float y, const float p ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/ml/base/loss/float32/huber_gradient.h" +#include + +int main( void ) { + const float x[] = { -10.0f, -9.56f, -8.67f, -7.78f, -6.89f, 6.89f, 7.78f, 8.67f, 9.56f, 10.0f }; + const float d[] = { 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f }; + const float y[] = { -9.9f, -7.7f, -5.5f, -3.3f, -1.1f, 1.1f, 3.3f, 5.5f, 7.7f, 9.9f }; + const float p[] = { -5.0f, -3.89f, -2.78f, -1.67f, -0.56f, 0.56f, 1.67f, 2.78f, 3.89f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_float32_huber_gradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + printf( "huberGradient(%f, %f, %f, %f) = %f\n", x[ i ], d[ i ], y[ i ], p[ i ], v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.js new file mode 100644 index 000000000000..132cf21ae798 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.js @@ -0,0 +1,64 @@ +/** +* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var pkg = require( './../package.json' ).name; +var huberGradient = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var len; + var x; + var y; + var p; + var v; + var i; + + len = 100; + x = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + y = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + p = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + v = huberGradient( x[ i%x.length ], 1.0, y[ i%y.length ], p[ i%p.length ] ); + if ( isnanf( v ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( v ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.native.js new file mode 100644 index 000000000000..71c3b2c263ed --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/benchmark.native.js @@ -0,0 +1,74 @@ +/** +* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var huberGradient = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( huberGradient instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var len; + var x; + var y; + var p; + var v; + var i; + + len = 100; + x = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + y = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + p = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + v = huberGradient( x[ i%x.length ], 1.0, y[ i%y.length ], p[ i%p.length ] ); + if ( isnanf( v ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( v ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/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/ml/base/loss/float32/huber-gradient/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..dd4e2f1b3f3e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/benchmark/c/native/benchmark.c @@ -0,0 +1,148 @@ +/** +* @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/ml/base/loss/float32/huber_gradient.h" +#include +#include +#include +#include +#include + +#define NAME "huber_gradient" +#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 float random_uniform( const float min, const float max ) { + float v = (float)rand() / ( (float)RAND_MAX + 1.0f ); + return min + ( v*(max-min) ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float *x; + float *p; + float *y; + float v; + double t; + int i; + + x = (float *) malloc( 100 * sizeof( float ) ); + y = (float *) malloc( 100 * sizeof( float ) ); + p = (float *) malloc( 100 * sizeof( float ) ); + for ( i = 0; i < 100; i++ ) { + x[ i ] = random_uniform( -100.0f, 100.0f ); + y[ i ] = random_uniform( -100.0f, 100.0f ); + p[ i ] = random_uniform( -100.0f, 100.0f ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + v = stdlib_base_float32_huber_gradient( x[ i%100 ], 1.0f, y[ i%100 ], p[ i%100 ] ); + if ( v != v ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( v != v ) { + printf( "should not return NaN\n" ); + } + free( x ); + free( y ); + free( p ); + 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::native::%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/ml/base/loss/float32/huber-gradient/binding.gyp b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/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/ml/base/loss/float32/huber-gradient/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/repl.txt new file mode 100644 index 000000000000..141d3d3ff5bf --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/repl.txt @@ -0,0 +1,42 @@ + +{{alias}}( x, d, y, p ) + Computes the Huber loss gradient with respect to a model parameter for + a single-precision floating-point number. + + If any argument is `NaN`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value. + + d: number + Threshold. + + y: number + True target value. + + p: number + Predicted value. + + Returns + ------- + v: number + Huber loss gradient. + + Examples + -------- + > var v = {{alias}}( 3.0, 5.0, 10.2, 0.782 ) + -15.0 + > v = {{alias}}( 2.5, 2.0, 8.0, 0.202 ) + -5.0 + > v = {{alias}}( -1.3, 1.0, 23.2, -0.999 ) + ~1.3 + > v = {{alias}}( -2.0, 2.0, -21.0, 0.2 ) + -4.0 + > v = {{alias}}( NaN, 1.0, 1.0, 0.987 ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/index.d.ts new file mode 100644 index 000000000000..7f5450955de0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/index.d.ts @@ -0,0 +1,59 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Computes the Huber loss gradient with respect to a model parameter for a single-precision floating-point number. +* +* @param x - input value +* @param d - threshold +* @param y - true target value +* @param p - predicted value +* @returns Huber loss gradient +* +* @example +* var v = huberGradient( 3.0, 5.0, 10.2, 0.782 ); +* // returns -15.0 +* +* @example +* var v = huberGradient( 2.5, 2.0, 8.0, 0.202 ); +* // returns -5.0 +* +* @example +* var v = huberGradient( -1.3, 1.0, 23.2, -0.999 ); +* // returns ~1.3 +* +* @example +* var v = huberGradient( -2.0, 11.0, -12.2, 0.234 ); +* // returns -22.0 +* +* @example +* var v = huberGradient( -2.0, 2.0, -21.0, 0.2 ); +* // returns -4.0 +* +* @example +* var v = huberGradient( -1.3, 9.0, 4.0, -0.9 ); +* // returns ~6.37 +*/ +declare function huberGradient( x: number, d: number, y: number, p: number ): number; + + +// EXPORTS // + +export = huberGradient; diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/test.ts new file mode 100644 index 000000000000..92685a7adc43 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/docs/types/test.ts @@ -0,0 +1,84 @@ +/* +* @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 huberGradient = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + huberGradient( 0.5869, 1.0, 1.0, 0.782 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a first argument which is not a number... +{ + huberGradient( true, 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( false, 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( null, 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( undefined, 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( '5', 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( [], 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( {}, 1.0, 1.0, 0.782 ); // $ExpectError + huberGradient( ( x: number ): number => x, 1.0, 1.0, 0.782 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a second argument which is not a number... +{ + huberGradient( 0.5869, true, 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, false, 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, null, 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, undefined, 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, '5', 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, [], 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, {}, 1.0, 0.782 ); // $ExpectError + huberGradient( 0.5869, ( x: number ): number => x, 1.0, 0.782 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a third argument which is not a number... +{ + huberGradient( 0.5869, 1.0, true, 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, false, 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, null, 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, undefined, 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, '5', 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, [], 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, {}, 0.782 ); // $ExpectError + huberGradient( 0.5869, 1.0, ( x: number ): number => x, 0.782 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a fourth argument which is not a number... +{ + huberGradient( 0.5869, 1.0, 1.0, true ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, false ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, null ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, undefined ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, '5' ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, [] ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, {} ); // $ExpectError + huberGradient( 0.5869, 1.0, 1.0, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + huberGradient(); // $ExpectError + huberGradient( 1.0 ); // $ExpectError + huberGradient( 1.0, 0.900 ); // $ExpectError + huberGradient( 1.0, 0.900, 0.7873 ); // $ExpectError + huberGradient( 1.0, 0.900, 1.0, 0.787, 0.7873 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/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/ml/base/loss/float32/huber-gradient/examples/c/example.c b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/example.c new file mode 100644 index 000000000000..4e259ff3bcaf --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/c/example.c @@ -0,0 +1,34 @@ +/** +* @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/ml/base/loss/float32/huber_gradient.h" +#include + +int main( void ) { + const float x[] = { -10.0f, -9.56f, -8.67f, -7.78f, -6.89f, 6.89f, 7.78f, 8.67f, 9.56f, 10.0f }; + const float d[] = { 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f }; + const float y[] = { -9.9f, -7.7f, -5.5f, -3.3f, -1.1f, 1.1f, 3.3f, 5.5f, 7.7f, 9.9f }; + const float p[] = { -5.0f, -3.89f, -2.78f, -1.67f, -0.56f, 0.56f, 1.67f, 2.78f, 3.89f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_float32_huber_gradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + printf( "huberGradient(%f, %f, %f, %f) = %f\n", x[ i ], d[ i ], y[ i ], p[ i ], v ); + } +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/index.js b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/index.js new file mode 100644 index 000000000000..de1821d9b3c0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/examples/index.js @@ -0,0 +1,33 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var huberGradient = require( './../lib' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -100.0, 100.0, opts ); +var d = uniform( 100, 0.0, 5.0, opts ); +var y = uniform( 100, -100.0, 100.0, opts ); +var p = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'huberGradient(%0.4f, %0.4f, %0.4f, %0.4f) = %0.4f', x, d, y, p, huberGradient ); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/include.gypi b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/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", + "machine learning", + "ml", + "loss", + "float32", + "huber", + "huber loss", + "huber loss gradient", + "gradient", + "single-precision", + "single", + "float" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/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/ml/base/loss/float32/huber-gradient/src/addon.c b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/addon.c new file mode 100644 index 000000000000..1fa2d4939884 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/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/ml/base/loss/float32/huber_gradient.h" +#include "stdlib/math/base/napi/quaternary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_FFFF_F( stdlib_base_float32_huber_gradient ) diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/main.c b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/main.c new file mode 100644 index 000000000000..debf4f9cb71d --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/src/main.c @@ -0,0 +1,48 @@ +/** +* @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/ml/base/loss/float32/huber_gradient.h" +#include "stdlib/math/base/assert/is_nanf.h" +#include "stdlib/math/base/special/absf.h" +#include "stdlib/math/base/special/signumf.h" +#include "stdlib/constants/float32/nan.h" + +/** +* Computes the Huber loss gradient with respect to a model parameter for a single-precision floating-point number. +* +* @param x input value +* @param d threshold +* @param y true target value +* @param p predicted value +* @return Huber loss gradient +* +* @example +* float out = stdlib_base_float32_huber_gradient( 2.5f, 2.0f, 8.0f, 0.202f ); +* // returns -5.0f +*/ +float stdlib_base_float32_huber_gradient( const float x, const float d, const float y, const float p ) { + float z; + if ( stdlib_base_is_nanf( x ) || stdlib_base_is_nanf( d ) || stdlib_base_is_nanf( y ) || stdlib_base_is_nanf( p ) ) { + return STDLIB_CONSTANT_FLOAT32_NAN; + } + z = y - p; + if ( stdlib_base_absf( z ) <= d ) { + return -z * x; + } + return -d * stdlib_base_signumf( z ) * x; +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..7c8193c06e65 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.4.2 +JSON 0.21.0 diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/runner.jl new file mode 100644 index 000000000000..c487b0608b6c --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/runner.jl @@ -0,0 +1,104 @@ +#!/usr/bin/env julia +# +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import JSON + +""" + gen( x, d, y, p, name ) + +Generate fixture data and write to file. + +# Arguments + +* `x`: input domain +* `d`: threshold +* `y`: response domain +* `p`: prediction domain +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = Float32.( range( 0.0, stop=50.0, length=503 ) ); +julia> d = Float32.( range( 0.0, stop=5.0, length=503 ) ); +julia> y = Float32.( range( 0.0, stop=10.0, length=503 ) ); +julia> p = Float32.( range( 10.0, stop=0.0, length=503 ) ); +julia> gen( x, d, y, p, "data.json" ); +``` +""" +function gen( x, d, y, p, name ) + x = Float32.( x ); + d = Float32.( d ); + y = Float32.( y ); + p = Float32.( p ); + + z = y .- p; + v = ifelse.(abs.(z) .<= d, .-z .* x, .-d .* sign.(z) .* x); + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("d", d), + ("y", y), + ("p", p), + ("expected", v) + ]); + + # Based on the script directory, create an output filepath: + filepath = joinpath( dir, name ); + + # Write the data to the output filepath as JSON: + outfile = open( filepath, "w" ); + write( outfile, JSON.json(data) ); + write( outfile, "\n" ); + close( outfile ); +end + +# Get the filename: +file = @__FILE__; + +# Extract the directory in which this file resides: +dir = dirname(file); + +# Positive tiny values: +x = Float32.( range( 0.0, stop=20e-20, length=503 ) ); +d = Float32.( range( 0.0, stop=5e-20, length=503 ) ); +y = Float32.( range( 0.0, stop=10e-20, length=503 ) ); +p = Float32.( range( 10e-20, stop=0.0, length=503 ) ); +gen( x, d, y, p, "tiny_positive.json" ); + +# Small positive values: +x = Float32.( range( 0.0, stop=50.0, length=503 ) ); +d = Float32.( range( 0.0, stop=5.0, length=503 ) ); +y = Float32.( range( 0.0, stop=10.0, length=503 ) ); +p = Float32.( range( 10.0, stop=0.0, length=503 ) ); +gen( x, d, y, p, "small_positive.json" ); + +# Negative tiny values: +x = Float32.( range( 0.0, stop=-20e-20, length=503 ) ); +d = Float32.( range( 0.0, stop=5e-20, length=503 ) ); +y = Float32.( range( -10e-20, stop=0.0, length=503 ) ); +p = Float32.( range( 0.0, stop=-10e-20, length=503 ) ); +gen( x, d, y, p, "tiny_negative.json" ); + +# Small negative values: +x = Float32.( range( 0.0, stop=-50.0, length=503 ) ); +d = Float32.( range( 0.0, stop=5.0, length=503 ) ); +y = Float32.( range( -10.0, stop=0.0, length=503 ) ); +p = Float32.( range( 0.0, stop=-10.0, length=503 ) ); +gen( x, d, y, p, "small_negative.json" ); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_negative.json b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_negative.json new file mode 100644 index 000000000000..2e318d564aed --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_negative.json @@ -0,0 +1 @@ +{"x":[0,-0.09960159659385681,-0.19920319318771362,-0.29880478978157043,-0.39840638637542725,-0.49800798296928406,-0.5976095795631409,-0.6972111463546753,-0.7968127727508545,-0.8964143395423889,-0.9960159659385681,-1.0956175327301025,-1.1952191591262817,-1.2948206663131714,-1.3944222927093506,-1.4940239191055298,-1.593625545501709,-1.6932270526885986,-1.7928286790847778,-1.892430305480957,-1.9920319318771362,-2.0916335582733154,-2.191235065460205,-2.2908365726470947,-2.3904383182525635,-2.490039825439453,-2.5896413326263428,-2.6892430782318115,-2.788844585418701,-2.88844633102417,-2.9880478382110596,-3.087649345397949,-3.187251091003418,-3.2868525981903076,-3.3864541053771973,-3.486055850982666,-3.5856573581695557,-3.6852588653564453,-3.784860610961914,-3.8844621181488037,-3.9840638637542725,-4.083665370941162,-4.183267116546631,-4.282868385314941,-4.38247013092041,-4.482071876525879,-4.5816731452941895,-4.681274890899658,-4.780876636505127,-4.8804779052734375,-4.980079650878906,-5.079681396484375,-5.1792826652526855,-5.278884410858154,-5.378486156463623,-5.478087425231934,-5.577689170837402,-5.677290916442871,-5.77689266204834,-5.87649393081665,-5.976095676422119,-6.075697422027588,-6.175298690795898,-6.274900436401367,-6.374502182006836,-6.4741034507751465,-6.573705196380615,-6.673306941986084,-6.7729082107543945,-6.872509956359863,-6.972111701965332,-7.071712970733643,-7.171314716339111,-7.27091646194458,-7.370517730712891,-7.470119476318359,-7.569721221923828,-7.669322490692139,-7.768924236297607,-7.868525981903076,-7.968127727508545,-8.067728996276855,-8.167330741882324,-8.266932487487793,-8.366534233093262,-8.466135025024414,-8.565736770629883,-8.665338516235352,-8.76494026184082,-8.864542007446289,-8.964143753051758,-9.06374454498291,-9.163346290588379,-9.262948036193848,-9.362549781799316,-9.462151527404785,-9.561753273010254,-9.661355018615723,-9.760955810546875,-9.860557556152344,-9.960159301757812,-10.059761047363281,-10.15936279296875,-10.258964538574219,-10.358565330505371,-10.45816707611084,-10.557768821716309,-10.657370567321777,-10.756972312927246,-10.856574058532715,-10.956174850463867,-11.055776596069336,-11.155378341674805,-11.254980087280273,-11.354581832885742,-11.454183578491211,-11.55378532409668,-11.653386116027832,-11.7529878616333,-11.85258960723877,-11.952191352844238,-12.051793098449707,-12.151394844055176,-12.250995635986328,-12.350597381591797,-12.450199127197266,-12.549800872802734,-12.649402618408203,-12.749004364013672,-12.848605155944824,-12.948206901550293,-13.047808647155762,-13.14741039276123,-13.2470121383667,-13.346613883972168,-13.44621467590332,-13.545816421508789,-13.645418167114258,-13.745019912719727,-13.844621658325195,-13.944223403930664,-14.043825149536133,-14.143425941467285,-14.243027687072754,-14.342629432678223,-14.442231178283691,-14.54183292388916,-14.641434669494629,-14.741035461425781,-14.84063720703125,-14.940238952636719,-15.039840698242188,-15.139442443847656,-15.239044189453125,-15.338644981384277,-15.438246726989746,-15.537848472595215,-15.637450218200684,-15.737051963806152,-15.836653709411621,-15.93625545501709,-16.035856246948242,-16.13545799255371,-16.23505973815918,-16.33466148376465,-16.434263229370117,-16.533864974975586,-16.633466720581055,-16.733068466186523,-16.832670211791992,-16.932270050048828,-17.031871795654297,-17.131473541259766,-17.231075286865234,-17.330677032470703,-17.430278778076172,-17.52988052368164,-17.62948226928711,-17.729084014892578,-17.828685760498047,-17.928287506103516,-18.027889251708984,-18.12748908996582,-18.22709083557129,-18.326692581176758,-18.426294326782227,-18.525896072387695,-18.625497817993164,-18.725099563598633,-18.8247013092041,-18.92430305480957,-19.02390480041504,-19.123506546020508,-19.223108291625977,-19.322710037231445,-19.42230987548828,-19.52191162109375,-19.62151336669922,-19.721115112304688,-19.820716857910156,-19.920318603515625,-20.019920349121094,-20.119522094726562,-20.21912384033203,-20.3187255859375,-20.41832733154297,-20.517929077148438,-20.617530822753906,-20.717130661010742,-20.81673240661621,-20.91633415222168,-21.01593589782715,-21.115537643432617,-21.215139389038086,-21.314741134643555,-21.414342880249023,-21.513944625854492,-21.61354637145996,-21.71314811706543,-21.8127498626709,-21.912349700927734,-22.011951446533203,-22.111553192138672,-22.21115493774414,-22.31075668334961,-22.410358428955078,-22.509960174560547,-22.609561920166016,-22.709163665771484,-22.808765411376953,-22.908367156982422,-23.00796890258789,-23.10757064819336,-23.207170486450195,-23.306772232055664,-23.406373977661133,-23.5059757232666,-23.60557746887207,-23.70517921447754,-23.804780960083008,-23.904382705688477,-24.003984451293945,-24.103586196899414,-24.203187942504883,-24.30278968811035,-24.402389526367188,-24.501991271972656,-24.601593017578125,-24.701194763183594,-24.800796508789062,-24.90039825439453,-25,-25.09960174560547,-25.199203491210938,-25.298805236816406,-25.398406982421875,-25.498008728027344,-25.597610473632812,-25.69721031188965,-25.796812057495117,-25.896413803100586,-25.996015548706055,-26.095617294311523,-26.195219039916992,-26.29482078552246,-26.39442253112793,-26.4940242767334,-26.593626022338867,-26.693227767944336,-26.792829513549805,-26.89242935180664,-26.99203109741211,-27.091632843017578,-27.191234588623047,-27.290836334228516,-27.390438079833984,-27.490039825439453,-27.589641571044922,-27.68924331665039,-27.78884506225586,-27.888446807861328,-27.988048553466797,-28.087650299072266,-28.1872501373291,-28.28685188293457,-28.38645362854004,-28.486055374145508,-28.585657119750977,-28.685258865356445,-28.784860610961914,-28.884462356567383,-28.98406410217285,-29.08366584777832,-29.18326759338379,-29.282869338989258,-29.382469177246094,-29.482070922851562,-29.58167266845703,-29.6812744140625,-29.78087615966797,-29.880477905273438,-29.980079650878906,-30.079681396484375,-30.179283142089844,-30.278884887695312,-30.37848663330078,-30.47808837890625,-30.57769012451172,-30.677289962768555,-30.776891708374023,-30.876493453979492,-30.97609519958496,-31.07569694519043,-31.1752986907959,-31.274900436401367,-31.374502182006836,-31.474103927612305,-31.573705673217773,-31.673307418823242,-31.77290916442871,-31.87251091003418,-31.972110748291016,-32.071712493896484,-32.17131423950195,-32.27091598510742,-32.37051773071289,-32.47011947631836,-32.56972122192383,-32.6693229675293,-32.768924713134766,-32.868526458740234,-32.9681282043457,-33.06772994995117,-33.16733169555664,-33.26693344116211,-33.36653518676758,-33.46613693237305,-33.565738677978516,-33.665340423583984,-33.76493835449219,-33.864540100097656,-33.964141845703125,-34.063743591308594,-34.16334533691406,-34.26294708251953,-34.362548828125,-34.46215057373047,-34.56175231933594,-34.661354064941406,-34.760955810546875,-34.860557556152344,-34.96015930175781,-35.05976104736328,-35.15936279296875,-35.25896453857422,-35.35856628417969,-35.458168029785156,-35.557769775390625,-35.657371520996094,-35.75697326660156,-35.85657501220703,-35.9561767578125,-36.05577850341797,-36.15538024902344,-36.25497817993164,-36.35457992553711,-36.45418167114258,-36.55378341674805,-36.653385162353516,-36.752986907958984,-36.85258865356445,-36.95219039916992,-37.05179214477539,-37.15139389038086,-37.25099563598633,-37.3505973815918,-37.450199127197266,-37.549800872802734,-37.6494026184082,-37.74900436401367,-37.84860610961914,-37.94820785522461,-38.04780960083008,-38.14741134643555,-38.247013092041016,-38.346614837646484,-38.44621658325195,-38.54581832885742,-38.64542007446289,-38.74502182006836,-38.84461975097656,-38.94422149658203,-39.0438232421875,-39.14342498779297,-39.24302673339844,-39.342628479003906,-39.442230224609375,-39.541831970214844,-39.64143371582031,-39.74103546142578,-39.84063720703125,-39.94023895263672,-40.03984069824219,-40.139442443847656,-40.239044189453125,-40.338645935058594,-40.43824768066406,-40.53784942626953,-40.637451171875,-40.73705291748047,-40.83665466308594,-40.936256408691406,-41.035858154296875,-41.135459899902344,-41.23506164550781,-41.334659576416016,-41.434261322021484,-41.53386306762695,-41.63346481323242,-41.73306655883789,-41.83266830444336,-41.93227005004883,-42.0318717956543,-42.131473541259766,-42.231075286865234,-42.3306770324707,-42.43027877807617,-42.52988052368164,-42.62948226928711,-42.72908401489258,-42.82868576049805,-42.928287506103516,-43.027889251708984,-43.12749099731445,-43.22709274291992,-43.32669448852539,-43.42629623413086,-43.52589797973633,-43.6254997253418,-43.725101470947266,-43.82469940185547,-43.92430114746094,-44.023902893066406,-44.123504638671875,-44.223106384277344,-44.32270812988281,-44.42230987548828,-44.52191162109375,-44.62151336669922,-44.72111511230469,-44.820716857910156,-44.920318603515625,-45.019920349121094,-45.11952209472656,-45.21912384033203,-45.3187255859375,-45.41832733154297,-45.51792907714844,-45.617530822753906,-45.717132568359375,-45.816734313964844,-45.91633605957031,-46.01593780517578,-46.11553955078125,-46.21514129638672,-46.31473922729492,-46.41434097290039,-46.51394271850586,-46.61354446411133,-46.7131462097168,-46.812747955322266,-46.912349700927734,-47.0119514465332,-47.11155319213867,-47.21115493774414,-47.31075668334961,-47.41035842895508,-47.50996017456055,-47.609561920166016,-47.709163665771484,-47.80876541137695,-47.90836715698242,-48.00796890258789,-48.10757064819336,-48.20717239379883,-48.3067741394043,-48.406375885009766,-48.505977630615234,-48.6055793762207,-48.70518112182617,-48.804779052734375,-48.904380798339844,-49.00398254394531,-49.10358428955078,-49.20318603515625,-49.30278778076172,-49.40238952636719,-49.501991271972656,-49.601593017578125,-49.701194763183594,-49.80079650878906,-49.90039825439453,-50],"d":[0,0.009960159659385681,0.019920319318771362,0.029880478978157043,0.039840638637542725,0.049800798296928406,0.05976095795631409,0.06972111761569977,0.07968127727508545,0.08964143693447113,0.09960159659385681,0.10956175625324249,0.11952191591262817,0.12948207557201385,0.13944223523139954,0.14940239489078522,0.1593625545501709,0.16932271420955658,0.17928287386894226,0.18924303352832794,0.19920319318771362,0.2091633528470993,0.21912351250648499,0.22908367216587067,0.23904383182525635,0.24900399148464203,0.2589641511440277,0.2689242959022522,0.2788844704627991,0.28884461522102356,0.29880478978157043,0.3087649345397949,0.3187251091003418,0.3286852538585663,0.33864542841911316,0.34860557317733765,0.3585657477378845,0.368525892496109,0.3784860670566559,0.38844621181488037,0.39840638637542725,0.40836653113365173,0.4183267056941986,0.4282868504524231,0.43824702501296997,0.44820716977119446,0.45816734433174133,0.4681274890899658,0.4780876636505127,0.4880478084087372,0.49800798296928406,0.5079681277275085,0.5179283022880554,0.5278884172439575,0.5378485918045044,0.5478087663650513,0.5577689409255981,0.5677290558815002,0.5776892304420471,0.587649405002594,0.5976095795631409,0.607569694519043,0.6175298690795898,0.6274900436401367,0.6374502182006836,0.6474103331565857,0.6573705077171326,0.6673306822776794,0.6772908568382263,0.6872509717941284,0.6972111463546753,0.7071713209152222,0.717131495475769,0.7270916104316711,0.737051784992218,0.7470119595527649,0.7569721341133118,0.7669322490692139,0.7768924236297607,0.7868525981903076,0.7968127727508545,0.8067728877067566,0.8167330622673035,0.8266932368278503,0.8366534113883972,0.8466135263442993,0.8565737009048462,0.8665338754653931,0.8764940500259399,0.886454164981842,0.8964143395423889,0.9063745141029358,0.9163346886634827,0.9262948036193848,0.9362549781799316,0.9462151527404785,0.9561753273010254,0.9661354422569275,0.9760956168174744,0.9860557913780212,0.9960159659385681,1.0059760808944702,1.015936255455017,1.025896430015564,1.0358566045761108,1.0458167791366577,1.055776834487915,1.065737009048462,1.0756971836090088,1.0856573581695557,1.0956175327301025,1.1055777072906494,1.1155378818511963,1.1254980564117432,1.1354581117630005,1.1454182863235474,1.1553784608840942,1.1653386354446411,1.175298810005188,1.1852589845657349,1.1952191591262817,1.2051793336868286,1.215139389038086,1.2250995635986328,1.2350597381591797,1.2450199127197266,1.2549800872802734,1.2649402618408203,1.2749004364013672,1.284860610961914,1.2948206663131714,1.3047808408737183,1.3147410154342651,1.324701189994812,1.3346613645553589,1.3446215391159058,1.3545817136764526,1.3645418882369995,1.3745019435882568,1.3844621181488037,1.3944222927093506,1.4043824672698975,1.4143426418304443,1.4243028163909912,1.434262990951538,1.444223165512085,1.4541832208633423,1.4641433954238892,1.474103569984436,1.484063744544983,1.4940239191055298,1.5039840936660767,1.5139442682266235,1.5239043235778809,1.5338644981384277,1.5438246726989746,1.5537848472595215,1.5637450218200684,1.5737051963806152,1.583665370941162,1.593625545501709,1.6035856008529663,1.6135457754135132,1.62350594997406,1.633466124534607,1.6434262990951538,1.6533864736557007,1.6633466482162476,1.6733068227767944,1.6832668781280518,1.6932270526885986,1.7031872272491455,1.7131474018096924,1.7231075763702393,1.7330677509307861,1.743027925491333,1.7529881000518799,1.7629481554031372,1.772908329963684,1.782868504524231,1.7928286790847778,1.8027888536453247,1.8127490282058716,1.8227092027664185,1.8326693773269653,1.8426294326782227,1.8525896072387695,1.8625497817993164,1.8725099563598633,1.8824701309204102,1.892430305480957,1.902390480041504,1.9123506546020508,1.922310709953308,1.932270884513855,1.9422310590744019,1.9521912336349487,1.9621514081954956,1.9721115827560425,1.9820717573165894,1.9920319318771362,2.0019919872283936,2.0119521617889404,2.0219123363494873,2.031872510910034,2.041832685470581,2.051792860031128,2.061753034591675,2.0717132091522217,2.0816733837127686,2.0916335582733154,2.1015937328338623,2.11155366897583,2.121513843536377,2.131474018096924,2.1414341926574707,2.1513943672180176,2.1613545417785645,2.1713147163391113,2.181274890899658,2.191235065460205,2.201195240020752,2.211155414581299,2.2211155891418457,2.2310757637023926,2.2410359382629395,2.2509961128234863,2.260956287384033,2.270916223526001,2.280876398086548,2.2908365726470947,2.3007967472076416,2.3107569217681885,2.3207170963287354,2.3306772708892822,2.340637445449829,2.350597620010376,2.360557794570923,2.3705179691314697,2.3804781436920166,2.3904383182525635,2.4003984928131104,2.4103586673736572,2.420318841934204,2.430278778076172,2.4402389526367188,2.4501991271972656,2.4601593017578125,2.4701194763183594,2.4800796508789062,2.490039825439453,2.5,2.509960174560547,2.5199203491210938,2.5298805236816406,2.5398406982421875,2.5498008728027344,2.5597610473632812,2.569721221923828,2.579681158065796,2.5896413326263428,2.5996015071868896,2.6095616817474365,2.6195218563079834,2.6294820308685303,2.639442205429077,2.649402379989624,2.659362554550171,2.6693227291107178,2.6792829036712646,2.6892430782318115,2.6992032527923584,2.7091634273529053,2.719123601913452,2.729083776473999,2.739043712615967,2.7490038871765137,2.7589640617370605,2.7689242362976074,2.7788844108581543,2.788844585418701,2.798804759979248,2.808764934539795,2.818725109100342,2.8286852836608887,2.8386454582214355,2.8486056327819824,2.8585658073425293,2.868525981903076,2.878486156463623,2.88844633102417,2.8984062671661377,2.9083664417266846,2.9183266162872314,2.9282867908477783,2.938246965408325,2.948207139968872,2.958167314529419,2.968127489089966,2.9780876636505127,2.9880478382110596,2.9980080127716064,3.0079681873321533,3.0179283618927,3.027888536453247,3.037848711013794,3.0478086471557617,3.0577688217163086,3.0677289962768555,3.0776891708374023,3.087649345397949,3.097609519958496,3.107569694519043,3.11752986907959,3.1274900436401367,3.1374502182006836,3.1474103927612305,3.1573705673217773,3.167330741882324,3.177290916442871,3.187251091003418,3.197211265563965,3.2071712017059326,3.2171313762664795,3.2270915508270264,3.2370517253875732,3.24701189994812,3.256972074508667,3.266932249069214,3.2768924236297607,3.2868525981903076,3.2968127727508545,3.3067729473114014,3.3167331218719482,3.326693296432495,3.336653470993042,3.346613645553589,3.3565738201141357,3.3665337562561035,3.3764939308166504,3.3864541053771973,3.396414279937744,3.406374454498291,3.416334629058838,3.4262948036193848,3.4362549781799316,3.4462151527404785,3.4561753273010254,3.4661355018615723,3.476095676422119,3.486055850982666,3.496016025543213,3.5059762001037598,3.5159361362457275,3.5258963108062744,3.5358564853668213,3.545816659927368,3.555776834487915,3.565737009048462,3.575697183609009,3.5856573581695557,3.5956175327301025,3.6055777072906494,3.6155378818511963,3.625498056411743,3.63545823097229,3.645418405532837,3.655378580093384,3.6653387546539307,3.6752986907958984,3.6852588653564453,3.695219039916992,3.705179214477539,3.715139389038086,3.725099563598633,3.7350597381591797,3.7450199127197266,3.7549800872802734,3.7649402618408203,3.774900436401367,3.784860610961914,3.794820785522461,3.804780960083008,3.8147411346435547,3.8247013092041016,3.8346612453460693,3.844621419906616,3.854581594467163,3.86454176902771,3.874501943588257,3.8844621181488037,3.8944222927093506,3.9043824672698975,3.9143426418304443,3.924302816390991,3.934262990951538,3.944223165512085,3.954183340072632,3.9641435146331787,3.9741036891937256,3.9840638637542725,3.9940237998962402,4.003983974456787,4.013944149017334,4.023904323577881,4.033864498138428,4.043824672698975,4.0537848472595215,4.063745021820068,4.073705196380615,4.083665370941162,4.093625545501709,4.103585720062256,4.113545894622803,4.12350606918335,4.1334662437438965,4.143426418304443,4.15338659286499,4.163346767425537,4.173306941986084,4.183267116546631,4.193227291107178,4.203187465667725,4.2131476402282715,4.22310733795166,4.233067512512207,4.243027687072754,4.252987861633301,4.262948036193848,4.2729082107543945,4.282868385314941,4.292828559875488,4.302788734436035,4.312748908996582,4.322709083557129,4.332669258117676,4.342629432678223,4.3525896072387695,4.362549781799316,4.372509956359863,4.38247013092041,4.392430305480957,4.402390480041504,4.412350654602051,4.422310829162598,4.4322710037231445,4.442231178283691,4.452191352844238,4.462151527404785,4.472111701965332,4.482071876525879,4.492032051086426,4.501992225646973,4.5119524002075195,4.521912574768066,4.531872272491455,4.541832447052002,4.551792621612549,4.561752796173096,4.571712970733643,4.5816731452941895,4.591633319854736,4.601593494415283,4.61155366897583,4.621513843536377,4.631474018096924,4.641434192657471,4.651394367218018,4.6613545417785645,4.671314716339111,4.681274890899658,4.691235065460205,4.701195240020752,4.711155414581299,4.721115589141846,4.731075763702393,4.7410359382629395,4.750996112823486,4.760956287384033,4.77091646194458,4.780876636505127,4.790836811065674,4.800796985626221,4.810757160186768,4.8207173347473145,4.830677509307861,4.840637683868408,4.850597381591797,4.860557556152344,4.870517730712891,4.8804779052734375,4.890438079833984,4.900398254394531,4.910358428955078,4.920318603515625,4.930278778076172,4.940238952636719,4.950199127197266,4.9601593017578125,4.970119476318359,4.980079650878906,4.990039825439453,5],"y":[-10,-9.980079650878906,-9.960159301757812,-9.940238952636719,-9.920318603515625,-9.900398254394531,-9.880477905273438,-9.860557556152344,-9.84063720703125,-9.820716857910156,-9.800796508789062,-9.780876159667969,-9.760955810546875,-9.741035461425781,-9.721115112304688,-9.701194763183594,-9.681275367736816,-9.661355018615723,-9.641434669494629,-9.621514320373535,-9.601593971252441,-9.581673622131348,-9.561753273010254,-9.54183292388916,-9.521912574768066,-9.501992225646973,-9.482071876525879,-9.462151527404785,-9.442231178283691,-9.422310829162598,-9.402390480041504,-9.38247013092041,-9.362549781799316,-9.342629432678223,-9.322709083557129,-9.302788734436035,-9.282868385314941,-9.262948036193848,-9.243027687072754,-9.22310733795166,-9.203186988830566,-9.183266639709473,-9.163346290588379,-9.143425941467285,-9.123505592346191,-9.103585243225098,-9.083664894104004,-9.06374454498291,-9.043825149536133,-9.023904800415039,-9.003984451293945,-8.984064102172852,-8.964143753051758,-8.944223403930664,-8.92430305480957,-8.904382705688477,-8.884462356567383,-8.864542007446289,-8.844621658325195,-8.824701309204102,-8.804780960083008,-8.784860610961914,-8.76494026184082,-8.745019912719727,-8.725099563598633,-8.705179214477539,-8.685258865356445,-8.665338516235352,-8.645418167114258,-8.625497817993164,-8.60557746887207,-8.585657119750977,-8.565736770629883,-8.545816421508789,-8.525896072387695,-8.505975723266602,-8.486055374145508,-8.466135025024414,-8.44621467590332,-8.426295280456543,-8.40637493133545,-8.386454582214355,-8.366534233093262,-8.346613883972168,-8.326693534851074,-8.30677318572998,-8.286852836608887,-8.266932487487793,-8.2470121383667,-8.227091789245605,-8.207171440124512,-8.187251091003418,-8.167330741882324,-8.14741039276123,-8.127490043640137,-8.107569694519043,-8.08764934539795,-8.067728996276855,-8.047808647155762,-8.027888298034668,-8.007967948913574,-7.9880475997924805,-7.968127727508545,-7.948207378387451,-7.928287029266357,-7.908366680145264,-7.88844633102417,-7.868525981903076,-7.848605632781982,-7.828685283660889,-7.808764934539795,-7.788844585418701,-7.768924236297607,-7.749003887176514,-7.72908353805542,-7.709163188934326,-7.689242839813232,-7.669322490692139,-7.649402618408203,-7.629482269287109,-7.609561920166016,-7.589641571044922,-7.569721221923828,-7.549800872802734,-7.529880523681641,-7.509960174560547,-7.490039825439453,-7.470119476318359,-7.450199127197266,-7.430278778076172,-7.410358428955078,-7.390438079833984,-7.370517730712891,-7.350597381591797,-7.330677509307861,-7.310757160186768,-7.290836811065674,-7.27091646194458,-7.250996112823486,-7.231075763702393,-7.211155414581299,-7.191235065460205,-7.171314716339111,-7.151394367218018,-7.131474018096924,-7.11155366897583,-7.091633319854736,-7.071712970733643,-7.051792621612549,-7.031872272491455,-7.0119524002075195,-6.992032051086426,-6.972111701965332,-6.952191352844238,-6.9322710037231445,-6.912350654602051,-6.892430305480957,-6.872509956359863,-6.8525896072387695,-6.832669258117676,-6.812748908996582,-6.792828559875488,-6.7729082107543945,-6.752987861633301,-6.733067512512207,-6.7131476402282715,-6.693227291107178,-6.673306941986084,-6.65338659286499,-6.6334662437438965,-6.613545894622803,-6.593625545501709,-6.573705196380615,-6.5537848472595215,-6.533864498138428,-6.513944149017334,-6.49402379989624,-6.4741034507751465,-6.454183101654053,-6.434262752532959,-6.414342403411865,-6.39442253112793,-6.374502182006836,-6.354581832885742,-6.334661483764648,-6.314741134643555,-6.294820785522461,-6.274900436401367,-6.254980087280273,-6.23505973815918,-6.215139389038086,-6.195219039916992,-6.175298690795898,-6.155378341674805,-6.135457992553711,-6.115537643432617,-6.095617294311523,-6.075697422027588,-6.055777072906494,-6.0358567237854,-6.015936374664307,-5.996016025543213,-5.976095676422119,-5.956175327301025,-5.936254978179932,-5.916334629058838,-5.896414279937744,-5.87649393081665,-5.856573581695557,-5.836653232574463,-5.816732883453369,-5.796812534332275,-5.77689266204834,-5.756972312927246,-5.737051963806152,-5.717131614685059,-5.697211265563965,-5.677290916442871,-5.657370567321777,-5.637450218200684,-5.61752986907959,-5.597609519958496,-5.577689170837402,-5.557768821716309,-5.537848472595215,-5.517928123474121,-5.498007774353027,-5.478087425231934,-5.458167552947998,-5.438247203826904,-5.4183268547058105,-5.398406505584717,-5.378486156463623,-5.358565807342529,-5.3386454582214355,-5.318725109100342,-5.298804759979248,-5.278884410858154,-5.2589640617370605,-5.239043712615967,-5.219123363494873,-5.199203014373779,-5.1792826652526855,-5.159362316131592,-5.139442443847656,-5.1195220947265625,-5.099601745605469,-5.079681396484375,-5.059761047363281,-5.0398406982421875,-5.019920349121094,-5,-4.980079650878906,-4.9601593017578125,-4.940238952636719,-4.920318603515625,-4.900398254394531,-4.8804779052734375,-4.860557556152344,-4.840637683868408,-4.8207173347473145,-4.800796985626221,-4.780876636505127,-4.760956287384033,-4.7410359382629395,-4.721115589141846,-4.701195240020752,-4.681274890899658,-4.6613545417785645,-4.641434192657471,-4.621513843536377,-4.601593494415283,-4.5816731452941895,-4.561752796173096,-4.541832447052002,-4.521912574768066,-4.501992225646973,-4.482071876525879,-4.462151527404785,-4.442231178283691,-4.422310829162598,-4.402390480041504,-4.38247013092041,-4.362549781799316,-4.342629432678223,-4.322709083557129,-4.302788734436035,-4.282868385314941,-4.262948036193848,-4.243027687072754,-4.22310733795166,-4.203187465667725,-4.183267116546631,-4.163346767425537,-4.143426418304443,-4.12350606918335,-4.103585720062256,-4.083665370941162,-4.063745021820068,-4.043824672698975,-4.023904323577881,-4.003983974456787,-3.9840638637542725,-3.9641435146331787,-3.944223165512085,-3.924302816390991,-3.9043824672698975,-3.8844621181488037,-3.86454176902771,-3.844621419906616,-3.8247013092041016,-3.804780960083008,-3.784860610961914,-3.7649402618408203,-3.7450199127197266,-3.725099563598633,-3.705179214477539,-3.6852588653564453,-3.6653387546539307,-3.645418405532837,-3.625498056411743,-3.6055777072906494,-3.5856573581695557,-3.565737009048462,-3.545816659927368,-3.5258963108062744,-3.5059762001037598,-3.486055850982666,-3.4661355018615723,-3.4462151527404785,-3.4262948036193848,-3.406374454498291,-3.3864541053771973,-3.3665337562561035,-3.346613645553589,-3.326693296432495,-3.3067729473114014,-3.2868525981903076,-3.266932249069214,-3.24701189994812,-3.2270915508270264,-3.2071712017059326,-3.187251091003418,-3.167330741882324,-3.1474103927612305,-3.1274900436401367,-3.107569694519043,-3.087649345397949,-3.0677289962768555,-3.0478086471557617,-3.027888536453247,-3.0079681873321533,-2.9880478382110596,-2.968127489089966,-2.948207139968872,-2.9282867908477783,-2.9083664417266846,-2.88844633102417,-2.868525981903076,-2.8486056327819824,-2.8286852836608887,-2.808764934539795,-2.788844585418701,-2.7689242362976074,-2.7490038871765137,-2.729083776473999,-2.7091634273529053,-2.6892430782318115,-2.6693227291107178,-2.649402379989624,-2.6294820308685303,-2.6095616817474365,-2.5896413326263428,-2.569721221923828,-2.5498008728027344,-2.5298805236816406,-2.509960174560547,-2.490039825439453,-2.4701194763183594,-2.4501991271972656,-2.430278778076172,-2.4103586673736572,-2.3904383182525635,-2.3705179691314697,-2.350597620010376,-2.3306772708892822,-2.3107569217681885,-2.2908365726470947,-2.270916223526001,-2.2509961128234863,-2.2310757637023926,-2.211155414581299,-2.191235065460205,-2.1713147163391113,-2.1513943672180176,-2.131474018096924,-2.11155366897583,-2.0916335582733154,-2.0717132091522217,-2.051792860031128,-2.031872510910034,-2.0119521617889404,-1.9920319318771362,-1.9721115827560425,-1.9521912336349487,-1.932270884513855,-1.9123506546020508,-1.892430305480957,-1.8725099563598633,-1.8525896072387695,-1.8326693773269653,-1.8127490282058716,-1.7928286790847778,-1.772908329963684,-1.7529881000518799,-1.7330677509307861,-1.7131474018096924,-1.6932270526885986,-1.6733068227767944,-1.6533864736557007,-1.633466124534607,-1.6135457754135132,-1.593625545501709,-1.5737051963806152,-1.5537848472595215,-1.5338644981384277,-1.5139442682266235,-1.4940239191055298,-1.474103569984436,-1.4541832208633423,-1.434262990951538,-1.4143426418304443,-1.3944222927093506,-1.3745019435882568,-1.3545817136764526,-1.3346613645553589,-1.3147410154342651,-1.2948206663131714,-1.2749004364013672,-1.2549800872802734,-1.2350597381591797,-1.215139389038086,-1.1952191591262817,-1.175298810005188,-1.1553784608840942,-1.1354581117630005,-1.1155378818511963,-1.0956175327301025,-1.0756971836090088,-1.055776834487915,-1.0358566045761108,-1.015936255455017,-0.9960159659385681,-0.9760956168174744,-0.9561753273010254,-0.9362549781799316,-0.9163346886634827,-0.8964143395423889,-0.8764940500259399,-0.8565737009048462,-0.8366534113883972,-0.8167330622673035,-0.7968127727508545,-0.7768924236297607,-0.7569721341133118,-0.737051784992218,-0.717131495475769,-0.6972111463546753,-0.6772908568382263,-0.6573705077171326,-0.6374502182006836,-0.6175298690795898,-0.5976095795631409,-0.5776892304420471,-0.5577689409255981,-0.5378485918045044,-0.5179283022880554,-0.49800798296928406,-0.4780876636505127,-0.45816734433174133,-0.43824702501296997,-0.4183267056941986,-0.39840638637542725,-0.3784860670566559,-0.3585657477378845,-0.33864542841911316,-0.3187251091003418,-0.29880478978157043,-0.2788844704627991,-0.2589641511440277,-0.23904383182525635,-0.21912351250648499,-0.19920319318771362,-0.17928287386894226,-0.1593625545501709,-0.13944223523139954,-0.11952191591262817,-0.09960159659385681,-0.07968127727508545,-0.05976095795631409,-0.039840638637542725,-0.019920319318771362,0],"p":[0,-0.019920319318771362,-0.039840638637542725,-0.05976095795631409,-0.07968127727508545,-0.09960159659385681,-0.11952191591262817,-0.13944223523139954,-0.1593625545501709,-0.17928287386894226,-0.19920319318771362,-0.21912351250648499,-0.23904383182525635,-0.2589641511440277,-0.2788844704627991,-0.29880478978157043,-0.3187251091003418,-0.33864542841911316,-0.3585657477378845,-0.3784860670566559,-0.39840638637542725,-0.4183267056941986,-0.43824702501296997,-0.45816734433174133,-0.4780876636505127,-0.49800798296928406,-0.5179283022880554,-0.5378485918045044,-0.5577689409255981,-0.5776892304420471,-0.5976095795631409,-0.6175298690795898,-0.6374502182006836,-0.6573705077171326,-0.6772908568382263,-0.6972111463546753,-0.717131495475769,-0.737051784992218,-0.7569721341133118,-0.7768924236297607,-0.7968127727508545,-0.8167330622673035,-0.8366534113883972,-0.8565737009048462,-0.8764940500259399,-0.8964143395423889,-0.9163346886634827,-0.9362549781799316,-0.9561753273010254,-0.9760956168174744,-0.9960159659385681,-1.015936255455017,-1.0358566045761108,-1.055776834487915,-1.0756971836090088,-1.0956175327301025,-1.1155378818511963,-1.1354581117630005,-1.1553784608840942,-1.175298810005188,-1.1952191591262817,-1.215139389038086,-1.2350597381591797,-1.2549800872802734,-1.2749004364013672,-1.2948206663131714,-1.3147410154342651,-1.3346613645553589,-1.3545817136764526,-1.3745019435882568,-1.3944222927093506,-1.4143426418304443,-1.434262990951538,-1.4541832208633423,-1.474103569984436,-1.4940239191055298,-1.5139442682266235,-1.5338644981384277,-1.5537848472595215,-1.5737051963806152,-1.593625545501709,-1.6135457754135132,-1.633466124534607,-1.6533864736557007,-1.6733068227767944,-1.6932270526885986,-1.7131474018096924,-1.7330677509307861,-1.7529881000518799,-1.772908329963684,-1.7928286790847778,-1.8127490282058716,-1.8326693773269653,-1.8525896072387695,-1.8725099563598633,-1.892430305480957,-1.9123506546020508,-1.932270884513855,-1.9521912336349487,-1.9721115827560425,-1.9920319318771362,-2.0119521617889404,-2.031872510910034,-2.051792860031128,-2.0717132091522217,-2.0916335582733154,-2.11155366897583,-2.131474018096924,-2.1513943672180176,-2.1713147163391113,-2.191235065460205,-2.211155414581299,-2.2310757637023926,-2.2509961128234863,-2.270916223526001,-2.2908365726470947,-2.3107569217681885,-2.3306772708892822,-2.350597620010376,-2.3705179691314697,-2.3904383182525635,-2.4103586673736572,-2.430278778076172,-2.4501991271972656,-2.4701194763183594,-2.490039825439453,-2.509960174560547,-2.5298805236816406,-2.5498008728027344,-2.569721221923828,-2.5896413326263428,-2.6095616817474365,-2.6294820308685303,-2.649402379989624,-2.6693227291107178,-2.6892430782318115,-2.7091634273529053,-2.729083776473999,-2.7490038871765137,-2.7689242362976074,-2.788844585418701,-2.808764934539795,-2.8286852836608887,-2.8486056327819824,-2.868525981903076,-2.88844633102417,-2.9083664417266846,-2.9282867908477783,-2.948207139968872,-2.968127489089966,-2.9880478382110596,-3.0079681873321533,-3.027888536453247,-3.0478086471557617,-3.0677289962768555,-3.087649345397949,-3.107569694519043,-3.1274900436401367,-3.1474103927612305,-3.167330741882324,-3.187251091003418,-3.2071712017059326,-3.2270915508270264,-3.24701189994812,-3.266932249069214,-3.2868525981903076,-3.3067729473114014,-3.326693296432495,-3.346613645553589,-3.3665337562561035,-3.3864541053771973,-3.406374454498291,-3.4262948036193848,-3.4462151527404785,-3.4661355018615723,-3.486055850982666,-3.5059762001037598,-3.5258963108062744,-3.545816659927368,-3.565737009048462,-3.5856573581695557,-3.6055777072906494,-3.625498056411743,-3.645418405532837,-3.6653387546539307,-3.6852588653564453,-3.705179214477539,-3.725099563598633,-3.7450199127197266,-3.7649402618408203,-3.784860610961914,-3.804780960083008,-3.8247013092041016,-3.844621419906616,-3.86454176902771,-3.8844621181488037,-3.9043824672698975,-3.924302816390991,-3.944223165512085,-3.9641435146331787,-3.9840638637542725,-4.003983974456787,-4.023904323577881,-4.043824672698975,-4.063745021820068,-4.083665370941162,-4.103585720062256,-4.12350606918335,-4.143426418304443,-4.163346767425537,-4.183267116546631,-4.203187465667725,-4.22310733795166,-4.243027687072754,-4.262948036193848,-4.282868385314941,-4.302788734436035,-4.322709083557129,-4.342629432678223,-4.362549781799316,-4.38247013092041,-4.402390480041504,-4.422310829162598,-4.442231178283691,-4.462151527404785,-4.482071876525879,-4.501992225646973,-4.521912574768066,-4.541832447052002,-4.561752796173096,-4.5816731452941895,-4.601593494415283,-4.621513843536377,-4.641434192657471,-4.6613545417785645,-4.681274890899658,-4.701195240020752,-4.721115589141846,-4.7410359382629395,-4.760956287384033,-4.780876636505127,-4.800796985626221,-4.8207173347473145,-4.840637683868408,-4.860557556152344,-4.8804779052734375,-4.900398254394531,-4.920318603515625,-4.940238952636719,-4.9601593017578125,-4.980079650878906,-5,-5.019920349121094,-5.0398406982421875,-5.059761047363281,-5.079681396484375,-5.099601745605469,-5.1195220947265625,-5.139442443847656,-5.159362316131592,-5.1792826652526855,-5.199203014373779,-5.219123363494873,-5.239043712615967,-5.2589640617370605,-5.278884410858154,-5.298804759979248,-5.318725109100342,-5.3386454582214355,-5.358565807342529,-5.378486156463623,-5.398406505584717,-5.4183268547058105,-5.438247203826904,-5.458167552947998,-5.478087425231934,-5.498007774353027,-5.517928123474121,-5.537848472595215,-5.557768821716309,-5.577689170837402,-5.597609519958496,-5.61752986907959,-5.637450218200684,-5.657370567321777,-5.677290916442871,-5.697211265563965,-5.717131614685059,-5.737051963806152,-5.756972312927246,-5.77689266204834,-5.796812534332275,-5.816732883453369,-5.836653232574463,-5.856573581695557,-5.87649393081665,-5.896414279937744,-5.916334629058838,-5.936254978179932,-5.956175327301025,-5.976095676422119,-5.996016025543213,-6.015936374664307,-6.0358567237854,-6.055777072906494,-6.075697422027588,-6.095617294311523,-6.115537643432617,-6.135457992553711,-6.155378341674805,-6.175298690795898,-6.195219039916992,-6.215139389038086,-6.23505973815918,-6.254980087280273,-6.274900436401367,-6.294820785522461,-6.314741134643555,-6.334661483764648,-6.354581832885742,-6.374502182006836,-6.39442253112793,-6.414342403411865,-6.434262752532959,-6.454183101654053,-6.4741034507751465,-6.49402379989624,-6.513944149017334,-6.533864498138428,-6.5537848472595215,-6.573705196380615,-6.593625545501709,-6.613545894622803,-6.6334662437438965,-6.65338659286499,-6.673306941986084,-6.693227291107178,-6.7131476402282715,-6.733067512512207,-6.752987861633301,-6.7729082107543945,-6.792828559875488,-6.812748908996582,-6.832669258117676,-6.8525896072387695,-6.872509956359863,-6.892430305480957,-6.912350654602051,-6.9322710037231445,-6.952191352844238,-6.972111701965332,-6.992032051086426,-7.0119524002075195,-7.031872272491455,-7.051792621612549,-7.071712970733643,-7.091633319854736,-7.11155366897583,-7.131474018096924,-7.151394367218018,-7.171314716339111,-7.191235065460205,-7.211155414581299,-7.231075763702393,-7.250996112823486,-7.27091646194458,-7.290836811065674,-7.310757160186768,-7.330677509307861,-7.350597381591797,-7.370517730712891,-7.390438079833984,-7.410358428955078,-7.430278778076172,-7.450199127197266,-7.470119476318359,-7.490039825439453,-7.509960174560547,-7.529880523681641,-7.549800872802734,-7.569721221923828,-7.589641571044922,-7.609561920166016,-7.629482269287109,-7.649402618408203,-7.669322490692139,-7.689242839813232,-7.709163188934326,-7.72908353805542,-7.749003887176514,-7.768924236297607,-7.788844585418701,-7.808764934539795,-7.828685283660889,-7.848605632781982,-7.868525981903076,-7.88844633102417,-7.908366680145264,-7.928287029266357,-7.948207378387451,-7.968127727508545,-7.9880475997924805,-8.007967948913574,-8.027888298034668,-8.047808647155762,-8.067728996276855,-8.08764934539795,-8.107569694519043,-8.127490043640137,-8.14741039276123,-8.167330741882324,-8.187251091003418,-8.207171440124512,-8.227091789245605,-8.2470121383667,-8.266932487487793,-8.286852836608887,-8.30677318572998,-8.326693534851074,-8.346613883972168,-8.366534233093262,-8.386454582214355,-8.40637493133545,-8.426295280456543,-8.44621467590332,-8.466135025024414,-8.486055374145508,-8.505975723266602,-8.525896072387695,-8.545816421508789,-8.565736770629883,-8.585657119750977,-8.60557746887207,-8.625497817993164,-8.645418167114258,-8.665338516235352,-8.685258865356445,-8.705179214477539,-8.725099563598633,-8.745019912719727,-8.76494026184082,-8.784860610961914,-8.804780960083008,-8.824701309204102,-8.844621658325195,-8.864542007446289,-8.884462356567383,-8.904382705688477,-8.92430305480957,-8.944223403930664,-8.964143753051758,-8.984064102172852,-9.003984451293945,-9.023904800415039,-9.043825149536133,-9.06374454498291,-9.083664894104004,-9.103585243225098,-9.123505592346191,-9.143425941467285,-9.163346290588379,-9.183266639709473,-9.203186988830566,-9.22310733795166,-9.243027687072754,-9.262948036193848,-9.282868385314941,-9.302788734436035,-9.322709083557129,-9.342629432678223,-9.362549781799316,-9.38247013092041,-9.402390480041504,-9.422310829162598,-9.442231178283691,-9.462151527404785,-9.482071876525879,-9.501992225646973,-9.521912574768066,-9.54183292388916,-9.561753273010254,-9.581673622131348,-9.601593971252441,-9.621514320373535,-9.641434669494629,-9.661355018615723,-9.681275367736816,-9.701194763183594,-9.721115112304688,-9.741035461425781,-9.760955810546875,-9.780876159667969,-9.800796508789062,-9.820716857910156,-9.84063720703125,-9.860557556152344,-9.880477905273438,-9.900398254394531,-9.920318603515625,-9.940238952636719,-9.960159301757812,-9.980079650878906,-10],"expected":[0,-0.0009920478332787752,-0.003968191333115101,-0.008928430266678333,-0.015872765332460403,-0.024801194667816162,-0.03571372106671333,-0.04861034080386162,-0.06349106132984161,-0.08035586774349213,-0.09920477867126465,-0.12003777921199799,-0.14285488426685333,-0.1676560640335083,-0.19444136321544647,-0.22321075201034546,-0.25396424531936646,-0.2867017984390259,-0.3214234709739685,-0.35812926292419434,-0.3968191146850586,-0.43749308586120605,-0.48015111684799194,-0.524793267250061,-0.5714195370674133,-0.620029866695404,-0.6706242561340332,-0.7232028245925903,-0.7777654528617859,-0.8343121409416199,-0.8928430080413818,-0.9533578753471375,-1.0158569812774658,-1.080340027809143,-1.1468071937561035,-1.2152584791183472,-1.285693883895874,-1.3581132888793945,-1.4325170516967773,-1.5089045763015747,-1.5872764587402344,-1.6676322221755981,-1.7499723434448242,-1.8342962265014648,-1.9206044673919678,-2.008896827697754,-2.099173069000244,-2.1914334297180176,-2.2856781482696533,-2.381906509399414,-2.480119466781616,-2.5803163051605225,-2.682497024536133,-2.7866618633270264,-2.8928112983703613,-3.0009443759918213,-3.1110618114471436,-3.22316312789917,-3.3372485637664795,-3.4533181190490723,-3.5713720321655273,-3.6914095878601074,-3.81343150138855,-3.9374375343322754,-4.063427925109863,-4.191401481628418,-4.321360111236572,-4.453302383422852,-4.587228775024414,-4.72313928604126,-4.861033916473389,-5.000912666320801,-5.142775535583496,-5.286622524261475,-5.432453155517578,-5.580268383026123,-5.730068206787109,-5.881850719451904,-6.035618305206299,-6.191370010375977,-6.3491058349609375,-6.508824825286865,-6.670528888702393,-6.834217071533203,-6.999889373779297,-7.167544364929199,-7.337184906005859,-7.508809566497803,-7.682417869567871,-7.858010292053223,-8.035587310791016,-8.215147018432617,-8.396692276000977,-8.580220222473145,-8.76573371887207,-8.953230857849121,-9.142712593078613,-9.33417797088623,-9.527626037597656,-9.72305965423584,-9.920477867126465,-10.119878768920898,-10.32126522064209,-10.524635314941406,-10.729988098144531,-10.937326431274414,-11.146647453308105,-11.357954025268555,-11.571245193481445,-11.786519050598145,-12.003777503967285,-12.223020553588867,-12.444247245788574,-12.667458534240723,-12.89265251159668,-13.119831085205078,-13.348994255065918,-13.580141067504883,-13.813272476196289,-14.048388481140137,-14.28548812866211,-14.524572372436523,-14.76563835144043,-15.008689880371094,-15.2537260055542,-15.50074577331543,-15.749750137329102,-16.0007381439209,-16.253711700439453,-16.5086669921875,-16.765605926513672,-17.0245304107666,-17.28544044494629,-17.54833221435547,-17.813209533691406,-18.08007049560547,-18.348915100097656,-18.6197452545166,-18.89255714416504,-19.167354583740234,-19.444135665893555,-19.722902297973633,-20.003650665283203,-20.28638458251953,-20.571102142333984,-20.857805252075195,-21.1464900970459,-21.43716049194336,-21.729812622070312,-22.024452209472656,-22.321073532104492,-22.619680404663086,-22.920272827148438,-23.22284507751465,-23.527402877807617,-23.833946228027344,-24.142473220825195,-24.452985763549805,-24.765480041503906,-25.079959869384766,-25.39642333984375,-25.714868545532227,-26.03529930114746,-26.357715606689453,-26.68211555480957,-27.008501052856445,-27.336868286132812,-27.667221069335938,-27.999557495117188,-28.33387565612793,-28.670177459716797,-29.008466720581055,-29.348739624023438,-29.690996170043945,-30.03523826599121,-30.38146209716797,-30.729671478271484,-31.079862594604492,-31.43204116821289,-31.78620147705078,-32.14234924316406,-32.5004768371582,-32.86058807373047,-33.222686767578125,-33.586769104003906,-33.95283126831055,-34.32088088989258,-34.69091796875,-35.06293487548828,-35.43693923950195,-35.812923431396484,-36.190895080566406,-36.57085037231445,-36.95278549194336,-37.33671188354492,-37.72261428833008,-38.110504150390625,-38.50038146972656,-38.89223861694336,-39.28608322143555,-39.68191146850586,-39.88032150268555,-39.277156829833984,-38.666053771972656,-38.04701614379883,-37.420040130615234,-36.78512954711914,-36.14228057861328,-35.491493225097656,-34.83277130126953,-34.166114807128906,-33.49152374267578,-32.80901336669922,-32.11854553222656,-31.420143127441406,-30.713804244995117,-29.999528884887695,-29.27731704711914,-28.547168731689453,-27.809083938598633,-27.063060760498047,-26.30910301208496,-25.547208786010742,-24.777379989624023,-23.99961280822754,-23.213909149169922,-22.420270919799805,-21.618694305419922,-20.8092041015625,-19.99175453186035,-19.166370391845703,-18.333049774169922,-17.491790771484375,-16.642595291137695,-15.785465240478516,-14.920397758483887,-14.047394752502441,-13.166455268859863,-12.277579307556152,-11.380766868591309,-10.476017951965332,-9.563332557678223,-8.64271068572998,-7.7141523361206055,-6.77768087387085,-5.833249568939209,-4.880882263183594,-3.9205784797668457,-2.952338457107544,-1.976162075996399,-0.9920492768287659,0,0.9999856352806091,2.0079076290130615,3.023766279220581,4.047561168670654,5.079292297363281,6.118959903717041,7.166563510894775,8.222079277038574,9.285555839538574,10.356968879699707,11.436318397521973,12.523604393005371,13.618826866149902,14.721985816955566,15.833081245422363,16.952112197875977,18.07908058166504,19.213985443115234,20.35682487487793,21.507600784301758,22.66631507873535,23.832965850830078,25.007551193237305,26.190048217773438,27.38050651550293,28.578903198242188,29.785234451293945,30.999502182006836,32.22170639038086,33.451847076416016,34.68992614746094,35.935935974121094,37.18988800048828,38.45177459716797,39.721595764160156,40.99935531616211,42.28505325317383,43.57868576049805,44.880252838134766,46.18973159790039,47.507171630859375,48.832550048828125,50.165863037109375,51.507110595703125,52.856300354003906,54.21342086791992,55.57848358154297,56.95147705078125,58.3324089050293,59.72127914428711,61.11807632446289,62.52281951904297,63.93549728393555,65.35610961914062,66.7846450805664,68.22113800048828,69.66555786132812,71.11791229248047,72.57820129394531,74.04644012451172,75.5226058959961,77.0067138671875,78.4987564086914,79.99873352050781,81.50664520263672,83.02249908447266,84.54627990722656,86.0780029296875,87.61766052246094,89.16525268554688,90.72077178955078,92.28424072265625,93.85565185546875,95.43498992919922,97.02226257324219,98.61747741699219,100.22062683105469,101.83171844482422,103.45074462890625,105.07770538330078,106.71260070800781,108.35543060302734,110.00619506835938,111.33256530761719,111.99822998046875,112.66587829589844,113.33550262451172,114.00711059570312,114.68070983886719,115.35629272460938,116.03386688232422,116.71341705322266,117.39495849609375,118.07847595214844,118.76398468017578,119.45147705078125,120.14095306396484,120.83240509033203,121.52584838867188,122.22127532958984,122.91868591308594,123.61807250976562,124.31945037841797,125.02281951904297,125.72816467285156,126.43549346923828,127.14480590820312,127.85610961914062,128.56939697265625,129.28465270996094,130.0019073486328,130.7211456298828,131.44235229492188,132.16555786132812,132.8907470703125,133.617919921875,134.34707641601562,135.0782012939453,135.8113250732422,136.5464324951172,137.2835235595703,138.02261352539062,138.763671875,139.5067138671875,140.25173950195312,140.99874877929688,141.7477569580078,142.4987335205078,143.25169372558594,144.00665283203125,144.76358032226562,145.5225067138672,146.2834014892578,147.04627990722656,147.81114196777344,148.5780029296875,149.3468475341797,150.11766052246094,150.8904571533203,151.6652374267578,152.4420166015625,153.2207794189453,154.00152587890625,154.78424072265625,155.56895446777344,156.35565185546875,157.1443328857422,157.93499755859375,158.72764587402344,159.5222625732422,160.31887817382812,161.1174774169922,161.91806030273438,162.7206268310547,163.52517700195312,164.33172607421875,165.14024353027344,165.95074462890625,166.7632293701172,167.57769775390625,168.3941650390625,169.2126007080078,170.03302001953125,170.8554229736328,171.6798095703125,172.50619506835938,173.3345489501953,174.16490173339844,174.99722290039062,175.83154296875,176.66783142089844,177.50611877441406,178.3463592529297,179.18861389160156,180.03285217285156,180.87905883789062,181.72726440429688,182.57745361328125,183.42962646484375,184.28378295898438,185.13992309570312,185.998046875,186.85813903808594,187.72023010253906,188.5843048095703,189.45037841796875,190.31842041015625,191.18844604492188,192.06044006347656,192.93443298339844,193.81040954589844,194.68836975097656,195.56832885742188,196.45025634765625,197.33416748046875,198.22007751464844,199.1079559326172,199.99781799316406,200.88967895507812,201.78350830078125,202.67933654785156,203.57713317871094,204.4769287109375,205.37867736816406,206.28244018554688,207.18817138671875,208.0959014892578,209.005615234375,209.91729736328125,210.8309783935547,211.74664306640625,212.66429138183594,213.5839080810547,214.50550842285156,215.42910766601562,216.3546905517578,217.28225708007812,218.21180725097656,219.14334106445312,220.0768585205078,221.01235961914062,221.94984436035156,222.88931274414062,223.83078002929688,224.7742156982422,225.71963500976562,226.6670379638672,227.61643981933594,228.56781005859375,229.5211639404297,230.4765167236328,231.433837890625,232.39315795898438,233.3544464111328,234.31773376464844,235.28297424316406,236.25021362304688,237.21945190429688,238.19064331054688,239.16384887695312,240.1390380859375,241.11619567871094,242.09535217285156,243.0764923095703,244.0596160888672,245.04470825195312,246.03179931640625,247.0208740234375,248.01193237304688,249.00497436523438,250]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_positive.json b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_positive.json new file mode 100644 index 000000000000..0bf16ea2f01e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/small_positive.json @@ -0,0 +1 @@ +{"x":[0,0.09960159659385681,0.19920319318771362,0.29880478978157043,0.39840638637542725,0.49800798296928406,0.5976095795631409,0.6972111463546753,0.7968127727508545,0.8964143395423889,0.9960159659385681,1.0956175327301025,1.1952191591262817,1.2948206663131714,1.3944222927093506,1.4940239191055298,1.593625545501709,1.6932270526885986,1.7928286790847778,1.892430305480957,1.9920319318771362,2.0916335582733154,2.191235065460205,2.2908365726470947,2.3904383182525635,2.490039825439453,2.5896413326263428,2.6892430782318115,2.788844585418701,2.88844633102417,2.9880478382110596,3.087649345397949,3.187251091003418,3.2868525981903076,3.3864541053771973,3.486055850982666,3.5856573581695557,3.6852588653564453,3.784860610961914,3.8844621181488037,3.9840638637542725,4.083665370941162,4.183267116546631,4.282868385314941,4.38247013092041,4.482071876525879,4.5816731452941895,4.681274890899658,4.780876636505127,4.8804779052734375,4.980079650878906,5.079681396484375,5.1792826652526855,5.278884410858154,5.378486156463623,5.478087425231934,5.577689170837402,5.677290916442871,5.77689266204834,5.87649393081665,5.976095676422119,6.075697422027588,6.175298690795898,6.274900436401367,6.374502182006836,6.4741034507751465,6.573705196380615,6.673306941986084,6.7729082107543945,6.872509956359863,6.972111701965332,7.071712970733643,7.171314716339111,7.27091646194458,7.370517730712891,7.470119476318359,7.569721221923828,7.669322490692139,7.768924236297607,7.868525981903076,7.968127727508545,8.067728996276855,8.167330741882324,8.266932487487793,8.366534233093262,8.466135025024414,8.565736770629883,8.665338516235352,8.76494026184082,8.864542007446289,8.964143753051758,9.06374454498291,9.163346290588379,9.262948036193848,9.362549781799316,9.462151527404785,9.561753273010254,9.661355018615723,9.760955810546875,9.860557556152344,9.960159301757812,10.059761047363281,10.15936279296875,10.258964538574219,10.358565330505371,10.45816707611084,10.557768821716309,10.657370567321777,10.756972312927246,10.856574058532715,10.956174850463867,11.055776596069336,11.155378341674805,11.254980087280273,11.354581832885742,11.454183578491211,11.55378532409668,11.653386116027832,11.7529878616333,11.85258960723877,11.952191352844238,12.051793098449707,12.151394844055176,12.250995635986328,12.350597381591797,12.450199127197266,12.549800872802734,12.649402618408203,12.749004364013672,12.848605155944824,12.948206901550293,13.047808647155762,13.14741039276123,13.2470121383667,13.346613883972168,13.44621467590332,13.545816421508789,13.645418167114258,13.745019912719727,13.844621658325195,13.944223403930664,14.043825149536133,14.143425941467285,14.243027687072754,14.342629432678223,14.442231178283691,14.54183292388916,14.641434669494629,14.741035461425781,14.84063720703125,14.940238952636719,15.039840698242188,15.139442443847656,15.239044189453125,15.338644981384277,15.438246726989746,15.537848472595215,15.637450218200684,15.737051963806152,15.836653709411621,15.93625545501709,16.035856246948242,16.13545799255371,16.23505973815918,16.33466148376465,16.434263229370117,16.533864974975586,16.633466720581055,16.733068466186523,16.832670211791992,16.932270050048828,17.031871795654297,17.131473541259766,17.231075286865234,17.330677032470703,17.430278778076172,17.52988052368164,17.62948226928711,17.729084014892578,17.828685760498047,17.928287506103516,18.027889251708984,18.12748908996582,18.22709083557129,18.326692581176758,18.426294326782227,18.525896072387695,18.625497817993164,18.725099563598633,18.8247013092041,18.92430305480957,19.02390480041504,19.123506546020508,19.223108291625977,19.322710037231445,19.42230987548828,19.52191162109375,19.62151336669922,19.721115112304688,19.820716857910156,19.920318603515625,20.019920349121094,20.119522094726562,20.21912384033203,20.3187255859375,20.41832733154297,20.517929077148438,20.617530822753906,20.717130661010742,20.81673240661621,20.91633415222168,21.01593589782715,21.115537643432617,21.215139389038086,21.314741134643555,21.414342880249023,21.513944625854492,21.61354637145996,21.71314811706543,21.8127498626709,21.912349700927734,22.011951446533203,22.111553192138672,22.21115493774414,22.31075668334961,22.410358428955078,22.509960174560547,22.609561920166016,22.709163665771484,22.808765411376953,22.908367156982422,23.00796890258789,23.10757064819336,23.207170486450195,23.306772232055664,23.406373977661133,23.5059757232666,23.60557746887207,23.70517921447754,23.804780960083008,23.904382705688477,24.003984451293945,24.103586196899414,24.203187942504883,24.30278968811035,24.402389526367188,24.501991271972656,24.601593017578125,24.701194763183594,24.800796508789062,24.90039825439453,25,25.09960174560547,25.199203491210938,25.298805236816406,25.398406982421875,25.498008728027344,25.597610473632812,25.69721031188965,25.796812057495117,25.896413803100586,25.996015548706055,26.095617294311523,26.195219039916992,26.29482078552246,26.39442253112793,26.4940242767334,26.593626022338867,26.693227767944336,26.792829513549805,26.89242935180664,26.99203109741211,27.091632843017578,27.191234588623047,27.290836334228516,27.390438079833984,27.490039825439453,27.589641571044922,27.68924331665039,27.78884506225586,27.888446807861328,27.988048553466797,28.087650299072266,28.1872501373291,28.28685188293457,28.38645362854004,28.486055374145508,28.585657119750977,28.685258865356445,28.784860610961914,28.884462356567383,28.98406410217285,29.08366584777832,29.18326759338379,29.282869338989258,29.382469177246094,29.482070922851562,29.58167266845703,29.6812744140625,29.78087615966797,29.880477905273438,29.980079650878906,30.079681396484375,30.179283142089844,30.278884887695312,30.37848663330078,30.47808837890625,30.57769012451172,30.677289962768555,30.776891708374023,30.876493453979492,30.97609519958496,31.07569694519043,31.1752986907959,31.274900436401367,31.374502182006836,31.474103927612305,31.573705673217773,31.673307418823242,31.77290916442871,31.87251091003418,31.972110748291016,32.071712493896484,32.17131423950195,32.27091598510742,32.37051773071289,32.47011947631836,32.56972122192383,32.6693229675293,32.768924713134766,32.868526458740234,32.9681282043457,33.06772994995117,33.16733169555664,33.26693344116211,33.36653518676758,33.46613693237305,33.565738677978516,33.665340423583984,33.76493835449219,33.864540100097656,33.964141845703125,34.063743591308594,34.16334533691406,34.26294708251953,34.362548828125,34.46215057373047,34.56175231933594,34.661354064941406,34.760955810546875,34.860557556152344,34.96015930175781,35.05976104736328,35.15936279296875,35.25896453857422,35.35856628417969,35.458168029785156,35.557769775390625,35.657371520996094,35.75697326660156,35.85657501220703,35.9561767578125,36.05577850341797,36.15538024902344,36.25497817993164,36.35457992553711,36.45418167114258,36.55378341674805,36.653385162353516,36.752986907958984,36.85258865356445,36.95219039916992,37.05179214477539,37.15139389038086,37.25099563598633,37.3505973815918,37.450199127197266,37.549800872802734,37.6494026184082,37.74900436401367,37.84860610961914,37.94820785522461,38.04780960083008,38.14741134643555,38.247013092041016,38.346614837646484,38.44621658325195,38.54581832885742,38.64542007446289,38.74502182006836,38.84461975097656,38.94422149658203,39.0438232421875,39.14342498779297,39.24302673339844,39.342628479003906,39.442230224609375,39.541831970214844,39.64143371582031,39.74103546142578,39.84063720703125,39.94023895263672,40.03984069824219,40.139442443847656,40.239044189453125,40.338645935058594,40.43824768066406,40.53784942626953,40.637451171875,40.73705291748047,40.83665466308594,40.936256408691406,41.035858154296875,41.135459899902344,41.23506164550781,41.334659576416016,41.434261322021484,41.53386306762695,41.63346481323242,41.73306655883789,41.83266830444336,41.93227005004883,42.0318717956543,42.131473541259766,42.231075286865234,42.3306770324707,42.43027877807617,42.52988052368164,42.62948226928711,42.72908401489258,42.82868576049805,42.928287506103516,43.027889251708984,43.12749099731445,43.22709274291992,43.32669448852539,43.42629623413086,43.52589797973633,43.6254997253418,43.725101470947266,43.82469940185547,43.92430114746094,44.023902893066406,44.123504638671875,44.223106384277344,44.32270812988281,44.42230987548828,44.52191162109375,44.62151336669922,44.72111511230469,44.820716857910156,44.920318603515625,45.019920349121094,45.11952209472656,45.21912384033203,45.3187255859375,45.41832733154297,45.51792907714844,45.617530822753906,45.717132568359375,45.816734313964844,45.91633605957031,46.01593780517578,46.11553955078125,46.21514129638672,46.31473922729492,46.41434097290039,46.51394271850586,46.61354446411133,46.7131462097168,46.812747955322266,46.912349700927734,47.0119514465332,47.11155319213867,47.21115493774414,47.31075668334961,47.41035842895508,47.50996017456055,47.609561920166016,47.709163665771484,47.80876541137695,47.90836715698242,48.00796890258789,48.10757064819336,48.20717239379883,48.3067741394043,48.406375885009766,48.505977630615234,48.6055793762207,48.70518112182617,48.804779052734375,48.904380798339844,49.00398254394531,49.10358428955078,49.20318603515625,49.30278778076172,49.40238952636719,49.501991271972656,49.601593017578125,49.701194763183594,49.80079650878906,49.90039825439453,50],"d":[0,0.009960159659385681,0.019920319318771362,0.029880478978157043,0.039840638637542725,0.049800798296928406,0.05976095795631409,0.06972111761569977,0.07968127727508545,0.08964143693447113,0.09960159659385681,0.10956175625324249,0.11952191591262817,0.12948207557201385,0.13944223523139954,0.14940239489078522,0.1593625545501709,0.16932271420955658,0.17928287386894226,0.18924303352832794,0.19920319318771362,0.2091633528470993,0.21912351250648499,0.22908367216587067,0.23904383182525635,0.24900399148464203,0.2589641511440277,0.2689242959022522,0.2788844704627991,0.28884461522102356,0.29880478978157043,0.3087649345397949,0.3187251091003418,0.3286852538585663,0.33864542841911316,0.34860557317733765,0.3585657477378845,0.368525892496109,0.3784860670566559,0.38844621181488037,0.39840638637542725,0.40836653113365173,0.4183267056941986,0.4282868504524231,0.43824702501296997,0.44820716977119446,0.45816734433174133,0.4681274890899658,0.4780876636505127,0.4880478084087372,0.49800798296928406,0.5079681277275085,0.5179283022880554,0.5278884172439575,0.5378485918045044,0.5478087663650513,0.5577689409255981,0.5677290558815002,0.5776892304420471,0.587649405002594,0.5976095795631409,0.607569694519043,0.6175298690795898,0.6274900436401367,0.6374502182006836,0.6474103331565857,0.6573705077171326,0.6673306822776794,0.6772908568382263,0.6872509717941284,0.6972111463546753,0.7071713209152222,0.717131495475769,0.7270916104316711,0.737051784992218,0.7470119595527649,0.7569721341133118,0.7669322490692139,0.7768924236297607,0.7868525981903076,0.7968127727508545,0.8067728877067566,0.8167330622673035,0.8266932368278503,0.8366534113883972,0.8466135263442993,0.8565737009048462,0.8665338754653931,0.8764940500259399,0.886454164981842,0.8964143395423889,0.9063745141029358,0.9163346886634827,0.9262948036193848,0.9362549781799316,0.9462151527404785,0.9561753273010254,0.9661354422569275,0.9760956168174744,0.9860557913780212,0.9960159659385681,1.0059760808944702,1.015936255455017,1.025896430015564,1.0358566045761108,1.0458167791366577,1.055776834487915,1.065737009048462,1.0756971836090088,1.0856573581695557,1.0956175327301025,1.1055777072906494,1.1155378818511963,1.1254980564117432,1.1354581117630005,1.1454182863235474,1.1553784608840942,1.1653386354446411,1.175298810005188,1.1852589845657349,1.1952191591262817,1.2051793336868286,1.215139389038086,1.2250995635986328,1.2350597381591797,1.2450199127197266,1.2549800872802734,1.2649402618408203,1.2749004364013672,1.284860610961914,1.2948206663131714,1.3047808408737183,1.3147410154342651,1.324701189994812,1.3346613645553589,1.3446215391159058,1.3545817136764526,1.3645418882369995,1.3745019435882568,1.3844621181488037,1.3944222927093506,1.4043824672698975,1.4143426418304443,1.4243028163909912,1.434262990951538,1.444223165512085,1.4541832208633423,1.4641433954238892,1.474103569984436,1.484063744544983,1.4940239191055298,1.5039840936660767,1.5139442682266235,1.5239043235778809,1.5338644981384277,1.5438246726989746,1.5537848472595215,1.5637450218200684,1.5737051963806152,1.583665370941162,1.593625545501709,1.6035856008529663,1.6135457754135132,1.62350594997406,1.633466124534607,1.6434262990951538,1.6533864736557007,1.6633466482162476,1.6733068227767944,1.6832668781280518,1.6932270526885986,1.7031872272491455,1.7131474018096924,1.7231075763702393,1.7330677509307861,1.743027925491333,1.7529881000518799,1.7629481554031372,1.772908329963684,1.782868504524231,1.7928286790847778,1.8027888536453247,1.8127490282058716,1.8227092027664185,1.8326693773269653,1.8426294326782227,1.8525896072387695,1.8625497817993164,1.8725099563598633,1.8824701309204102,1.892430305480957,1.902390480041504,1.9123506546020508,1.922310709953308,1.932270884513855,1.9422310590744019,1.9521912336349487,1.9621514081954956,1.9721115827560425,1.9820717573165894,1.9920319318771362,2.0019919872283936,2.0119521617889404,2.0219123363494873,2.031872510910034,2.041832685470581,2.051792860031128,2.061753034591675,2.0717132091522217,2.0816733837127686,2.0916335582733154,2.1015937328338623,2.11155366897583,2.121513843536377,2.131474018096924,2.1414341926574707,2.1513943672180176,2.1613545417785645,2.1713147163391113,2.181274890899658,2.191235065460205,2.201195240020752,2.211155414581299,2.2211155891418457,2.2310757637023926,2.2410359382629395,2.2509961128234863,2.260956287384033,2.270916223526001,2.280876398086548,2.2908365726470947,2.3007967472076416,2.3107569217681885,2.3207170963287354,2.3306772708892822,2.340637445449829,2.350597620010376,2.360557794570923,2.3705179691314697,2.3804781436920166,2.3904383182525635,2.4003984928131104,2.4103586673736572,2.420318841934204,2.430278778076172,2.4402389526367188,2.4501991271972656,2.4601593017578125,2.4701194763183594,2.4800796508789062,2.490039825439453,2.5,2.509960174560547,2.5199203491210938,2.5298805236816406,2.5398406982421875,2.5498008728027344,2.5597610473632812,2.569721221923828,2.579681158065796,2.5896413326263428,2.5996015071868896,2.6095616817474365,2.6195218563079834,2.6294820308685303,2.639442205429077,2.649402379989624,2.659362554550171,2.6693227291107178,2.6792829036712646,2.6892430782318115,2.6992032527923584,2.7091634273529053,2.719123601913452,2.729083776473999,2.739043712615967,2.7490038871765137,2.7589640617370605,2.7689242362976074,2.7788844108581543,2.788844585418701,2.798804759979248,2.808764934539795,2.818725109100342,2.8286852836608887,2.8386454582214355,2.8486056327819824,2.8585658073425293,2.868525981903076,2.878486156463623,2.88844633102417,2.8984062671661377,2.9083664417266846,2.9183266162872314,2.9282867908477783,2.938246965408325,2.948207139968872,2.958167314529419,2.968127489089966,2.9780876636505127,2.9880478382110596,2.9980080127716064,3.0079681873321533,3.0179283618927,3.027888536453247,3.037848711013794,3.0478086471557617,3.0577688217163086,3.0677289962768555,3.0776891708374023,3.087649345397949,3.097609519958496,3.107569694519043,3.11752986907959,3.1274900436401367,3.1374502182006836,3.1474103927612305,3.1573705673217773,3.167330741882324,3.177290916442871,3.187251091003418,3.197211265563965,3.2071712017059326,3.2171313762664795,3.2270915508270264,3.2370517253875732,3.24701189994812,3.256972074508667,3.266932249069214,3.2768924236297607,3.2868525981903076,3.2968127727508545,3.3067729473114014,3.3167331218719482,3.326693296432495,3.336653470993042,3.346613645553589,3.3565738201141357,3.3665337562561035,3.3764939308166504,3.3864541053771973,3.396414279937744,3.406374454498291,3.416334629058838,3.4262948036193848,3.4362549781799316,3.4462151527404785,3.4561753273010254,3.4661355018615723,3.476095676422119,3.486055850982666,3.496016025543213,3.5059762001037598,3.5159361362457275,3.5258963108062744,3.5358564853668213,3.545816659927368,3.555776834487915,3.565737009048462,3.575697183609009,3.5856573581695557,3.5956175327301025,3.6055777072906494,3.6155378818511963,3.625498056411743,3.63545823097229,3.645418405532837,3.655378580093384,3.6653387546539307,3.6752986907958984,3.6852588653564453,3.695219039916992,3.705179214477539,3.715139389038086,3.725099563598633,3.7350597381591797,3.7450199127197266,3.7549800872802734,3.7649402618408203,3.774900436401367,3.784860610961914,3.794820785522461,3.804780960083008,3.8147411346435547,3.8247013092041016,3.8346612453460693,3.844621419906616,3.854581594467163,3.86454176902771,3.874501943588257,3.8844621181488037,3.8944222927093506,3.9043824672698975,3.9143426418304443,3.924302816390991,3.934262990951538,3.944223165512085,3.954183340072632,3.9641435146331787,3.9741036891937256,3.9840638637542725,3.9940237998962402,4.003983974456787,4.013944149017334,4.023904323577881,4.033864498138428,4.043824672698975,4.0537848472595215,4.063745021820068,4.073705196380615,4.083665370941162,4.093625545501709,4.103585720062256,4.113545894622803,4.12350606918335,4.1334662437438965,4.143426418304443,4.15338659286499,4.163346767425537,4.173306941986084,4.183267116546631,4.193227291107178,4.203187465667725,4.2131476402282715,4.22310733795166,4.233067512512207,4.243027687072754,4.252987861633301,4.262948036193848,4.2729082107543945,4.282868385314941,4.292828559875488,4.302788734436035,4.312748908996582,4.322709083557129,4.332669258117676,4.342629432678223,4.3525896072387695,4.362549781799316,4.372509956359863,4.38247013092041,4.392430305480957,4.402390480041504,4.412350654602051,4.422310829162598,4.4322710037231445,4.442231178283691,4.452191352844238,4.462151527404785,4.472111701965332,4.482071876525879,4.492032051086426,4.501992225646973,4.5119524002075195,4.521912574768066,4.531872272491455,4.541832447052002,4.551792621612549,4.561752796173096,4.571712970733643,4.5816731452941895,4.591633319854736,4.601593494415283,4.61155366897583,4.621513843536377,4.631474018096924,4.641434192657471,4.651394367218018,4.6613545417785645,4.671314716339111,4.681274890899658,4.691235065460205,4.701195240020752,4.711155414581299,4.721115589141846,4.731075763702393,4.7410359382629395,4.750996112823486,4.760956287384033,4.77091646194458,4.780876636505127,4.790836811065674,4.800796985626221,4.810757160186768,4.8207173347473145,4.830677509307861,4.840637683868408,4.850597381591797,4.860557556152344,4.870517730712891,4.8804779052734375,4.890438079833984,4.900398254394531,4.910358428955078,4.920318603515625,4.930278778076172,4.940238952636719,4.950199127197266,4.9601593017578125,4.970119476318359,4.980079650878906,4.990039825439453,5],"y":[0,0.019920319318771362,0.039840638637542725,0.05976095795631409,0.07968127727508545,0.09960159659385681,0.11952191591262817,0.13944223523139954,0.1593625545501709,0.17928287386894226,0.19920319318771362,0.21912351250648499,0.23904383182525635,0.2589641511440277,0.2788844704627991,0.29880478978157043,0.3187251091003418,0.33864542841911316,0.3585657477378845,0.3784860670566559,0.39840638637542725,0.4183267056941986,0.43824702501296997,0.45816734433174133,0.4780876636505127,0.49800798296928406,0.5179283022880554,0.5378485918045044,0.5577689409255981,0.5776892304420471,0.5976095795631409,0.6175298690795898,0.6374502182006836,0.6573705077171326,0.6772908568382263,0.6972111463546753,0.717131495475769,0.737051784992218,0.7569721341133118,0.7768924236297607,0.7968127727508545,0.8167330622673035,0.8366534113883972,0.8565737009048462,0.8764940500259399,0.8964143395423889,0.9163346886634827,0.9362549781799316,0.9561753273010254,0.9760956168174744,0.9960159659385681,1.015936255455017,1.0358566045761108,1.055776834487915,1.0756971836090088,1.0956175327301025,1.1155378818511963,1.1354581117630005,1.1553784608840942,1.175298810005188,1.1952191591262817,1.215139389038086,1.2350597381591797,1.2549800872802734,1.2749004364013672,1.2948206663131714,1.3147410154342651,1.3346613645553589,1.3545817136764526,1.3745019435882568,1.3944222927093506,1.4143426418304443,1.434262990951538,1.4541832208633423,1.474103569984436,1.4940239191055298,1.5139442682266235,1.5338644981384277,1.5537848472595215,1.5737051963806152,1.593625545501709,1.6135457754135132,1.633466124534607,1.6533864736557007,1.6733068227767944,1.6932270526885986,1.7131474018096924,1.7330677509307861,1.7529881000518799,1.772908329963684,1.7928286790847778,1.8127490282058716,1.8326693773269653,1.8525896072387695,1.8725099563598633,1.892430305480957,1.9123506546020508,1.932270884513855,1.9521912336349487,1.9721115827560425,1.9920319318771362,2.0119521617889404,2.031872510910034,2.051792860031128,2.0717132091522217,2.0916335582733154,2.11155366897583,2.131474018096924,2.1513943672180176,2.1713147163391113,2.191235065460205,2.211155414581299,2.2310757637023926,2.2509961128234863,2.270916223526001,2.2908365726470947,2.3107569217681885,2.3306772708892822,2.350597620010376,2.3705179691314697,2.3904383182525635,2.4103586673736572,2.430278778076172,2.4501991271972656,2.4701194763183594,2.490039825439453,2.509960174560547,2.5298805236816406,2.5498008728027344,2.569721221923828,2.5896413326263428,2.6095616817474365,2.6294820308685303,2.649402379989624,2.6693227291107178,2.6892430782318115,2.7091634273529053,2.729083776473999,2.7490038871765137,2.7689242362976074,2.788844585418701,2.808764934539795,2.8286852836608887,2.8486056327819824,2.868525981903076,2.88844633102417,2.9083664417266846,2.9282867908477783,2.948207139968872,2.968127489089966,2.9880478382110596,3.0079681873321533,3.027888536453247,3.0478086471557617,3.0677289962768555,3.087649345397949,3.107569694519043,3.1274900436401367,3.1474103927612305,3.167330741882324,3.187251091003418,3.2071712017059326,3.2270915508270264,3.24701189994812,3.266932249069214,3.2868525981903076,3.3067729473114014,3.326693296432495,3.346613645553589,3.3665337562561035,3.3864541053771973,3.406374454498291,3.4262948036193848,3.4462151527404785,3.4661355018615723,3.486055850982666,3.5059762001037598,3.5258963108062744,3.545816659927368,3.565737009048462,3.5856573581695557,3.6055777072906494,3.625498056411743,3.645418405532837,3.6653387546539307,3.6852588653564453,3.705179214477539,3.725099563598633,3.7450199127197266,3.7649402618408203,3.784860610961914,3.804780960083008,3.8247013092041016,3.844621419906616,3.86454176902771,3.8844621181488037,3.9043824672698975,3.924302816390991,3.944223165512085,3.9641435146331787,3.9840638637542725,4.003983974456787,4.023904323577881,4.043824672698975,4.063745021820068,4.083665370941162,4.103585720062256,4.12350606918335,4.143426418304443,4.163346767425537,4.183267116546631,4.203187465667725,4.22310733795166,4.243027687072754,4.262948036193848,4.282868385314941,4.302788734436035,4.322709083557129,4.342629432678223,4.362549781799316,4.38247013092041,4.402390480041504,4.422310829162598,4.442231178283691,4.462151527404785,4.482071876525879,4.501992225646973,4.521912574768066,4.541832447052002,4.561752796173096,4.5816731452941895,4.601593494415283,4.621513843536377,4.641434192657471,4.6613545417785645,4.681274890899658,4.701195240020752,4.721115589141846,4.7410359382629395,4.760956287384033,4.780876636505127,4.800796985626221,4.8207173347473145,4.840637683868408,4.860557556152344,4.8804779052734375,4.900398254394531,4.920318603515625,4.940238952636719,4.9601593017578125,4.980079650878906,5,5.019920349121094,5.0398406982421875,5.059761047363281,5.079681396484375,5.099601745605469,5.1195220947265625,5.139442443847656,5.159362316131592,5.1792826652526855,5.199203014373779,5.219123363494873,5.239043712615967,5.2589640617370605,5.278884410858154,5.298804759979248,5.318725109100342,5.3386454582214355,5.358565807342529,5.378486156463623,5.398406505584717,5.4183268547058105,5.438247203826904,5.458167552947998,5.478087425231934,5.498007774353027,5.517928123474121,5.537848472595215,5.557768821716309,5.577689170837402,5.597609519958496,5.61752986907959,5.637450218200684,5.657370567321777,5.677290916442871,5.697211265563965,5.717131614685059,5.737051963806152,5.756972312927246,5.77689266204834,5.796812534332275,5.816732883453369,5.836653232574463,5.856573581695557,5.87649393081665,5.896414279937744,5.916334629058838,5.936254978179932,5.956175327301025,5.976095676422119,5.996016025543213,6.015936374664307,6.0358567237854,6.055777072906494,6.075697422027588,6.095617294311523,6.115537643432617,6.135457992553711,6.155378341674805,6.175298690795898,6.195219039916992,6.215139389038086,6.23505973815918,6.254980087280273,6.274900436401367,6.294820785522461,6.314741134643555,6.334661483764648,6.354581832885742,6.374502182006836,6.39442253112793,6.414342403411865,6.434262752532959,6.454183101654053,6.4741034507751465,6.49402379989624,6.513944149017334,6.533864498138428,6.5537848472595215,6.573705196380615,6.593625545501709,6.613545894622803,6.6334662437438965,6.65338659286499,6.673306941986084,6.693227291107178,6.7131476402282715,6.733067512512207,6.752987861633301,6.7729082107543945,6.792828559875488,6.812748908996582,6.832669258117676,6.8525896072387695,6.872509956359863,6.892430305480957,6.912350654602051,6.9322710037231445,6.952191352844238,6.972111701965332,6.992032051086426,7.0119524002075195,7.031872272491455,7.051792621612549,7.071712970733643,7.091633319854736,7.11155366897583,7.131474018096924,7.151394367218018,7.171314716339111,7.191235065460205,7.211155414581299,7.231075763702393,7.250996112823486,7.27091646194458,7.290836811065674,7.310757160186768,7.330677509307861,7.350597381591797,7.370517730712891,7.390438079833984,7.410358428955078,7.430278778076172,7.450199127197266,7.470119476318359,7.490039825439453,7.509960174560547,7.529880523681641,7.549800872802734,7.569721221923828,7.589641571044922,7.609561920166016,7.629482269287109,7.649402618408203,7.669322490692139,7.689242839813232,7.709163188934326,7.72908353805542,7.749003887176514,7.768924236297607,7.788844585418701,7.808764934539795,7.828685283660889,7.848605632781982,7.868525981903076,7.88844633102417,7.908366680145264,7.928287029266357,7.948207378387451,7.968127727508545,7.9880475997924805,8.007967948913574,8.027888298034668,8.047808647155762,8.067728996276855,8.08764934539795,8.107569694519043,8.127490043640137,8.14741039276123,8.167330741882324,8.187251091003418,8.207171440124512,8.227091789245605,8.2470121383667,8.266932487487793,8.286852836608887,8.30677318572998,8.326693534851074,8.346613883972168,8.366534233093262,8.386454582214355,8.40637493133545,8.426295280456543,8.44621467590332,8.466135025024414,8.486055374145508,8.505975723266602,8.525896072387695,8.545816421508789,8.565736770629883,8.585657119750977,8.60557746887207,8.625497817993164,8.645418167114258,8.665338516235352,8.685258865356445,8.705179214477539,8.725099563598633,8.745019912719727,8.76494026184082,8.784860610961914,8.804780960083008,8.824701309204102,8.844621658325195,8.864542007446289,8.884462356567383,8.904382705688477,8.92430305480957,8.944223403930664,8.964143753051758,8.984064102172852,9.003984451293945,9.023904800415039,9.043825149536133,9.06374454498291,9.083664894104004,9.103585243225098,9.123505592346191,9.143425941467285,9.163346290588379,9.183266639709473,9.203186988830566,9.22310733795166,9.243027687072754,9.262948036193848,9.282868385314941,9.302788734436035,9.322709083557129,9.342629432678223,9.362549781799316,9.38247013092041,9.402390480041504,9.422310829162598,9.442231178283691,9.462151527404785,9.482071876525879,9.501992225646973,9.521912574768066,9.54183292388916,9.561753273010254,9.581673622131348,9.601593971252441,9.621514320373535,9.641434669494629,9.661355018615723,9.681275367736816,9.701194763183594,9.721115112304688,9.741035461425781,9.760955810546875,9.780876159667969,9.800796508789062,9.820716857910156,9.84063720703125,9.860557556152344,9.880477905273438,9.900398254394531,9.920318603515625,9.940238952636719,9.960159301757812,9.980079650878906,10],"p":[10,9.980079650878906,9.960159301757812,9.940238952636719,9.920318603515625,9.900398254394531,9.880477905273438,9.860557556152344,9.84063720703125,9.820716857910156,9.800796508789062,9.780876159667969,9.760955810546875,9.741035461425781,9.721115112304688,9.701194763183594,9.681275367736816,9.661355018615723,9.641434669494629,9.621514320373535,9.601593971252441,9.581673622131348,9.561753273010254,9.54183292388916,9.521912574768066,9.501992225646973,9.482071876525879,9.462151527404785,9.442231178283691,9.422310829162598,9.402390480041504,9.38247013092041,9.362549781799316,9.342629432678223,9.322709083557129,9.302788734436035,9.282868385314941,9.262948036193848,9.243027687072754,9.22310733795166,9.203186988830566,9.183266639709473,9.163346290588379,9.143425941467285,9.123505592346191,9.103585243225098,9.083664894104004,9.06374454498291,9.043825149536133,9.023904800415039,9.003984451293945,8.984064102172852,8.964143753051758,8.944223403930664,8.92430305480957,8.904382705688477,8.884462356567383,8.864542007446289,8.844621658325195,8.824701309204102,8.804780960083008,8.784860610961914,8.76494026184082,8.745019912719727,8.725099563598633,8.705179214477539,8.685258865356445,8.665338516235352,8.645418167114258,8.625497817993164,8.60557746887207,8.585657119750977,8.565736770629883,8.545816421508789,8.525896072387695,8.505975723266602,8.486055374145508,8.466135025024414,8.44621467590332,8.426295280456543,8.40637493133545,8.386454582214355,8.366534233093262,8.346613883972168,8.326693534851074,8.30677318572998,8.286852836608887,8.266932487487793,8.2470121383667,8.227091789245605,8.207171440124512,8.187251091003418,8.167330741882324,8.14741039276123,8.127490043640137,8.107569694519043,8.08764934539795,8.067728996276855,8.047808647155762,8.027888298034668,8.007967948913574,7.9880475997924805,7.968127727508545,7.948207378387451,7.928287029266357,7.908366680145264,7.88844633102417,7.868525981903076,7.848605632781982,7.828685283660889,7.808764934539795,7.788844585418701,7.768924236297607,7.749003887176514,7.72908353805542,7.709163188934326,7.689242839813232,7.669322490692139,7.649402618408203,7.629482269287109,7.609561920166016,7.589641571044922,7.569721221923828,7.549800872802734,7.529880523681641,7.509960174560547,7.490039825439453,7.470119476318359,7.450199127197266,7.430278778076172,7.410358428955078,7.390438079833984,7.370517730712891,7.350597381591797,7.330677509307861,7.310757160186768,7.290836811065674,7.27091646194458,7.250996112823486,7.231075763702393,7.211155414581299,7.191235065460205,7.171314716339111,7.151394367218018,7.131474018096924,7.11155366897583,7.091633319854736,7.071712970733643,7.051792621612549,7.031872272491455,7.0119524002075195,6.992032051086426,6.972111701965332,6.952191352844238,6.9322710037231445,6.912350654602051,6.892430305480957,6.872509956359863,6.8525896072387695,6.832669258117676,6.812748908996582,6.792828559875488,6.7729082107543945,6.752987861633301,6.733067512512207,6.7131476402282715,6.693227291107178,6.673306941986084,6.65338659286499,6.6334662437438965,6.613545894622803,6.593625545501709,6.573705196380615,6.5537848472595215,6.533864498138428,6.513944149017334,6.49402379989624,6.4741034507751465,6.454183101654053,6.434262752532959,6.414342403411865,6.39442253112793,6.374502182006836,6.354581832885742,6.334661483764648,6.314741134643555,6.294820785522461,6.274900436401367,6.254980087280273,6.23505973815918,6.215139389038086,6.195219039916992,6.175298690795898,6.155378341674805,6.135457992553711,6.115537643432617,6.095617294311523,6.075697422027588,6.055777072906494,6.0358567237854,6.015936374664307,5.996016025543213,5.976095676422119,5.956175327301025,5.936254978179932,5.916334629058838,5.896414279937744,5.87649393081665,5.856573581695557,5.836653232574463,5.816732883453369,5.796812534332275,5.77689266204834,5.756972312927246,5.737051963806152,5.717131614685059,5.697211265563965,5.677290916442871,5.657370567321777,5.637450218200684,5.61752986907959,5.597609519958496,5.577689170837402,5.557768821716309,5.537848472595215,5.517928123474121,5.498007774353027,5.478087425231934,5.458167552947998,5.438247203826904,5.4183268547058105,5.398406505584717,5.378486156463623,5.358565807342529,5.3386454582214355,5.318725109100342,5.298804759979248,5.278884410858154,5.2589640617370605,5.239043712615967,5.219123363494873,5.199203014373779,5.1792826652526855,5.159362316131592,5.139442443847656,5.1195220947265625,5.099601745605469,5.079681396484375,5.059761047363281,5.0398406982421875,5.019920349121094,5,4.980079650878906,4.9601593017578125,4.940238952636719,4.920318603515625,4.900398254394531,4.8804779052734375,4.860557556152344,4.840637683868408,4.8207173347473145,4.800796985626221,4.780876636505127,4.760956287384033,4.7410359382629395,4.721115589141846,4.701195240020752,4.681274890899658,4.6613545417785645,4.641434192657471,4.621513843536377,4.601593494415283,4.5816731452941895,4.561752796173096,4.541832447052002,4.521912574768066,4.501992225646973,4.482071876525879,4.462151527404785,4.442231178283691,4.422310829162598,4.402390480041504,4.38247013092041,4.362549781799316,4.342629432678223,4.322709083557129,4.302788734436035,4.282868385314941,4.262948036193848,4.243027687072754,4.22310733795166,4.203187465667725,4.183267116546631,4.163346767425537,4.143426418304443,4.12350606918335,4.103585720062256,4.083665370941162,4.063745021820068,4.043824672698975,4.023904323577881,4.003983974456787,3.9840638637542725,3.9641435146331787,3.944223165512085,3.924302816390991,3.9043824672698975,3.8844621181488037,3.86454176902771,3.844621419906616,3.8247013092041016,3.804780960083008,3.784860610961914,3.7649402618408203,3.7450199127197266,3.725099563598633,3.705179214477539,3.6852588653564453,3.6653387546539307,3.645418405532837,3.625498056411743,3.6055777072906494,3.5856573581695557,3.565737009048462,3.545816659927368,3.5258963108062744,3.5059762001037598,3.486055850982666,3.4661355018615723,3.4462151527404785,3.4262948036193848,3.406374454498291,3.3864541053771973,3.3665337562561035,3.346613645553589,3.326693296432495,3.3067729473114014,3.2868525981903076,3.266932249069214,3.24701189994812,3.2270915508270264,3.2071712017059326,3.187251091003418,3.167330741882324,3.1474103927612305,3.1274900436401367,3.107569694519043,3.087649345397949,3.0677289962768555,3.0478086471557617,3.027888536453247,3.0079681873321533,2.9880478382110596,2.968127489089966,2.948207139968872,2.9282867908477783,2.9083664417266846,2.88844633102417,2.868525981903076,2.8486056327819824,2.8286852836608887,2.808764934539795,2.788844585418701,2.7689242362976074,2.7490038871765137,2.729083776473999,2.7091634273529053,2.6892430782318115,2.6693227291107178,2.649402379989624,2.6294820308685303,2.6095616817474365,2.5896413326263428,2.569721221923828,2.5498008728027344,2.5298805236816406,2.509960174560547,2.490039825439453,2.4701194763183594,2.4501991271972656,2.430278778076172,2.4103586673736572,2.3904383182525635,2.3705179691314697,2.350597620010376,2.3306772708892822,2.3107569217681885,2.2908365726470947,2.270916223526001,2.2509961128234863,2.2310757637023926,2.211155414581299,2.191235065460205,2.1713147163391113,2.1513943672180176,2.131474018096924,2.11155366897583,2.0916335582733154,2.0717132091522217,2.051792860031128,2.031872510910034,2.0119521617889404,1.9920319318771362,1.9721115827560425,1.9521912336349487,1.932270884513855,1.9123506546020508,1.892430305480957,1.8725099563598633,1.8525896072387695,1.8326693773269653,1.8127490282058716,1.7928286790847778,1.772908329963684,1.7529881000518799,1.7330677509307861,1.7131474018096924,1.6932270526885986,1.6733068227767944,1.6533864736557007,1.633466124534607,1.6135457754135132,1.593625545501709,1.5737051963806152,1.5537848472595215,1.5338644981384277,1.5139442682266235,1.4940239191055298,1.474103569984436,1.4541832208633423,1.434262990951538,1.4143426418304443,1.3944222927093506,1.3745019435882568,1.3545817136764526,1.3346613645553589,1.3147410154342651,1.2948206663131714,1.2749004364013672,1.2549800872802734,1.2350597381591797,1.215139389038086,1.1952191591262817,1.175298810005188,1.1553784608840942,1.1354581117630005,1.1155378818511963,1.0956175327301025,1.0756971836090088,1.055776834487915,1.0358566045761108,1.015936255455017,0.9960159659385681,0.9760956168174744,0.9561753273010254,0.9362549781799316,0.9163346886634827,0.8964143395423889,0.8764940500259399,0.8565737009048462,0.8366534113883972,0.8167330622673035,0.7968127727508545,0.7768924236297607,0.7569721341133118,0.737051784992218,0.717131495475769,0.6972111463546753,0.6772908568382263,0.6573705077171326,0.6374502182006836,0.6175298690795898,0.5976095795631409,0.5776892304420471,0.5577689409255981,0.5378485918045044,0.5179283022880554,0.49800798296928406,0.4780876636505127,0.45816734433174133,0.43824702501296997,0.4183267056941986,0.39840638637542725,0.3784860670566559,0.3585657477378845,0.33864542841911316,0.3187251091003418,0.29880478978157043,0.2788844704627991,0.2589641511440277,0.23904383182525635,0.21912351250648499,0.19920319318771362,0.17928287386894226,0.1593625545501709,0.13944223523139954,0.11952191591262817,0.09960159659385681,0.07968127727508545,0.05976095795631409,0.039840638637542725,0.019920319318771362,0],"expected":[0,0.0009920478332787752,0.003968191333115101,0.008928430266678333,0.015872765332460403,0.024801194667816162,0.03571372106671333,0.04861034080386162,0.06349106132984161,0.08035586774349213,0.09920477867126465,0.12003777921199799,0.14285488426685333,0.1676560640335083,0.19444136321544647,0.22321075201034546,0.25396424531936646,0.2867017984390259,0.3214234709739685,0.35812926292419434,0.3968191146850586,0.43749308586120605,0.48015111684799194,0.524793267250061,0.5714195370674133,0.620029866695404,0.6706242561340332,0.7232028245925903,0.7777654528617859,0.8343121409416199,0.8928430080413818,0.9533578753471375,1.0158569812774658,1.080340027809143,1.1468071937561035,1.2152584791183472,1.285693883895874,1.3581132888793945,1.4325170516967773,1.5089045763015747,1.5872764587402344,1.6676322221755981,1.7499723434448242,1.8342962265014648,1.9206044673919678,2.008896827697754,2.099173069000244,2.1914334297180176,2.2856781482696533,2.381906509399414,2.480119466781616,2.5803163051605225,2.682497024536133,2.7866618633270264,2.8928112983703613,3.0009443759918213,3.1110618114471436,3.22316312789917,3.3372485637664795,3.4533181190490723,3.5713720321655273,3.6914095878601074,3.81343150138855,3.9374375343322754,4.063427925109863,4.191401481628418,4.321360111236572,4.453302383422852,4.587228775024414,4.72313928604126,4.861033916473389,5.000912666320801,5.142775535583496,5.286622524261475,5.432453155517578,5.580268383026123,5.730068206787109,5.881850719451904,6.035618305206299,6.191370010375977,6.3491058349609375,6.508824825286865,6.670528888702393,6.834217071533203,6.999889373779297,7.167544364929199,7.337184906005859,7.508809566497803,7.682417869567871,7.858010292053223,8.035587310791016,8.215147018432617,8.396692276000977,8.580220222473145,8.76573371887207,8.953230857849121,9.142712593078613,9.33417797088623,9.527626037597656,9.72305965423584,9.920477867126465,10.119878768920898,10.32126522064209,10.524635314941406,10.729988098144531,10.937326431274414,11.146647453308105,11.357954025268555,11.571245193481445,11.786519050598145,12.003777503967285,12.223020553588867,12.444247245788574,12.667458534240723,12.89265251159668,13.119831085205078,13.348994255065918,13.580141067504883,13.813272476196289,14.048388481140137,14.28548812866211,14.524572372436523,14.76563835144043,15.008689880371094,15.2537260055542,15.50074577331543,15.749750137329102,16.0007381439209,16.253711700439453,16.5086669921875,16.765605926513672,17.0245304107666,17.28544044494629,17.54833221435547,17.813209533691406,18.08007049560547,18.348915100097656,18.6197452545166,18.89255714416504,19.167354583740234,19.444135665893555,19.722902297973633,20.003650665283203,20.28638458251953,20.571102142333984,20.857805252075195,21.1464900970459,21.43716049194336,21.729812622070312,22.024452209472656,22.321073532104492,22.619680404663086,22.920272827148438,23.22284507751465,23.527402877807617,23.833946228027344,24.142473220825195,24.452985763549805,24.765480041503906,25.079959869384766,25.39642333984375,25.714868545532227,26.03529930114746,26.357715606689453,26.68211555480957,27.008501052856445,27.336868286132812,27.667221069335938,27.999557495117188,28.33387565612793,28.670177459716797,29.008466720581055,29.348739624023438,29.690996170043945,30.03523826599121,30.38146209716797,30.729671478271484,31.079862594604492,31.43204116821289,31.78620147705078,32.14234924316406,32.5004768371582,32.86058807373047,33.222686767578125,33.586769104003906,33.95283126831055,34.32088088989258,34.69091796875,35.06293487548828,35.43693923950195,35.812923431396484,36.190895080566406,36.57085037231445,36.95278549194336,37.33671188354492,37.72261428833008,38.110504150390625,38.50038146972656,38.89223861694336,39.28608322143555,39.68191146850586,39.88032150268555,39.277156829833984,38.666053771972656,38.04701614379883,37.420040130615234,36.78512954711914,36.14228057861328,35.491493225097656,34.83277130126953,34.166114807128906,33.49152374267578,32.80901336669922,32.11854553222656,31.420143127441406,30.713804244995117,29.999528884887695,29.27731704711914,28.547168731689453,27.809083938598633,27.063060760498047,26.30910301208496,25.547208786010742,24.777379989624023,23.99961280822754,23.213909149169922,22.420270919799805,21.618694305419922,20.8092041015625,19.99175453186035,19.166370391845703,18.333049774169922,17.491790771484375,16.642595291137695,15.785465240478516,14.920397758483887,14.047394752502441,13.166455268859863,12.277579307556152,11.380766868591309,10.476017951965332,9.563332557678223,8.64271068572998,7.7141523361206055,6.77768087387085,5.833249568939209,4.880882263183594,3.9205784797668457,2.952338457107544,1.976162075996399,0.9920492768287659,0,-0.9999856352806091,-2.0079076290130615,-3.023766279220581,-4.047561168670654,-5.079292297363281,-6.118959903717041,-7.166563510894775,-8.222079277038574,-9.285555839538574,-10.356968879699707,-11.436318397521973,-12.523604393005371,-13.618826866149902,-14.721985816955566,-15.833081245422363,-16.952112197875977,-18.07908058166504,-19.213985443115234,-20.35682487487793,-21.507600784301758,-22.66631507873535,-23.832965850830078,-25.007551193237305,-26.190048217773438,-27.38050651550293,-28.578903198242188,-29.785234451293945,-30.999502182006836,-32.22170639038086,-33.451847076416016,-34.68992614746094,-35.935935974121094,-37.18988800048828,-38.45177459716797,-39.721595764160156,-40.99935531616211,-42.28505325317383,-43.57868576049805,-44.880252838134766,-46.18973159790039,-47.507171630859375,-48.832550048828125,-50.165863037109375,-51.507110595703125,-52.856300354003906,-54.21342086791992,-55.57848358154297,-56.95147705078125,-58.3324089050293,-59.72127914428711,-61.11807632446289,-62.52281951904297,-63.93549728393555,-65.35610961914062,-66.7846450805664,-68.22113800048828,-69.66555786132812,-71.11791229248047,-72.57820129394531,-74.04644012451172,-75.5226058959961,-77.0067138671875,-78.4987564086914,-79.99873352050781,-81.50664520263672,-83.02249908447266,-84.54627990722656,-86.0780029296875,-87.61766052246094,-89.16525268554688,-90.72077178955078,-92.28424072265625,-93.85565185546875,-95.43498992919922,-97.02226257324219,-98.61747741699219,-100.22062683105469,-101.83171844482422,-103.45074462890625,-105.07770538330078,-106.71260070800781,-108.35543060302734,-110.00619506835938,-111.33256530761719,-111.99822998046875,-112.66587829589844,-113.33550262451172,-114.00711059570312,-114.68070983886719,-115.35629272460938,-116.03386688232422,-116.71341705322266,-117.39495849609375,-118.07847595214844,-118.76398468017578,-119.45147705078125,-120.14095306396484,-120.83240509033203,-121.52584838867188,-122.22127532958984,-122.91868591308594,-123.61807250976562,-124.31945037841797,-125.02281951904297,-125.72816467285156,-126.43549346923828,-127.14480590820312,-127.85610961914062,-128.56939697265625,-129.28465270996094,-130.0019073486328,-130.7211456298828,-131.44235229492188,-132.16555786132812,-132.8907470703125,-133.617919921875,-134.34707641601562,-135.0782012939453,-135.8113250732422,-136.5464324951172,-137.2835235595703,-138.02261352539062,-138.763671875,-139.5067138671875,-140.25173950195312,-140.99874877929688,-141.7477569580078,-142.4987335205078,-143.25169372558594,-144.00665283203125,-144.76358032226562,-145.5225067138672,-146.2834014892578,-147.04627990722656,-147.81114196777344,-148.5780029296875,-149.3468475341797,-150.11766052246094,-150.8904571533203,-151.6652374267578,-152.4420166015625,-153.2207794189453,-154.00152587890625,-154.78424072265625,-155.56895446777344,-156.35565185546875,-157.1443328857422,-157.93499755859375,-158.72764587402344,-159.5222625732422,-160.31887817382812,-161.1174774169922,-161.91806030273438,-162.7206268310547,-163.52517700195312,-164.33172607421875,-165.14024353027344,-165.95074462890625,-166.7632293701172,-167.57769775390625,-168.3941650390625,-169.2126007080078,-170.03302001953125,-170.8554229736328,-171.6798095703125,-172.50619506835938,-173.3345489501953,-174.16490173339844,-174.99722290039062,-175.83154296875,-176.66783142089844,-177.50611877441406,-178.3463592529297,-179.18861389160156,-180.03285217285156,-180.87905883789062,-181.72726440429688,-182.57745361328125,-183.42962646484375,-184.28378295898438,-185.13992309570312,-185.998046875,-186.85813903808594,-187.72023010253906,-188.5843048095703,-189.45037841796875,-190.31842041015625,-191.18844604492188,-192.06044006347656,-192.93443298339844,-193.81040954589844,-194.68836975097656,-195.56832885742188,-196.45025634765625,-197.33416748046875,-198.22007751464844,-199.1079559326172,-199.99781799316406,-200.88967895507812,-201.78350830078125,-202.67933654785156,-203.57713317871094,-204.4769287109375,-205.37867736816406,-206.28244018554688,-207.18817138671875,-208.0959014892578,-209.005615234375,-209.91729736328125,-210.8309783935547,-211.74664306640625,-212.66429138183594,-213.5839080810547,-214.50550842285156,-215.42910766601562,-216.3546905517578,-217.28225708007812,-218.21180725097656,-219.14334106445312,-220.0768585205078,-221.01235961914062,-221.94984436035156,-222.88931274414062,-223.83078002929688,-224.7742156982422,-225.71963500976562,-226.6670379638672,-227.61643981933594,-228.56781005859375,-229.5211639404297,-230.4765167236328,-231.433837890625,-232.39315795898438,-233.3544464111328,-234.31773376464844,-235.28297424316406,-236.25021362304688,-237.21945190429688,-238.19064331054688,-239.16384887695312,-240.1390380859375,-241.11619567871094,-242.09535217285156,-243.0764923095703,-244.0596160888672,-245.04470825195312,-246.03179931640625,-247.0208740234375,-248.01193237304688,-249.00497436523438,-250]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_negative.json b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_negative.json new file mode 100644 index 000000000000..660cfe274438 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_negative.json @@ -0,0 +1 @@ +{"x":[0,-3.9840636205991774e-22,-7.968127241198355e-22,-1.1952191366668511e-21,-1.593625448239671e-21,-1.9920318607866866e-21,-2.3904382733337023e-21,-2.788844685880718e-21,-3.187250896479342e-21,-3.585657510974749e-21,-3.984063721573373e-21,-4.382469932171997e-21,-4.7808765466674046e-21,-5.1792827572660285e-21,-5.577689371761436e-21,-5.97609558236006e-21,-6.374501792958684e-21,-6.772908407454091e-21,-7.171315021949499e-21,-7.569721232548123e-21,-7.968127443146746e-21,-8.36653365374537e-21,-8.764939864343994e-21,-9.163346882736185e-21,-9.561753093334809e-21,-9.960159303933433e-21,-1.0358565514532057e-20,-1.0756971725130681e-20,-1.1155378743522872e-20,-1.1553784954121496e-20,-1.195219116472012e-20,-1.2350597375318744e-20,-1.2749003585917368e-20,-1.3147410604309558e-20,-1.3545816814908182e-20,-1.3944223025506806e-20,-1.4342630043898997e-20,-1.4741035446704054e-20,-1.5139442465096245e-20,-1.5537847867901302e-20,-1.5936254886293493e-20,-1.6334661904685684e-20,-1.673306730749074e-20,-1.7131474325882932e-20,-1.752987972868799e-20,-1.792828674708018e-20,-1.832669376547237e-20,-1.8725099168277427e-20,-1.9123506186669618e-20,-1.9521911589474675e-20,-1.9920318607866866e-20,-2.0318725626259057e-20,-2.0717131029064114e-20,-2.1115538047456305e-20,-2.1513943450261362e-20,-2.1912350468653553e-20,-2.2310757487045744e-20,-2.27091628898508e-20,-2.3107569908242992e-20,-2.350597531104805e-20,-2.390438232944024e-20,-2.430278934783243e-20,-2.4701194750637487e-20,-2.5099601769029678e-20,-2.5498007171834735e-20,-2.5896414190226926e-20,-2.6294821208619117e-20,-2.6693226611424174e-20,-2.7091633629816365e-20,-2.749003903262142e-20,-2.788844605101361e-20,-2.8286853069405804e-20,-2.8685260087797994e-20,-2.908366387501592e-20,-2.948207089340811e-20,-2.98804779118003e-20,-3.027888493019249e-20,-3.067729194858468e-20,-3.1075695735802604e-20,-3.1474102754194795e-20,-3.1872509772586986e-20,-3.2270916790979177e-20,-3.266932380937137e-20,-3.306772759658929e-20,-3.346613461498148e-20,-3.386454163337367e-20,-3.4262948651765863e-20,-3.4661355670158054e-20,-3.505975945737598e-20,-3.545816647576817e-20,-3.585657349416036e-20,-3.625498051255255e-20,-3.665338753094474e-20,-3.7051791318162664e-20,-3.7450198336554855e-20,-3.7848605354947046e-20,-3.8247012373339237e-20,-3.864541939173143e-20,-3.904382317894935e-20,-3.944223019734154e-20,-3.984063721573373e-20,-4.0239044234125923e-20,-4.0637451252518114e-20,-4.103585503973604e-20,-4.143426205812823e-20,-4.183266907652042e-20,-4.223107609491261e-20,-4.26294831133048e-20,-4.3027886900522724e-20,-4.3426293918914915e-20,-4.3824700937307106e-20,-4.4223107955699296e-20,-4.462151497409149e-20,-4.501991876130941e-20,-4.54183257797016e-20,-4.581673279809379e-20,-4.6215139816485983e-20,-4.6613546834878174e-20,-4.70119506220961e-20,-4.741035764048829e-20,-4.780876465888048e-20,-4.820717167727267e-20,-4.860557869566486e-20,-4.9003982482882784e-20,-4.9402389501274975e-20,-4.9800796519667165e-20,-5.0199203538059356e-20,-5.059761055645155e-20,-5.099601434366947e-20,-5.139442136206166e-20,-5.179282838045385e-20,-5.219123539884604e-20,-5.2589642417238234e-20,-5.2988046204456157e-20,-5.338645322284835e-20,-5.378486024124054e-20,-5.418326725963273e-20,-5.458167427802492e-20,-5.498007806524284e-20,-5.53784883148093e-20,-5.577689210202723e-20,-5.617529588924515e-20,-5.657370613881161e-20,-5.697210992602953e-20,-5.737052017559599e-20,-5.776892396281391e-20,-5.816732775003183e-20,-5.856573799959829e-20,-5.896414178681622e-20,-5.936255203638268e-20,-5.97609558236006e-20,-6.015935961081852e-20,-6.055776986038498e-20,-6.09561736476029e-20,-6.135458389716936e-20,-6.175298768438729e-20,-6.215139147160521e-20,-6.254980172117167e-20,-6.294820550838959e-20,-6.334661575795605e-20,-6.374501954517397e-20,-6.41434233323919e-20,-6.454183358195835e-20,-6.494023736917628e-20,-6.533864761874274e-20,-6.573705140596066e-20,-6.613545519317858e-20,-6.653386544274504e-20,-6.693226922996296e-20,-6.733067947952942e-20,-6.772908326674734e-20,-6.812748705396527e-20,-6.852589730353173e-20,-6.892430109074965e-20,-6.932271134031611e-20,-6.972111512753403e-20,-7.011951891475195e-20,-7.051792916431841e-20,-7.091633295153634e-20,-7.13147432011028e-20,-7.171314698832072e-20,-7.211155077553864e-20,-7.25099610251051e-20,-7.290836481232302e-20,-7.330677506188948e-20,-7.37051788491074e-20,-7.410358263632533e-20,-7.450199288589179e-20,-7.490039667310971e-20,-7.529880692267617e-20,-7.569721070989409e-20,-7.609561449711201e-20,-7.649402474667847e-20,-7.68924285338964e-20,-7.729083878346285e-20,-7.768924257068078e-20,-7.80876463578987e-20,-7.848605660746516e-20,-7.888446039468308e-20,-7.928287064424954e-20,-7.968127443146746e-20,-8.007967821868539e-20,-8.047808846825185e-20,-8.087649225546977e-20,-8.127490250503623e-20,-8.167330629225415e-20,-8.207171007947207e-20,-8.247012032903853e-20,-8.286852411625646e-20,-8.326693436582291e-20,-8.366533815304084e-20,-8.406374194025876e-20,-8.446215218982522e-20,-8.486055597704314e-20,-8.52589662266096e-20,-8.565737001382752e-20,-8.605577380104545e-20,-8.645418405061191e-20,-8.685258783782983e-20,-8.725099808739629e-20,-8.764940187461421e-20,-8.804780566183213e-20,-8.844621591139859e-20,-8.884461969861652e-20,-8.924302994818297e-20,-8.96414337354009e-20,-9.003983752261882e-20,-9.043824777218528e-20,-9.08366515594032e-20,-9.123506180896966e-20,-9.163346559618758e-20,-9.203186938340551e-20,-9.243027963297197e-20,-9.282868342018989e-20,-9.322709366975635e-20,-9.362549745697427e-20,-9.40239012441922e-20,-9.442231149375865e-20,-9.482071528097658e-20,-9.521912553054303e-20,-9.561752931776096e-20,-9.601593310497888e-20,-9.641434335454534e-20,-9.681274714176326e-20,-9.721115739132972e-20,-9.760956117854764e-20,-9.800796496576557e-20,-9.840637521533203e-20,-9.880477900254995e-20,-9.920318925211641e-20,-9.960159303933433e-20,-9.999999682655225e-20,-1.0039840707611871e-19,-1.0079681086333664e-19,-1.011952211129031e-19,-1.0159362490012102e-19,-1.0199202868733894e-19,-1.023904389369054e-19,-1.0278884272412332e-19,-1.0318725297368978e-19,-1.035856567609077e-19,-1.0398406054812563e-19,-1.0438247079769209e-19,-1.0478087458491001e-19,-1.0517928483447647e-19,-1.0557768862169439e-19,-1.0597609240891231e-19,-1.0637450265847877e-19,-1.067729064456967e-19,-1.0717131669526315e-19,-1.0756972048248108e-19,-1.07968124269699e-19,-1.0836653451926546e-19,-1.0876494476883192e-19,-1.0916334855604984e-19,-1.0956175234326776e-19,-1.0996015613048569e-19,-1.103585599177036e-19,-1.107569766296186e-19,-1.1115538041683653e-19,-1.1155378420405445e-19,-1.1195218799127237e-19,-1.123505917784903e-19,-1.127490084904053e-19,-1.1314741227762321e-19,-1.1354581606484114e-19,-1.1394421985205906e-19,-1.1434262363927698e-19,-1.1474104035119198e-19,-1.151394441384099e-19,-1.1553784792562782e-19,-1.1593625171284575e-19,-1.1633465550006367e-19,-1.1673307221197866e-19,-1.1713147599919659e-19,-1.175298797864145e-19,-1.1792828357363243e-19,-1.1832668736085036e-19,-1.1872510407276535e-19,-1.1912350785998327e-19,-1.195219116472012e-19,-1.1992031543441912e-19,-1.2031871922163704e-19,-1.2071713593355204e-19,-1.2111553972076996e-19,-1.2151394350798788e-19,-1.219123472952058e-19,-1.2231075108242373e-19,-1.2270916779433872e-19,-1.2310757158155665e-19,-1.2350597536877457e-19,-1.239043791559925e-19,-1.2430278294321042e-19,-1.247011996551254e-19,-1.2509960344234333e-19,-1.2549800722956126e-19,-1.2589641101677918e-19,-1.262948148039971e-19,-1.266932315159121e-19,-1.2709163530313002e-19,-1.2749003909034794e-19,-1.2788844287756587e-19,-1.282868466647838e-19,-1.2868526337669878e-19,-1.290836671639167e-19,-1.2948207095113463e-19,-1.2988047473835255e-19,-1.3027887852557048e-19,-1.3067729523748547e-19,-1.310756990247034e-19,-1.3147410281192132e-19,-1.3187250659913924e-19,-1.3227091038635716e-19,-1.3266932709827216e-19,-1.3306773088549008e-19,-1.33466134672708e-19,-1.3386453845992593e-19,-1.3426294224714385e-19,-1.3466135895905884e-19,-1.3505976274627677e-19,-1.354581665334947e-19,-1.3585657032071261e-19,-1.3625497410793054e-19,-1.3665339081984553e-19,-1.3705179460706345e-19,-1.3745019839428138e-19,-1.378486021814993e-19,-1.3824700596871722e-19,-1.3864542268063222e-19,-1.3904382646785014e-19,-1.3944223025506806e-19,-1.3984063404228599e-19,-1.402390378295039e-19,-1.406374545414189e-19,-1.4103585832863683e-19,-1.4143426211585475e-19,-1.4183266590307267e-19,-1.422310696902906e-19,-1.426294864022056e-19,-1.4302789018942351e-19,-1.4342629397664144e-19,-1.4382469776385936e-19,-1.4422310155107728e-19,-1.4462151826299228e-19,-1.450199220502102e-19,-1.4541832583742812e-19,-1.4581672962464605e-19,-1.4621513341186397e-19,-1.4661355012377896e-19,-1.4701195391099689e-19,-1.474103576982148e-19,-1.4780876148543273e-19,-1.4820716527265066e-19,-1.4860558198456565e-19,-1.4900398577178357e-19,-1.494023895590015e-19,-1.4980079334621942e-19,-1.5019919713343734e-19,-1.5059761384535234e-19,-1.5099601763257026e-19,-1.5139442141978818e-19,-1.517928252070061e-19,-1.5219122899422403e-19,-1.5258964570613902e-19,-1.5298804949335695e-19,-1.5338645328057487e-19,-1.537848570677928e-19,-1.5418326085501072e-19,-1.545816775669257e-19,-1.5498008135414363e-19,-1.5537848514136156e-19,-1.5577688892857948e-19,-1.561752927157974e-19,-1.565737094277124e-19,-1.5697211321493032e-19,-1.5737051700214824e-19,-1.5776892078936617e-19,-1.581673245765841e-19,-1.5856574128849908e-19,-1.58964145075717e-19,-1.5936254886293493e-19,-1.5976095265015285e-19,-1.6015935643737078e-19,-1.6055777314928577e-19,-1.609561769365037e-19,-1.6135458072372162e-19,-1.6175298451093954e-19,-1.6215138829815746e-19,-1.6254980501007246e-19,-1.6294820879729038e-19,-1.633466125845083e-19,-1.6374501637172623e-19,-1.6414342015894415e-19,-1.6454183687085914e-19,-1.6494024065807707e-19,-1.65338644445295e-19,-1.6573704823251291e-19,-1.6613545201973084e-19,-1.6653386873164583e-19,-1.6693227251886375e-19,-1.6733067630608168e-19,-1.677290800932996e-19,-1.6812748388051752e-19,-1.6852590059243252e-19,-1.6892430437965044e-19,-1.6932270816686836e-19,-1.6972111195408629e-19,-1.701195157413042e-19,-1.705179324532192e-19,-1.7091633624043713e-19,-1.7131474002765505e-19,-1.7171314381487297e-19,-1.721115476020909e-19,-1.725099643140059e-19,-1.7290836810122381e-19,-1.7330677188844174e-19,-1.7370517567565966e-19,-1.7410357946287758e-19,-1.7450199617479258e-19,-1.749003999620105e-19,-1.7529880374922842e-19,-1.7569720753644635e-19,-1.7609561132366427e-19,-1.7649402803557926e-19,-1.7689243182279719e-19,-1.772908356100151e-19,-1.7768923939723303e-19,-1.7808764318445096e-19,-1.7848605989636595e-19,-1.7888446368358387e-19,-1.792828674708018e-19,-1.7968127125801972e-19,-1.8007967504523764e-19,-1.8047809175715264e-19,-1.8087649554437056e-19,-1.8127489933158848e-19,-1.816733031188064e-19,-1.8207170690602433e-19,-1.8247012361793932e-19,-1.8286852740515725e-19,-1.8326693119237517e-19,-1.836653349795931e-19,-1.8406373876681101e-19,-1.84462155478726e-19,-1.8486055926594393e-19,-1.8525896305316186e-19,-1.8565736684037978e-19,-1.860557706275977e-19,-1.864541873395127e-19,-1.8685259112673062e-19,-1.8725099491394854e-19,-1.8764939870116646e-19,-1.880478024883844e-19,-1.8844621920029938e-19,-1.888446229875173e-19,-1.8924302677473523e-19,-1.8964143056195315e-19,-1.9003983434917107e-19,-1.9043825106108607e-19,-1.90836654848304e-19,-1.9123505863552192e-19,-1.9163346242273984e-19,-1.9203186620995776e-19,-1.9243028292187276e-19,-1.9282868670909068e-19,-1.932270904963086e-19,-1.9362549428352652e-19,-1.9402389807074445e-19,-1.9442231478265944e-19,-1.9482071856987737e-19,-1.952191223570953e-19,-1.956175261443132e-19,-1.9601592993153113e-19,-1.9641434664344613e-19,-1.9681275043066405e-19,-1.9721115421788197e-19,-1.976095580050999e-19,-1.9800796179231782e-19,-1.9840637850423282e-19,-1.9880478229145074e-19,-1.9920318607866866e-19,-1.9960158986588658e-19,-1.999999936531045e-19],"d":[0,9.960159051497943e-23,1.9920318102995887e-22,2.988047841667128e-22,3.9840636205991774e-22,4.980079651966717e-22,5.976095683334256e-22,6.972111714701795e-22,7.968127241198355e-22,8.964143777436873e-22,9.960159303933433e-22,1.0956174830429993e-21,1.1952191366668511e-21,1.2948206893165071e-21,1.394422342940359e-21,1.494023895590015e-21,1.593625448239671e-21,1.6932271018635228e-21,1.7928287554873746e-21,1.8924303081370306e-21,1.9920318607866866e-21,2.0916334134363426e-21,2.1912349660859986e-21,2.2908367206840463e-21,2.3904382733337023e-21,2.4900398259833583e-21,2.5896413786330143e-21,2.6892429312826702e-21,2.788844685880718e-21,2.888446238530374e-21,2.98804779118003e-21,3.087649343829686e-21,3.187250896479342e-21,3.2868526510773896e-21,3.3864542037270456e-21,3.4860557563767016e-21,3.585657510974749e-21,3.6852588616760135e-21,3.784860616274061e-21,3.8844619669753255e-21,3.984063721573373e-21,4.083665476171421e-21,4.183266826872685e-21,4.282868581470733e-21,4.382469932171997e-21,4.482071686770045e-21,4.5816734413680926e-21,4.681274792069357e-21,4.7808765466674046e-21,4.880477897368669e-21,4.9800796519667165e-21,5.079681406564764e-21,5.1792827572660285e-21,5.278884511864076e-21,5.3784858625653405e-21,5.478087617163388e-21,5.577689371761436e-21,5.6772907224627e-21,5.776892477060748e-21,5.876493827762012e-21,5.97609558236006e-21,6.0756973369581076e-21,6.175298687659372e-21,6.2749004422574195e-21,6.374501792958684e-21,6.4741035475567315e-21,6.573705302154779e-21,6.6733066528560435e-21,6.772908407454091e-21,6.872509758155355e-21,6.972111512753403e-21,7.071713267351451e-21,7.171315021949499e-21,7.27091596875398e-21,7.370517723352027e-21,7.470119477950075e-21,7.569721232548123e-21,7.66932298714617e-21,7.768923933950651e-21,7.868525688548699e-21,7.968127443146746e-21,8.067729197744794e-21,8.167330952342842e-21,8.266931899147323e-21,8.36653365374537e-21,8.466135408343418e-21,8.565737162941466e-21,8.665338917539514e-21,8.764939864343994e-21,8.864541618942042e-21,8.96414337354009e-21,9.063745128138137e-21,9.163346882736185e-21,9.262947829540666e-21,9.362549584138714e-21,9.462151338736761e-21,9.561753093334809e-21,9.661354847932857e-21,9.760955794737338e-21,9.860557549335385e-21,9.960159303933433e-21,1.0059761058531481e-20,1.0159362813129529e-20,1.025896375993401e-20,1.0358565514532057e-20,1.0458167269130105e-20,1.0557769023728152e-20,1.06573707783262e-20,1.0756971725130681e-20,1.0856573479728729e-20,1.0956175234326776e-20,1.1055776988924824e-20,1.1155378743522872e-20,1.1254979690327353e-20,1.13545814449254e-20,1.1454183199523448e-20,1.1553784954121496e-20,1.1653386708719543e-20,1.1752987655524024e-20,1.1852589410122072e-20,1.195219116472012e-20,1.2051792919318167e-20,1.2151394673916215e-20,1.2250995620720696e-20,1.2350597375318744e-20,1.2450199129916791e-20,1.2549800884514839e-20,1.2649402639112887e-20,1.2749003585917368e-20,1.2848605340515415e-20,1.2948207095113463e-20,1.304780884971151e-20,1.3147410604309558e-20,1.3247011551114039e-20,1.3346613305712087e-20,1.3446215060310135e-20,1.3545816814908182e-20,1.364541856950623e-20,1.374501951631071e-20,1.3844622078702326e-20,1.3944223025506806e-20,1.4043823972311287e-20,1.4143426534702902e-20,1.4243027481507383e-20,1.4342630043898997e-20,1.4442230990703478e-20,1.454183193750796e-20,1.4641434499899573e-20,1.4741035446704054e-20,1.484063800909567e-20,1.494023895590015e-20,1.503983990270463e-20,1.5139442465096245e-20,1.5239043411900726e-20,1.533864597429234e-20,1.543824692109682e-20,1.5537847867901302e-20,1.5637450430292917e-20,1.5737051377097397e-20,1.5836653939489012e-20,1.5936254886293493e-20,1.6035855833097974e-20,1.6135458395489588e-20,1.623505934229407e-20,1.6334661904685684e-20,1.6434262851490165e-20,1.6533863798294645e-20,1.663346636068626e-20,1.673306730749074e-20,1.6832669869882355e-20,1.6932270816686836e-20,1.7031871763491317e-20,1.7131474325882932e-20,1.7231075272687412e-20,1.7330677835079027e-20,1.7430278781883508e-20,1.752987972868799e-20,1.7629482291079603e-20,1.7729083237884084e-20,1.78286858002757e-20,1.792828674708018e-20,1.802788769388466e-20,1.8127490256276275e-20,1.8227091203080756e-20,1.832669376547237e-20,1.842629471227685e-20,1.8525895659081332e-20,1.8625498221472947e-20,1.8725099168277427e-20,1.8824701730669042e-20,1.8924302677473523e-20,1.9023903624278004e-20,1.9123506186669618e-20,1.92231071334741e-20,1.9322709695865714e-20,1.9422310642670195e-20,1.9521911589474675e-20,1.962151415186629e-20,1.972111509867077e-20,1.9820717661062385e-20,1.9920318607866866e-20,2.0019919554671347e-20,2.0119522117062962e-20,2.0219123063867442e-20,2.0318725626259057e-20,2.0418326573063538e-20,2.051792751986802e-20,2.0617530082259633e-20,2.0717131029064114e-20,2.081673359145573e-20,2.091633453826021e-20,2.101593548506469e-20,2.1115538047456305e-20,2.1215138994260786e-20,2.13147415566524e-20,2.141434250345688e-20,2.1513943450261362e-20,2.1613546012652977e-20,2.1713146959457457e-20,2.1812749521849072e-20,2.1912350468653553e-20,2.2011951415458034e-20,2.2111553977849648e-20,2.221115492465413e-20,2.2310757487045744e-20,2.2410358433850224e-20,2.2509959380654705e-20,2.260956194304632e-20,2.27091628898508e-20,2.2808765452242415e-20,2.2908366399046896e-20,2.3007967345851377e-20,2.3107569908242992e-20,2.3207170855047472e-20,2.3306773417439087e-20,2.3406374364243568e-20,2.350597531104805e-20,2.3605577873439663e-20,2.3705178820244144e-20,2.380478138263576e-20,2.390438232944024e-20,2.400398327624472e-20,2.4103585838636335e-20,2.4203186785440816e-20,2.430278934783243e-20,2.440239029463691e-20,2.4501991241441392e-20,2.4601593803833006e-20,2.4701194750637487e-20,2.4800797313029102e-20,2.4900398259833583e-20,2.4999999206638063e-20,2.5099601769029678e-20,2.519920271583416e-20,2.5298805278225774e-20,2.5398406225030254e-20,2.5498007171834735e-20,2.559760973422635e-20,2.569721068103083e-20,2.5796813243422445e-20,2.5896414190226926e-20,2.5996015137031407e-20,2.609561769942302e-20,2.6195218646227502e-20,2.6294821208619117e-20,2.6394422155423598e-20,2.6494023102228078e-20,2.6593625664619693e-20,2.6693226611424174e-20,2.679282917381579e-20,2.689243012062027e-20,2.699203106742475e-20,2.7091633629816365e-20,2.719123619220798e-20,2.729083713901246e-20,2.739043808581694e-20,2.749003903262142e-20,2.75896399794259e-20,2.768924415740465e-20,2.778884510420913e-20,2.788844605101361e-20,2.7988046997818093e-20,2.8087647944622574e-20,2.818725212260132e-20,2.8286853069405804e-20,2.8386454016210284e-20,2.8486054963014765e-20,2.8585655909819246e-20,2.8685260087797994e-20,2.8784861034602475e-20,2.8884461981406956e-20,2.8984062928211437e-20,2.908366387501592e-20,2.9183268052994666e-20,2.9282868999799147e-20,2.938246994660363e-20,2.948207089340811e-20,2.958167184021259e-20,2.968127601819134e-20,2.978087696499582e-20,2.98804779118003e-20,2.998007885860478e-20,3.007967980540926e-20,3.017928398338801e-20,3.027888493019249e-20,3.037848587699697e-20,3.047808682380145e-20,3.057768777060593e-20,3.067729194858468e-20,3.077689289538916e-20,3.087649384219364e-20,3.0976094788998123e-20,3.1075695735802604e-20,3.117529991378135e-20,3.1274900860585833e-20,3.1374501807390314e-20,3.1474102754194795e-20,3.1573703700999276e-20,3.1673307878978024e-20,3.1772908825782505e-20,3.1872509772586986e-20,3.1972110719391467e-20,3.207171166619595e-20,3.2171315844174696e-20,3.2270916790979177e-20,3.237051773778366e-20,3.247011868458814e-20,3.256971963139262e-20,3.266932380937137e-20,3.276892475617585e-20,3.286852570298033e-20,3.296812664978481e-20,3.306772759658929e-20,3.316733177456804e-20,3.326693272137252e-20,3.3366533668177e-20,3.346613461498148e-20,3.356573556178596e-20,3.366533973976471e-20,3.376494068656919e-20,3.386454163337367e-20,3.3964142580178153e-20,3.4063743526982634e-20,3.416334770496138e-20,3.4262948651765863e-20,3.4362549598570344e-20,3.4462150545374825e-20,3.4561751492179306e-20,3.4661355670158054e-20,3.4760956616962535e-20,3.4860557563767016e-20,3.4960158510571497e-20,3.505975945737598e-20,3.5159363635354726e-20,3.5258964582159207e-20,3.535856552896369e-20,3.545816647576817e-20,3.555776742257265e-20,3.56573716005514e-20,3.575697254735588e-20,3.585657349416036e-20,3.595617444096484e-20,3.605577538776932e-20,3.615537956574807e-20,3.625498051255255e-20,3.635458145935703e-20,3.645418240616151e-20,3.655378335296599e-20,3.665338753094474e-20,3.675298847774922e-20,3.68525894245537e-20,3.6952190371358183e-20,3.7051791318162664e-20,3.715139549614141e-20,3.7250996442945893e-20,3.7350597389750374e-20,3.7450198336554855e-20,3.7549799283359336e-20,3.7649403461338084e-20,3.7749004408142565e-20,3.7848605354947046e-20,3.7948206301751526e-20,3.804780724855601e-20,3.8147411426534756e-20,3.8247012373339237e-20,3.834661332014372e-20,3.84462142669482e-20,3.854581521375268e-20,3.864541939173143e-20,3.874502033853591e-20,3.884462128534039e-20,3.894422223214487e-20,3.904382317894935e-20,3.91434273569281e-20,3.924302830373258e-20,3.934262925053706e-20,3.944223019734154e-20,3.954183114414602e-20,3.964143532212477e-20,3.974103626892925e-20,3.984063721573373e-20,3.9940238162538213e-20,4.0039839109342694e-20,4.013944328732144e-20,4.0239044234125923e-20,4.0338645180930404e-20,4.0438246127734885e-20,4.0537847074539366e-20,4.0637451252518114e-20,4.0737052199322595e-20,4.0836653146127076e-20,4.0936254092931556e-20,4.103585503973604e-20,4.1135459217714786e-20,4.1235060164519267e-20,4.133466111132375e-20,4.143426205812823e-20,4.153386300493271e-20,4.163346718291146e-20,4.173306812971594e-20,4.183266907652042e-20,4.19322700233249e-20,4.203187097012938e-20,4.213147514810813e-20,4.223107609491261e-20,4.233067704171709e-20,4.243027798852157e-20,4.252987893532605e-20,4.26294831133048e-20,4.272908406010928e-20,4.282868500691376e-20,4.2928285953718243e-20,4.3027886900522724e-20,4.312749107850147e-20,4.3227092025305953e-20,4.3326692972110434e-20,4.3426293918914915e-20,4.3525894865719395e-20,4.3625499043698144e-20,4.3725099990502625e-20,4.3824700937307106e-20,4.3924301884111586e-20,4.402390283091607e-20,4.4123507008894816e-20,4.4223107955699296e-20,4.432270890250378e-20,4.442230984930826e-20,4.452191079611274e-20,4.462151497409149e-20,4.472111592089597e-20,4.482071686770045e-20,4.492031781450493e-20,4.501991876130941e-20,4.511952293928816e-20,4.521912388609264e-20,4.531872483289712e-20,4.54183257797016e-20,4.551792672650608e-20,4.561753090448483e-20,4.571713185128931e-20,4.581673279809379e-20,4.591633374489827e-20,4.6015934691702754e-20,4.61155388696815e-20,4.6215139816485983e-20,4.6314740763290464e-20,4.6414341710094945e-20,4.6513942656899425e-20,4.6613546834878174e-20,4.6713147781682655e-20,4.6812748728487135e-20,4.6912349675291616e-20,4.70119506220961e-20,4.7111554800074846e-20,4.7211155746879326e-20,4.731075669368381e-20,4.741035764048829e-20,4.750995858729277e-20,4.760956276527152e-20,4.7709163712076e-20,4.780876465888048e-20,4.790836560568496e-20,4.800796655248944e-20,4.810757073046819e-20,4.820717167727267e-20,4.830677262407715e-20,4.840637357088163e-20,4.850597451768611e-20,4.860557869566486e-20,4.870517964246934e-20,4.880478058927382e-20,4.89043815360783e-20,4.9003982482882784e-20,4.910358666086153e-20,4.920318760766601e-20,4.9302788554470494e-20,4.9402389501274975e-20,4.9501990448079455e-20,4.9601594626058204e-20,4.9701195572862685e-20,4.9800796519667165e-20,4.9900397466471646e-20,4.9999998413276127e-20],"y":[-9.999999682655225e-20,-9.980079493294329e-20,-9.960159303933433e-20,-9.940239114572537e-20,-9.920318925211641e-20,-9.900398089615891e-20,-9.880477900254995e-20,-9.860557710894099e-20,-9.840637521533203e-20,-9.820717332172306e-20,-9.800796496576557e-20,-9.78087630721566e-20,-9.760956117854764e-20,-9.741035928493868e-20,-9.721115739132972e-20,-9.701194903537222e-20,-9.681274714176326e-20,-9.66135452481543e-20,-9.641434335454534e-20,-9.621514146093638e-20,-9.601593310497888e-20,-9.581673121136992e-20,-9.561752931776096e-20,-9.5418327424152e-20,-9.521912553054303e-20,-9.501991717458554e-20,-9.482071528097658e-20,-9.462151338736761e-20,-9.442231149375865e-20,-9.422310960014969e-20,-9.40239012441922e-20,-9.382469935058323e-20,-9.362549745697427e-20,-9.342629556336531e-20,-9.322709366975635e-20,-9.302788531379885e-20,-9.282868342018989e-20,-9.262948152658093e-20,-9.243027963297197e-20,-9.2231077739363e-20,-9.203186938340551e-20,-9.183266748979655e-20,-9.163346559618758e-20,-9.143426370257862e-20,-9.123506180896966e-20,-9.103585345301216e-20,-9.08366515594032e-20,-9.063744966579424e-20,-9.043824777218528e-20,-9.023904587857632e-20,-9.003983752261882e-20,-8.984063562900986e-20,-8.96414337354009e-20,-8.944223184179194e-20,-8.924302994818297e-20,-8.904382159222548e-20,-8.884461969861652e-20,-8.864541780500755e-20,-8.844621591139859e-20,-8.824701401778963e-20,-8.804780566183213e-20,-8.784860376822317e-20,-8.764940187461421e-20,-8.745019998100525e-20,-8.725099808739629e-20,-8.705178973143879e-20,-8.685258783782983e-20,-8.665338594422087e-20,-8.645418405061191e-20,-8.625498215700294e-20,-8.605577380104545e-20,-8.585657190743649e-20,-8.565737001382752e-20,-8.545816812021856e-20,-8.52589662266096e-20,-8.50597578706521e-20,-8.486055597704314e-20,-8.466135408343418e-20,-8.446215218982522e-20,-8.426295029621626e-20,-8.406374194025876e-20,-8.38645400466498e-20,-8.366533815304084e-20,-8.346613625943188e-20,-8.326693436582291e-20,-8.306772600986542e-20,-8.286852411625646e-20,-8.26693222226475e-20,-8.247012032903853e-20,-8.227091843542957e-20,-8.207171007947207e-20,-8.187250818586311e-20,-8.167330629225415e-20,-8.147410439864519e-20,-8.127490250503623e-20,-8.107569414907873e-20,-8.087649225546977e-20,-8.067729036186081e-20,-8.047808846825185e-20,-8.027888657464288e-20,-8.007967821868539e-20,-7.988047632507643e-20,-7.968127443146746e-20,-7.94820725378585e-20,-7.928287064424954e-20,-7.908366228829204e-20,-7.888446039468308e-20,-7.868525850107412e-20,-7.848605660746516e-20,-7.82868547138562e-20,-7.80876463578987e-20,-7.788844446428974e-20,-7.768924257068078e-20,-7.749004067707182e-20,-7.729083878346285e-20,-7.709163042750536e-20,-7.68924285338964e-20,-7.669322664028743e-20,-7.649402474667847e-20,-7.629482285306951e-20,-7.609561449711201e-20,-7.589641260350305e-20,-7.569721070989409e-20,-7.549800881628513e-20,-7.529880692267617e-20,-7.509959856671867e-20,-7.490039667310971e-20,-7.470119477950075e-20,-7.450199288589179e-20,-7.430279099228283e-20,-7.410358263632533e-20,-7.390438074271637e-20,-7.37051788491074e-20,-7.350597695549844e-20,-7.330677506188948e-20,-7.310756670593198e-20,-7.290836481232302e-20,-7.270916291871406e-20,-7.25099610251051e-20,-7.231075913149614e-20,-7.211155077553864e-20,-7.191234888192968e-20,-7.171314698832072e-20,-7.151394509471176e-20,-7.13147432011028e-20,-7.11155348451453e-20,-7.091633295153634e-20,-7.071713105792737e-20,-7.051792916431841e-20,-7.031872727070945e-20,-7.011951891475195e-20,-6.992031702114299e-20,-6.972111512753403e-20,-6.952191323392507e-20,-6.932271134031611e-20,-6.912350298435861e-20,-6.892430109074965e-20,-6.872509919714069e-20,-6.852589730353173e-20,-6.832669540992277e-20,-6.812748705396527e-20,-6.792828516035631e-20,-6.772908326674734e-20,-6.752988137313838e-20,-6.733067947952942e-20,-6.713147112357192e-20,-6.693226922996296e-20,-6.6733067336354e-20,-6.653386544274504e-20,-6.633466354913608e-20,-6.613545519317858e-20,-6.593625329956962e-20,-6.573705140596066e-20,-6.55378495123517e-20,-6.533864761874274e-20,-6.513943926278524e-20,-6.494023736917628e-20,-6.474103547556732e-20,-6.454183358195835e-20,-6.434263168834939e-20,-6.41434233323919e-20,-6.394422143878293e-20,-6.374501954517397e-20,-6.354581765156501e-20,-6.334661575795605e-20,-6.314740740199855e-20,-6.294820550838959e-20,-6.274900361478063e-20,-6.254980172117167e-20,-6.23505998275627e-20,-6.215139147160521e-20,-6.195218957799625e-20,-6.175298768438729e-20,-6.155378579077832e-20,-6.135458389716936e-20,-6.115537554121186e-20,-6.09561736476029e-20,-6.075697175399394e-20,-6.055776986038498e-20,-6.035856796677602e-20,-6.015935961081852e-20,-5.996015771720956e-20,-5.97609558236006e-20,-5.956175392999164e-20,-5.936255203638268e-20,-5.916334368042518e-20,-5.896414178681622e-20,-5.876493989320726e-20,-5.856573799959829e-20,-5.836653610598933e-20,-5.816732775003183e-20,-5.796812585642287e-20,-5.776892396281391e-20,-5.756972206920495e-20,-5.737052017559599e-20,-5.717131181963849e-20,-5.697210992602953e-20,-5.677290803242057e-20,-5.657370613881161e-20,-5.637450424520265e-20,-5.617529588924515e-20,-5.597609399563619e-20,-5.577689210202723e-20,-5.557769020841826e-20,-5.53784883148093e-20,-5.51792799588518e-20,-5.498007806524284e-20,-5.478087617163388e-20,-5.458167427802492e-20,-5.438247238441596e-20,-5.418326725963273e-20,-5.39840621348495e-20,-5.378486024124054e-20,-5.358565834763158e-20,-5.338645322284835e-20,-5.3187251329239386e-20,-5.2988046204456157e-20,-5.2788844310847195e-20,-5.2589642417238234e-20,-5.2390437292455004e-20,-5.219123539884604e-20,-5.1992030274062814e-20,-5.179282838045385e-20,-5.159362648684489e-20,-5.139442136206166e-20,-5.11952194684527e-20,-5.099601434366947e-20,-5.079681245006051e-20,-5.059761055645155e-20,-5.039840543166832e-20,-5.0199203538059356e-20,-4.9999998413276127e-20,-4.9800796519667165e-20,-4.9601594626058204e-20,-4.9402389501274975e-20,-4.920318760766601e-20,-4.9003982482882784e-20,-4.880478058927382e-20,-4.860557869566486e-20,-4.840637357088163e-20,-4.820717167727267e-20,-4.800796655248944e-20,-4.780876465888048e-20,-4.760956276527152e-20,-4.741035764048829e-20,-4.7211155746879326e-20,-4.70119506220961e-20,-4.6812748728487135e-20,-4.6613546834878174e-20,-4.6414341710094945e-20,-4.6215139816485983e-20,-4.6015934691702754e-20,-4.581673279809379e-20,-4.561753090448483e-20,-4.54183257797016e-20,-4.521912388609264e-20,-4.501991876130941e-20,-4.482071686770045e-20,-4.462151497409149e-20,-4.442230984930826e-20,-4.4223107955699296e-20,-4.402390283091607e-20,-4.3824700937307106e-20,-4.3625499043698144e-20,-4.3426293918914915e-20,-4.3227092025305953e-20,-4.3027886900522724e-20,-4.282868500691376e-20,-4.26294831133048e-20,-4.243027798852157e-20,-4.223107609491261e-20,-4.203187097012938e-20,-4.183266907652042e-20,-4.163346718291146e-20,-4.143426205812823e-20,-4.1235060164519267e-20,-4.103585503973604e-20,-4.0836653146127076e-20,-4.0637451252518114e-20,-4.0438246127734885e-20,-4.0239044234125923e-20,-4.0039839109342694e-20,-3.984063721573373e-20,-3.964143532212477e-20,-3.944223019734154e-20,-3.924302830373258e-20,-3.904382317894935e-20,-3.884462128534039e-20,-3.864541939173143e-20,-3.84462142669482e-20,-3.8247012373339237e-20,-3.804780724855601e-20,-3.7848605354947046e-20,-3.7649403461338084e-20,-3.7450198336554855e-20,-3.7250996442945893e-20,-3.7051791318162664e-20,-3.68525894245537e-20,-3.665338753094474e-20,-3.645418240616151e-20,-3.625498051255255e-20,-3.605577538776932e-20,-3.585657349416036e-20,-3.56573716005514e-20,-3.545816647576817e-20,-3.5258964582159207e-20,-3.505975945737598e-20,-3.4860557563767016e-20,-3.4661355670158054e-20,-3.4462150545374825e-20,-3.4262948651765863e-20,-3.4063743526982634e-20,-3.386454163337367e-20,-3.366533973976471e-20,-3.346613461498148e-20,-3.326693272137252e-20,-3.306772759658929e-20,-3.286852570298033e-20,-3.266932380937137e-20,-3.247011868458814e-20,-3.2270916790979177e-20,-3.207171166619595e-20,-3.1872509772586986e-20,-3.1673307878978024e-20,-3.1474102754194795e-20,-3.1274900860585833e-20,-3.1075695735802604e-20,-3.087649384219364e-20,-3.067729194858468e-20,-3.047808682380145e-20,-3.027888493019249e-20,-3.007967980540926e-20,-2.98804779118003e-20,-2.968127601819134e-20,-2.948207089340811e-20,-2.9282868999799147e-20,-2.908366387501592e-20,-2.8884461981406956e-20,-2.8685260087797994e-20,-2.8486054963014765e-20,-2.8286853069405804e-20,-2.8087647944622574e-20,-2.788844605101361e-20,-2.768924415740465e-20,-2.749003903262142e-20,-2.729083713901246e-20,-2.7091633629816365e-20,-2.689243012062027e-20,-2.6693226611424174e-20,-2.6494023102228078e-20,-2.6294821208619117e-20,-2.609561769942302e-20,-2.5896414190226926e-20,-2.569721068103083e-20,-2.5498007171834735e-20,-2.5298805278225774e-20,-2.5099601769029678e-20,-2.4900398259833583e-20,-2.4701194750637487e-20,-2.4501991241441392e-20,-2.430278934783243e-20,-2.4103585838636335e-20,-2.390438232944024e-20,-2.3705178820244144e-20,-2.350597531104805e-20,-2.3306773417439087e-20,-2.3107569908242992e-20,-2.2908366399046896e-20,-2.27091628898508e-20,-2.2509959380654705e-20,-2.2310757487045744e-20,-2.2111553977849648e-20,-2.1912350468653553e-20,-2.1713146959457457e-20,-2.1513943450261362e-20,-2.13147415566524e-20,-2.1115538047456305e-20,-2.091633453826021e-20,-2.0717131029064114e-20,-2.051792751986802e-20,-2.0318725626259057e-20,-2.0119522117062962e-20,-1.9920318607866866e-20,-1.972111509867077e-20,-1.9521911589474675e-20,-1.9322709695865714e-20,-1.9123506186669618e-20,-1.8924302677473523e-20,-1.8725099168277427e-20,-1.8525895659081332e-20,-1.832669376547237e-20,-1.8127490256276275e-20,-1.792828674708018e-20,-1.7729083237884084e-20,-1.752987972868799e-20,-1.7330677835079027e-20,-1.7131474325882932e-20,-1.6932270816686836e-20,-1.673306730749074e-20,-1.6533863798294645e-20,-1.6334661904685684e-20,-1.6135458395489588e-20,-1.5936254886293493e-20,-1.5737051377097397e-20,-1.5537847867901302e-20,-1.533864597429234e-20,-1.5139442465096245e-20,-1.494023895590015e-20,-1.4741035446704054e-20,-1.454183193750796e-20,-1.4342630043898997e-20,-1.4143426534702902e-20,-1.3944223025506806e-20,-1.374501951631071e-20,-1.3545816814908182e-20,-1.3346613305712087e-20,-1.3147410604309558e-20,-1.2948207095113463e-20,-1.2749003585917368e-20,-1.2549800884514839e-20,-1.2350597375318744e-20,-1.2151394673916215e-20,-1.195219116472012e-20,-1.1752987655524024e-20,-1.1553784954121496e-20,-1.13545814449254e-20,-1.1155378743522872e-20,-1.0956175234326776e-20,-1.0756971725130681e-20,-1.0557769023728152e-20,-1.0358565514532057e-20,-1.0159362813129529e-20,-9.960159303933433e-21,-9.760955794737338e-21,-9.561753093334809e-21,-9.362549584138714e-21,-9.163346882736185e-21,-8.96414337354009e-21,-8.764939864343994e-21,-8.565737162941466e-21,-8.36653365374537e-21,-8.167330952342842e-21,-7.968127443146746e-21,-7.768923933950651e-21,-7.569721232548123e-21,-7.370517723352027e-21,-7.171315021949499e-21,-6.972111512753403e-21,-6.772908407454091e-21,-6.573705302154779e-21,-6.374501792958684e-21,-6.175298687659372e-21,-5.97609558236006e-21,-5.776892477060748e-21,-5.577689371761436e-21,-5.3784858625653405e-21,-5.1792827572660285e-21,-4.9800796519667165e-21,-4.7808765466674046e-21,-4.5816734413680926e-21,-4.382469932171997e-21,-4.183266826872685e-21,-3.984063721573373e-21,-3.784860616274061e-21,-3.585657510974749e-21,-3.3864542037270456e-21,-3.187250896479342e-21,-2.98804779118003e-21,-2.788844685880718e-21,-2.5896413786330143e-21,-2.3904382733337023e-21,-2.1912349660859986e-21,-1.9920318607866866e-21,-1.7928287554873746e-21,-1.593625448239671e-21,-1.394422342940359e-21,-1.1952191366668511e-21,-9.960159303933433e-22,-7.968127241198355e-22,-5.976095683334256e-22,-3.9840636205991774e-22,-1.9920318102995887e-22,0],"p":[0,-1.9920318102995887e-22,-3.9840636205991774e-22,-5.976095683334256e-22,-7.968127241198355e-22,-9.960159303933433e-22,-1.1952191366668511e-21,-1.394422342940359e-21,-1.593625448239671e-21,-1.7928287554873746e-21,-1.9920318607866866e-21,-2.1912349660859986e-21,-2.3904382733337023e-21,-2.5896413786330143e-21,-2.788844685880718e-21,-2.98804779118003e-21,-3.187250896479342e-21,-3.3864542037270456e-21,-3.585657510974749e-21,-3.784860616274061e-21,-3.984063721573373e-21,-4.183266826872685e-21,-4.382469932171997e-21,-4.5816734413680926e-21,-4.7808765466674046e-21,-4.9800796519667165e-21,-5.1792827572660285e-21,-5.3784858625653405e-21,-5.577689371761436e-21,-5.776892477060748e-21,-5.97609558236006e-21,-6.175298687659372e-21,-6.374501792958684e-21,-6.573705302154779e-21,-6.772908407454091e-21,-6.972111512753403e-21,-7.171315021949499e-21,-7.370517723352027e-21,-7.569721232548123e-21,-7.768923933950651e-21,-7.968127443146746e-21,-8.167330952342842e-21,-8.36653365374537e-21,-8.565737162941466e-21,-8.764939864343994e-21,-8.96414337354009e-21,-9.163346882736185e-21,-9.362549584138714e-21,-9.561753093334809e-21,-9.760955794737338e-21,-9.960159303933433e-21,-1.0159362813129529e-20,-1.0358565514532057e-20,-1.0557769023728152e-20,-1.0756971725130681e-20,-1.0956175234326776e-20,-1.1155378743522872e-20,-1.13545814449254e-20,-1.1553784954121496e-20,-1.1752987655524024e-20,-1.195219116472012e-20,-1.2151394673916215e-20,-1.2350597375318744e-20,-1.2549800884514839e-20,-1.2749003585917368e-20,-1.2948207095113463e-20,-1.3147410604309558e-20,-1.3346613305712087e-20,-1.3545816814908182e-20,-1.374501951631071e-20,-1.3944223025506806e-20,-1.4143426534702902e-20,-1.4342630043898997e-20,-1.454183193750796e-20,-1.4741035446704054e-20,-1.494023895590015e-20,-1.5139442465096245e-20,-1.533864597429234e-20,-1.5537847867901302e-20,-1.5737051377097397e-20,-1.5936254886293493e-20,-1.6135458395489588e-20,-1.6334661904685684e-20,-1.6533863798294645e-20,-1.673306730749074e-20,-1.6932270816686836e-20,-1.7131474325882932e-20,-1.7330677835079027e-20,-1.752987972868799e-20,-1.7729083237884084e-20,-1.792828674708018e-20,-1.8127490256276275e-20,-1.832669376547237e-20,-1.8525895659081332e-20,-1.8725099168277427e-20,-1.8924302677473523e-20,-1.9123506186669618e-20,-1.9322709695865714e-20,-1.9521911589474675e-20,-1.972111509867077e-20,-1.9920318607866866e-20,-2.0119522117062962e-20,-2.0318725626259057e-20,-2.051792751986802e-20,-2.0717131029064114e-20,-2.091633453826021e-20,-2.1115538047456305e-20,-2.13147415566524e-20,-2.1513943450261362e-20,-2.1713146959457457e-20,-2.1912350468653553e-20,-2.2111553977849648e-20,-2.2310757487045744e-20,-2.2509959380654705e-20,-2.27091628898508e-20,-2.2908366399046896e-20,-2.3107569908242992e-20,-2.3306773417439087e-20,-2.350597531104805e-20,-2.3705178820244144e-20,-2.390438232944024e-20,-2.4103585838636335e-20,-2.430278934783243e-20,-2.4501991241441392e-20,-2.4701194750637487e-20,-2.4900398259833583e-20,-2.5099601769029678e-20,-2.5298805278225774e-20,-2.5498007171834735e-20,-2.569721068103083e-20,-2.5896414190226926e-20,-2.609561769942302e-20,-2.6294821208619117e-20,-2.6494023102228078e-20,-2.6693226611424174e-20,-2.689243012062027e-20,-2.7091633629816365e-20,-2.729083713901246e-20,-2.749003903262142e-20,-2.768924415740465e-20,-2.788844605101361e-20,-2.8087647944622574e-20,-2.8286853069405804e-20,-2.8486054963014765e-20,-2.8685260087797994e-20,-2.8884461981406956e-20,-2.908366387501592e-20,-2.9282868999799147e-20,-2.948207089340811e-20,-2.968127601819134e-20,-2.98804779118003e-20,-3.007967980540926e-20,-3.027888493019249e-20,-3.047808682380145e-20,-3.067729194858468e-20,-3.087649384219364e-20,-3.1075695735802604e-20,-3.1274900860585833e-20,-3.1474102754194795e-20,-3.1673307878978024e-20,-3.1872509772586986e-20,-3.207171166619595e-20,-3.2270916790979177e-20,-3.247011868458814e-20,-3.266932380937137e-20,-3.286852570298033e-20,-3.306772759658929e-20,-3.326693272137252e-20,-3.346613461498148e-20,-3.366533973976471e-20,-3.386454163337367e-20,-3.4063743526982634e-20,-3.4262948651765863e-20,-3.4462150545374825e-20,-3.4661355670158054e-20,-3.4860557563767016e-20,-3.505975945737598e-20,-3.5258964582159207e-20,-3.545816647576817e-20,-3.56573716005514e-20,-3.585657349416036e-20,-3.605577538776932e-20,-3.625498051255255e-20,-3.645418240616151e-20,-3.665338753094474e-20,-3.68525894245537e-20,-3.7051791318162664e-20,-3.7250996442945893e-20,-3.7450198336554855e-20,-3.7649403461338084e-20,-3.7848605354947046e-20,-3.804780724855601e-20,-3.8247012373339237e-20,-3.84462142669482e-20,-3.864541939173143e-20,-3.884462128534039e-20,-3.904382317894935e-20,-3.924302830373258e-20,-3.944223019734154e-20,-3.964143532212477e-20,-3.984063721573373e-20,-4.0039839109342694e-20,-4.0239044234125923e-20,-4.0438246127734885e-20,-4.0637451252518114e-20,-4.0836653146127076e-20,-4.103585503973604e-20,-4.1235060164519267e-20,-4.143426205812823e-20,-4.163346718291146e-20,-4.183266907652042e-20,-4.203187097012938e-20,-4.223107609491261e-20,-4.243027798852157e-20,-4.26294831133048e-20,-4.282868500691376e-20,-4.3027886900522724e-20,-4.3227092025305953e-20,-4.3426293918914915e-20,-4.3625499043698144e-20,-4.3824700937307106e-20,-4.402390283091607e-20,-4.4223107955699296e-20,-4.442230984930826e-20,-4.462151497409149e-20,-4.482071686770045e-20,-4.501991876130941e-20,-4.521912388609264e-20,-4.54183257797016e-20,-4.561753090448483e-20,-4.581673279809379e-20,-4.6015934691702754e-20,-4.6215139816485983e-20,-4.6414341710094945e-20,-4.6613546834878174e-20,-4.6812748728487135e-20,-4.70119506220961e-20,-4.7211155746879326e-20,-4.741035764048829e-20,-4.760956276527152e-20,-4.780876465888048e-20,-4.800796655248944e-20,-4.820717167727267e-20,-4.840637357088163e-20,-4.860557869566486e-20,-4.880478058927382e-20,-4.9003982482882784e-20,-4.920318760766601e-20,-4.9402389501274975e-20,-4.9601594626058204e-20,-4.9800796519667165e-20,-4.9999998413276127e-20,-5.0199203538059356e-20,-5.039840543166832e-20,-5.059761055645155e-20,-5.079681245006051e-20,-5.099601434366947e-20,-5.11952194684527e-20,-5.139442136206166e-20,-5.159362648684489e-20,-5.179282838045385e-20,-5.1992030274062814e-20,-5.219123539884604e-20,-5.2390437292455004e-20,-5.2589642417238234e-20,-5.2788844310847195e-20,-5.2988046204456157e-20,-5.3187251329239386e-20,-5.338645322284835e-20,-5.358565834763158e-20,-5.378486024124054e-20,-5.39840621348495e-20,-5.418326725963273e-20,-5.438247238441596e-20,-5.458167427802492e-20,-5.478087617163388e-20,-5.498007806524284e-20,-5.51792799588518e-20,-5.53784883148093e-20,-5.557769020841826e-20,-5.577689210202723e-20,-5.597609399563619e-20,-5.617529588924515e-20,-5.637450424520265e-20,-5.657370613881161e-20,-5.677290803242057e-20,-5.697210992602953e-20,-5.717131181963849e-20,-5.737052017559599e-20,-5.756972206920495e-20,-5.776892396281391e-20,-5.796812585642287e-20,-5.816732775003183e-20,-5.836653610598933e-20,-5.856573799959829e-20,-5.876493989320726e-20,-5.896414178681622e-20,-5.916334368042518e-20,-5.936255203638268e-20,-5.956175392999164e-20,-5.97609558236006e-20,-5.996015771720956e-20,-6.015935961081852e-20,-6.035856796677602e-20,-6.055776986038498e-20,-6.075697175399394e-20,-6.09561736476029e-20,-6.115537554121186e-20,-6.135458389716936e-20,-6.155378579077832e-20,-6.175298768438729e-20,-6.195218957799625e-20,-6.215139147160521e-20,-6.23505998275627e-20,-6.254980172117167e-20,-6.274900361478063e-20,-6.294820550838959e-20,-6.314740740199855e-20,-6.334661575795605e-20,-6.354581765156501e-20,-6.374501954517397e-20,-6.394422143878293e-20,-6.41434233323919e-20,-6.434263168834939e-20,-6.454183358195835e-20,-6.474103547556732e-20,-6.494023736917628e-20,-6.513943926278524e-20,-6.533864761874274e-20,-6.55378495123517e-20,-6.573705140596066e-20,-6.593625329956962e-20,-6.613545519317858e-20,-6.633466354913608e-20,-6.653386544274504e-20,-6.6733067336354e-20,-6.693226922996296e-20,-6.713147112357192e-20,-6.733067947952942e-20,-6.752988137313838e-20,-6.772908326674734e-20,-6.792828516035631e-20,-6.812748705396527e-20,-6.832669540992277e-20,-6.852589730353173e-20,-6.872509919714069e-20,-6.892430109074965e-20,-6.912350298435861e-20,-6.932271134031611e-20,-6.952191323392507e-20,-6.972111512753403e-20,-6.992031702114299e-20,-7.011951891475195e-20,-7.031872727070945e-20,-7.051792916431841e-20,-7.071713105792737e-20,-7.091633295153634e-20,-7.11155348451453e-20,-7.13147432011028e-20,-7.151394509471176e-20,-7.171314698832072e-20,-7.191234888192968e-20,-7.211155077553864e-20,-7.231075913149614e-20,-7.25099610251051e-20,-7.270916291871406e-20,-7.290836481232302e-20,-7.310756670593198e-20,-7.330677506188948e-20,-7.350597695549844e-20,-7.37051788491074e-20,-7.390438074271637e-20,-7.410358263632533e-20,-7.430279099228283e-20,-7.450199288589179e-20,-7.470119477950075e-20,-7.490039667310971e-20,-7.509959856671867e-20,-7.529880692267617e-20,-7.549800881628513e-20,-7.569721070989409e-20,-7.589641260350305e-20,-7.609561449711201e-20,-7.629482285306951e-20,-7.649402474667847e-20,-7.669322664028743e-20,-7.68924285338964e-20,-7.709163042750536e-20,-7.729083878346285e-20,-7.749004067707182e-20,-7.768924257068078e-20,-7.788844446428974e-20,-7.80876463578987e-20,-7.82868547138562e-20,-7.848605660746516e-20,-7.868525850107412e-20,-7.888446039468308e-20,-7.908366228829204e-20,-7.928287064424954e-20,-7.94820725378585e-20,-7.968127443146746e-20,-7.988047632507643e-20,-8.007967821868539e-20,-8.027888657464288e-20,-8.047808846825185e-20,-8.067729036186081e-20,-8.087649225546977e-20,-8.107569414907873e-20,-8.127490250503623e-20,-8.147410439864519e-20,-8.167330629225415e-20,-8.187250818586311e-20,-8.207171007947207e-20,-8.227091843542957e-20,-8.247012032903853e-20,-8.26693222226475e-20,-8.286852411625646e-20,-8.306772600986542e-20,-8.326693436582291e-20,-8.346613625943188e-20,-8.366533815304084e-20,-8.38645400466498e-20,-8.406374194025876e-20,-8.426295029621626e-20,-8.446215218982522e-20,-8.466135408343418e-20,-8.486055597704314e-20,-8.50597578706521e-20,-8.52589662266096e-20,-8.545816812021856e-20,-8.565737001382752e-20,-8.585657190743649e-20,-8.605577380104545e-20,-8.625498215700294e-20,-8.645418405061191e-20,-8.665338594422087e-20,-8.685258783782983e-20,-8.705178973143879e-20,-8.725099808739629e-20,-8.745019998100525e-20,-8.764940187461421e-20,-8.784860376822317e-20,-8.804780566183213e-20,-8.824701401778963e-20,-8.844621591139859e-20,-8.864541780500755e-20,-8.884461969861652e-20,-8.904382159222548e-20,-8.924302994818297e-20,-8.944223184179194e-20,-8.96414337354009e-20,-8.984063562900986e-20,-9.003983752261882e-20,-9.023904587857632e-20,-9.043824777218528e-20,-9.063744966579424e-20,-9.08366515594032e-20,-9.103585345301216e-20,-9.123506180896966e-20,-9.143426370257862e-20,-9.163346559618758e-20,-9.183266748979655e-20,-9.203186938340551e-20,-9.2231077739363e-20,-9.243027963297197e-20,-9.262948152658093e-20,-9.282868342018989e-20,-9.302788531379885e-20,-9.322709366975635e-20,-9.342629556336531e-20,-9.362549745697427e-20,-9.382469935058323e-20,-9.40239012441922e-20,-9.422310960014969e-20,-9.442231149375865e-20,-9.462151338736761e-20,-9.482071528097658e-20,-9.501991717458554e-20,-9.521912553054303e-20,-9.5418327424152e-20,-9.561752931776096e-20,-9.581673121136992e-20,-9.601593310497888e-20,-9.621514146093638e-20,-9.641434335454534e-20,-9.66135452481543e-20,-9.681274714176326e-20,-9.701194903537222e-20,-9.721115739132972e-20,-9.741035928493868e-20,-9.760956117854764e-20,-9.78087630721566e-20,-9.800796496576557e-20,-9.820717332172306e-20,-9.840637521533203e-20,-9.860557710894099e-20,-9.880477900254995e-20,-9.900398089615891e-20,-9.920318925211641e-20,-9.940239114572537e-20,-9.960159303933433e-20,-9.980079493294329e-20,-9.999999682655225e-20],"expected":[0,-3.923635700109488e-44,-1.5834672646870433e-43,-3.5733110840282835e-43,-6.347882043391421e-43,-9.921193127419705e-43,-1.4279231351469886e-42,-1.945002268482846e-42,-2.5391528173565685e-42,-3.2145786771611304e-42,-3.968477250967882e-42,-4.800848538776823e-42,-5.714495137516604e-42,-6.706614450258575e-42,-7.777206477002735e-42,-8.929073814677734e-42,-1.0158012567890599e-41,-1.1468226632034303e-41,-1.2856913410180197e-41,-1.4325474200792605e-41,-1.5872507705407203e-41,-1.7499415222488316e-41,-1.9206196752035943e-41,-2.099145099558576e-41,-2.285657925160209e-41,-2.4801581520084937e-41,-2.6825056502569973e-41,-2.8928405497521524e-41,-3.1110227206475264e-41,-3.337192292789552e-41,-3.571349266178229e-41,-3.813493640813557e-41,-4.0634852868491045e-41,-4.321324204284871e-41,-4.587290652813721e-41,-4.860964242896358e-41,-5.142765364072079e-41,-5.432413756648018e-41,-5.730049550470609e-41,-6.035672745539852e-41,-6.349143212009314e-41,-6.670460949878994e-41,-6.999906218841759e-41,-7.337198759204742e-41,-7.682478700814377e-41,-8.035605913824231e-41,-8.396720528080736e-41,-8.765682413737461e-41,-9.142771830487269e-41,-9.527568388790864e-41,-9.920492478187542e-41,-1.032126383898444e-40,-1.073002260102799e-40,-1.1146628634471757e-40,-1.1571222069162177e-40,-1.2003802905099248e-40,-1.2444231012436538e-40,-1.289264652102048e-40,-1.3349049430851072e-40,-1.3813299612081884e-40,-1.4285537194559348e-40,-1.476562204843703e-40,-1.5253694303561364e-40,-1.574975395993235e-40,-1.6253660887703553e-40,-1.6765555216721409e-40,-1.7285436946985916e-40,-1.7813165948650642e-40,-1.834888235156202e-40,-1.889258615572005e-40,-1.9444137231278297e-40,-2.0003675708083196e-40,-2.0571061456288315e-40,-2.1146434605740084e-40,-2.1729795156438506e-40,-2.232114310838358e-40,-2.292033833172887e-40,-2.352738082647438e-40,-2.4142410722466543e-40,-2.4765428019705357e-40,-2.5396432718190822e-40,-2.6035284688076506e-40,-2.668212405920884e-40,-2.7336810701741396e-40,-2.7999484745520602e-40,-2.867014619054646e-40,-2.934879503681897e-40,-3.0035291154491697e-40,-3.0729634543564643e-40,-3.1432105463730674e-40,-3.214228352545049e-40,-3.2860589118263393e-40,-3.3586741982476513e-40,-3.4320882247936285e-40,-3.5062869784796275e-40,-3.581298485274935e-40,-3.657080706225621e-40,-3.733675680285616e-40,-3.811055381485632e-40,-3.88921980982567e-40,-3.968196991275017e-40,-4.047944886879742e-40,-4.128505535593776e-40,-4.209850911447832e-40,-4.2919950274265525e-40,-4.374923870545295e-40,-4.458665466773346e-40,-4.543177777156776e-40,-4.628502840649514e-40,-4.714612631282274e-40,-4.801507149055056e-40,-4.889214419937146e-40,-4.977692404974615e-40,-5.0669831431213925e-40,-5.157058608408192e-40,-5.247932813819656e-40,-5.3395917463711425e-40,-5.432063432031937e-40,-5.5253058318481105e-40,-5.619360984773592e-40,-5.714200864839096e-40,-5.809825472044621e-40,-5.906248819374812e-40,-6.003470906829668e-40,-6.101491734409189e-40,-6.200297289128732e-40,-6.29990158397294e-40,-6.4002906059571695e-40,-6.5014783680660645e-40,-6.603464870299625e-40,-6.706236099673207e-40,-6.809806069171454e-40,-6.914174778794366e-40,-7.019328215557301e-40,-7.1252803924449e-40,-7.232031309457165e-40,-7.339566953609451e-40,-7.447901337886403e-40,-7.557020449303376e-40,-7.666938300845015e-40,-7.777654892511319e-40,-7.889156211317644e-40,-8.001456270248635e-40,-8.114555069304291e-40,-8.228438595499969e-40,-8.343120861820312e-40,-8.45860186826532e-40,-8.57486760185035e-40,-8.691918062575402e-40,-8.809781276409763e-40,-8.928429217384145e-40,-9.047875898483192e-40,-9.168107306722262e-40,-9.289137455085996e-40,-9.410966343574396e-40,-9.533579959202817e-40,-9.656992314955904e-40,-9.781189397849012e-40,-9.906185220866786e-40,-1.0031979784009225e-39,-1.0158573087276329e-39,-1.0285951117683455e-39,-1.0414113875230603e-39,-1.0543089385887059e-39,-1.0672849623683537e-39,-1.0803394588620037e-39,-1.0934752306665845e-39,-1.1066894751851675e-39,-1.1199821924177527e-39,-1.1333547836628045e-39,-1.1468072489203227e-39,-1.1603381868918432e-39,-1.1739489988758301e-39,-1.1876396848722836e-39,-1.2014102448812035e-39,-1.2152578763056614e-39,-1.22918678304105e-39,-1.243194162490441e-39,-1.2572814159522983e-39,-1.2714485434266222e-39,-1.2856941436149483e-39,-1.3000196178157409e-39,-1.3144235647305357e-39,-1.328907385657797e-39,-1.3434710805975248e-39,-1.3581132482512549e-39,-1.3728352899174514e-39,-1.3876372055961144e-39,-1.4025175939887797e-39,-1.4174778563939114e-39,-1.4325165915130453e-39,-1.4476352006446458e-39,-1.4628336837887128e-39,-1.4781120409452462e-39,-1.493468870815782e-39,-1.5089041734003198e-39,-1.5244207512957885e-39,-1.5400158019052594e-39,-1.5556893252287324e-39,-1.571442722564672e-39,-1.587275993913078e-39,-1.595212948415014e-39,-1.5710867927547335e-39,-1.5466425423430514e-39,-1.5218801971799676e-39,-1.4968011585639463e-39,-1.4714054264949877e-39,-1.4456915996746273e-39,-1.4196596781028651e-39,-1.3933110630781656e-39,-1.3666443533020643e-39,-1.3396609500730257e-39,-1.3123594520925853e-39,-1.2847412606592074e-39,-1.2568049744744279e-39,-1.228551994836711e-39,-1.1999809204475922e-39,-1.1710931526055361e-39,-1.1418872900120783e-39,-1.1123633326672187e-39,-1.0825226818694217e-39,-1.052363936320223e-39,-1.0218884973180869e-39,-9.91094963564549e-40,-9.599847363580738e-40,-9.285564144001968e-40,-8.968113989893824e-40,-8.647482888271662e-40,-8.323684852120127e-40,-7.996705868454574e-40,-7.666545937275004e-40,-7.33321907156606e-40,-6.996711258343098e-40,-6.6570365105907625e-40,-6.3141808153244095e-40,-5.968158185528682e-40,-5.618954608218938e-40,-5.2665840963798195e-40,-4.911032637026684e-40,-4.5523002301595305e-40,-4.1904149017476465e-40,-3.825334612837102e-40,-3.457087389397183e-40,-3.0856732314278904e-40,-2.711064112959937e-40,-2.333302072947253e-40,-1.952345072435908e-40,-1.5682351503798325e-40,-1.1809302678250963e-40,-7.904584507409861e-41,-3.968196991275017e-41,0,4.0000064664151903e-41,8.031542148277689e-41,1.2095027435126794e-40,1.619018206726964e-40,2.0317146174552658e-40,2.4475779627129417e-40,2.866622255484635e-40,3.2888334827857024e-40,3.714225657600787e-40,4.142784766945246e-40,4.574524823803722e-40,5.0094458281762156e-40,5.447533767078083e-40,5.888788640509325e-40,6.333238474439227e-40,6.78084122991386e-40,7.2316249329025105e-40,7.685589583405178e-40,8.14272116843722e-40,8.60303370098328e-40,9.066527181043356e-40,9.533187595632806e-40,1.0003014944751631e-39,1.0476023241384473e-39,1.0952212485531332e-39,1.1431554651222922e-39,1.1914091777413173e-39,1.2399809851117441e-39,1.288868084636644e-39,1.3380732789129456e-39,1.387596567940649e-39,1.4374379517197541e-39,1.4875960289517966e-39,1.5380707996367765e-39,1.588863665073158e-39,1.6399732239624772e-39,1.6914022789016623e-39,1.7431466259953205e-39,1.7952090678403804e-39,1.847589604436842e-39,1.9002868344862412e-39,1.953302159287042e-39,2.0066355788392445e-39,2.06028429054592e-39,2.1142524983024618e-39,2.1685359982134766e-39,2.2231389941743574e-39,2.2780586835881756e-39,2.3332964677533956e-39,2.388850945371553e-39,2.4447221164426478e-39,2.5009127835636086e-39,2.557420144137507e-39,2.6142441981643425e-39,2.67138634694258e-39,2.7288451891737547e-39,2.7866221261563312e-39,2.8447171578903095e-39,2.9031288830772252e-39,2.961857301717078e-39,3.020903815108333e-39,3.0802684232509896e-39,3.139951126145048e-39,3.199949121193579e-39,3.2602652109935124e-39,3.320899395544847e-39,3.381851674847584e-39,3.443120647603258e-39,3.504706313811869e-39,3.566610074771882e-39,3.628830529184833e-39,3.6913704796476494e-39,3.754225722264939e-39,3.8173990596336304e-39,3.8808904917537236e-39,3.944698617326754e-39,4.0088248376511864e-39,4.0732691527270204e-39,4.1380287599573275e-39,4.2031078632375007e-39,4.268503659970611e-39,4.3342175514551235e-39,4.400248136392573e-39,4.453302697550375e-39,4.479928769671011e-39,4.5066347158041133e-39,4.533420535949682e-39,4.560284828809253e-39,4.587228995681291e-39,4.6142516352673306e-39,4.641354148865837e-39,4.668537937775274e-39,4.695798798100249e-39,4.7231395324376906e-39,4.750558739489134e-39,4.778059221851509e-39,4.8056381769278855e-39,4.833297006016729e-39,4.861034307819574e-39,4.888850082336422e-39,4.9167471321642e-39,4.944724056004445e-39,4.972778051260228e-39,5.000913321826942e-39,5.029125663809193e-39,5.0574192811023757e-39,5.0857927724080246e-39,5.1142447364276756e-39,5.142775173161329e-39,5.171385483907449e-39,5.200075668666035e-39,5.228845727437088e-39,5.257694258922143e-39,5.2866226644196644e-39,5.315629542631188e-39,5.344716294855178e-39,5.373882921091635e-39,5.403128020042094e-39,5.4324529930050194e-39,5.4618578399804114e-39,5.4913411596698055e-39,5.520904353371666e-39,5.5505474210859934e-39,5.580268961514323e-39,5.610068974656654e-39,5.639950263109917e-39,5.669910024277181e-39,5.6999496594569124e-39,5.730067767350646e-39,5.7602657492568455e-39,5.7905422038770475e-39,5.8208999338081803e-39,5.8513361364533154e-39,5.881850811812453e-39,5.912445361184056e-39,5.943119784568127e-39,5.973874081964663e-39,6.004706852075202e-39,6.035618094899743e-39,6.066609211736751e-39,6.097680202586225e-39,6.128831067448166e-39,6.160060405024109e-39,6.191369616612518e-39,6.222758702213394e-39,6.254226260528272e-39,6.285773692855617e-39,6.317399597896964e-39,6.349105376950777e-39,6.380891030017057e-39,6.412755155797339e-39,6.444699155590087e-39,6.476723029395302e-39,6.50882537591452e-39,6.541007596446203e-39,6.573268289691889e-39,6.605610258248506e-39,6.638029298220661e-39,6.670529613503746e-39,6.70310700020237e-39,6.735765662211924e-39,6.768504198233944e-39,6.801321206969967e-39,6.834216688419992e-39,6.867192043882484e-39,6.900247273357442e-39,6.933382376844867e-39,6.966595953046293e-39,6.999889403260187e-39,7.033261326188082e-39,7.066713123128444e-39,7.100244794081273e-39,7.133854937748104e-39,7.167544955427401e-39,7.2013134458207e-39,7.235161810226466e-39,7.269091449943163e-39,7.303098161075398e-39,7.337184746220099e-39,7.371351205377267e-39,7.405596137248437e-39,7.439922344430537e-39,7.474325623028176e-39,7.508808775638281e-39,7.543371802260853e-39,7.57801470289589e-39,7.612736076244931e-39,7.647537323606438e-39,7.682417043681947e-39,7.717376637769922e-39,7.752416105870364e-39,7.787535447983273e-39,7.822733262810184e-39,7.858009550351097e-39,7.89336711320294e-39,7.928801747470322e-39,7.964319058347099e-39,7.999913440639414e-39,8.03558629564573e-39,8.071340425962978e-39,8.107173028994228e-39,8.143085506037944e-39,8.179076455795663e-39,8.215147279565848e-39,8.251296576050036e-39,8.287527147845154e-39,8.323836192354274e-39,8.360225110875861e-39,8.39669250211145e-39,8.433238366061041e-39,8.469865505321563e-39,8.506571117296087e-39,8.543356603283078e-39,8.580220561984071e-39,8.61716439469753e-39,8.654188101423457e-39,8.691291682161849e-39,8.72847233431578e-39,8.765734261780641e-39,8.803074661959504e-39,8.84049353485237e-39,8.877993683056166e-39,8.915572303973965e-39,8.95323079890423e-39,8.990967766548497e-39,9.028784608205231e-39,9.066681323874431e-39,9.104656512257634e-39,9.142711574653303e-39,9.180846511061439e-39,9.219059920183576e-39,9.25735320331818e-39,9.295724959166787e-39,9.33417658902786e-39,9.3727080929014e-39,9.411318069488941e-39,9.450009321387414e-39,9.488777644701424e-39,9.527625842027901e-39,9.566553913366844e-39,9.605561858718254e-39,9.644648276783667e-39,9.683814568861545e-39,9.723059333653426e-39,9.762383972457773e-39,9.801788485274587e-39,9.841272872103868e-39,9.88083573164715e-39,9.920477063904435e-39,9.960198270174186e-39,9.999999350456404e-39]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_positive.json b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_positive.json new file mode 100644 index 000000000000..ce07bde5b87d --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/fixtures/julia/tiny_positive.json @@ -0,0 +1 @@ +{"x":[0,3.9840636205991774e-22,7.968127241198355e-22,1.1952191366668511e-21,1.593625448239671e-21,1.9920318607866866e-21,2.3904382733337023e-21,2.788844685880718e-21,3.187250896479342e-21,3.585657510974749e-21,3.984063721573373e-21,4.382469932171997e-21,4.7808765466674046e-21,5.1792827572660285e-21,5.577689371761436e-21,5.97609558236006e-21,6.374501792958684e-21,6.772908407454091e-21,7.171315021949499e-21,7.569721232548123e-21,7.968127443146746e-21,8.36653365374537e-21,8.764939864343994e-21,9.163346882736185e-21,9.561753093334809e-21,9.960159303933433e-21,1.0358565514532057e-20,1.0756971725130681e-20,1.1155378743522872e-20,1.1553784954121496e-20,1.195219116472012e-20,1.2350597375318744e-20,1.2749003585917368e-20,1.3147410604309558e-20,1.3545816814908182e-20,1.3944223025506806e-20,1.4342630043898997e-20,1.4741035446704054e-20,1.5139442465096245e-20,1.5537847867901302e-20,1.5936254886293493e-20,1.6334661904685684e-20,1.673306730749074e-20,1.7131474325882932e-20,1.752987972868799e-20,1.792828674708018e-20,1.832669376547237e-20,1.8725099168277427e-20,1.9123506186669618e-20,1.9521911589474675e-20,1.9920318607866866e-20,2.0318725626259057e-20,2.0717131029064114e-20,2.1115538047456305e-20,2.1513943450261362e-20,2.1912350468653553e-20,2.2310757487045744e-20,2.27091628898508e-20,2.3107569908242992e-20,2.350597531104805e-20,2.390438232944024e-20,2.430278934783243e-20,2.4701194750637487e-20,2.5099601769029678e-20,2.5498007171834735e-20,2.5896414190226926e-20,2.6294821208619117e-20,2.6693226611424174e-20,2.7091633629816365e-20,2.749003903262142e-20,2.788844605101361e-20,2.8286853069405804e-20,2.8685260087797994e-20,2.908366387501592e-20,2.948207089340811e-20,2.98804779118003e-20,3.027888493019249e-20,3.067729194858468e-20,3.1075695735802604e-20,3.1474102754194795e-20,3.1872509772586986e-20,3.2270916790979177e-20,3.266932380937137e-20,3.306772759658929e-20,3.346613461498148e-20,3.386454163337367e-20,3.4262948651765863e-20,3.4661355670158054e-20,3.505975945737598e-20,3.545816647576817e-20,3.585657349416036e-20,3.625498051255255e-20,3.665338753094474e-20,3.7051791318162664e-20,3.7450198336554855e-20,3.7848605354947046e-20,3.8247012373339237e-20,3.864541939173143e-20,3.904382317894935e-20,3.944223019734154e-20,3.984063721573373e-20,4.0239044234125923e-20,4.0637451252518114e-20,4.103585503973604e-20,4.143426205812823e-20,4.183266907652042e-20,4.223107609491261e-20,4.26294831133048e-20,4.3027886900522724e-20,4.3426293918914915e-20,4.3824700937307106e-20,4.4223107955699296e-20,4.462151497409149e-20,4.501991876130941e-20,4.54183257797016e-20,4.581673279809379e-20,4.6215139816485983e-20,4.6613546834878174e-20,4.70119506220961e-20,4.741035764048829e-20,4.780876465888048e-20,4.820717167727267e-20,4.860557869566486e-20,4.9003982482882784e-20,4.9402389501274975e-20,4.9800796519667165e-20,5.0199203538059356e-20,5.059761055645155e-20,5.099601434366947e-20,5.139442136206166e-20,5.179282838045385e-20,5.219123539884604e-20,5.2589642417238234e-20,5.2988046204456157e-20,5.338645322284835e-20,5.378486024124054e-20,5.418326725963273e-20,5.458167427802492e-20,5.498007806524284e-20,5.53784883148093e-20,5.577689210202723e-20,5.617529588924515e-20,5.657370613881161e-20,5.697210992602953e-20,5.737052017559599e-20,5.776892396281391e-20,5.816732775003183e-20,5.856573799959829e-20,5.896414178681622e-20,5.936255203638268e-20,5.97609558236006e-20,6.015935961081852e-20,6.055776986038498e-20,6.09561736476029e-20,6.135458389716936e-20,6.175298768438729e-20,6.215139147160521e-20,6.254980172117167e-20,6.294820550838959e-20,6.334661575795605e-20,6.374501954517397e-20,6.41434233323919e-20,6.454183358195835e-20,6.494023736917628e-20,6.533864761874274e-20,6.573705140596066e-20,6.613545519317858e-20,6.653386544274504e-20,6.693226922996296e-20,6.733067947952942e-20,6.772908326674734e-20,6.812748705396527e-20,6.852589730353173e-20,6.892430109074965e-20,6.932271134031611e-20,6.972111512753403e-20,7.011951891475195e-20,7.051792916431841e-20,7.091633295153634e-20,7.13147432011028e-20,7.171314698832072e-20,7.211155077553864e-20,7.25099610251051e-20,7.290836481232302e-20,7.330677506188948e-20,7.37051788491074e-20,7.410358263632533e-20,7.450199288589179e-20,7.490039667310971e-20,7.529880692267617e-20,7.569721070989409e-20,7.609561449711201e-20,7.649402474667847e-20,7.68924285338964e-20,7.729083878346285e-20,7.768924257068078e-20,7.80876463578987e-20,7.848605660746516e-20,7.888446039468308e-20,7.928287064424954e-20,7.968127443146746e-20,8.007967821868539e-20,8.047808846825185e-20,8.087649225546977e-20,8.127490250503623e-20,8.167330629225415e-20,8.207171007947207e-20,8.247012032903853e-20,8.286852411625646e-20,8.326693436582291e-20,8.366533815304084e-20,8.406374194025876e-20,8.446215218982522e-20,8.486055597704314e-20,8.52589662266096e-20,8.565737001382752e-20,8.605577380104545e-20,8.645418405061191e-20,8.685258783782983e-20,8.725099808739629e-20,8.764940187461421e-20,8.804780566183213e-20,8.844621591139859e-20,8.884461969861652e-20,8.924302994818297e-20,8.96414337354009e-20,9.003983752261882e-20,9.043824777218528e-20,9.08366515594032e-20,9.123506180896966e-20,9.163346559618758e-20,9.203186938340551e-20,9.243027963297197e-20,9.282868342018989e-20,9.322709366975635e-20,9.362549745697427e-20,9.40239012441922e-20,9.442231149375865e-20,9.482071528097658e-20,9.521912553054303e-20,9.561752931776096e-20,9.601593310497888e-20,9.641434335454534e-20,9.681274714176326e-20,9.721115739132972e-20,9.760956117854764e-20,9.800796496576557e-20,9.840637521533203e-20,9.880477900254995e-20,9.920318925211641e-20,9.960159303933433e-20,9.999999682655225e-20,1.0039840707611871e-19,1.0079681086333664e-19,1.011952211129031e-19,1.0159362490012102e-19,1.0199202868733894e-19,1.023904389369054e-19,1.0278884272412332e-19,1.0318725297368978e-19,1.035856567609077e-19,1.0398406054812563e-19,1.0438247079769209e-19,1.0478087458491001e-19,1.0517928483447647e-19,1.0557768862169439e-19,1.0597609240891231e-19,1.0637450265847877e-19,1.067729064456967e-19,1.0717131669526315e-19,1.0756972048248108e-19,1.07968124269699e-19,1.0836653451926546e-19,1.0876494476883192e-19,1.0916334855604984e-19,1.0956175234326776e-19,1.0996015613048569e-19,1.103585599177036e-19,1.107569766296186e-19,1.1115538041683653e-19,1.1155378420405445e-19,1.1195218799127237e-19,1.123505917784903e-19,1.127490084904053e-19,1.1314741227762321e-19,1.1354581606484114e-19,1.1394421985205906e-19,1.1434262363927698e-19,1.1474104035119198e-19,1.151394441384099e-19,1.1553784792562782e-19,1.1593625171284575e-19,1.1633465550006367e-19,1.1673307221197866e-19,1.1713147599919659e-19,1.175298797864145e-19,1.1792828357363243e-19,1.1832668736085036e-19,1.1872510407276535e-19,1.1912350785998327e-19,1.195219116472012e-19,1.1992031543441912e-19,1.2031871922163704e-19,1.2071713593355204e-19,1.2111553972076996e-19,1.2151394350798788e-19,1.219123472952058e-19,1.2231075108242373e-19,1.2270916779433872e-19,1.2310757158155665e-19,1.2350597536877457e-19,1.239043791559925e-19,1.2430278294321042e-19,1.247011996551254e-19,1.2509960344234333e-19,1.2549800722956126e-19,1.2589641101677918e-19,1.262948148039971e-19,1.266932315159121e-19,1.2709163530313002e-19,1.2749003909034794e-19,1.2788844287756587e-19,1.282868466647838e-19,1.2868526337669878e-19,1.290836671639167e-19,1.2948207095113463e-19,1.2988047473835255e-19,1.3027887852557048e-19,1.3067729523748547e-19,1.310756990247034e-19,1.3147410281192132e-19,1.3187250659913924e-19,1.3227091038635716e-19,1.3266932709827216e-19,1.3306773088549008e-19,1.33466134672708e-19,1.3386453845992593e-19,1.3426294224714385e-19,1.3466135895905884e-19,1.3505976274627677e-19,1.354581665334947e-19,1.3585657032071261e-19,1.3625497410793054e-19,1.3665339081984553e-19,1.3705179460706345e-19,1.3745019839428138e-19,1.378486021814993e-19,1.3824700596871722e-19,1.3864542268063222e-19,1.3904382646785014e-19,1.3944223025506806e-19,1.3984063404228599e-19,1.402390378295039e-19,1.406374545414189e-19,1.4103585832863683e-19,1.4143426211585475e-19,1.4183266590307267e-19,1.422310696902906e-19,1.426294864022056e-19,1.4302789018942351e-19,1.4342629397664144e-19,1.4382469776385936e-19,1.4422310155107728e-19,1.4462151826299228e-19,1.450199220502102e-19,1.4541832583742812e-19,1.4581672962464605e-19,1.4621513341186397e-19,1.4661355012377896e-19,1.4701195391099689e-19,1.474103576982148e-19,1.4780876148543273e-19,1.4820716527265066e-19,1.4860558198456565e-19,1.4900398577178357e-19,1.494023895590015e-19,1.4980079334621942e-19,1.5019919713343734e-19,1.5059761384535234e-19,1.5099601763257026e-19,1.5139442141978818e-19,1.517928252070061e-19,1.5219122899422403e-19,1.5258964570613902e-19,1.5298804949335695e-19,1.5338645328057487e-19,1.537848570677928e-19,1.5418326085501072e-19,1.545816775669257e-19,1.5498008135414363e-19,1.5537848514136156e-19,1.5577688892857948e-19,1.561752927157974e-19,1.565737094277124e-19,1.5697211321493032e-19,1.5737051700214824e-19,1.5776892078936617e-19,1.581673245765841e-19,1.5856574128849908e-19,1.58964145075717e-19,1.5936254886293493e-19,1.5976095265015285e-19,1.6015935643737078e-19,1.6055777314928577e-19,1.609561769365037e-19,1.6135458072372162e-19,1.6175298451093954e-19,1.6215138829815746e-19,1.6254980501007246e-19,1.6294820879729038e-19,1.633466125845083e-19,1.6374501637172623e-19,1.6414342015894415e-19,1.6454183687085914e-19,1.6494024065807707e-19,1.65338644445295e-19,1.6573704823251291e-19,1.6613545201973084e-19,1.6653386873164583e-19,1.6693227251886375e-19,1.6733067630608168e-19,1.677290800932996e-19,1.6812748388051752e-19,1.6852590059243252e-19,1.6892430437965044e-19,1.6932270816686836e-19,1.6972111195408629e-19,1.701195157413042e-19,1.705179324532192e-19,1.7091633624043713e-19,1.7131474002765505e-19,1.7171314381487297e-19,1.721115476020909e-19,1.725099643140059e-19,1.7290836810122381e-19,1.7330677188844174e-19,1.7370517567565966e-19,1.7410357946287758e-19,1.7450199617479258e-19,1.749003999620105e-19,1.7529880374922842e-19,1.7569720753644635e-19,1.7609561132366427e-19,1.7649402803557926e-19,1.7689243182279719e-19,1.772908356100151e-19,1.7768923939723303e-19,1.7808764318445096e-19,1.7848605989636595e-19,1.7888446368358387e-19,1.792828674708018e-19,1.7968127125801972e-19,1.8007967504523764e-19,1.8047809175715264e-19,1.8087649554437056e-19,1.8127489933158848e-19,1.816733031188064e-19,1.8207170690602433e-19,1.8247012361793932e-19,1.8286852740515725e-19,1.8326693119237517e-19,1.836653349795931e-19,1.8406373876681101e-19,1.84462155478726e-19,1.8486055926594393e-19,1.8525896305316186e-19,1.8565736684037978e-19,1.860557706275977e-19,1.864541873395127e-19,1.8685259112673062e-19,1.8725099491394854e-19,1.8764939870116646e-19,1.880478024883844e-19,1.8844621920029938e-19,1.888446229875173e-19,1.8924302677473523e-19,1.8964143056195315e-19,1.9003983434917107e-19,1.9043825106108607e-19,1.90836654848304e-19,1.9123505863552192e-19,1.9163346242273984e-19,1.9203186620995776e-19,1.9243028292187276e-19,1.9282868670909068e-19,1.932270904963086e-19,1.9362549428352652e-19,1.9402389807074445e-19,1.9442231478265944e-19,1.9482071856987737e-19,1.952191223570953e-19,1.956175261443132e-19,1.9601592993153113e-19,1.9641434664344613e-19,1.9681275043066405e-19,1.9721115421788197e-19,1.976095580050999e-19,1.9800796179231782e-19,1.9840637850423282e-19,1.9880478229145074e-19,1.9920318607866866e-19,1.9960158986588658e-19,1.999999936531045e-19],"d":[0,9.960159051497943e-23,1.9920318102995887e-22,2.988047841667128e-22,3.9840636205991774e-22,4.980079651966717e-22,5.976095683334256e-22,6.972111714701795e-22,7.968127241198355e-22,8.964143777436873e-22,9.960159303933433e-22,1.0956174830429993e-21,1.1952191366668511e-21,1.2948206893165071e-21,1.394422342940359e-21,1.494023895590015e-21,1.593625448239671e-21,1.6932271018635228e-21,1.7928287554873746e-21,1.8924303081370306e-21,1.9920318607866866e-21,2.0916334134363426e-21,2.1912349660859986e-21,2.2908367206840463e-21,2.3904382733337023e-21,2.4900398259833583e-21,2.5896413786330143e-21,2.6892429312826702e-21,2.788844685880718e-21,2.888446238530374e-21,2.98804779118003e-21,3.087649343829686e-21,3.187250896479342e-21,3.2868526510773896e-21,3.3864542037270456e-21,3.4860557563767016e-21,3.585657510974749e-21,3.6852588616760135e-21,3.784860616274061e-21,3.8844619669753255e-21,3.984063721573373e-21,4.083665476171421e-21,4.183266826872685e-21,4.282868581470733e-21,4.382469932171997e-21,4.482071686770045e-21,4.5816734413680926e-21,4.681274792069357e-21,4.7808765466674046e-21,4.880477897368669e-21,4.9800796519667165e-21,5.079681406564764e-21,5.1792827572660285e-21,5.278884511864076e-21,5.3784858625653405e-21,5.478087617163388e-21,5.577689371761436e-21,5.6772907224627e-21,5.776892477060748e-21,5.876493827762012e-21,5.97609558236006e-21,6.0756973369581076e-21,6.175298687659372e-21,6.2749004422574195e-21,6.374501792958684e-21,6.4741035475567315e-21,6.573705302154779e-21,6.6733066528560435e-21,6.772908407454091e-21,6.872509758155355e-21,6.972111512753403e-21,7.071713267351451e-21,7.171315021949499e-21,7.27091596875398e-21,7.370517723352027e-21,7.470119477950075e-21,7.569721232548123e-21,7.66932298714617e-21,7.768923933950651e-21,7.868525688548699e-21,7.968127443146746e-21,8.067729197744794e-21,8.167330952342842e-21,8.266931899147323e-21,8.36653365374537e-21,8.466135408343418e-21,8.565737162941466e-21,8.665338917539514e-21,8.764939864343994e-21,8.864541618942042e-21,8.96414337354009e-21,9.063745128138137e-21,9.163346882736185e-21,9.262947829540666e-21,9.362549584138714e-21,9.462151338736761e-21,9.561753093334809e-21,9.661354847932857e-21,9.760955794737338e-21,9.860557549335385e-21,9.960159303933433e-21,1.0059761058531481e-20,1.0159362813129529e-20,1.025896375993401e-20,1.0358565514532057e-20,1.0458167269130105e-20,1.0557769023728152e-20,1.06573707783262e-20,1.0756971725130681e-20,1.0856573479728729e-20,1.0956175234326776e-20,1.1055776988924824e-20,1.1155378743522872e-20,1.1254979690327353e-20,1.13545814449254e-20,1.1454183199523448e-20,1.1553784954121496e-20,1.1653386708719543e-20,1.1752987655524024e-20,1.1852589410122072e-20,1.195219116472012e-20,1.2051792919318167e-20,1.2151394673916215e-20,1.2250995620720696e-20,1.2350597375318744e-20,1.2450199129916791e-20,1.2549800884514839e-20,1.2649402639112887e-20,1.2749003585917368e-20,1.2848605340515415e-20,1.2948207095113463e-20,1.304780884971151e-20,1.3147410604309558e-20,1.3247011551114039e-20,1.3346613305712087e-20,1.3446215060310135e-20,1.3545816814908182e-20,1.364541856950623e-20,1.374501951631071e-20,1.3844622078702326e-20,1.3944223025506806e-20,1.4043823972311287e-20,1.4143426534702902e-20,1.4243027481507383e-20,1.4342630043898997e-20,1.4442230990703478e-20,1.454183193750796e-20,1.4641434499899573e-20,1.4741035446704054e-20,1.484063800909567e-20,1.494023895590015e-20,1.503983990270463e-20,1.5139442465096245e-20,1.5239043411900726e-20,1.533864597429234e-20,1.543824692109682e-20,1.5537847867901302e-20,1.5637450430292917e-20,1.5737051377097397e-20,1.5836653939489012e-20,1.5936254886293493e-20,1.6035855833097974e-20,1.6135458395489588e-20,1.623505934229407e-20,1.6334661904685684e-20,1.6434262851490165e-20,1.6533863798294645e-20,1.663346636068626e-20,1.673306730749074e-20,1.6832669869882355e-20,1.6932270816686836e-20,1.7031871763491317e-20,1.7131474325882932e-20,1.7231075272687412e-20,1.7330677835079027e-20,1.7430278781883508e-20,1.752987972868799e-20,1.7629482291079603e-20,1.7729083237884084e-20,1.78286858002757e-20,1.792828674708018e-20,1.802788769388466e-20,1.8127490256276275e-20,1.8227091203080756e-20,1.832669376547237e-20,1.842629471227685e-20,1.8525895659081332e-20,1.8625498221472947e-20,1.8725099168277427e-20,1.8824701730669042e-20,1.8924302677473523e-20,1.9023903624278004e-20,1.9123506186669618e-20,1.92231071334741e-20,1.9322709695865714e-20,1.9422310642670195e-20,1.9521911589474675e-20,1.962151415186629e-20,1.972111509867077e-20,1.9820717661062385e-20,1.9920318607866866e-20,2.0019919554671347e-20,2.0119522117062962e-20,2.0219123063867442e-20,2.0318725626259057e-20,2.0418326573063538e-20,2.051792751986802e-20,2.0617530082259633e-20,2.0717131029064114e-20,2.081673359145573e-20,2.091633453826021e-20,2.101593548506469e-20,2.1115538047456305e-20,2.1215138994260786e-20,2.13147415566524e-20,2.141434250345688e-20,2.1513943450261362e-20,2.1613546012652977e-20,2.1713146959457457e-20,2.1812749521849072e-20,2.1912350468653553e-20,2.2011951415458034e-20,2.2111553977849648e-20,2.221115492465413e-20,2.2310757487045744e-20,2.2410358433850224e-20,2.2509959380654705e-20,2.260956194304632e-20,2.27091628898508e-20,2.2808765452242415e-20,2.2908366399046896e-20,2.3007967345851377e-20,2.3107569908242992e-20,2.3207170855047472e-20,2.3306773417439087e-20,2.3406374364243568e-20,2.350597531104805e-20,2.3605577873439663e-20,2.3705178820244144e-20,2.380478138263576e-20,2.390438232944024e-20,2.400398327624472e-20,2.4103585838636335e-20,2.4203186785440816e-20,2.430278934783243e-20,2.440239029463691e-20,2.4501991241441392e-20,2.4601593803833006e-20,2.4701194750637487e-20,2.4800797313029102e-20,2.4900398259833583e-20,2.4999999206638063e-20,2.5099601769029678e-20,2.519920271583416e-20,2.5298805278225774e-20,2.5398406225030254e-20,2.5498007171834735e-20,2.559760973422635e-20,2.569721068103083e-20,2.5796813243422445e-20,2.5896414190226926e-20,2.5996015137031407e-20,2.609561769942302e-20,2.6195218646227502e-20,2.6294821208619117e-20,2.6394422155423598e-20,2.6494023102228078e-20,2.6593625664619693e-20,2.6693226611424174e-20,2.679282917381579e-20,2.689243012062027e-20,2.699203106742475e-20,2.7091633629816365e-20,2.719123619220798e-20,2.729083713901246e-20,2.739043808581694e-20,2.749003903262142e-20,2.75896399794259e-20,2.768924415740465e-20,2.778884510420913e-20,2.788844605101361e-20,2.7988046997818093e-20,2.8087647944622574e-20,2.818725212260132e-20,2.8286853069405804e-20,2.8386454016210284e-20,2.8486054963014765e-20,2.8585655909819246e-20,2.8685260087797994e-20,2.8784861034602475e-20,2.8884461981406956e-20,2.8984062928211437e-20,2.908366387501592e-20,2.9183268052994666e-20,2.9282868999799147e-20,2.938246994660363e-20,2.948207089340811e-20,2.958167184021259e-20,2.968127601819134e-20,2.978087696499582e-20,2.98804779118003e-20,2.998007885860478e-20,3.007967980540926e-20,3.017928398338801e-20,3.027888493019249e-20,3.037848587699697e-20,3.047808682380145e-20,3.057768777060593e-20,3.067729194858468e-20,3.077689289538916e-20,3.087649384219364e-20,3.0976094788998123e-20,3.1075695735802604e-20,3.117529991378135e-20,3.1274900860585833e-20,3.1374501807390314e-20,3.1474102754194795e-20,3.1573703700999276e-20,3.1673307878978024e-20,3.1772908825782505e-20,3.1872509772586986e-20,3.1972110719391467e-20,3.207171166619595e-20,3.2171315844174696e-20,3.2270916790979177e-20,3.237051773778366e-20,3.247011868458814e-20,3.256971963139262e-20,3.266932380937137e-20,3.276892475617585e-20,3.286852570298033e-20,3.296812664978481e-20,3.306772759658929e-20,3.316733177456804e-20,3.326693272137252e-20,3.3366533668177e-20,3.346613461498148e-20,3.356573556178596e-20,3.366533973976471e-20,3.376494068656919e-20,3.386454163337367e-20,3.3964142580178153e-20,3.4063743526982634e-20,3.416334770496138e-20,3.4262948651765863e-20,3.4362549598570344e-20,3.4462150545374825e-20,3.4561751492179306e-20,3.4661355670158054e-20,3.4760956616962535e-20,3.4860557563767016e-20,3.4960158510571497e-20,3.505975945737598e-20,3.5159363635354726e-20,3.5258964582159207e-20,3.535856552896369e-20,3.545816647576817e-20,3.555776742257265e-20,3.56573716005514e-20,3.575697254735588e-20,3.585657349416036e-20,3.595617444096484e-20,3.605577538776932e-20,3.615537956574807e-20,3.625498051255255e-20,3.635458145935703e-20,3.645418240616151e-20,3.655378335296599e-20,3.665338753094474e-20,3.675298847774922e-20,3.68525894245537e-20,3.6952190371358183e-20,3.7051791318162664e-20,3.715139549614141e-20,3.7250996442945893e-20,3.7350597389750374e-20,3.7450198336554855e-20,3.7549799283359336e-20,3.7649403461338084e-20,3.7749004408142565e-20,3.7848605354947046e-20,3.7948206301751526e-20,3.804780724855601e-20,3.8147411426534756e-20,3.8247012373339237e-20,3.834661332014372e-20,3.84462142669482e-20,3.854581521375268e-20,3.864541939173143e-20,3.874502033853591e-20,3.884462128534039e-20,3.894422223214487e-20,3.904382317894935e-20,3.91434273569281e-20,3.924302830373258e-20,3.934262925053706e-20,3.944223019734154e-20,3.954183114414602e-20,3.964143532212477e-20,3.974103626892925e-20,3.984063721573373e-20,3.9940238162538213e-20,4.0039839109342694e-20,4.013944328732144e-20,4.0239044234125923e-20,4.0338645180930404e-20,4.0438246127734885e-20,4.0537847074539366e-20,4.0637451252518114e-20,4.0737052199322595e-20,4.0836653146127076e-20,4.0936254092931556e-20,4.103585503973604e-20,4.1135459217714786e-20,4.1235060164519267e-20,4.133466111132375e-20,4.143426205812823e-20,4.153386300493271e-20,4.163346718291146e-20,4.173306812971594e-20,4.183266907652042e-20,4.19322700233249e-20,4.203187097012938e-20,4.213147514810813e-20,4.223107609491261e-20,4.233067704171709e-20,4.243027798852157e-20,4.252987893532605e-20,4.26294831133048e-20,4.272908406010928e-20,4.282868500691376e-20,4.2928285953718243e-20,4.3027886900522724e-20,4.312749107850147e-20,4.3227092025305953e-20,4.3326692972110434e-20,4.3426293918914915e-20,4.3525894865719395e-20,4.3625499043698144e-20,4.3725099990502625e-20,4.3824700937307106e-20,4.3924301884111586e-20,4.402390283091607e-20,4.4123507008894816e-20,4.4223107955699296e-20,4.432270890250378e-20,4.442230984930826e-20,4.452191079611274e-20,4.462151497409149e-20,4.472111592089597e-20,4.482071686770045e-20,4.492031781450493e-20,4.501991876130941e-20,4.511952293928816e-20,4.521912388609264e-20,4.531872483289712e-20,4.54183257797016e-20,4.551792672650608e-20,4.561753090448483e-20,4.571713185128931e-20,4.581673279809379e-20,4.591633374489827e-20,4.6015934691702754e-20,4.61155388696815e-20,4.6215139816485983e-20,4.6314740763290464e-20,4.6414341710094945e-20,4.6513942656899425e-20,4.6613546834878174e-20,4.6713147781682655e-20,4.6812748728487135e-20,4.6912349675291616e-20,4.70119506220961e-20,4.7111554800074846e-20,4.7211155746879326e-20,4.731075669368381e-20,4.741035764048829e-20,4.750995858729277e-20,4.760956276527152e-20,4.7709163712076e-20,4.780876465888048e-20,4.790836560568496e-20,4.800796655248944e-20,4.810757073046819e-20,4.820717167727267e-20,4.830677262407715e-20,4.840637357088163e-20,4.850597451768611e-20,4.860557869566486e-20,4.870517964246934e-20,4.880478058927382e-20,4.89043815360783e-20,4.9003982482882784e-20,4.910358666086153e-20,4.920318760766601e-20,4.9302788554470494e-20,4.9402389501274975e-20,4.9501990448079455e-20,4.9601594626058204e-20,4.9701195572862685e-20,4.9800796519667165e-20,4.9900397466471646e-20,4.9999998413276127e-20],"y":[0,1.9920318102995887e-22,3.9840636205991774e-22,5.976095683334256e-22,7.968127241198355e-22,9.960159303933433e-22,1.1952191366668511e-21,1.394422342940359e-21,1.593625448239671e-21,1.7928287554873746e-21,1.9920318607866866e-21,2.1912349660859986e-21,2.3904382733337023e-21,2.5896413786330143e-21,2.788844685880718e-21,2.98804779118003e-21,3.187250896479342e-21,3.3864542037270456e-21,3.585657510974749e-21,3.784860616274061e-21,3.984063721573373e-21,4.183266826872685e-21,4.382469932171997e-21,4.5816734413680926e-21,4.7808765466674046e-21,4.9800796519667165e-21,5.1792827572660285e-21,5.3784858625653405e-21,5.577689371761436e-21,5.776892477060748e-21,5.97609558236006e-21,6.175298687659372e-21,6.374501792958684e-21,6.573705302154779e-21,6.772908407454091e-21,6.972111512753403e-21,7.171315021949499e-21,7.370517723352027e-21,7.569721232548123e-21,7.768923933950651e-21,7.968127443146746e-21,8.167330952342842e-21,8.36653365374537e-21,8.565737162941466e-21,8.764939864343994e-21,8.96414337354009e-21,9.163346882736185e-21,9.362549584138714e-21,9.561753093334809e-21,9.760955794737338e-21,9.960159303933433e-21,1.0159362813129529e-20,1.0358565514532057e-20,1.0557769023728152e-20,1.0756971725130681e-20,1.0956175234326776e-20,1.1155378743522872e-20,1.13545814449254e-20,1.1553784954121496e-20,1.1752987655524024e-20,1.195219116472012e-20,1.2151394673916215e-20,1.2350597375318744e-20,1.2549800884514839e-20,1.2749003585917368e-20,1.2948207095113463e-20,1.3147410604309558e-20,1.3346613305712087e-20,1.3545816814908182e-20,1.374501951631071e-20,1.3944223025506806e-20,1.4143426534702902e-20,1.4342630043898997e-20,1.454183193750796e-20,1.4741035446704054e-20,1.494023895590015e-20,1.5139442465096245e-20,1.533864597429234e-20,1.5537847867901302e-20,1.5737051377097397e-20,1.5936254886293493e-20,1.6135458395489588e-20,1.6334661904685684e-20,1.6533863798294645e-20,1.673306730749074e-20,1.6932270816686836e-20,1.7131474325882932e-20,1.7330677835079027e-20,1.752987972868799e-20,1.7729083237884084e-20,1.792828674708018e-20,1.8127490256276275e-20,1.832669376547237e-20,1.8525895659081332e-20,1.8725099168277427e-20,1.8924302677473523e-20,1.9123506186669618e-20,1.9322709695865714e-20,1.9521911589474675e-20,1.972111509867077e-20,1.9920318607866866e-20,2.0119522117062962e-20,2.0318725626259057e-20,2.051792751986802e-20,2.0717131029064114e-20,2.091633453826021e-20,2.1115538047456305e-20,2.13147415566524e-20,2.1513943450261362e-20,2.1713146959457457e-20,2.1912350468653553e-20,2.2111553977849648e-20,2.2310757487045744e-20,2.2509959380654705e-20,2.27091628898508e-20,2.2908366399046896e-20,2.3107569908242992e-20,2.3306773417439087e-20,2.350597531104805e-20,2.3705178820244144e-20,2.390438232944024e-20,2.4103585838636335e-20,2.430278934783243e-20,2.4501991241441392e-20,2.4701194750637487e-20,2.4900398259833583e-20,2.5099601769029678e-20,2.5298805278225774e-20,2.5498007171834735e-20,2.569721068103083e-20,2.5896414190226926e-20,2.609561769942302e-20,2.6294821208619117e-20,2.6494023102228078e-20,2.6693226611424174e-20,2.689243012062027e-20,2.7091633629816365e-20,2.729083713901246e-20,2.749003903262142e-20,2.768924415740465e-20,2.788844605101361e-20,2.8087647944622574e-20,2.8286853069405804e-20,2.8486054963014765e-20,2.8685260087797994e-20,2.8884461981406956e-20,2.908366387501592e-20,2.9282868999799147e-20,2.948207089340811e-20,2.968127601819134e-20,2.98804779118003e-20,3.007967980540926e-20,3.027888493019249e-20,3.047808682380145e-20,3.067729194858468e-20,3.087649384219364e-20,3.1075695735802604e-20,3.1274900860585833e-20,3.1474102754194795e-20,3.1673307878978024e-20,3.1872509772586986e-20,3.207171166619595e-20,3.2270916790979177e-20,3.247011868458814e-20,3.266932380937137e-20,3.286852570298033e-20,3.306772759658929e-20,3.326693272137252e-20,3.346613461498148e-20,3.366533973976471e-20,3.386454163337367e-20,3.4063743526982634e-20,3.4262948651765863e-20,3.4462150545374825e-20,3.4661355670158054e-20,3.4860557563767016e-20,3.505975945737598e-20,3.5258964582159207e-20,3.545816647576817e-20,3.56573716005514e-20,3.585657349416036e-20,3.605577538776932e-20,3.625498051255255e-20,3.645418240616151e-20,3.665338753094474e-20,3.68525894245537e-20,3.7051791318162664e-20,3.7250996442945893e-20,3.7450198336554855e-20,3.7649403461338084e-20,3.7848605354947046e-20,3.804780724855601e-20,3.8247012373339237e-20,3.84462142669482e-20,3.864541939173143e-20,3.884462128534039e-20,3.904382317894935e-20,3.924302830373258e-20,3.944223019734154e-20,3.964143532212477e-20,3.984063721573373e-20,4.0039839109342694e-20,4.0239044234125923e-20,4.0438246127734885e-20,4.0637451252518114e-20,4.0836653146127076e-20,4.103585503973604e-20,4.1235060164519267e-20,4.143426205812823e-20,4.163346718291146e-20,4.183266907652042e-20,4.203187097012938e-20,4.223107609491261e-20,4.243027798852157e-20,4.26294831133048e-20,4.282868500691376e-20,4.3027886900522724e-20,4.3227092025305953e-20,4.3426293918914915e-20,4.3625499043698144e-20,4.3824700937307106e-20,4.402390283091607e-20,4.4223107955699296e-20,4.442230984930826e-20,4.462151497409149e-20,4.482071686770045e-20,4.501991876130941e-20,4.521912388609264e-20,4.54183257797016e-20,4.561753090448483e-20,4.581673279809379e-20,4.6015934691702754e-20,4.6215139816485983e-20,4.6414341710094945e-20,4.6613546834878174e-20,4.6812748728487135e-20,4.70119506220961e-20,4.7211155746879326e-20,4.741035764048829e-20,4.760956276527152e-20,4.780876465888048e-20,4.800796655248944e-20,4.820717167727267e-20,4.840637357088163e-20,4.860557869566486e-20,4.880478058927382e-20,4.9003982482882784e-20,4.920318760766601e-20,4.9402389501274975e-20,4.9601594626058204e-20,4.9800796519667165e-20,4.9999998413276127e-20,5.0199203538059356e-20,5.039840543166832e-20,5.059761055645155e-20,5.079681245006051e-20,5.099601434366947e-20,5.11952194684527e-20,5.139442136206166e-20,5.159362648684489e-20,5.179282838045385e-20,5.1992030274062814e-20,5.219123539884604e-20,5.2390437292455004e-20,5.2589642417238234e-20,5.2788844310847195e-20,5.2988046204456157e-20,5.3187251329239386e-20,5.338645322284835e-20,5.358565834763158e-20,5.378486024124054e-20,5.39840621348495e-20,5.418326725963273e-20,5.438247238441596e-20,5.458167427802492e-20,5.478087617163388e-20,5.498007806524284e-20,5.51792799588518e-20,5.53784883148093e-20,5.557769020841826e-20,5.577689210202723e-20,5.597609399563619e-20,5.617529588924515e-20,5.637450424520265e-20,5.657370613881161e-20,5.677290803242057e-20,5.697210992602953e-20,5.717131181963849e-20,5.737052017559599e-20,5.756972206920495e-20,5.776892396281391e-20,5.796812585642287e-20,5.816732775003183e-20,5.836653610598933e-20,5.856573799959829e-20,5.876493989320726e-20,5.896414178681622e-20,5.916334368042518e-20,5.936255203638268e-20,5.956175392999164e-20,5.97609558236006e-20,5.996015771720956e-20,6.015935961081852e-20,6.035856796677602e-20,6.055776986038498e-20,6.075697175399394e-20,6.09561736476029e-20,6.115537554121186e-20,6.135458389716936e-20,6.155378579077832e-20,6.175298768438729e-20,6.195218957799625e-20,6.215139147160521e-20,6.23505998275627e-20,6.254980172117167e-20,6.274900361478063e-20,6.294820550838959e-20,6.314740740199855e-20,6.334661575795605e-20,6.354581765156501e-20,6.374501954517397e-20,6.394422143878293e-20,6.41434233323919e-20,6.434263168834939e-20,6.454183358195835e-20,6.474103547556732e-20,6.494023736917628e-20,6.513943926278524e-20,6.533864761874274e-20,6.55378495123517e-20,6.573705140596066e-20,6.593625329956962e-20,6.613545519317858e-20,6.633466354913608e-20,6.653386544274504e-20,6.6733067336354e-20,6.693226922996296e-20,6.713147112357192e-20,6.733067947952942e-20,6.752988137313838e-20,6.772908326674734e-20,6.792828516035631e-20,6.812748705396527e-20,6.832669540992277e-20,6.852589730353173e-20,6.872509919714069e-20,6.892430109074965e-20,6.912350298435861e-20,6.932271134031611e-20,6.952191323392507e-20,6.972111512753403e-20,6.992031702114299e-20,7.011951891475195e-20,7.031872727070945e-20,7.051792916431841e-20,7.071713105792737e-20,7.091633295153634e-20,7.11155348451453e-20,7.13147432011028e-20,7.151394509471176e-20,7.171314698832072e-20,7.191234888192968e-20,7.211155077553864e-20,7.231075913149614e-20,7.25099610251051e-20,7.270916291871406e-20,7.290836481232302e-20,7.310756670593198e-20,7.330677506188948e-20,7.350597695549844e-20,7.37051788491074e-20,7.390438074271637e-20,7.410358263632533e-20,7.430279099228283e-20,7.450199288589179e-20,7.470119477950075e-20,7.490039667310971e-20,7.509959856671867e-20,7.529880692267617e-20,7.549800881628513e-20,7.569721070989409e-20,7.589641260350305e-20,7.609561449711201e-20,7.629482285306951e-20,7.649402474667847e-20,7.669322664028743e-20,7.68924285338964e-20,7.709163042750536e-20,7.729083878346285e-20,7.749004067707182e-20,7.768924257068078e-20,7.788844446428974e-20,7.80876463578987e-20,7.82868547138562e-20,7.848605660746516e-20,7.868525850107412e-20,7.888446039468308e-20,7.908366228829204e-20,7.928287064424954e-20,7.94820725378585e-20,7.968127443146746e-20,7.988047632507643e-20,8.007967821868539e-20,8.027888657464288e-20,8.047808846825185e-20,8.067729036186081e-20,8.087649225546977e-20,8.107569414907873e-20,8.127490250503623e-20,8.147410439864519e-20,8.167330629225415e-20,8.187250818586311e-20,8.207171007947207e-20,8.227091843542957e-20,8.247012032903853e-20,8.26693222226475e-20,8.286852411625646e-20,8.306772600986542e-20,8.326693436582291e-20,8.346613625943188e-20,8.366533815304084e-20,8.38645400466498e-20,8.406374194025876e-20,8.426295029621626e-20,8.446215218982522e-20,8.466135408343418e-20,8.486055597704314e-20,8.50597578706521e-20,8.52589662266096e-20,8.545816812021856e-20,8.565737001382752e-20,8.585657190743649e-20,8.605577380104545e-20,8.625498215700294e-20,8.645418405061191e-20,8.665338594422087e-20,8.685258783782983e-20,8.705178973143879e-20,8.725099808739629e-20,8.745019998100525e-20,8.764940187461421e-20,8.784860376822317e-20,8.804780566183213e-20,8.824701401778963e-20,8.844621591139859e-20,8.864541780500755e-20,8.884461969861652e-20,8.904382159222548e-20,8.924302994818297e-20,8.944223184179194e-20,8.96414337354009e-20,8.984063562900986e-20,9.003983752261882e-20,9.023904587857632e-20,9.043824777218528e-20,9.063744966579424e-20,9.08366515594032e-20,9.103585345301216e-20,9.123506180896966e-20,9.143426370257862e-20,9.163346559618758e-20,9.183266748979655e-20,9.203186938340551e-20,9.2231077739363e-20,9.243027963297197e-20,9.262948152658093e-20,9.282868342018989e-20,9.302788531379885e-20,9.322709366975635e-20,9.342629556336531e-20,9.362549745697427e-20,9.382469935058323e-20,9.40239012441922e-20,9.422310960014969e-20,9.442231149375865e-20,9.462151338736761e-20,9.482071528097658e-20,9.501991717458554e-20,9.521912553054303e-20,9.5418327424152e-20,9.561752931776096e-20,9.581673121136992e-20,9.601593310497888e-20,9.621514146093638e-20,9.641434335454534e-20,9.66135452481543e-20,9.681274714176326e-20,9.701194903537222e-20,9.721115739132972e-20,9.741035928493868e-20,9.760956117854764e-20,9.78087630721566e-20,9.800796496576557e-20,9.820717332172306e-20,9.840637521533203e-20,9.860557710894099e-20,9.880477900254995e-20,9.900398089615891e-20,9.920318925211641e-20,9.940239114572537e-20,9.960159303933433e-20,9.980079493294329e-20,9.999999682655225e-20],"p":[9.999999682655225e-20,9.980079493294329e-20,9.960159303933433e-20,9.940239114572537e-20,9.920318925211641e-20,9.900398089615891e-20,9.880477900254995e-20,9.860557710894099e-20,9.840637521533203e-20,9.820717332172306e-20,9.800796496576557e-20,9.78087630721566e-20,9.760956117854764e-20,9.741035928493868e-20,9.721115739132972e-20,9.701194903537222e-20,9.681274714176326e-20,9.66135452481543e-20,9.641434335454534e-20,9.621514146093638e-20,9.601593310497888e-20,9.581673121136992e-20,9.561752931776096e-20,9.5418327424152e-20,9.521912553054303e-20,9.501991717458554e-20,9.482071528097658e-20,9.462151338736761e-20,9.442231149375865e-20,9.422310960014969e-20,9.40239012441922e-20,9.382469935058323e-20,9.362549745697427e-20,9.342629556336531e-20,9.322709366975635e-20,9.302788531379885e-20,9.282868342018989e-20,9.262948152658093e-20,9.243027963297197e-20,9.2231077739363e-20,9.203186938340551e-20,9.183266748979655e-20,9.163346559618758e-20,9.143426370257862e-20,9.123506180896966e-20,9.103585345301216e-20,9.08366515594032e-20,9.063744966579424e-20,9.043824777218528e-20,9.023904587857632e-20,9.003983752261882e-20,8.984063562900986e-20,8.96414337354009e-20,8.944223184179194e-20,8.924302994818297e-20,8.904382159222548e-20,8.884461969861652e-20,8.864541780500755e-20,8.844621591139859e-20,8.824701401778963e-20,8.804780566183213e-20,8.784860376822317e-20,8.764940187461421e-20,8.745019998100525e-20,8.725099808739629e-20,8.705178973143879e-20,8.685258783782983e-20,8.665338594422087e-20,8.645418405061191e-20,8.625498215700294e-20,8.605577380104545e-20,8.585657190743649e-20,8.565737001382752e-20,8.545816812021856e-20,8.52589662266096e-20,8.50597578706521e-20,8.486055597704314e-20,8.466135408343418e-20,8.446215218982522e-20,8.426295029621626e-20,8.406374194025876e-20,8.38645400466498e-20,8.366533815304084e-20,8.346613625943188e-20,8.326693436582291e-20,8.306772600986542e-20,8.286852411625646e-20,8.26693222226475e-20,8.247012032903853e-20,8.227091843542957e-20,8.207171007947207e-20,8.187250818586311e-20,8.167330629225415e-20,8.147410439864519e-20,8.127490250503623e-20,8.107569414907873e-20,8.087649225546977e-20,8.067729036186081e-20,8.047808846825185e-20,8.027888657464288e-20,8.007967821868539e-20,7.988047632507643e-20,7.968127443146746e-20,7.94820725378585e-20,7.928287064424954e-20,7.908366228829204e-20,7.888446039468308e-20,7.868525850107412e-20,7.848605660746516e-20,7.82868547138562e-20,7.80876463578987e-20,7.788844446428974e-20,7.768924257068078e-20,7.749004067707182e-20,7.729083878346285e-20,7.709163042750536e-20,7.68924285338964e-20,7.669322664028743e-20,7.649402474667847e-20,7.629482285306951e-20,7.609561449711201e-20,7.589641260350305e-20,7.569721070989409e-20,7.549800881628513e-20,7.529880692267617e-20,7.509959856671867e-20,7.490039667310971e-20,7.470119477950075e-20,7.450199288589179e-20,7.430279099228283e-20,7.410358263632533e-20,7.390438074271637e-20,7.37051788491074e-20,7.350597695549844e-20,7.330677506188948e-20,7.310756670593198e-20,7.290836481232302e-20,7.270916291871406e-20,7.25099610251051e-20,7.231075913149614e-20,7.211155077553864e-20,7.191234888192968e-20,7.171314698832072e-20,7.151394509471176e-20,7.13147432011028e-20,7.11155348451453e-20,7.091633295153634e-20,7.071713105792737e-20,7.051792916431841e-20,7.031872727070945e-20,7.011951891475195e-20,6.992031702114299e-20,6.972111512753403e-20,6.952191323392507e-20,6.932271134031611e-20,6.912350298435861e-20,6.892430109074965e-20,6.872509919714069e-20,6.852589730353173e-20,6.832669540992277e-20,6.812748705396527e-20,6.792828516035631e-20,6.772908326674734e-20,6.752988137313838e-20,6.733067947952942e-20,6.713147112357192e-20,6.693226922996296e-20,6.6733067336354e-20,6.653386544274504e-20,6.633466354913608e-20,6.613545519317858e-20,6.593625329956962e-20,6.573705140596066e-20,6.55378495123517e-20,6.533864761874274e-20,6.513943926278524e-20,6.494023736917628e-20,6.474103547556732e-20,6.454183358195835e-20,6.434263168834939e-20,6.41434233323919e-20,6.394422143878293e-20,6.374501954517397e-20,6.354581765156501e-20,6.334661575795605e-20,6.314740740199855e-20,6.294820550838959e-20,6.274900361478063e-20,6.254980172117167e-20,6.23505998275627e-20,6.215139147160521e-20,6.195218957799625e-20,6.175298768438729e-20,6.155378579077832e-20,6.135458389716936e-20,6.115537554121186e-20,6.09561736476029e-20,6.075697175399394e-20,6.055776986038498e-20,6.035856796677602e-20,6.015935961081852e-20,5.996015771720956e-20,5.97609558236006e-20,5.956175392999164e-20,5.936255203638268e-20,5.916334368042518e-20,5.896414178681622e-20,5.876493989320726e-20,5.856573799959829e-20,5.836653610598933e-20,5.816732775003183e-20,5.796812585642287e-20,5.776892396281391e-20,5.756972206920495e-20,5.737052017559599e-20,5.717131181963849e-20,5.697210992602953e-20,5.677290803242057e-20,5.657370613881161e-20,5.637450424520265e-20,5.617529588924515e-20,5.597609399563619e-20,5.577689210202723e-20,5.557769020841826e-20,5.53784883148093e-20,5.51792799588518e-20,5.498007806524284e-20,5.478087617163388e-20,5.458167427802492e-20,5.438247238441596e-20,5.418326725963273e-20,5.39840621348495e-20,5.378486024124054e-20,5.358565834763158e-20,5.338645322284835e-20,5.3187251329239386e-20,5.2988046204456157e-20,5.2788844310847195e-20,5.2589642417238234e-20,5.2390437292455004e-20,5.219123539884604e-20,5.1992030274062814e-20,5.179282838045385e-20,5.159362648684489e-20,5.139442136206166e-20,5.11952194684527e-20,5.099601434366947e-20,5.079681245006051e-20,5.059761055645155e-20,5.039840543166832e-20,5.0199203538059356e-20,4.9999998413276127e-20,4.9800796519667165e-20,4.9601594626058204e-20,4.9402389501274975e-20,4.920318760766601e-20,4.9003982482882784e-20,4.880478058927382e-20,4.860557869566486e-20,4.840637357088163e-20,4.820717167727267e-20,4.800796655248944e-20,4.780876465888048e-20,4.760956276527152e-20,4.741035764048829e-20,4.7211155746879326e-20,4.70119506220961e-20,4.6812748728487135e-20,4.6613546834878174e-20,4.6414341710094945e-20,4.6215139816485983e-20,4.6015934691702754e-20,4.581673279809379e-20,4.561753090448483e-20,4.54183257797016e-20,4.521912388609264e-20,4.501991876130941e-20,4.482071686770045e-20,4.462151497409149e-20,4.442230984930826e-20,4.4223107955699296e-20,4.402390283091607e-20,4.3824700937307106e-20,4.3625499043698144e-20,4.3426293918914915e-20,4.3227092025305953e-20,4.3027886900522724e-20,4.282868500691376e-20,4.26294831133048e-20,4.243027798852157e-20,4.223107609491261e-20,4.203187097012938e-20,4.183266907652042e-20,4.163346718291146e-20,4.143426205812823e-20,4.1235060164519267e-20,4.103585503973604e-20,4.0836653146127076e-20,4.0637451252518114e-20,4.0438246127734885e-20,4.0239044234125923e-20,4.0039839109342694e-20,3.984063721573373e-20,3.964143532212477e-20,3.944223019734154e-20,3.924302830373258e-20,3.904382317894935e-20,3.884462128534039e-20,3.864541939173143e-20,3.84462142669482e-20,3.8247012373339237e-20,3.804780724855601e-20,3.7848605354947046e-20,3.7649403461338084e-20,3.7450198336554855e-20,3.7250996442945893e-20,3.7051791318162664e-20,3.68525894245537e-20,3.665338753094474e-20,3.645418240616151e-20,3.625498051255255e-20,3.605577538776932e-20,3.585657349416036e-20,3.56573716005514e-20,3.545816647576817e-20,3.5258964582159207e-20,3.505975945737598e-20,3.4860557563767016e-20,3.4661355670158054e-20,3.4462150545374825e-20,3.4262948651765863e-20,3.4063743526982634e-20,3.386454163337367e-20,3.366533973976471e-20,3.346613461498148e-20,3.326693272137252e-20,3.306772759658929e-20,3.286852570298033e-20,3.266932380937137e-20,3.247011868458814e-20,3.2270916790979177e-20,3.207171166619595e-20,3.1872509772586986e-20,3.1673307878978024e-20,3.1474102754194795e-20,3.1274900860585833e-20,3.1075695735802604e-20,3.087649384219364e-20,3.067729194858468e-20,3.047808682380145e-20,3.027888493019249e-20,3.007967980540926e-20,2.98804779118003e-20,2.968127601819134e-20,2.948207089340811e-20,2.9282868999799147e-20,2.908366387501592e-20,2.8884461981406956e-20,2.8685260087797994e-20,2.8486054963014765e-20,2.8286853069405804e-20,2.8087647944622574e-20,2.788844605101361e-20,2.768924415740465e-20,2.749003903262142e-20,2.729083713901246e-20,2.7091633629816365e-20,2.689243012062027e-20,2.6693226611424174e-20,2.6494023102228078e-20,2.6294821208619117e-20,2.609561769942302e-20,2.5896414190226926e-20,2.569721068103083e-20,2.5498007171834735e-20,2.5298805278225774e-20,2.5099601769029678e-20,2.4900398259833583e-20,2.4701194750637487e-20,2.4501991241441392e-20,2.430278934783243e-20,2.4103585838636335e-20,2.390438232944024e-20,2.3705178820244144e-20,2.350597531104805e-20,2.3306773417439087e-20,2.3107569908242992e-20,2.2908366399046896e-20,2.27091628898508e-20,2.2509959380654705e-20,2.2310757487045744e-20,2.2111553977849648e-20,2.1912350468653553e-20,2.1713146959457457e-20,2.1513943450261362e-20,2.13147415566524e-20,2.1115538047456305e-20,2.091633453826021e-20,2.0717131029064114e-20,2.051792751986802e-20,2.0318725626259057e-20,2.0119522117062962e-20,1.9920318607866866e-20,1.972111509867077e-20,1.9521911589474675e-20,1.9322709695865714e-20,1.9123506186669618e-20,1.8924302677473523e-20,1.8725099168277427e-20,1.8525895659081332e-20,1.832669376547237e-20,1.8127490256276275e-20,1.792828674708018e-20,1.7729083237884084e-20,1.752987972868799e-20,1.7330677835079027e-20,1.7131474325882932e-20,1.6932270816686836e-20,1.673306730749074e-20,1.6533863798294645e-20,1.6334661904685684e-20,1.6135458395489588e-20,1.5936254886293493e-20,1.5737051377097397e-20,1.5537847867901302e-20,1.533864597429234e-20,1.5139442465096245e-20,1.494023895590015e-20,1.4741035446704054e-20,1.454183193750796e-20,1.4342630043898997e-20,1.4143426534702902e-20,1.3944223025506806e-20,1.374501951631071e-20,1.3545816814908182e-20,1.3346613305712087e-20,1.3147410604309558e-20,1.2948207095113463e-20,1.2749003585917368e-20,1.2549800884514839e-20,1.2350597375318744e-20,1.2151394673916215e-20,1.195219116472012e-20,1.1752987655524024e-20,1.1553784954121496e-20,1.13545814449254e-20,1.1155378743522872e-20,1.0956175234326776e-20,1.0756971725130681e-20,1.0557769023728152e-20,1.0358565514532057e-20,1.0159362813129529e-20,9.960159303933433e-21,9.760955794737338e-21,9.561753093334809e-21,9.362549584138714e-21,9.163346882736185e-21,8.96414337354009e-21,8.764939864343994e-21,8.565737162941466e-21,8.36653365374537e-21,8.167330952342842e-21,7.968127443146746e-21,7.768923933950651e-21,7.569721232548123e-21,7.370517723352027e-21,7.171315021949499e-21,6.972111512753403e-21,6.772908407454091e-21,6.573705302154779e-21,6.374501792958684e-21,6.175298687659372e-21,5.97609558236006e-21,5.776892477060748e-21,5.577689371761436e-21,5.3784858625653405e-21,5.1792827572660285e-21,4.9800796519667165e-21,4.7808765466674046e-21,4.5816734413680926e-21,4.382469932171997e-21,4.183266826872685e-21,3.984063721573373e-21,3.784860616274061e-21,3.585657510974749e-21,3.3864542037270456e-21,3.187250896479342e-21,2.98804779118003e-21,2.788844685880718e-21,2.5896413786330143e-21,2.3904382733337023e-21,2.1912349660859986e-21,1.9920318607866866e-21,1.7928287554873746e-21,1.593625448239671e-21,1.394422342940359e-21,1.1952191366668511e-21,9.960159303933433e-22,7.968127241198355e-22,5.976095683334256e-22,3.9840636205991774e-22,1.9920318102995887e-22,0],"expected":[0,3.923635700109488e-44,1.5834672646870433e-43,3.5733110840282835e-43,6.347882043391421e-43,9.921193127419705e-43,1.4279231351469886e-42,1.945002268482846e-42,2.5391528173565685e-42,3.2145786771611304e-42,3.968477250967882e-42,4.800848538776823e-42,5.714495137516604e-42,6.706614450258575e-42,7.777206477002735e-42,8.929073814677734e-42,1.0158012567890599e-41,1.1468226632034303e-41,1.2856913410180197e-41,1.4325474200792605e-41,1.5872507705407203e-41,1.7499415222488316e-41,1.9206196752035943e-41,2.099145099558576e-41,2.285657925160209e-41,2.4801581520084937e-41,2.6825056502569973e-41,2.8928405497521524e-41,3.1110227206475264e-41,3.337192292789552e-41,3.571349266178229e-41,3.813493640813557e-41,4.0634852868491045e-41,4.321324204284871e-41,4.587290652813721e-41,4.860964242896358e-41,5.142765364072079e-41,5.432413756648018e-41,5.730049550470609e-41,6.035672745539852e-41,6.349143212009314e-41,6.670460949878994e-41,6.999906218841759e-41,7.337198759204742e-41,7.682478700814377e-41,8.035605913824231e-41,8.396720528080736e-41,8.765682413737461e-41,9.142771830487269e-41,9.527568388790864e-41,9.920492478187542e-41,1.032126383898444e-40,1.073002260102799e-40,1.1146628634471757e-40,1.1571222069162177e-40,1.2003802905099248e-40,1.2444231012436538e-40,1.289264652102048e-40,1.3349049430851072e-40,1.3813299612081884e-40,1.4285537194559348e-40,1.476562204843703e-40,1.5253694303561364e-40,1.574975395993235e-40,1.6253660887703553e-40,1.6765555216721409e-40,1.7285436946985916e-40,1.7813165948650642e-40,1.834888235156202e-40,1.889258615572005e-40,1.9444137231278297e-40,2.0003675708083196e-40,2.0571061456288315e-40,2.1146434605740084e-40,2.1729795156438506e-40,2.232114310838358e-40,2.292033833172887e-40,2.352738082647438e-40,2.4142410722466543e-40,2.4765428019705357e-40,2.5396432718190822e-40,2.6035284688076506e-40,2.668212405920884e-40,2.7336810701741396e-40,2.7999484745520602e-40,2.867014619054646e-40,2.934879503681897e-40,3.0035291154491697e-40,3.0729634543564643e-40,3.1432105463730674e-40,3.214228352545049e-40,3.2860589118263393e-40,3.3586741982476513e-40,3.4320882247936285e-40,3.5062869784796275e-40,3.581298485274935e-40,3.657080706225621e-40,3.733675680285616e-40,3.811055381485632e-40,3.88921980982567e-40,3.968196991275017e-40,4.047944886879742e-40,4.128505535593776e-40,4.209850911447832e-40,4.2919950274265525e-40,4.374923870545295e-40,4.458665466773346e-40,4.543177777156776e-40,4.628502840649514e-40,4.714612631282274e-40,4.801507149055056e-40,4.889214419937146e-40,4.977692404974615e-40,5.0669831431213925e-40,5.157058608408192e-40,5.247932813819656e-40,5.3395917463711425e-40,5.432063432031937e-40,5.5253058318481105e-40,5.619360984773592e-40,5.714200864839096e-40,5.809825472044621e-40,5.906248819374812e-40,6.003470906829668e-40,6.101491734409189e-40,6.200297289128732e-40,6.29990158397294e-40,6.4002906059571695e-40,6.5014783680660645e-40,6.603464870299625e-40,6.706236099673207e-40,6.809806069171454e-40,6.914174778794366e-40,7.019328215557301e-40,7.1252803924449e-40,7.232031309457165e-40,7.339566953609451e-40,7.447901337886403e-40,7.557020449303376e-40,7.666938300845015e-40,7.777654892511319e-40,7.889156211317644e-40,8.001456270248635e-40,8.114555069304291e-40,8.228438595499969e-40,8.343120861820312e-40,8.45860186826532e-40,8.57486760185035e-40,8.691918062575402e-40,8.809781276409763e-40,8.928429217384145e-40,9.047875898483192e-40,9.168107306722262e-40,9.289137455085996e-40,9.410966343574396e-40,9.533579959202817e-40,9.656992314955904e-40,9.781189397849012e-40,9.906185220866786e-40,1.0031979784009225e-39,1.0158573087276329e-39,1.0285951117683455e-39,1.0414113875230603e-39,1.0543089385887059e-39,1.0672849623683537e-39,1.0803394588620037e-39,1.0934752306665845e-39,1.1066894751851675e-39,1.1199821924177527e-39,1.1333547836628045e-39,1.1468072489203227e-39,1.1603381868918432e-39,1.1739489988758301e-39,1.1876396848722836e-39,1.2014102448812035e-39,1.2152578763056614e-39,1.22918678304105e-39,1.243194162490441e-39,1.2572814159522983e-39,1.2714485434266222e-39,1.2856941436149483e-39,1.3000196178157409e-39,1.3144235647305357e-39,1.328907385657797e-39,1.3434710805975248e-39,1.3581132482512549e-39,1.3728352899174514e-39,1.3876372055961144e-39,1.4025175939887797e-39,1.4174778563939114e-39,1.4325165915130453e-39,1.4476352006446458e-39,1.4628336837887128e-39,1.4781120409452462e-39,1.493468870815782e-39,1.5089041734003198e-39,1.5244207512957885e-39,1.5400158019052594e-39,1.5556893252287324e-39,1.571442722564672e-39,1.587275993913078e-39,1.595212948415014e-39,1.5710867927547335e-39,1.5466425423430514e-39,1.5218801971799676e-39,1.4968011585639463e-39,1.4714054264949877e-39,1.4456915996746273e-39,1.4196596781028651e-39,1.3933110630781656e-39,1.3666443533020643e-39,1.3396609500730257e-39,1.3123594520925853e-39,1.2847412606592074e-39,1.2568049744744279e-39,1.228551994836711e-39,1.1999809204475922e-39,1.1710931526055361e-39,1.1418872900120783e-39,1.1123633326672187e-39,1.0825226818694217e-39,1.052363936320223e-39,1.0218884973180869e-39,9.91094963564549e-40,9.599847363580738e-40,9.285564144001968e-40,8.968113989893824e-40,8.647482888271662e-40,8.323684852120127e-40,7.996705868454574e-40,7.666545937275004e-40,7.33321907156606e-40,6.996711258343098e-40,6.6570365105907625e-40,6.3141808153244095e-40,5.968158185528682e-40,5.618954608218938e-40,5.2665840963798195e-40,4.911032637026684e-40,4.5523002301595305e-40,4.1904149017476465e-40,3.825334612837102e-40,3.457087389397183e-40,3.0856732314278904e-40,2.711064112959937e-40,2.333302072947253e-40,1.952345072435908e-40,1.5682351503798325e-40,1.1809302678250963e-40,7.904584507409861e-41,3.968196991275017e-41,0,-4.0000064664151903e-41,-8.031542148277689e-41,-1.2095027435126794e-40,-1.619018206726964e-40,-2.0317146174552658e-40,-2.4475779627129417e-40,-2.866622255484635e-40,-3.2888334827857024e-40,-3.714225657600787e-40,-4.142784766945246e-40,-4.574524823803722e-40,-5.0094458281762156e-40,-5.447533767078083e-40,-5.888788640509325e-40,-6.333238474439227e-40,-6.78084122991386e-40,-7.2316249329025105e-40,-7.685589583405178e-40,-8.14272116843722e-40,-8.60303370098328e-40,-9.066527181043356e-40,-9.533187595632806e-40,-1.0003014944751631e-39,-1.0476023241384473e-39,-1.0952212485531332e-39,-1.1431554651222922e-39,-1.1914091777413173e-39,-1.2399809851117441e-39,-1.288868084636644e-39,-1.3380732789129456e-39,-1.387596567940649e-39,-1.4374379517197541e-39,-1.4875960289517966e-39,-1.5380707996367765e-39,-1.588863665073158e-39,-1.6399732239624772e-39,-1.6914022789016623e-39,-1.7431466259953205e-39,-1.7952090678403804e-39,-1.847589604436842e-39,-1.9002868344862412e-39,-1.953302159287042e-39,-2.0066355788392445e-39,-2.06028429054592e-39,-2.1142524983024618e-39,-2.1685359982134766e-39,-2.2231389941743574e-39,-2.2780586835881756e-39,-2.3332964677533956e-39,-2.388850945371553e-39,-2.4447221164426478e-39,-2.5009127835636086e-39,-2.557420144137507e-39,-2.6142441981643425e-39,-2.67138634694258e-39,-2.7288451891737547e-39,-2.7866221261563312e-39,-2.8447171578903095e-39,-2.9031288830772252e-39,-2.961857301717078e-39,-3.020903815108333e-39,-3.0802684232509896e-39,-3.139951126145048e-39,-3.199949121193579e-39,-3.2602652109935124e-39,-3.320899395544847e-39,-3.381851674847584e-39,-3.443120647603258e-39,-3.504706313811869e-39,-3.566610074771882e-39,-3.628830529184833e-39,-3.6913704796476494e-39,-3.754225722264939e-39,-3.8173990596336304e-39,-3.8808904917537236e-39,-3.944698617326754e-39,-4.0088248376511864e-39,-4.0732691527270204e-39,-4.1380287599573275e-39,-4.2031078632375007e-39,-4.268503659970611e-39,-4.3342175514551235e-39,-4.400248136392573e-39,-4.453302697550375e-39,-4.479928769671011e-39,-4.5066347158041133e-39,-4.533420535949682e-39,-4.560284828809253e-39,-4.587228995681291e-39,-4.6142516352673306e-39,-4.641354148865837e-39,-4.668537937775274e-39,-4.695798798100249e-39,-4.7231395324376906e-39,-4.750558739489134e-39,-4.778059221851509e-39,-4.8056381769278855e-39,-4.833297006016729e-39,-4.861034307819574e-39,-4.888850082336422e-39,-4.9167471321642e-39,-4.944724056004445e-39,-4.972778051260228e-39,-5.000913321826942e-39,-5.029125663809193e-39,-5.0574192811023757e-39,-5.0857927724080246e-39,-5.1142447364276756e-39,-5.142775173161329e-39,-5.171385483907449e-39,-5.200075668666035e-39,-5.228845727437088e-39,-5.257694258922143e-39,-5.2866226644196644e-39,-5.315629542631188e-39,-5.344716294855178e-39,-5.373882921091635e-39,-5.403128020042094e-39,-5.4324529930050194e-39,-5.4618578399804114e-39,-5.4913411596698055e-39,-5.520904353371666e-39,-5.5505474210859934e-39,-5.580268961514323e-39,-5.610068974656654e-39,-5.639950263109917e-39,-5.669910024277181e-39,-5.6999496594569124e-39,-5.730067767350646e-39,-5.7602657492568455e-39,-5.7905422038770475e-39,-5.8208999338081803e-39,-5.8513361364533154e-39,-5.881850811812453e-39,-5.912445361184056e-39,-5.943119784568127e-39,-5.973874081964663e-39,-6.004706852075202e-39,-6.035618094899743e-39,-6.066609211736751e-39,-6.097680202586225e-39,-6.128831067448166e-39,-6.160060405024109e-39,-6.191369616612518e-39,-6.222758702213394e-39,-6.254226260528272e-39,-6.285773692855617e-39,-6.317399597896964e-39,-6.349105376950777e-39,-6.380891030017057e-39,-6.412755155797339e-39,-6.444699155590087e-39,-6.476723029395302e-39,-6.50882537591452e-39,-6.541007596446203e-39,-6.573268289691889e-39,-6.605610258248506e-39,-6.638029298220661e-39,-6.670529613503746e-39,-6.70310700020237e-39,-6.735765662211924e-39,-6.768504198233944e-39,-6.801321206969967e-39,-6.834216688419992e-39,-6.867192043882484e-39,-6.900247273357442e-39,-6.933382376844867e-39,-6.966595953046293e-39,-6.999889403260187e-39,-7.033261326188082e-39,-7.066713123128444e-39,-7.100244794081273e-39,-7.133854937748104e-39,-7.167544955427401e-39,-7.2013134458207e-39,-7.235161810226466e-39,-7.269091449943163e-39,-7.303098161075398e-39,-7.337184746220099e-39,-7.371351205377267e-39,-7.405596137248437e-39,-7.439922344430537e-39,-7.474325623028176e-39,-7.508808775638281e-39,-7.543371802260853e-39,-7.57801470289589e-39,-7.612736076244931e-39,-7.647537323606438e-39,-7.682417043681947e-39,-7.717376637769922e-39,-7.752416105870364e-39,-7.787535447983273e-39,-7.822733262810184e-39,-7.858009550351097e-39,-7.89336711320294e-39,-7.928801747470322e-39,-7.964319058347099e-39,-7.999913440639414e-39,-8.03558629564573e-39,-8.071340425962978e-39,-8.107173028994228e-39,-8.143085506037944e-39,-8.179076455795663e-39,-8.215147279565848e-39,-8.251296576050036e-39,-8.287527147845154e-39,-8.323836192354274e-39,-8.360225110875861e-39,-8.39669250211145e-39,-8.433238366061041e-39,-8.469865505321563e-39,-8.506571117296087e-39,-8.543356603283078e-39,-8.580220561984071e-39,-8.61716439469753e-39,-8.654188101423457e-39,-8.691291682161849e-39,-8.72847233431578e-39,-8.765734261780641e-39,-8.803074661959504e-39,-8.84049353485237e-39,-8.877993683056166e-39,-8.915572303973965e-39,-8.95323079890423e-39,-8.990967766548497e-39,-9.028784608205231e-39,-9.066681323874431e-39,-9.104656512257634e-39,-9.142711574653303e-39,-9.180846511061439e-39,-9.219059920183576e-39,-9.25735320331818e-39,-9.295724959166787e-39,-9.33417658902786e-39,-9.3727080929014e-39,-9.411318069488941e-39,-9.450009321387414e-39,-9.488777644701424e-39,-9.527625842027901e-39,-9.566553913366844e-39,-9.605561858718254e-39,-9.644648276783667e-39,-9.683814568861545e-39,-9.723059333653426e-39,-9.762383972457773e-39,-9.801788485274587e-39,-9.841272872103868e-39,-9.88083573164715e-39,-9.920477063904435e-39,-9.960198270174186e-39,-9.999999350456404e-39]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.js b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.js new file mode 100644 index 000000000000..61fbbd9e1fb9 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.js @@ -0,0 +1,153 @@ +/** +* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); +var huberGradient = require( './../lib' ); + + +// FIXTURES // + +var tinyPositive = require( './fixtures/julia/tiny_positive.json' ); +var smallPositive = require( './fixtures/julia/small_positive.json' ); +var tinyNegative = require( './fixtures/julia/tiny_negative.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof huberGradient, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for tiny positive values', function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = tinyPositive.x; + d = tinyPositive.d; + y = tinyPositive.y; + p = tinyPositive.p; + expected = tinyPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for small positive values', function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = smallPositive.x; + d = smallPositive.d; + y = smallPositive.y; + p = smallPositive.p; + expected = smallPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for tiny negative values', function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = tinyNegative.x; + d = tinyNegative.d; + y = tinyNegative.y; + p = tinyNegative.p; + expected = tinyNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for small negative values', function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = smallNegative.x; + d = smallNegative.d; + y = smallNegative.y; + p = smallNegative.p; + expected = smallNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v; + + v = huberGradient( NaN, 1.0, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, 1.0, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, 1.0, 1.0, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, NaN, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.native.js b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.native.js new file mode 100644 index 000000000000..42f471c6a308 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/huber-gradient/test/test.native.js @@ -0,0 +1,162 @@ +/** +* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// FIXTURES // + +var tinyPositive = require( './fixtures/julia/tiny_positive.json' ); +var smallPositive = require( './fixtures/julia/small_positive.json' ); +var tinyNegative = require( './fixtures/julia/tiny_negative.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); + + +// VARIABLES // + +var huberGradient = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( huberGradient instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof huberGradient, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for tiny positive values', opts, function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = tinyPositive.x; + d = tinyPositive.d; + y = tinyPositive.y; + p = tinyPositive.p; + expected = tinyPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for small positive values', opts, function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = smallPositive.x; + d = smallPositive.d; + y = smallPositive.y; + p = smallPositive.p; + expected = smallPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for tiny negative values', opts, function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = tinyNegative.x; + d = tinyNegative.d; + y = tinyNegative.y; + p = tinyNegative.p; + expected = tinyNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the Huber loss gradient for small negative values', opts, function test( t ) { + var expected; + var d; + var x; + var y; + var p; + var v; + var i; + + x = smallNegative.x; + d = smallNegative.d; + y = smallNegative.y; + p = smallNegative.p; + expected = smallNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = huberGradient( x[ i ], d[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v; + + v = huberGradient( NaN, 1.0, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, 1.0, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( 1.0, 1.0, 1.0, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = huberGradient( NaN, NaN, NaN, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +});