diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/README.md b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/README.md new file mode 100644 index 000000000000..5cccd346a289 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/README.md @@ -0,0 +1,238 @@ + + +# squaredHingeGradient + +> Compute the [squared hinge loss gradient][squared-hinge-loss-gradient] with respect to a model parameter. + +
+ +The [squared hinge loss gradient][squared-hinge-loss-gradient] is defined as + + + +```math +\frac{\partial \ell}{\partial w} = \begin{cases} -2y(t - yp)x & \text{if } yp \leq t \\ 0 & \text{otherwise} \end{cases} +``` + + + +
+ + + +
+ +## Usage + +```javascript +var squaredHingeGradient = require( '@stdlib/ml/base/loss/float32/squared-hinge-gradient' ); +``` + +#### squaredHingeGradient( x, t, y, p ) + +Computes the [squared hinge loss gradient][squared-hinge-loss-gradient] with respect to a model parameter. + +```javascript +var v = squaredHingeGradient( 3.0, 1.0, 1.0, 0.782 ); +// returns ~-1.308 + +v = squaredHingeGradient( -1.3, 1.0, 1.0, -0.999 ); +// returns ~5.197 +``` + +The function accepts the following arguments: + +- **x**: input value. +- **t**: margin threshold. +- **y**: true target value. +- **p**: predicted value. + +If any argument is `NaN`, the function returns `NaN`. + +```javascript +var v = squaredHingeGradient( NaN, 1.0, 1.0, 0.782 ); +// returns NaN + +v = squaredHingeGradient( 1.0, 1.0, NaN, 0.782 ); +// returns NaN + +v = squaredHingeGradient( NaN, NaN, 1.0, 0.782 ); +// returns NaN + +v = squaredHingeGradient( NaN, NaN, NaN, NaN ); +// returns NaN +``` + +If `y` is not +1 or -1, the function returns `NaN`. + +```javascript +var v = squaredHingeGradient( 3.0, 1.0, -0.9, 1.0 ); +// returns NaN + +v = squaredHingeGradient( 2.4, 1.0, 0.453, 0.76 ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var sample = require( '@stdlib/random/sample' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var squaredHingeGradient = require( '@stdlib/ml/base/loss/float32/squared-hinge-gradient' ); + +var y = sample( [ -1.0, 1.0 ], { + 'size': 100 +}); +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -100.0, 100.0, opts ); +var t = uniform( 100, 0.0, 5.0, opts ); +var p = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'squaredHingeGradient(%0.4f, %0.4f, %0.4f, %0.4f) = %0.4f', x, t, y, p, squaredHingeGradient ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/ml/base/loss/float32/squared_hinge_gradient.h" +``` + +#### stdlib_base_float32_squared_hinge_gradient( x, t, y, p ) + +Computes the [squared hinge loss gradient][squared-hinge-loss-gradient] with respect to a model parameter. + +```c +float out = stdlib_base_float32_squared_hinge_gradient( 3.0f, 1.0f, 1.0f, 0.782f ); +// returns ~-1.308f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. +- **t**: `[in] float` margin threshold. +- **y**: `[in] float` true target value. +- **p**: `[in] float` predicted value. + +```c +float stdlib_base_float32_squared_hinge_gradient( const float x, const float t, const float y, const float p ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/ml/base/loss/float32/squared_hinge_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 t[] = { 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f }; + const float y[] = { -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }; + 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_squared_hinge_gradient( x[ i ], t[ i ], y[ i ], p[ i ] ); + printf( "squaredHingeGradient(%f, %f, %f, %f) = %f\n", x[ i ], t[ i ], y[ i ], p[ i ], v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/benchmark.js new file mode 100644 index 000000000000..5886232df7d0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/benchmark.js @@ -0,0 +1,65 @@ +/** +* @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 sample = require( '@stdlib/random/sample' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var pkg = require( './../package.json' ).name; +var squaredHingeGradient = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var len; + var x; + var y; + var p; + var v; + var i; + + len = 100; + y = sample( [ -1.0, 1.0 ], { + 'size': len + }); + x = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + p = uniform( len, -2.0, 2.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + v = squaredHingeGradient( 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/squared-hinge-gradient/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/benchmark.native.js new file mode 100644 index 000000000000..08b5b2d0591e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/benchmark.native.js @@ -0,0 +1,75 @@ +/** +* @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 sample = require( '@stdlib/random/sample' ); +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 squaredHingeGradient = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( squaredHingeGradient 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; + y = sample( [ -1.0, 1.0 ], { + 'size': len + }); + x = uniform( len, -100.0, 100.0, { + 'dtype': 'float32' + }); + p = uniform( len, -2.0, 2.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + v = squaredHingeGradient( 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/squared-hinge-gradient/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/c/native/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared-hinge-gradient/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..4378453d5ceb --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/benchmark/c/native/benchmark.c @@ -0,0 +1,161 @@ +/** +* @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/squared_hinge_gradient.h" +#include +#include +#include +#include +#include + +#define NAME "squared_hinge_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) ); +} + +/** +* Randomly samples either +1 or -1. +* +* @return randomly sampled value (+1 or -1) +*/ +static float random_sample( void ) { + float v = (float)rand() / ( (float)RAND_MAX ); + if ( v >= 0.5f ) { + return 1.0f; + } + return -1.0f; +} + +/** +* 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 ) ); + p = (float *) malloc( 100 * sizeof( float ) ); + y = (float *) malloc( 100 * sizeof( float ) ); + for ( i = 0; i < 100; i++ ) { + y[ i ] = random_sample(); + x[ i ] = random_uniform( -100.0f, 100.0f ); + p[ i ] = random_uniform( -2.0f, 2.0f ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + v = stdlib_base_float32_squared_hinge_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/squared-hinge-gradient/binding.gyp b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared-hinge-gradient/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/repl.txt new file mode 100644 index 000000000000..2e0416519fb0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/repl.txt @@ -0,0 +1,46 @@ + +{{alias}}( x, t, y, p ) + Computes the squared hinge loss gradient with respect to a model parameter + for a single-precision floating-point number. + + If any argument is `NaN`, the function returns `NaN`. + + If `y` is not +1 or -1, the function returns `NaN`. + + When `t = 1.0`, we get the loss used by SVM. + + Parameters + ---------- + x: number + Input value. + + t: number + Margin threshold. + + y: number + True target value. + + p: number + Predicted value. + + Returns + ------- + v: number + Squared hinge loss gradient. + + Examples + -------- + > var v = {{alias}}( 3.0, 1.0, 1.0, 0.782 ) + ~-1.308 + > v = {{alias}}( 2.5, 1.0, 1.0, 0.202 ) + ~-3.99 + > v = {{alias}}( -1.3, 1.0, 1.0, -0.999 ) + ~5.197 + > v = {{alias}}( -2.0, 1.0, -1.0, 0.2 ) + ~-4.8 + > v = {{alias}}( NaN, 1.0, 1.0, 0.987 ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/types/index.d.ts new file mode 100644 index 000000000000..62dbd96f7523 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/types/index.d.ts @@ -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. +*/ + +// TypeScript Version: 4.1 + +/** +* Computes the squared hinge loss gradient with respect to a model parameter for a single-precision floating-point number. +* +* ## Notes +* +* - If `y` is not +1 or -1, the function returns `NaN`. +* - When `t = 1.0`, we get the loss used by SVM. +* +* @param x - input value +* @param t - margin threshold +* @param y - true target value +* @param p - predicted value +* @returns squared hinge loss gradient +* +* @example +* var v = squaredHingeGradient( 3.0, 1.0, 1.0, 0.782 ); +* // returns ~-1.308 +* +* @example +* var v = squaredHingeGradient( 2.5, 1.0, 1.0, 0.202 ); +* // returns ~-3.99 +* +* @example +* var v = squaredHingeGradient( -1.3, 1.0, 1.0, -0.999 ); +* // returns ~5.197 +* +* @example +* var v = squaredHingeGradient( -2.0, 1.0, -1.0, 0.234 ); +* // returns ~-4.936 +* +* @example +* var v = squaredHingeGradient( -2.0, 1.0, -1.0, 0.2 ); +* // returns ~-4.8 +* +* @example +* var v = squaredHingeGradient( -1.3, 1.0, 1.0, -0.9 ); +* // returns ~4.94 +*/ +declare function squaredHingeGradient( x: number, t: number, y: number, p: number ): number; + + +// EXPORTS // + +export = squaredHingeGradient; diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/docs/types/test.ts new file mode 100644 index 000000000000..7395e7372333 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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 squaredHingeGradient = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + squaredHingeGradient( 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... +{ + squaredHingeGradient( true, 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( false, 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( null, 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( undefined, 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( '5', 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( [], 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( {}, 1.0, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( ( 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... +{ + squaredHingeGradient( 0.5869, true, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, false, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, null, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, undefined, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, '5', 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, [], 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, {}, 1.0, 0.782 ); // $ExpectError + squaredHingeGradient( 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... +{ + squaredHingeGradient( 0.5869, 1.0, true, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, false, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, null, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, undefined, 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, '5', 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, [], 0.782 ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, {}, 0.782 ); // $ExpectError + squaredHingeGradient( 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... +{ + squaredHingeGradient( 0.5869, 1.0, 1.0, true ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, false ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, null ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, undefined ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, '5' ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, [] ); // $ExpectError + squaredHingeGradient( 0.5869, 1.0, 1.0, {} ); // $ExpectError + squaredHingeGradient( 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... +{ + squaredHingeGradient(); // $ExpectError + squaredHingeGradient( 1.0 ); // $ExpectError + squaredHingeGradient( 1.0, 0.900 ); // $ExpectError + squaredHingeGradient( 1.0, 0.900, 0.7873 ); // $ExpectError + squaredHingeGradient( 1.0, 0.900, 1.0, 0.787, 0.7873 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/c/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared-hinge-gradient/examples/c/example.c b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/c/example.c new file mode 100644 index 000000000000..05a5a13cb896 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared_hinge_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 t[] = { 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f }; + const float y[] = { -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }; + 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_squared_hinge_gradient( x[ i ], t[ i ], y[ i ], p[ i ] ); + printf( "squaredHingeGradient(%f, %f, %f, %f) = %f\n", x[ i ], t[ i ], y[ i ], p[ i ], v ); + } +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/index.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/index.js new file mode 100644 index 000000000000..dcf8ac16170b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/examples/index.js @@ -0,0 +1,36 @@ +/** +* @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 sample = require( '@stdlib/random/sample' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var squaredHingeGradient = require( './../lib' ); + +var y = sample( [ -1.0, 1.0 ], { + 'size': 100 +}); +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -100.0, 100.0, opts ); +var t = uniform( 100, 0.0, 5.0, opts ); +var p = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'squaredHingeGradient(%0.4f, %0.4f, %0.4f, %0.4f) = %0.4f', x, t, y, p, squaredHingeGradient ); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/include.gypi b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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.0 ) { + return f32( f32( -2.0 * x * y ) * z ); + } + return 0.0; +} + + +// EXPORTS // + +module.exports = squaredHingeGradient; diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/lib/native.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/lib/native.js new file mode 100644 index 000000000000..beb843f684e7 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/lib/native.js @@ -0,0 +1,69 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var addon = require( './../src/addon.node' ); + + +// MAIN // + +/** +* Computes the squared hinge loss gradient with respect to a model parameter. +* +* @private +* @param {number} x - input value +* @param {number} t - margin threshold +* @param {number} y - true target value +* @param {number} p - predicted value +* @returns {number} squared hinge loss gradient +* +* @example +* var v = squaredHingeGradient( 3.0, 1.0, 1.0, 0.782 ); +* // returns ~-1.308 +* +* @example +* var v = squaredHingeGradient( 2.5, 1.0, 1.0, 0.202 ); +* // returns ~-3.99 +* +* @example +* var v = squaredHingeGradient( -1.3, 1.0, 1.0, -0.999 ); +* // returns ~5.197 +* +* @example +* var v = squaredHingeGradient( -2.0, 1.0, -1.0, 0.234 ); +* // returns ~-4.936 +* +* @example +* var v = squaredHingeGradient( -2.0, 1.0, -1.0, 0.2 ); +* // returns ~-4.8 +* +* @example +* var v = squaredHingeGradient( -1.3, 1.0, 1.0, -0.9 ); +* // returns ~4.94 +*/ +function squaredHingeGradient( x, t, y, p ) { + return addon( x, t, y, p ); +} + + +// EXPORTS // + +module.exports = squaredHingeGradient; diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/manifest.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/manifest.json new file mode 100644 index 000000000000..84305927be56 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/manifest.json @@ -0,0 +1,75 @@ +{ + "options": { + "task": "build" + }, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "task": "build", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/napi/quaternary", + "@stdlib/math/base/assert/is-nanf", + "@stdlib/constants/float32/nan" + ] + }, + { + "task": "benchmark", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/constants/float32/nan" + ] + }, + { + "task": "examples", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/constants/float32/nan" + ] + } + ] +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/package.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/package.json new file mode 100644 index 000000000000..5aab6961fcee --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/package.json @@ -0,0 +1,69 @@ +{ + "name": "@stdlib/ml/base/loss/float32/squared-hinge-gradient", + "version": "0.0.0", + "description": "Compute the squared hinge loss gradient with respect to a model parameter.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "gypfile": true, + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "src": "./src", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "machine learning", + "ml", + "loss", + "float32", + "hinge", + "squared hinge loss", + "squared hinge loss gradient", + "gradient", + "single-precision", + "single", + "float" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/Makefile b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared-hinge-gradient/src/addon.c b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/addon.c new file mode 100644 index 000000000000..1ab044df6484 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared_hinge_gradient.h" +#include "stdlib/math/base/napi/quaternary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_FFFF_F( stdlib_base_float32_squared_hinge_gradient ) diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/main.c b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/main.c new file mode 100644 index 000000000000..a081f5be2aae --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/src/main.c @@ -0,0 +1,49 @@ +/** +* @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/squared_hinge_gradient.h" +#include "stdlib/math/base/assert/is_nanf.h" +#include "stdlib/constants/float32/nan.h" + +/** +* Computes the squared hinge loss gradient with respect to a model parameter. +* +* @param x input value +* @param t margin threshold +* @param y true target value +* @param p predicted value +* @return squared hinge loss gradient +* +* @example +* float out = stdlib_base_float32_squared_hinge_gradient( 2.5f, 1.0f, 1.0f, 0.202f ); +* // returns ~-3.99f +*/ +float stdlib_base_float32_squared_hinge_gradient( const float x, const float t, const float y, const float p ) { + float z; + if ( + stdlib_base_is_nanf( x ) || stdlib_base_is_nanf( t ) || stdlib_base_is_nanf( y ) || stdlib_base_is_nanf( p ) || + ( y != -1.0f && y != 1.0f ) + ) { + return STDLIB_CONSTANT_FLOAT32_NAN; + } + z = t - ( y*p ); + if ( z > 0.0f ) { + return -2.0f * x * y * z; + } + return 0.0f; +} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..7c8193c06e65 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-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/squared-hinge-gradient/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/runner.jl new file mode 100644 index 000000000000..efcd33efc1e8 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/runner.jl @@ -0,0 +1,102 @@ +#!/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, t, y, p, name ) + +Generate fixture data and write to file. + +# Arguments + +* `x`: input domain +* `t`: margin threshold +* `y`: response domain +* `p`: prediction domain +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = Float32.( range( -1000.0, 1000.0, 2001 ) ); +julia> t = Float32.( range( 0.0, stop=5.0, length=2001 ) ); +julia> y = Float32.( rand( [ -1.0, 1.0 ], 2001 ) ); +julia> p = Float32.( range( -1000.0, 1000.0, 2001 ) ); +julia> gen( x, t, y, p, "data.json" ); +``` +""" +function gen( x, t, y, p, name ) + x = Float32.( x ); + t = Float32.( t ); + y = Float32.( y ); + p = Float32.( p ); + + z = t .- p .* y; + v = ifelse.( z .> 0.0f0, -2.0f0 .* x .* y .* z, 0.0f0 ); + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("t", t), + ("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); + +t = Float32.( range( 0.0, stop=5.0, length=503 ) ); + +# Positive tiny values: +y = Float32.( rand( [ -1.0, 1.0 ], 503 ) ); +x = Float32.( range( 0.0, stop=20e-20, length=503 ) ); +p = Float32.( range( 0.0, stop=1e-20, length=503 ) ); +gen( x, t, y, p, "tiny_positive.json" ); + +# Small positive values: +y = Float32.( rand( [ -1.0, 1.0 ], 503 ) ); +x = Float32.( range( 0.0, stop=50, length=503 ) ); +p = Float32.( range( 0.0, stop=2.0, length=503 ) ); +gen( x, t, y, p, "small_positive.json" ); + +# Negative tiny values: +y = Float32.( rand( [ -1.0, 1.0 ], 503 ) ); +x = Float32.( range( 0.0, stop=-20e-20, length=503 ) ); +p = Float32.( range( -1e-20, stop=0.0, length=503 ) ); +gen( x, t, y, p, "tiny_negative.json" ); + +# Small negative values: +y = Float32.( rand( [ -1.0, 1.0 ], 503 ) ); +x = Float32.( range( 0.0, stop=-50, length=503 ) ); +p = Float32.( range( -2.0, stop=0.0, length=503 ) ); +gen( x, t, y, p, "small_negative.json" ); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_negative.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_negative.json new file mode 100644 index 000000000000..59b4675b86f0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_negative.json @@ -0,0 +1 @@ +{"expected":[-0.0,0,0.8015745878219604,1.2059333324432373,1.6126728057861328,0,0,2.847177028656006,3.2634401321411133,3.682084321975708,0,0,4.9523024559021,5.380469799041748,5.811018943786621,6.243948936462402,0,7.116950035095215,0,7.999476432800293,8.444310188293457,0,9.3411226272583,0,10.247457504272461,0,11.163314819335938,11.624815940856934,12.08869743347168,12.554959297180176,13.023603439331055,0,13.968032836914062,14.443817138671875,0,15.402534484863281,15.885461807250977,0,0,17.348533630371094,17.840986251831055,18.335819244384766,0,0,0,20.33896255493164,0,21.354820251464844,21.86631965637207,22.380197525024414,22.896461486816406,23.41510581970215,23.936126708984375,24.459529876708984,24.98531723022461,25.51348304748535,0,26.57695960998535,0,27.64995765686035,0,28.732481002807617,0,29.824525833129883,30.374122619628906,0,0,32.037193298339844,0,33.157806396484375,0,34.28794860839844,0,35.4276123046875,0,0,37.15496826171875,37.735511779785156,38.31843948364258,38.903751373291016,0,0,40.67395782470703,41.26879119873047,0,0,43.06756591796875,43.67192459106445,44.278663635253906,44.887779235839844,45.49928283691406,46.113155364990234,0,47.34805679321289,47.96908187866211,0,0,49.846431732177734,50.47697448730469,0,51.745208740234375,52.38290023803711,0,53.66542053222656,54.310245513916016,0,55.6070556640625,0,56.91337966918945,0,58.22923278808594,0,0,0,0,0,0,0,0,64.26842498779297,0,0,0,67.01441192626953,0,68.40168762207031,69.09890747070312,69.79849243164062,0,0,71.91155242919922,0,73.33216857910156,74.04605102539062,74.76231384277344,75.48094177246094,0,0,0,78.37931060791016,79.10985565185547,79.84278106689453,0,0,-0.22856952250003815,82.79828643798828,83.54312133789062,-1.4583089351654053,85.0399169921875,-2.3059170246124268,-2.738050937652588,87.302978515625,88.06210327148438,-4.0677924156188965,-4.5221476554870605,-4.982062339782715,-5.447532653808594,-5.918558597564697,-6.395135879516602,93.44256591796875,94.22073364257812,-7.858208179473877,-8.357007026672363,-8.861366271972656,97.35718536376953,98.14725494384766,98.93970489501953,-10.934351921081543,100.53173828125,101.33133697509766,102.13330078125,-13.096219062805176,103.74437713623047,-14.210490226745605,105.36499786376953,106.17887878417969,106.99512481689453,107.81375885009766,-17.0933780670166,-17.686622619628906,110.28396606445312,-18.889781951904297,-19.49968910217285,-20.115158081054688,-20.736181259155273,-21.362754821777344,115.28864288330078,-22.63257598876953,116.97592163085938,-23.924623489379883,-24.578975677490234,119.52468872070312,120.37904357910156,-26.57537269592285,-27.2519474029541,-27.934078216552734,-28.621767044067383,-29.315011978149414,125.5551528930664,-30.718164443969727,127.299560546875,-32.14353942871094,129.0535125732422,129.93405151367188,-34.323265075683594,-35.06095504760742,-35.804195404052734,133.48004150390625,134.37246704101562,-38.067256927490234,136.1645050048828,-39.60374069213867,-40.380306243896484,-41.16244125366211,139.7771453857422,140.68626403808594,-43.54216384887695,-44.346519470214844,-45.15642547607422,-45.97188949584961,-46.79290771484375,146.19093322753906,-48.45161056518555,-49.28929901123047,-50.13254165649414,149.90834045410156,-51.835689544677734,151.7813262939453,152.7213897705078,153.66383361816406,-55.30864334106445,155.5558624267578,-57.078460693359375,-57.97169876098633,158.41177368164062,-59.77484130859375,160.32760620117188,161.2891082763672,162.2529754638672,163.21923828125,164.1878662109375,-65.31761932373047,-66.26085662841797,-67.20965576171875,168.08621215820312,-69.1239013671875,170.04966735839844,171.0349884033203,-72.03694915771484,173.01271057128906,174.0051727294922,-75,-75.99878692626953,-77.0031509399414,-78.01304626464844,179.00311279296875,180.0098419189453,-81.07609558105469,182.03045654296875,-83.1458969116211,184.06056213378906,185.07919311523438,-86.29227447509766,187.1236114501953,188.14938354492188,-89.48865509033203,-90.56523132324219,-91.64735412597656,192.2763214111328,-93.82827758789062,-94.92706298828125,195.39649963378906,196.4413299560547,-98.25677490234375,198.53811645507812,-100.50434875488281,-101.636474609375,201.70115661621094,-103.91739654541016,-105.0661849975586,-106.22053527832031,-107.38043975830078,-108.5458984375,208.09153747558594,209.16493225097656,-112.07560729980469,211.31886291503906,-114.45652770996094,-115.65531158447266,214.56764221191406,215.6553192138672,-119.28500366210938,217.8378143310547,-121.73259735107422,220.02984619140625,221.12940979003906,-125.44562530517578,-126.69441223144531,224.44247436523438,-129.2086639404297,-130.47412109375,227.7769317626953,-133.02169799804688,-134.30381774902344,-135.5915069580078,232.25624084472656,233.38201904296875,234.51016235351562,-140.79774475097656,236.7736053466797,237.90892028808594,239.04660034179688,240.18666076660156,-147.4305877685547,242.4739227294922,-150.12261962890625,-151.47695922851562,-152.8368682861328,-154.2023162841797,-155.57333374023438,-156.9499053955078,-158.33201599121094,-159.7196807861328,252.88446044921875,254.0531005859375,-163.91604614257812,256.39752197265625,257.5732727050781,258.7514343261719,259.9319763183594,-171.02108764648438,-172.45877075195312,263.4878845214844,264.6779479980469,-176.80514526367188,267.0652160644531,-179.73049926757812,269.4620056152344,-182.67803955078125,-184.16015625,-185.6478271484375,274.28411865234375,-188.6398468017578,-190.14418029785156,277.9257507324219,-193.16954040527344,280.3653869628906,-196.2171173095703,-197.74923706054688,-199.28692626953125,285.2732849121094,286.50616455078125,287.741455078125,288.9791259765625,-207.05862426757812,-208.62962341308594,-210.2061767578125,-211.78831481933594,-213.3759765625,-214.96922302246094,297.7095642089844,-218.17233276367188,-219.7822265625,301.4869079589844,302.750732421875,-224.64524841308594,-226.27735900878906,306.556640625,-229.55825805664062,-231.20703125,-232.86135864257812,311.66448974609375,-236.18670654296875,-237.85772705078125,315.5203857421875,-241.21640014648438,318.1029052734375,-244.59730529785156,320.6949157714844,-248.0004425048828,-249.7103271484375,-251.42578125,325.90753173828125,-254.8733367919922,328.52813720703125,329.84197998046875,-260.08636474609375,332.47686767578125,-263.5894775390625,335.1213073730469,336.4469909667969,-268.88580322265625,339.105712890625,340.4386291503906,-274.2321472167969,343.11163330078125,-277.82415771484375,345.7940979003906,347.1389465332031,348.48614501953125,349.83575439453125,351.18768310546875,-288.7334899902344,353.8987731933594,-292.4143981933594,-294.26318359375,357.98321533203125,359.3494567871094,360.7181091308594,-301.7138671875,-303.5904541015625,-305.4725341796875,-307.3601989746094,-309.2534484863281,368.9798889160156,370.3651428222656,371.7528076171875,-316.8818664550781,374.53533935546875,375.93017578125,377.32733154296875,-324.5992431640625,-326.5424499511719,-328.4912109375,-330.4455261230469,-332.4054260253906,385.7605285644531,-336.34185791015625,-338.31842041015625,-340.300537109375,391.4302978515625,-344.28143310546875,-346.28021240234375,-348.2845458984375,-350.29443359375,398.5710754394531,400.00634765625,-356.3574523925781,402.88409423828125,404.3265380859375,-362.47039794921875,-364.51922607421875,408.6680908203125,410.12005615234375,-370.6988830566406,-372.7698669433594,414.490234375,-376.9285583496094,417.41558837890625,-381.10943603515625,420.3504943847656,-385.3125305175781,423.29486083984375,424.7706604003906,-391.65887451171875,-393.785400390625,-395.91748046875,430.697509765625,-400.19842529296875,433.6752624511719,-404.5014953613281,436.66253662109375,-408.8268737792969,-410.99786376953125,441.1612548828125,-415.3564758300781,-417.54412841796875,-419.7373352050781,447.19287109375,448.7067565917969,450.2229919433594,451.74163818359375,-430.78680419921875,-433.0133972167969,-435.2454833984375,-437.483154296875,-439.7263488769531,-441.9751281738281,462.438720703125,463.97637939453125,-448.7547912597656,-451.0257873535156,-453.3023376464844,470.1509094238281,-457.87213134765625,-460.16534423828125,-462.464111328125,-464.7684020996094,-467.0782775878906,479.4840393066406,-471.7147216796875,-474.041259765625,484.1827697753906,-478.71099853515625,-481.0542297363281,488.9029235839844,490.4810791015625,492.0616149902344,-490.482666015625,495.2298583984375,496.8174743652344,498.4075622558594,-500],"p":[-2,-1.9960159063339233,-1.9920319318771362,-1.9880478382110596,-1.984063744544983,-1.9800796508789062,-1.9760956764221191,-1.9721115827560425,-1.9681274890899658,-1.9641433954238892,-1.960159420967102,-1.9561753273010254,-1.9521912336349487,-1.948207139968872,-1.944223165512085,-1.9402390718460083,-1.9362549781799316,-1.932270884513855,-1.9282869100570679,-1.9243028163909912,-1.9203187227249146,-1.916334629058838,-1.9123506546020508,-1.9083665609359741,-1.9043824672698975,-1.9003983736038208,-1.8964143991470337,-1.892430305480957,-1.8884462118148804,-1.8844621181488037,-1.8804781436920166,-1.87649405002594,-1.8725099563598633,-1.8685258626937866,-1.8645418882369995,-1.8605577945709229,-1.8565737009048462,-1.8525896072387695,-1.8486056327819824,-1.8446215391159058,-1.840637445449829,-1.8366533517837524,-1.8326693773269653,-1.8286852836608887,-1.824701189994812,-1.8207170963287354,-1.8167331218719482,-1.8127490282058716,-1.808764934539795,-1.8047808408737183,-1.8007968664169312,-1.7968127727508545,-1.7928286790847778,-1.7888445854187012,-1.784860610961914,-1.7808765172958374,-1.7768924236297607,-1.772908329963684,-1.768924355506897,-1.7649402618408203,-1.7609561681747437,-1.756972074508667,-1.7529881000518799,-1.7490040063858032,-1.7450199127197266,-1.74103581905365,-1.7370518445968628,-1.7330677509307861,-1.7290836572647095,-1.7250995635986328,-1.7211155891418457,-1.717131495475769,-1.7131474018096924,-1.7091633081436157,-1.7051793336868286,-1.701195240020752,-1.6972111463546753,-1.6932270526885986,-1.6892430782318115,-1.6852589845657349,-1.6812748908996582,-1.6772907972335815,-1.6733068227767944,-1.6693227291107178,-1.6653386354446411,-1.6613545417785645,-1.6573705673217773,-1.6533864736557007,-1.649402379989624,-1.6454182863235474,-1.6414343118667603,-1.6374502182006836,-1.633466124534607,-1.6294820308685303,-1.6254980564117432,-1.6215139627456665,-1.6175298690795898,-1.6135457754135132,-1.609561800956726,-1.6055777072906494,-1.6015936136245728,-1.597609519958496,-1.593625545501709,-1.5896414518356323,-1.5856573581695557,-1.581673264503479,-1.577689290046692,-1.5737051963806152,-1.5697211027145386,-1.565737009048462,-1.5617530345916748,-1.5577689409255981,-1.5537848472595215,-1.5498007535934448,-1.5458167791366577,-1.541832685470581,-1.5378485918045044,-1.5338644981384277,-1.5298805236816406,-1.525896430015564,-1.5219123363494873,-1.5179282426834106,-1.5139442682266235,-1.5099601745605469,-1.5059760808944702,-1.5019919872283936,-1.4980080127716064,-1.4940239191055298,-1.4900398254394531,-1.4860557317733765,-1.4820717573165894,-1.4780876636505127,-1.474103569984436,-1.4701194763183594,-1.4661355018615723,-1.4621514081954956,-1.458167314529419,-1.4541832208633423,-1.4501992464065552,-1.4462151527404785,-1.4422310590744019,-1.4382469654083252,-1.434262990951538,-1.4302788972854614,-1.4262948036193848,-1.422310709953308,-1.418326735496521,-1.4143426418304443,-1.4103585481643677,-1.406374454498291,-1.402390480041504,-1.3984063863754272,-1.3944222927093506,-1.390438199043274,-1.3864542245864868,-1.3824701309204102,-1.3784860372543335,-1.3745019435882568,-1.3705179691314697,-1.366533875465393,-1.3625497817993164,-1.3585656881332397,-1.3545817136764526,-1.350597620010376,-1.3466135263442993,-1.3426294326782227,-1.3386454582214355,-1.3346613645553589,-1.3306772708892822,-1.3266931772232056,-1.3227092027664185,-1.3187251091003418,-1.3147410154342651,-1.3107569217681885,-1.3067729473114014,-1.3027888536453247,-1.298804759979248,-1.2948206663131714,-1.2908366918563843,-1.2868525981903076,-1.282868504524231,-1.2788844108581543,-1.2749004364013672,-1.2709163427352905,-1.2669322490692139,-1.2629481554031372,-1.25896418094635,-1.2549800872802734,-1.2509959936141968,-1.2470118999481201,-1.243027925491333,-1.2390438318252563,-1.2350597381591797,-1.231075644493103,-1.227091670036316,-1.2231075763702393,-1.2191234827041626,-1.215139389038086,-1.2111554145812988,-1.2071713209152222,-1.2031872272491455,-1.1992031335830688,-1.1952191591262817,-1.191235065460205,-1.1872509717941284,-1.1832668781280518,-1.1792829036712646,-1.175298810005188,-1.1713147163391113,-1.1673306226730347,-1.1633466482162476,-1.159362554550171,-1.1553784608840942,-1.1513943672180176,-1.1474103927612305,-1.1434262990951538,-1.1394422054290771,-1.1354581117630005,-1.1314741373062134,-1.1274900436401367,-1.12350594997406,-1.1195218563079834,-1.1155378818511963,-1.1115537881851196,-1.107569694519043,-1.1035856008529663,-1.0996016263961792,-1.0956175327301025,-1.0916334390640259,-1.0876493453979492,-1.083665370941162,-1.0796812772750854,-1.0756971836090088,-1.0717130899429321,-1.067729115486145,-1.0637450218200684,-1.0597609281539917,-1.055776834487915,-1.051792860031128,-1.0478087663650513,-1.0438246726989746,-1.039840579032898,-1.0358566045761108,-1.0318725109100342,-1.0278884172439575,-1.0239043235778809,-1.0199203491210938,-1.015936255455017,-1.0119521617889404,-1.0079680681228638,-1.0039840936660767,-1,-0.9960159659385681,-0.9920318722724915,-0.9880478382110596,-0.9840637445449829,-0.980079710483551,-0.9760956168174744,-0.9721115827560425,-0.9681274890899658,-0.9641434550285339,-0.9601593613624573,-0.9561753273010254,-0.9521912336349487,-0.9482071995735168,-0.9442231059074402,-0.9402390718460083,-0.9362549781799316,-0.9322709441184998,-0.9282868504524231,-0.9243028163909912,-0.9203187227249146,-0.9163346886634827,-0.912350594997406,-0.9083665609359741,-0.9043824672698975,-0.9003984332084656,-0.8964143395423889,-0.892430305480957,-0.8884462118148804,-0.8844621777534485,-0.8804780840873718,-0.8764940500259399,-0.8725099563598633,-0.8685259222984314,-0.8645418286323547,-0.8605577945709229,-0.8565737009048462,-0.8525896668434143,-0.8486055731773376,-0.8446215391159058,-0.8406374454498291,-0.8366534113883972,-0.8326693177223206,-0.8286852836608887,-0.824701189994812,-0.8207171559333801,-0.8167330622673035,-0.8127490282058716,-0.8087649345397949,-0.804780900478363,-0.8007968068122864,-0.7968127727508545,-0.7928286790847778,-0.788844645023346,-0.7848605513572693,-0.7808765172958374,-0.7768924236297607,-0.7729083895683289,-0.7689242959022522,-0.7649402618408203,-0.7609561681747437,-0.7569721341133118,-0.7529880404472351,-0.7490040063858032,-0.7450199127197266,-0.7410358786582947,-0.737051784992218,-0.7330677509307861,-0.7290836572647095,-0.7250996232032776,-0.7211155295372009,-0.717131495475769,-0.7131474018096924,-0.7091633677482605,-0.7051792740821838,-0.701195240020752,-0.6972111463546753,-0.6932271122932434,-0.6892430186271667,-0.6852589845657349,-0.6812748908996582,-0.6772908568382263,-0.6733067631721497,-0.6693227291107178,-0.6653386354446411,-0.6613546013832092,-0.6573705077171326,-0.6533864736557007,-0.649402379989624,-0.6454183459281921,-0.6414342522621155,-0.6374502182006836,-0.6334661245346069,-0.629482090473175,-0.6254979968070984,-0.6215139627456665,-0.6175298690795898,-0.613545835018158,-0.6095617413520813,-0.6055777072906494,-0.6015936136245728,-0.5976095795631409,-0.5936254858970642,-0.5896414518356323,-0.5856573581695557,-0.5816733241081238,-0.5776892304420471,-0.5737051963806152,-0.5697211027145386,-0.5657370686531067,-0.56175297498703,-0.5577689409255981,-0.5537848472595215,-0.5498008131980896,-0.5458167195320129,-0.541832685470581,-0.5378485918045044,-0.5338645577430725,-0.5298804640769958,-0.525896430015564,-0.5219123363494873,-0.5179283022880554,-0.5139442086219788,-0.5099601745605469,-0.5059760808944702,-0.5019920468330383,-0.49800798296928406,-0.4940239191055298,-0.4900398552417755,-0.48605579137802124,-0.48207172751426697,-0.4780876636505127,-0.4741035997867584,-0.47011953592300415,-0.4661354720592499,-0.4621514081954956,-0.45816734433174133,-0.45418328046798706,-0.4501992166042328,-0.4462151527404785,-0.44223108887672424,-0.43824702501296997,-0.4342629611492157,-0.4302788972854614,-0.42629483342170715,-0.4223107695579529,-0.4183267056941986,-0.41434264183044434,-0.41035857796669006,-0.4063745141029358,-0.4023904502391815,-0.39840638637542725,-0.394422322511673,-0.3904382586479187,-0.38645419478416443,-0.38247013092041016,-0.3784860670566559,-0.3745020031929016,-0.37051793932914734,-0.36653387546539307,-0.3625498116016388,-0.3585657477378845,-0.35458168387413025,-0.350597620010376,-0.3466135561466217,-0.34262949228286743,-0.33864542841911316,-0.3346613645553589,-0.3306773006916046,-0.32669323682785034,-0.32270917296409607,-0.3187251091003418,-0.3147410452365875,-0.31075698137283325,-0.306772917509079,-0.3027888536453247,-0.29880478978157043,-0.29482072591781616,-0.2908366620540619,-0.2868525981903076,-0.28286853432655334,-0.2788844704627991,-0.2749004065990448,-0.2709163427352905,-0.26693227887153625,-0.262948215007782,-0.2589641511440277,-0.25498008728027344,-0.25099602341651917,-0.2470119595527649,-0.24302789568901062,-0.23904383182525635,-0.23505976796150208,-0.2310757040977478,-0.22709164023399353,-0.22310757637023926,-0.21912351250648499,-0.2151394486427307,-0.21115538477897644,-0.20717132091522217,-0.2031872570514679,-0.19920319318771362,-0.19521912932395935,-0.19123506546020508,-0.1872510015964508,-0.18326693773269653,-0.17928287386894226,-0.175298810005188,-0.17131474614143372,-0.16733068227767944,-0.16334661841392517,-0.1593625545501709,-0.15537849068641663,-0.15139442682266235,-0.14741036295890808,-0.1434262990951538,-0.13944223523139954,-0.13545817136764526,-0.131474107503891,-0.12749004364013672,-0.12350597977638245,-0.11952191591262817,-0.1155378520488739,-0.11155378818511963,-0.10756972432136536,-0.10358566045761108,-0.09960159659385681,-0.09561753273010254,-0.09163346886634827,-0.087649405002594,-0.08366534113883972,-0.07968127727508545,-0.07569721341133118,-0.0717131495475769,-0.06772908568382263,-0.06374502182006836,-0.05976095795631409,-0.055776894092559814,-0.05179283022880554,-0.04780876636505127,-0.043824702501297,-0.039840638637542725,-0.03585657477378845,-0.03187251091003418,-0.027888447046279907,-0.023904383182525635,-0.019920319318771362,-0.01593625545501709,-0.011952191591262817,-0.007968127727508545,-0.0039840638637542725,0],"t":[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],"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],"y":[1,-1,1,1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,-1,1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,1,-1,1,1,-1,1,1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,-1,1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,1,1,1,1,-1,-1,-1,1,-1,1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,1,1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,-1,1,1,1,-1]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_positive.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_positive.json new file mode 100644 index 000000000000..797d03476794 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/small_positive.json @@ -0,0 +1 @@ +{"expected":[0,-0.001190457376651466,-0.004761829506605864,-0.010714116506278515,-0.019047318026423454,0.06944334506988525,0.09999842196702957,-0.058332409709692,-0.07618927210569382,0.2249964326620102,0.277773380279541,-0.14404533803462982,0.3999936878681183,0.46943700313568115,0.5444357991218567,-0.26785290241241455,-0.30475708842277527,0.8027650117874146,-0.38570818305015564,-0.4297550916671753,1.111093521118164,-0.5249916911125183,1.3444231748580933,-0.6297519207000732,-0.685703456401825,1.7360835075378418,-0.8047491312026978,-0.8678433299064636,-0.933318555355072,2.336074113845825,-1.0714116096496582,2.6694021224975586,2.8443994522094727,-1.29640793800354,-1.3761686086654663,3.402723789215088,-1.5428327322006226,-1.6297359466552734,4.011047840118408,4.224932670593262,-1.9047317504882812,4.669370174407959,-2.0999667644500732,-2.201155424118042,5.377692699432373,-2.4106760025024414,-2.519007682800293,-2.6297202110290527,-2.7428138256073,6.669338226318359,-2.9761433601379395,7.224885940551758,7.510992050170898,-3.343994140625,8.099871635437012,-3.601133108139038,-3.733274221420288,-3.867795467376709,9.3442964553833,9.669291496276855,-4.285646438598633,-4.429691314697266,-4.576117515563965,11.024825096130371,-4.876113414764404,-5.02968168258667,-5.18563175201416,-5.343962669372559,-5.504674434661865,13.224790573120117,-5.833240509033203,14.002554893493652,14.399771690368652,14.802542686462402,-6.518943786621094,-6.696322441101074,16.044191360473633,-7.058220386505127,16.899730682373047,17.33583641052246,17.777496337890625,18.22471046447754,-8.004634857177734,19.13580894470215,19.599689483642578,20.06912612915039,20.544118881225586,21.02466583251953,-9.218901634216309,22.00242805480957,-9.642704010009766,-9.858176231384277,-10.076030731201172,-10.296263694763184,-10.518880844116211,25.069046020507812,-10.9712553024292,-11.201013565063477,-11.433151245117188,27.22456932067871,-11.904573440551758,-12.143854141235352,-12.385518074035645,29.468976974487305,-12.875986099243164,-13.124791145324707,31.210615158081055,31.80227279663086,-13.885493278503418,-14.14382266998291,-14.404532432556152,-14.667624473571777,-14.933096885681152,35.4688835144043,-15.471181869506836,-15.743797302246094,-16.0187931060791,38.02439498901367,38.67716598510742,-16.85806655883789,39.999366760253906,-17.429485321044922,-17.718765258789062,42.024330139160156,-18.30447006225586,43.4020881652832,44.099300384521484,-19.20088768005371,-19.504453659057617,-19.810400009155273,-20.11872673034668,-20.4294376373291,48.39923095703125,-21.057998657226562,-21.375850677490234,-21.69608497619629,51.37696075439453,-22.34369468688965,-22.671066284179688,53.6685905456543,54.443580627441406,-23.667482376098633,-24.004379272460938,56.801876068115234,57.59908676147461,-25.029367446899414,59.21017074584961,-25.724592208862305,60.843475341796875,-26.42934226989746,62.4990119934082,-27.143617630004883,-27.50432586669922,65.02396392822266,-28.232881546020508,66.73504638671875,67.59892272949219,68.4683609008789,69.34334564208984,-30.0959529876709,-30.4757080078125,72.00163269042969,-31.242359161376953,73.80159759521484,74.70992279052734,-32.41020202636719,-32.80424118041992,-33.20066452026367,78.39875793457031,79.33485412597656,80.27650451660156,-34.81016159057617,-35.21848678588867,-35.62919235229492,84.09866333007812,-36.45775604248047,-36.875606536865234,-37.295833587646484,88.00971221923828,89.00137329101562,-38.57081604003906,-39.00057601928711,-39.43270492553711,-39.867225646972656,94.04295349121094,95.06793212890625,96.09847259521484,-41.62910079956055,-42.075523376464844,-42.524322509765625,-42.97550964355469,-43.4290771484375,-43.8850212097168,103.46780395507812,-44.804054260253906,105.6233139038086,-45.73260498046875,107.80106353759766,108.89827728271484,110.00102996826172,111.10934448242188,112.22321319580078,-48.575416564941406,114.4676284790039,115.59817504882812,-50.028968811035156,117.87590789794922,-51.009910583496094,-51.503944396972656,121.33418273925781,122.49806213378906,123.66748046875,124.84246063232422,126.02299499511719,127.20909118652344,128.40072631835938,129.5979461669922,-56.05744552612305,132.00901794433594,-57.095523834228516,-57.61812973022461,135.66729736328125,136.8978271484375,-59.200252532958984,139.3755645751953,-60.26690673828125,141.8755340576172,143.13385009765625,144.397705078125,-62.42876434326172,-62.975189208984375,148.22265625,-64.0751724243164,150.8003692626953,-65.1846694946289,153.4003448486328,-66.3037109375,156.02252197265625,157.34194946289062,-68.00011444091797,159.99746704101562,-69.14295959472656,-69.71794128417969,-70.29531860351562,-70.87506103515625,-71.45719146728516,-72.04170989990234,169.46673583984375,170.84173583984375,-73.80953979492188,-74.40357208251953,175,176.39720153808594,-76.19998931884766,179.20826721191406,180.6221466064453,-78.01781463623047,183.46653747558594,-79.2416000366211,186.33314514160156,187.7747802734375,189.22198486328125,-81.7177505493164,-82.34273529052734,-82.97010803222656,195.06634521484375,196.54132080078125,198.02186584472656,-85.50340270996094,-86.14268493652344,-86.78433990478516,-87.42837524414062,-88.07479095458984,207.02171325683594,-89.3747787475586,210.06610107421875,211.59664916992188,213.13272094726562,-92.00330352783203,-92.6663818359375,217.77432250976562,219.33262634277344,-94.66992950439453,-95.342529296875,224.04087829589844,-96.69490051269531,227.20750427246094,-98.05677795410156,230.39634704589844,231.9990997314453,-100.11746978759766,-100.80911254882812,236.84068298339844,-102.19956970214844,-102.89836883544922,241.73226928710938,243.3739013671875,-105.00904846191406,-105.71736907958984,248.33218383789062,249.9960479736328,-107.85662841796875,-108.57447052001953,255.0209503173828,256.7070617675781,-110.74230194091797,-111.46965789794922,-112.19940948486328,263.5069274902344,265.2207946777344,266.940185546875,268.6651611328125,270.39569091796875,-116.62791442871094,-117.37432861328125,275.6206359863281,-118.87430572509766,279.1316833496094,280.89556884765625,-121.14213562011719,-121.90283203125,286.220458984375,-123.43136596679688,289.79815673828125,291.5953674316406,293.3981018066406,295.2063903808594,-127.29440307617188,-128.07415771484375,300.6646728515625,302.4952087402344,304.3312683105469,-131.2169647216797,308.0201416015625,-132.8026580810547,-133.59909057617188,-134.3978729248047,315.4644775390625,317.33941650390625,-136.80853271484375,-137.61683654785156,322.9976501464844,-139.2406463623047,-140.0561065673828,-140.8739471435547,-141.69418334960938,332.5391540527344,334.4641418457031,336.3946533203125,-144.9989013671875,-145.83102416992188,342.2195739746094,344.1723327636719,-148.34169006347656,348.094482421875,350.0638732910156,-150.87379455566406,354.0193786621094,-152.5737762451172,357.9971008300781,359.9942932128906,-155.1416015625,364.0053405761719,-156.86537170410156,368.0386047363281,-158.59866333007812,372.0940856933594,374.1301574707031,-161.21649169921875,378.2189636230469,-162.97360229492188,-163.85572814941406,-164.74021911621094,386.46331787109375,-166.5164031982422,390.6187744140625,-168.30209350585938,-169.19850158691406,396.8937072753906,398.9964599609375,-171.90203857421875,-172.80799865722656,-173.71630859375,407.4630126953125,409.5935363769531,411.72955322265625,-177.3733673095703,-178.29359436035156,-179.21621704101562,-180.14120483398438,422.4932556152344,-181.99827575683594,426.837646484375,429.0181884765625,-184.8018341064453,433.3958740234375,-186.6827392578125,437.79583740234375,-188.5731964111328,-189.52200317382812,-190.47317504882812,446.662353515625,-192.38265991210938,451.12896728515625,-194.30166625976562,-195.26475524902344,-196.230224609375,-197.1980743408203,-198.1682891845703,-199.14089965820312,-200.11587524414062,-201.09324645996094,-202.072998046875,-203.05514526367188,-204.03964233398438,-205.0264892578125,480.7034912109375,483.017333984375,485.33673095703125,-208.9978790283203,-209.9966583251953,-210.9978485107422,494.669921875,497.0171203613281,-214.015625,-215.02633666992188,504.09197998046875,-217.05487060546875,-218.07272338867188,-219.09295654296875,513.6029052734375,-221.14051818847656,-222.1678924560547,520.7944946289062,-224.2297821044922,-225.2642822265625,-226.30116271972656,-227.34043884277344,-228.38209533691406,535.32763671875,537.7692260742188,-231.5213165283203,542.669189453125,-233.6260528564453,-234.68199157714844,550.0606689453125,-236.80101013183594,-237.86407470703125,-238.92955017089844,559.993896484375,562.4910888671875,-242.1402130126953,-243.21519470214844,-244.2925567626953,-245.372314453125,-246.45440673828125,-247.53890991210938,580.1268920898438,-249.71505737304688,585.2156982421875,587.7684326171875,590.3267211914062,592.890625,595.4600219726562,-256.3006896972656,600.6154174804688,-258.51495361328125,-259.6256103515625,608.3903198242188,610.9930419921875,613.6013793945312,616.2152099609375,618.8346557617188,-266.3398132324219,-267.4671630859375,626.7261962890625,629.3677978515625,632.0149536132812,634.6676635742188,-273.13970947265625,-274.2813720703125,-275.4254150390625,645.334228515625,648.0147094726562,-278.87176513671875,-280.02532958984375,656.089599609375,-282.3395690917969,-283.500244140625,664.2144165039062,-285.8287658691406,669.6587524414062,-288.1668395996094,675.1253662109375,677.866943359375,680.6141967773438,683.366943359375,686.1251831054688,-295.2381591796875,691.658447265625,-297.6142883300781,-298.80596923828125,-300],"p":[0,0.0039840638637542725,0.007968127727508545,0.011952191591262817,0.01593625545501709,0.019920319318771362,0.023904383182525635,0.027888447046279907,0.03187251091003418,0.03585657477378845,0.039840638637542725,0.043824702501297,0.04780876636505127,0.05179283022880554,0.055776894092559814,0.05976095795631409,0.06374502182006836,0.06772908568382263,0.0717131495475769,0.07569721341133118,0.07968127727508545,0.08366534113883972,0.087649405002594,0.09163346886634827,0.09561753273010254,0.09960159659385681,0.10358566045761108,0.10756972432136536,0.11155378818511963,0.1155378520488739,0.11952191591262817,0.12350597977638245,0.12749004364013672,0.131474107503891,0.13545817136764526,0.13944223523139954,0.1434262990951538,0.14741036295890808,0.15139442682266235,0.15537849068641663,0.1593625545501709,0.16334661841392517,0.16733068227767944,0.17131474614143372,0.175298810005188,0.17928287386894226,0.18326693773269653,0.1872510015964508,0.19123506546020508,0.19521912932395935,0.19920319318771362,0.2031872570514679,0.20717132091522217,0.21115538477897644,0.2151394486427307,0.21912351250648499,0.22310757637023926,0.22709164023399353,0.2310757040977478,0.23505976796150208,0.23904383182525635,0.24302789568901062,0.2470119595527649,0.25099602341651917,0.25498008728027344,0.2589641511440277,0.262948215007782,0.26693227887153625,0.2709163427352905,0.2749004065990448,0.2788844704627991,0.28286853432655334,0.2868525981903076,0.2908366620540619,0.29482072591781616,0.29880478978157043,0.3027888536453247,0.306772917509079,0.31075698137283325,0.3147410452365875,0.3187251091003418,0.32270917296409607,0.32669323682785034,0.3306773006916046,0.3346613645553589,0.33864542841911316,0.34262949228286743,0.3466135561466217,0.350597620010376,0.35458168387413025,0.3585657477378845,0.3625498116016388,0.36653387546539307,0.37051793932914734,0.3745020031929016,0.3784860670566559,0.38247013092041016,0.38645419478416443,0.3904382586479187,0.394422322511673,0.39840638637542725,0.4023904502391815,0.4063745141029358,0.41035857796669006,0.41434264183044434,0.4183267056941986,0.4223107695579529,0.42629483342170715,0.4302788972854614,0.4342629611492157,0.43824702501296997,0.44223108887672424,0.4462151527404785,0.4501992166042328,0.45418328046798706,0.45816734433174133,0.4621514081954956,0.4661354720592499,0.47011953592300415,0.4741035997867584,0.4780876636505127,0.48207172751426697,0.48605579137802124,0.4900398552417755,0.4940239191055298,0.49800798296928406,0.5019920468330383,0.5059760808944702,0.5099601745605469,0.5139442086219788,0.5179283022880554,0.5219123363494873,0.525896430015564,0.5298804640769958,0.5338645577430725,0.5378485918045044,0.541832685470581,0.5458167195320129,0.5498008131980896,0.5537848472595215,0.5577689409255981,0.56175297498703,0.5657370686531067,0.5697211027145386,0.5737051963806152,0.5776892304420471,0.5816733241081238,0.5856573581695557,0.5896414518356323,0.5936254858970642,0.5976095795631409,0.6015936136245728,0.6055777072906494,0.6095617413520813,0.613545835018158,0.6175298690795898,0.6215139627456665,0.6254979968070984,0.629482090473175,0.6334661245346069,0.6374502182006836,0.6414342522621155,0.6454183459281921,0.649402379989624,0.6533864736557007,0.6573705077171326,0.6613546013832092,0.6653386354446411,0.6693227291107178,0.6733067631721497,0.6772908568382263,0.6812748908996582,0.6852589845657349,0.6892430186271667,0.6932271122932434,0.6972111463546753,0.701195240020752,0.7051792740821838,0.7091633677482605,0.7131474018096924,0.717131495475769,0.7211155295372009,0.7250996232032776,0.7290836572647095,0.7330677509307861,0.737051784992218,0.7410358786582947,0.7450199127197266,0.7490040063858032,0.7529880404472351,0.7569721341133118,0.7609561681747437,0.7649402618408203,0.7689242959022522,0.7729083895683289,0.7768924236297607,0.7808765172958374,0.7848605513572693,0.788844645023346,0.7928286790847778,0.7968127727508545,0.8007968068122864,0.804780900478363,0.8087649345397949,0.8127490282058716,0.8167330622673035,0.8207171559333801,0.824701189994812,0.8286852836608887,0.8326693177223206,0.8366534113883972,0.8406374454498291,0.8446215391159058,0.8486055731773376,0.8525896668434143,0.8565737009048462,0.8605577945709229,0.8645418286323547,0.8685259222984314,0.8725099563598633,0.8764940500259399,0.8804780840873718,0.8844621777534485,0.8884462118148804,0.892430305480957,0.8964143395423889,0.9003984332084656,0.9043824672698975,0.9083665609359741,0.912350594997406,0.9163346886634827,0.9203187227249146,0.9243028163909912,0.9282868504524231,0.9322709441184998,0.9362549781799316,0.9402390718460083,0.9442231059074402,0.9482071995735168,0.9521912336349487,0.9561753273010254,0.9601593613624573,0.9641434550285339,0.9681274890899658,0.9721115827560425,0.9760956168174744,0.980079710483551,0.9840637445449829,0.9880478382110596,0.9920318722724915,0.9960159659385681,1,1.0039840936660767,1.0079680681228638,1.0119521617889404,1.015936255455017,1.0199203491210938,1.0239043235778809,1.0278884172439575,1.0318725109100342,1.0358566045761108,1.039840579032898,1.0438246726989746,1.0478087663650513,1.051792860031128,1.055776834487915,1.0597609281539917,1.0637450218200684,1.067729115486145,1.0717130899429321,1.0756971836090088,1.0796812772750854,1.083665370941162,1.0876493453979492,1.0916334390640259,1.0956175327301025,1.0996016263961792,1.1035856008529663,1.107569694519043,1.1115537881851196,1.1155378818511963,1.1195218563079834,1.12350594997406,1.1274900436401367,1.1314741373062134,1.1354581117630005,1.1394422054290771,1.1434262990951538,1.1474103927612305,1.1513943672180176,1.1553784608840942,1.159362554550171,1.1633466482162476,1.1673306226730347,1.1713147163391113,1.175298810005188,1.1792829036712646,1.1832668781280518,1.1872509717941284,1.191235065460205,1.1952191591262817,1.1992031335830688,1.2031872272491455,1.2071713209152222,1.2111554145812988,1.215139389038086,1.2191234827041626,1.2231075763702393,1.227091670036316,1.231075644493103,1.2350597381591797,1.2390438318252563,1.243027925491333,1.2470118999481201,1.2509959936141968,1.2549800872802734,1.25896418094635,1.2629481554031372,1.2669322490692139,1.2709163427352905,1.2749004364013672,1.2788844108581543,1.282868504524231,1.2868525981903076,1.2908366918563843,1.2948206663131714,1.298804759979248,1.3027888536453247,1.3067729473114014,1.3107569217681885,1.3147410154342651,1.3187251091003418,1.3227092027664185,1.3266931772232056,1.3306772708892822,1.3346613645553589,1.3386454582214355,1.3426294326782227,1.3466135263442993,1.350597620010376,1.3545817136764526,1.3585656881332397,1.3625497817993164,1.366533875465393,1.3705179691314697,1.3745019435882568,1.3784860372543335,1.3824701309204102,1.3864542245864868,1.390438199043274,1.3944222927093506,1.3984063863754272,1.402390480041504,1.406374454498291,1.4103585481643677,1.4143426418304443,1.418326735496521,1.422310709953308,1.4262948036193848,1.4302788972854614,1.434262990951538,1.4382469654083252,1.4422310590744019,1.4462151527404785,1.4501992464065552,1.4541832208633423,1.458167314529419,1.4621514081954956,1.4661355018615723,1.4701194763183594,1.474103569984436,1.4780876636505127,1.4820717573165894,1.4860557317733765,1.4900398254394531,1.4940239191055298,1.4980080127716064,1.5019919872283936,1.5059760808944702,1.5099601745605469,1.5139442682266235,1.5179282426834106,1.5219123363494873,1.525896430015564,1.5298805236816406,1.5338644981384277,1.5378485918045044,1.541832685470581,1.5458167791366577,1.5498007535934448,1.5537848472595215,1.5577689409255981,1.5617530345916748,1.565737009048462,1.5697211027145386,1.5737051963806152,1.577689290046692,1.581673264503479,1.5856573581695557,1.5896414518356323,1.593625545501709,1.597609519958496,1.6015936136245728,1.6055777072906494,1.609561800956726,1.6135457754135132,1.6175298690795898,1.6215139627456665,1.6254980564117432,1.6294820308685303,1.633466124534607,1.6374502182006836,1.6414343118667603,1.6454182863235474,1.649402379989624,1.6533864736557007,1.6573705673217773,1.6613545417785645,1.6653386354446411,1.6693227291107178,1.6733068227767944,1.6772907972335815,1.6812748908996582,1.6852589845657349,1.6892430782318115,1.6932270526885986,1.6972111463546753,1.701195240020752,1.7051793336868286,1.7091633081436157,1.7131474018096924,1.717131495475769,1.7211155891418457,1.7250995635986328,1.7290836572647095,1.7330677509307861,1.7370518445968628,1.74103581905365,1.7450199127197266,1.7490040063858032,1.7529881000518799,1.756972074508667,1.7609561681747437,1.7649402618408203,1.768924355506897,1.772908329963684,1.7768924236297607,1.7808765172958374,1.784860610961914,1.7888445854187012,1.7928286790847778,1.7968127727508545,1.8007968664169312,1.8047808408737183,1.808764934539795,1.8127490282058716,1.8167331218719482,1.8207170963287354,1.824701189994812,1.8286852836608887,1.8326693773269653,1.8366533517837524,1.840637445449829,1.8446215391159058,1.8486056327819824,1.8525896072387695,1.8565737009048462,1.8605577945709229,1.8645418882369995,1.8685258626937866,1.8725099563598633,1.87649405002594,1.8804781436920166,1.8844621181488037,1.8884462118148804,1.892430305480957,1.8964143991470337,1.9003983736038208,1.9043824672698975,1.9083665609359741,1.9123506546020508,1.916334629058838,1.9203187227249146,1.9243028163909912,1.9282869100570679,1.932270884513855,1.9362549781799316,1.9402390718460083,1.944223165512085,1.948207139968872,1.9521912336349487,1.9561753273010254,1.960159420967102,1.9641433954238892,1.9681274890899658,1.9721115827560425,1.9760956764221191,1.9800796508789062,1.984063744544983,1.9880478382110596,1.9920319318771362,1.9960159063339233,2],"t":[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],"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],"y":[-1,1,1,1,1,-1,-1,1,1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,-1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1,-1,-1,1,1,1,1,1,-1,1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,1,1,-1,1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,1,1,-1,1,1,1,-1,-1,1,1,1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,1,1,1,1,-1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,1,-1,1,-1,1,1,-1,-1,1,1,1,-1,-1,-1,1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,1,-1,1,-1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,1,1,-1,1,1,1,-1,-1,1,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,1]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_negative.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_negative.json new file mode 100644 index 000000000000..196df4582a06 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_negative.json @@ -0,0 +1 @@ +{"expected":[0,7.936381679769397e-24,3.174552671907759e-23,-7.142744221767272e-23,-1.2698210687631036e-22,-1.9840954909398308e-22,-2.857097688706909e-22,-3.8888272834111034e-22,-5.079284275052414e-22,6.4284696733728e-22,-7.936381963759323e-22,9.603021651082963e-22,1.1428390754827636e-21,1.3412485236025508e-21,1.5555309133644414e-21,1.7856860428200436e-21,-2.0317137100209657e-21,-2.293614520812383e-21,-2.57138786934912e-21,-2.865033957579569e-21,3.1745527855037293e-21,3.499944555069993e-21,3.841208660433185e-21,-4.1983463132836556e-21,4.571356301931054e-21,-4.9602390302721646e-21,5.364994094410203e-21,-5.785621898241953e-21,6.2221236534577654e-21,-6.674497340573722e-21,-7.142744171280174e-21,7.626862933886771e-21,-8.126854840083863e-21,8.64271988987145e-21,9.174458083249532e-21,-9.722067804630975e-21,-1.028555147739648e-20,1.0864906678165347e-20,1.1460135830318275e-20,1.2071236510474565e-20,1.2698211142014917e-20,-1.3341058109352197e-20,1.3999778220279972e-20,-1.467436985921111e-20,-1.536483464173274e-20,-1.6071172567844867e-20,1.6793385253134622e-20,1.7531467850840605e-20,-1.8285425207724217e-20,1.9055252477024056e-20,-1.9840956121088658e-20,2.0642529677569488e-20,-2.1459976377640812e-20,2.2293296221302632e-20,-2.3142487592967813e-20,-2.4007555339397757e-20,-2.4888494613831062e-20,2.5785303800680594e-20,-2.669798936229489e-20,2.762654322073828e-20,-2.85709766851207e-20,2.953127521515794e-20,3.0507451735547084e-20,3.149949978393959e-20,-3.250741936033545e-20,3.3531213695908945e-20,-3.45708795594858e-20,3.5626416951066015e-20,-3.669783233299813e-20,3.7785112780585065e-20,3.88882712185239e-20,-4.0007301184466096e-20,4.114220590958592e-20,4.229297570036057e-20,-4.345962671266139e-20,-4.4642149252965564e-20,4.58405433212731e-20,-4.7054808917584e-20,-4.828494604189826e-20,-4.953095792539015e-20,5.079284456805967e-20,-5.207060273873255e-20,-5.336423243740879e-20,5.467373043291412e-20,-5.599911288111989e-20,-5.734036039498048e-20,-5.869747943684443e-20,6.007047646906028e-20,-6.145933856693096e-20,6.286407865515353e-20,-6.428469027137947e-20,6.57211798779573e-20,-6.717354101253849e-20,-6.864176075042597e-20,7.012587140336242e-20,7.16258471219537e-20,-7.314170083089687e-20,-7.467341960549487e-20,7.622100990809623e-20,-7.778447820104948e-20,7.936382448435463e-20,8.095902937096608e-20,8.257011871027795e-20,8.419707311524465e-20,-8.583990551056325e-20,-8.749861589623374e-20,-8.917318488521053e-20,-9.086363832688775e-20,-9.256995037187125e-20,9.429215333190373e-20,-9.603022135759103e-20,9.778416737363022e-20,-9.955397845532425e-20,1.0133966106502163e-19,1.0314121520272238e-19,1.0495864733077502e-19,-1.0679195744917956e-19,-1.0864113909558746e-19,1.1050617288295311e-19,-1.1238710404771627e-19,-1.142839067404828e-19,1.161965680365556e-19,-1.1812510086063177e-19,-1.2006951813740837e-19,-1.2202980694218834e-19,-1.2400596727497166e-19,1.2599799913575835e-19,1.2800591544924547e-19,1.300296774413418e-19,1.3206933681083565e-19,-1.3412485478363578e-19,-1.3619624428443927e-19,-1.382835182379432e-19,-1.403866507947534e-19,-1.4250566780426406e-19,-1.4464056926647514e-19,-1.467913293319925e-19,-1.4895796092551324e-19,-1.5114045112234026e-19,1.5333883869656479e-19,-1.555530848740956e-19,-1.5778320257962978e-19,-1.6002920473786439e-19,1.6229107842410235e-19,-1.6456882363834369e-19,1.6686244038058838e-19,1.691719028014423e-19,-1.7149727552439077e-19,1.7383850685064555e-19,-1.7619562262960076e-19,-1.7856859701186226e-19,-1.8095744292212712e-19,-1.833621732850924e-19,1.8578274932666692e-19,1.88219235670336e-19,-1.906715676926143e-19,-1.9313978416759304e-19,1.9562388509527221e-19,-1.981238317015606e-19,2.0063968860994356e-19,-2.0317137827223867e-19,-2.0571893946253715e-19,2.082824109549302e-19,2.1086172812593246e-19,-2.1345692974963515e-19,2.1606800290134121e-19,2.186949217316565e-19,-2.213377637887634e-19,-2.2399645152447956e-19,-2.2667101078819906e-19,2.2936144157992192e-19,2.3206774389964815e-19,2.3478991774737774e-19,-2.375279631231107e-19,2.4028190587624114e-19,2.430516943079808e-19,-2.4583735426772384e-19,2.486389116048644e-19,2.5145631462061413e-19,2.542896150137614e-19,-2.5713876108551787e-19,2.6000380453467185e-19,2.628847195118292e-19,2.657815060169899e-19,-2.6869416405015396e-19,2.7162266776192724e-19,2.745670430017039e-19,2.7752734146827217e-19,2.805034856134497e-19,-2.8349550128663055e-19,2.865033884878148e-19,2.895271472170024e-19,-2.9256680332358747e-19,2.9562227925938765e-19,-2.9869367842197946e-19,-3.017809232631805e-19,-3.048840396323849e-19,-3.080030533789868e-19,3.111379128041979e-19,3.1428866960680655e-19,3.1745529793741853e-19,3.206377460972456e-19,3.238361174838643e-19,-3.2705036039848637e-19,3.302804748411118e-19,-3.335264608117406e-19,3.367882924609786e-19,3.4006604733700827e-19,-3.43359622042253e-19,3.466691199742894e-19,3.4999446358493498e-19,3.5333567872358394e-19,3.566927395408421e-19,3.600656977354978e-19,-3.63454553307551e-19,3.668592545582134e-19,-3.70279801487485e-19,-3.737162974929424e-19,3.771686133276149e-19,-3.806368265396849e-19,3.841208854303641e-19,-3.876208158490467e-19,3.911366694945209e-19,-3.946683429692102e-19,-3.98215913821297e-19,-4.0177935620138715e-19,4.0535864426008652e-19,-4.0895385554557755e-19,4.125648608108895e-19,-4.161917893029931e-19,4.1983458932310007e-19,-4.234932608712104e-19,-4.2716782979671823e-19,4.3085821855144114e-19,4.345645563823498e-19,4.382867140424736e-19,-4.4202469153181245e-19,4.457786439467312e-19,-4.495484161908651e-19,-4.533341116617906e-19,-4.571356269619312e-19,4.609530137900751e-19,4.647862721462224e-19,-4.686354537291613e-19,4.725004034425271e-19,4.763813280814727e-19,-4.802780725496335e-19,-4.841907402445859e-19,-4.881192277687533e-19,4.920636385197125e-19,4.960238690998866e-19,-4.999999712080642e-19,5.039919965430334e-19,5.0799989340600595e-19,5.120236617969819e-19,-5.160632500171729e-19,5.201187097653672e-19,-5.241900927403532e-19,-5.282773472433426e-19,-5.32380421575547e-19,-5.364994191345431e-19,-5.406342365227543e-19,5.447849771377571e-19,5.489515892807633e-19,5.531340729517728e-19,-5.573324281507857e-19,5.615466031790136e-19,-5.657767531328215e-19,-5.700226712170562e-19,5.742845642268709e-19,-5.785622770659006e-19,-5.828558097341453e-19,-5.8716531732797e-19,-5.914906447510098e-19,5.95831843702053e-19,6.001888624823112e-19,-6.04561804489361e-19,-6.089506180244143e-19,-6.133553547862591e-19,6.177759113773191e-19,-6.222123394963824e-19,6.266646391434491e-19,6.311328103185191e-19,6.356169047203808e-19,6.401168189514575e-19,-6.446326047105377e-19,-6.491643136964094e-19,-6.537118425114963e-19,-6.582752945533747e-19,-6.628545664244683e-19,-6.674497615223535e-19,-6.720607247506655e-19,-6.766876112057692e-19,6.813304725864527e-19,6.859891020975631e-19,6.906636031366768e-19,6.953540274025822e-19,7.0006027149770265e-19,-7.04782490518403e-19,7.095204776695302e-19,7.14274388047449e-19,-7.190441182545829e-19,7.238297716885085e-19,7.2863134834922565e-19,7.334486931403696e-19,-7.382819611583053e-19,-7.431309973066677e-19,-7.4799600838061e-19,-7.52876942681344e-19,7.577736968112931e-19,7.626862707704572e-19,7.67614767956413e-19,-7.725591366703722e-19,-7.77519428611123e-19,7.8249554038108885e-19,-7.874875236790581e-19,7.924953268062424e-19,7.975190531602184e-19,8.025587544397743e-19,-8.0761417215096865e-19,-8.126855130889547e-19,8.177727255549441e-19,-8.228757578501486e-19,-8.279948167697213e-19,8.331296438197208e-19,8.382803423977236e-19,8.434469125037298e-19,-8.486293541377394e-19,-8.538277189985406e-19,-8.590419553873452e-19,8.6427201160536485e-19,-8.695178876525996e-19,8.74779686926626e-19,8.800575128250206e-19,8.853510551550537e-19,-8.906605207118784e-19,8.959858060979182e-19,-9.013269113131731e-19,9.066840431527962e-19,-9.120568914240579e-19,-9.174457663196877e-19,-9.22850357646956e-19,-9.282709755985926e-19,9.337074133794442e-19,-9.39159670989511e-19,9.446278518263693e-19,-9.501118524924427e-19,-9.556117763853078e-19,-9.611276235049646e-19,9.666592904538364e-19,-9.722067772319232e-19,-9.777701872368018e-19,-9.833494170708954e-19,-9.889445701317806e-19,-9.945556464194575e-19,-1.0001825425363495e-18,1.0058252584824565e-18,-1.0114838976553552e-18,-1.0171584600550456e-18,1.022848842283951e-18,1.0285550443420715e-18,1.0342771696269836e-18,-1.0400152181386874e-18,1.0457691898771828e-18,-1.0515388780473168e-18,1.0573244894442423e-18,-1.0631260240679596e-18,-1.0689433785208919e-18,1.0747766562006158e-18,-1.0806256503119783e-18,-1.086490671047709e-18,1.0923715116126547e-18,1.0982681720068155e-18,1.1041808590253446e-18,1.1101093658730887e-18,1.1160536925500479e-18,1.1220139424537987e-18,1.1279900121867646e-18,-1.1339820051465222e-18,1.1399898179354948e-18,1.1460135539512591e-18,-1.1520531097962385e-18,1.1581085888680095e-18,-1.1641799911665722e-18,1.1702672132943499e-18,-1.1763701518537661e-18,-1.1824891170375506e-18,-1.1886239020505501e-18,-1.1947747136879179e-18,-1.2009412417569241e-18,-1.207123693052722e-18,1.213321964177735e-18,1.2195361585295396e-18,-1.2257662761081359e-18,-1.2320122135159472e-18,1.2382739707529736e-18,-1.2445516512167917e-18,-1.2508451515098248e-18,1.2571546784272262e-18,-1.2634800251738426e-18,-1.2698211917496741e-18,1.2761780747571442e-18,1.2825509843889824e-18,-1.2889398172476123e-18,-1.2953444699354572e-18,1.3017650458500938e-18,-1.3082014415939455e-18,-1.3146536571670123e-18,-1.3211218993644472e-18,-1.3276059613910973e-18,1.3341058432469624e-18,1.3406215449320426e-18,-1.3471531698439144e-18,-1.3537008213801545e-18,1.360264189348033e-18,-1.3668433771451267e-18,1.373438488169012e-18,-1.380049522419689e-18,-1.3866764798971575e-18,-1.3933192572038412e-18,-1.3999778543397399e-18,1.4066522713048537e-18,-1.4133427148943357e-18,1.4200489783130328e-18,-1.4267709581633685e-18,-1.4335088612404957e-18,-1.4402627909419912e-18,1.4470324370751252e-18,-1.453818213230204e-18,-1.4606196024193446e-18,1.4674370182328535e-18,-1.474270150478001e-18,-1.48111920594994e-18,1.4879842880462473e-18,-1.4948651899717697e-18,1.5017618083289305e-18,-1.5086744533104596e-18,-1.5156028147236272e-18,-1.5225473061587396e-18,1.5295075140254905e-18,1.5364835417214564e-18,1.543475492644214e-18,-1.5504832633961867e-18,1.5575070607725276e-18,1.5645466779780836e-18,1.571602011615278e-18,1.5786733718768408e-18,-1.5857605519676185e-18,1.592863655285188e-18,-1.5999825784319724e-18,1.6071174248055486e-18,1.6142680910083398e-18,-1.6214345770403461e-18,-1.6286170896967206e-18,-1.6358154221823102e-18,-1.6430293677019617e-18,-1.650259443243558e-18,1.6575053386143694e-18,1.6647671572119724e-18,-1.6720447956387905e-18,-1.6793383572924003e-18,1.6866477387752251e-18,1.6939730434848416e-18,-1.7013142714212497e-18,1.708671319186873e-18,-1.7160441867817112e-18,1.7234328742057645e-18,-1.7308374848566095e-18,1.7382582255293993e-18,1.745694579236251e-18,-1.7531468561698944e-18,-1.7606148495351763e-18,1.7680987661272498e-18,-1.775598812741268e-18,-1.783114575786925e-18,-1.7906462620593734e-18,1.7981936647634603e-18,-1.805756990694339e-18,1.8133364466471623e-18,-1.820931412236471e-18,1.8285425078477246e-18,1.8361693198906167e-18,1.8438120551603004e-18,1.8514707136567757e-18,-1.8591450885848896e-18,-1.8668355935349482e-18,-1.8745418149166454e-18,-1.882263545934828e-18,-1.8900016137701083e-18,1.8977556048321804e-18,-1.905525312325891e-18,1.91331073625124e-18,-1.921112290198534e-18,-1.9289297673726195e-18,-1.9367629609783435e-18,-1.944611871015706e-18,1.9524769110750134e-18,-1.9603576675659592e-18,-1.96825455407885e-18,-1.976166950228226e-18,-1.9840954763995466e-18,-1.992039719002506e-18,1.9999998848322568e-18],"p":[-9.999999682655225e-21,-9.980079493294329e-21,-9.960159303933433e-21,-9.940239114572537e-21,-9.920318925211641e-21,-9.900398735850745e-21,-9.880477738696282e-21,-9.860557549335385e-21,-9.840637359974489e-21,-9.820717170613593e-21,-9.800796981252697e-21,-9.7808767918918e-21,-9.760955794737338e-21,-9.741035605376441e-21,-9.721115416015545e-21,-9.701195226654649e-21,-9.681275037293753e-21,-9.661354847932857e-21,-9.64143465857196e-21,-9.621513661417498e-21,-9.601593472056601e-21,-9.581673282695705e-21,-9.561753093334809e-21,-9.541832903973913e-21,-9.521912714613017e-21,-9.501991717458554e-21,-9.482071528097658e-21,-9.462151338736761e-21,-9.442231149375865e-21,-9.422310960014969e-21,-9.402390770654073e-21,-9.38246977349961e-21,-9.362549584138714e-21,-9.342629394777818e-21,-9.322709205416921e-21,-9.302789016056025e-21,-9.282868826695129e-21,-9.262947829540666e-21,-9.24302764017977e-21,-9.223107450818874e-21,-9.203187261457978e-21,-9.183267072097081e-21,-9.163346882736185e-21,-9.143426693375289e-21,-9.123505696220826e-21,-9.10358550685993e-21,-9.083665317499034e-21,-9.063745128138137e-21,-9.043824938777241e-21,-9.023904749416345e-21,-9.003983752261882e-21,-8.984063562900986e-21,-8.96414337354009e-21,-8.944223184179194e-21,-8.924302994818297e-21,-8.904382805457401e-21,-8.884461808302938e-21,-8.864541618942042e-21,-8.844621429581146e-21,-8.82470124022025e-21,-8.804781050859354e-21,-8.784860861498457e-21,-8.764939864343994e-21,-8.745019674983098e-21,-8.725099485622202e-21,-8.705179296261306e-21,-8.68525910690041e-21,-8.665338917539514e-21,-8.645418728178617e-21,-8.625497731024154e-21,-8.605577541663258e-21,-8.585657352302362e-21,-8.565737162941466e-21,-8.54581697358057e-21,-8.525896784219674e-21,-8.50597578706521e-21,-8.486055597704314e-21,-8.466135408343418e-21,-8.446215218982522e-21,-8.426295029621626e-21,-8.40637484026073e-21,-8.386453843106267e-21,-8.36653365374537e-21,-8.346613464384474e-21,-8.326693275023578e-21,-8.306773085662682e-21,-8.286852896301786e-21,-8.266931899147323e-21,-8.247011709786427e-21,-8.22709152042553e-21,-8.207171331064634e-21,-8.187251141703738e-21,-8.167330952342842e-21,-8.147409955188379e-21,-8.127489765827483e-21,-8.107569576466586e-21,-8.08764938710569e-21,-8.067729197744794e-21,-8.047809008383898e-21,-8.027888819023002e-21,-8.007967821868539e-21,-7.988047632507643e-21,-7.968127443146746e-21,-7.94820725378585e-21,-7.928287064424954e-21,-7.908366875064058e-21,-7.888445877909595e-21,-7.868525688548699e-21,-7.848605499187803e-21,-7.828685309826906e-21,-7.80876512046601e-21,-7.788844931105114e-21,-7.768923933950651e-21,-7.749003744589755e-21,-7.729083555228859e-21,-7.709163365867963e-21,-7.689243176507066e-21,-7.66932298714617e-21,-7.649401989991707e-21,-7.629481800630811e-21,-7.609561611269915e-21,-7.589641421909019e-21,-7.569721232548123e-21,-7.549801043187226e-21,-7.52988085382633e-21,-7.509959856671867e-21,-7.490039667310971e-21,-7.470119477950075e-21,-7.450199288589179e-21,-7.430279099228283e-21,-7.410358909867386e-21,-7.390437912712923e-21,-7.370517723352027e-21,-7.350597533991131e-21,-7.330677344630235e-21,-7.310757155269339e-21,-7.290836965908442e-21,-7.27091596875398e-21,-7.250995779393083e-21,-7.231075590032187e-21,-7.211155400671291e-21,-7.191235211310395e-21,-7.171315021949499e-21,-7.151394024795035e-21,-7.13147383543414e-21,-7.111553646073243e-21,-7.091633456712347e-21,-7.071713267351451e-21,-7.051793077990555e-21,-7.031872888629659e-21,-7.011951891475195e-21,-6.9920317021143e-21,-6.972111512753403e-21,-6.952191323392507e-21,-6.932271134031611e-21,-6.912350944670715e-21,-6.892429947516252e-21,-6.872509758155355e-21,-6.85258956879446e-21,-6.832669379433563e-21,-6.812749190072667e-21,-6.792829000711771e-21,-6.772908407454091e-21,-6.752988218093195e-21,-6.7330676248355154e-21,-6.713147435474619e-21,-6.693227246113723e-21,-6.6733066528560435e-21,-6.653386463495147e-21,-6.633466274134251e-21,-6.6135456808765715e-21,-6.5936254915156754e-21,-6.573705302154779e-21,-6.5537847088970996e-21,-6.5338645195362034e-21,-6.513944330175307e-21,-6.494023736917628e-21,-6.4741035475567315e-21,-6.454183358195835e-21,-6.434262764938156e-21,-6.4143425755772596e-21,-6.3944223862163634e-21,-6.374501792958684e-21,-6.354581603597788e-21,-6.3346614142368915e-21,-6.314741224875995e-21,-6.294820631618316e-21,-6.2749004422574195e-21,-6.2549802528965234e-21,-6.235059659638844e-21,-6.2151394702779476e-21,-6.1952192809170514e-21,-6.175298687659372e-21,-6.155378498298476e-21,-6.1354583089375795e-21,-6.1155377156799e-21,-6.095617526319004e-21,-6.0756973369581076e-21,-6.055776743700428e-21,-6.035856554339532e-21,-6.015936364978636e-21,-5.996015771720956e-21,-5.97609558236006e-21,-5.956175392999164e-21,-5.936254799741484e-21,-5.916334610380588e-21,-5.896414421019692e-21,-5.876493827762012e-21,-5.856573638401116e-21,-5.83665344904022e-21,-5.816733259679324e-21,-5.796812666421644e-21,-5.776892477060748e-21,-5.756972287699852e-21,-5.737051694442172e-21,-5.717131505081276e-21,-5.69721131572038e-21,-5.6772907224627e-21,-5.657370533101804e-21,-5.637450343740908e-21,-5.617529750483228e-21,-5.597609561122332e-21,-5.577689371761436e-21,-5.557768778503756e-21,-5.53784858914286e-21,-5.517928399781964e-21,-5.498007806524284e-21,-5.478087617163388e-21,-5.458167427802492e-21,-5.4382468345448124e-21,-5.418326645183916e-21,-5.39840645582302e-21,-5.3784858625653405e-21,-5.358565673204444e-21,-5.338645483843548e-21,-5.318725294482652e-21,-5.2988047012249724e-21,-5.278884511864076e-21,-5.25896432250318e-21,-5.2390437292455004e-21,-5.219123539884604e-21,-5.199203350523708e-21,-5.1792827572660285e-21,-5.159362567905132e-21,-5.139442378544236e-21,-5.1195217852865566e-21,-5.0996015959256604e-21,-5.079681406564764e-21,-5.059760813307085e-21,-5.0398406239461885e-21,-5.019920434585292e-21,-4.999999841327613e-21,-4.9800796519667165e-21,-4.9601594626058204e-21,-4.940238869348141e-21,-4.9203186799872446e-21,-4.9003984906263484e-21,-4.880477897368669e-21,-4.860557708007773e-21,-4.8406375186468765e-21,-4.82071732928598e-21,-4.800796736028301e-21,-4.7808765466674046e-21,-4.7609563573065084e-21,-4.741035764048829e-21,-4.721115574687933e-21,-4.7011953853270365e-21,-4.681274792069357e-21,-4.661354602708461e-21,-4.6414344133475645e-21,-4.621513820089885e-21,-4.601593630728989e-21,-4.5816734413680926e-21,-4.561752848110413e-21,-4.541832658749517e-21,-4.521912469388621e-21,-4.501991876130941e-21,-4.482071686770045e-21,-4.462151497409149e-21,-4.442230904151469e-21,-4.422310714790573e-21,-4.402390525429677e-21,-4.382469932171997e-21,-4.362549742811101e-21,-4.342629553450205e-21,-4.322709364089309e-21,-4.302788770831629e-21,-4.282868581470733e-21,-4.262948392109837e-21,-4.243027798852157e-21,-4.223107609491261e-21,-4.203187420130365e-21,-4.183266826872685e-21,-4.163346637511789e-21,-4.143426448150893e-21,-4.123505854893213e-21,-4.103585665532317e-21,-4.083665476171421e-21,-4.063744882913741e-21,-4.043824693552845e-21,-4.023904504191949e-21,-4.0039839109342694e-21,-3.984063721573373e-21,-3.964143532212477e-21,-3.9442229389547974e-21,-3.924302749593901e-21,-3.904382560233005e-21,-3.8844619669753255e-21,-3.864541777614429e-21,-3.844621588253533e-21,-3.8247009949958536e-21,-3.8047808056349574e-21,-3.784860616274061e-21,-3.764940426913165e-21,-3.7450198336554855e-21,-3.725099644294589e-21,-3.705179454933693e-21,-3.6852588616760135e-21,-3.6653386723151174e-21,-3.645418482954221e-21,-3.6254978896965416e-21,-3.6055777003356455e-21,-3.585657510974749e-21,-3.56573691771707e-21,-3.5458167283561735e-21,-3.525896538995277e-21,-3.505975945737598e-21,-3.4860557563767016e-21,-3.4661355670158054e-21,-3.446214973758126e-21,-3.42629478439723e-21,-3.4063745950363335e-21,-3.3864542037270456e-21,-3.3665338124177577e-21,-3.3466136230568615e-21,-3.3266932317475737e-21,-3.3067728404382858e-21,-3.2868526510773896e-21,-3.2669322597681017e-21,-3.247011868458814e-21,-3.2270916790979177e-21,-3.2071712877886298e-21,-3.187250896479342e-21,-3.1673307071184457e-21,-3.147410315809158e-21,-3.1274901264482617e-21,-3.1075697351389738e-21,-3.087649343829686e-21,-3.0677291544687898e-21,-3.047808763159502e-21,-3.027888371850214e-21,-3.007968182489318e-21,-2.98804779118003e-21,-2.968127399870742e-21,-2.948207210509846e-21,-2.928286819200558e-21,-2.908366629839662e-21,-2.888446238530374e-21,-2.868525847221086e-21,-2.84860565786019e-21,-2.828685266550902e-21,-2.808764875241614e-21,-2.788844685880718e-21,-2.76892429457143e-21,-2.749003903262142e-21,-2.729083713901246e-21,-2.709163322591958e-21,-2.6892429312826702e-21,-2.669322741921774e-21,-2.6494023506124862e-21,-2.62948216125159e-21,-2.609561769942302e-21,-2.5896413786330143e-21,-2.569721189272118e-21,-2.5498007979628302e-21,-2.5298804066535423e-21,-2.509960217292646e-21,-2.4900398259833583e-21,-2.4701194346740704e-21,-2.4501992453131742e-21,-2.4302788540038863e-21,-2.41035866464299e-21,-2.3904382733337023e-21,-2.3705178820244144e-21,-2.3505976926635182e-21,-2.3306773013542303e-21,-2.3107569100449425e-21,-2.2908367206840463e-21,-2.2709163293747584e-21,-2.2509959380654705e-21,-2.2310757487045744e-21,-2.2111553573952865e-21,-2.1912349660859986e-21,-2.1713147767251024e-21,-2.1513943854158145e-21,-2.1314741960549184e-21,-2.1115538047456305e-21,-2.0916334134363426e-21,-2.0717132240754464e-21,-2.0517928327661586e-21,-2.0318724414568707e-21,-2.0119522520959745e-21,-1.9920318607866866e-21,-1.9721114694773987e-21,-1.9521912801165026e-21,-1.9322708888072147e-21,-1.9123504974979268e-21,-1.8924303081370306e-21,-1.8725099168277427e-21,-1.8525897274668466e-21,-1.8326693361575587e-21,-1.8127489448482708e-21,-1.7928287554873746e-21,-1.7729083641780868e-21,-1.752987972868799e-21,-1.7330677835079027e-21,-1.713147392198615e-21,-1.6932271018635228e-21,-1.6733068115284308e-21,-1.6533864202191429e-21,-1.6334661298840509e-21,-1.6135458395489588e-21,-1.593625448239671e-21,-1.573705157904579e-21,-1.5537848675694869e-21,-1.5338645772343949e-21,-1.513944185925107e-21,-1.494023895590015e-21,-1.474103605254923e-21,-1.454183314919831e-21,-1.434262923610543e-21,-1.414342633275451e-21,-1.394422342940359e-21,-1.374501951631071e-21,-1.354581661295979e-21,-1.334661370960887e-21,-1.314741080625795e-21,-1.2948206893165071e-21,-1.2749003989814151e-21,-1.254980108646323e-21,-1.2350597173370352e-21,-1.2151394270019432e-21,-1.1952191366668511e-21,-1.1752988463317591e-21,-1.1553784550224712e-21,-1.1354581646873792e-21,-1.1155378743522872e-21,-1.0956174830429993e-21,-1.0756971927079073e-21,-1.0557769023728152e-21,-1.0358566120377232e-21,-1.0159362207284353e-21,-9.960159303933433e-22,-9.760956400582513e-22,-9.561752487489634e-22,-9.362549584138714e-22,-9.163346680787793e-22,-8.964143777436873e-22,-8.764939864343994e-22,-8.565736960993074e-22,-8.366534057642154e-22,-8.167330649420254e-22,-7.968127241198355e-22,-7.7689243378474345e-22,-7.569720929625535e-22,-7.370518026274615e-22,-7.171314618052715e-22,-6.972111714701795e-22,-6.772908306479895e-22,-6.573705403128975e-22,-6.3745019949070755e-22,-6.175298586685176e-22,-5.976095683334256e-22,-5.776892275112356e-22,-5.577689371761436e-22,-5.378485963539536e-22,-5.179283060188616e-22,-4.980079651966717e-22,-4.780876243744817e-22,-4.581673340393897e-22,-4.382469932171997e-22,-4.183267028821077e-22,-3.9840636205991774e-22,-3.7848604648127675e-22,-3.5856573090263576e-22,-3.3864541532399477e-22,-3.1872509974535378e-22,-2.988047841667128e-22,-2.788844685880718e-22,-2.589641530094308e-22,-2.3904381218724085e-22,-2.1912349660859986e-22,-1.9920318102995887e-22,-1.7928286545131788e-22,-1.5936254987267689e-22,-1.394422342940359e-22,-1.1952190609362042e-22,-9.960159051497943e-23,-7.968127493633844e-23,-5.976095304681021e-23,-3.984063746816922e-23,-1.992031873408461e-23,0],"t":[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],"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],"y":[-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,-1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,-1,1,1,1,-1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,1,1,1,-1,1,-1,1,1,-1,1,1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,-1,1,1,-1,1,1,1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,-1,1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_positive.json b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_positive.json new file mode 100644 index 000000000000..fee848c235f8 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/fixtures/julia/tiny_positive.json @@ -0,0 +1 @@ +{"expected":[0,7.936381679769397e-24,-3.174552671907759e-23,-7.142744221767272e-23,-1.2698210687631036e-22,1.9840954909398308e-22,2.857097688706909e-22,-3.8888272834111034e-22,5.079284275052414e-22,6.4284696733728e-22,-7.936381963759323e-22,-9.603021651082963e-22,-1.1428390754827636e-21,1.3412485236025508e-21,-1.5555309133644414e-21,-1.7856860428200436e-21,2.0317137100209657e-21,-2.293614520812383e-21,2.57138786934912e-21,2.865033957579569e-21,3.1745527855037293e-21,3.499944555069993e-21,3.841208660433185e-21,-4.1983463132836556e-21,4.571356301931054e-21,4.9602390302721646e-21,-5.364994094410203e-21,-5.785621898241953e-21,-6.2221236534577654e-21,-6.674497340573722e-21,-7.142744171280174e-21,7.626862933886771e-21,8.126854840083863e-21,8.64271988987145e-21,9.174458083249532e-21,9.722067804630975e-21,1.028555147739648e-20,1.0864906678165347e-20,1.1460135830318275e-20,1.2071236510474565e-20,1.2698211142014917e-20,-1.3341058109352197e-20,-1.3999778220279972e-20,-1.467436985921111e-20,1.536483464173274e-20,1.6071172567844867e-20,1.6793385253134622e-20,-1.7531467850840605e-20,1.8285425207724217e-20,1.9055252477024056e-20,-1.9840956121088658e-20,-2.0642529677569488e-20,-2.1459976377640812e-20,-2.2293296221302632e-20,2.3142487592967813e-20,2.4007555339397757e-20,-2.4888494613831062e-20,2.5785303800680594e-20,-2.669798936229489e-20,-2.762654322073828e-20,2.85709766851207e-20,-2.953127521515794e-20,-3.0507451735547084e-20,3.149949978393959e-20,3.250741936033545e-20,3.3531213695908945e-20,-3.45708795594858e-20,3.5626416951066015e-20,3.669783233299813e-20,-3.7785112780585065e-20,3.88882712185239e-20,-4.0007301184466096e-20,-4.114220590958592e-20,-4.229297570036057e-20,-4.345962671266139e-20,-4.4642149252965564e-20,4.58405433212731e-20,4.7054808917584e-20,4.828494604189826e-20,-4.953095792539015e-20,-5.079284456805967e-20,5.207060273873255e-20,5.336423243740879e-20,5.467373043291412e-20,-5.599911288111989e-20,-5.734036039498048e-20,-5.869747943684443e-20,6.007047646906028e-20,-6.145933856693096e-20,6.286407865515353e-20,6.428469027137947e-20,-6.57211798779573e-20,6.717354101253849e-20,6.864176075042597e-20,7.012587140336242e-20,-7.16258471219537e-20,-7.314170083089687e-20,-7.467341960549487e-20,7.622100990809623e-20,-7.778447820104948e-20,-7.936382448435463e-20,-8.095902937096608e-20,8.257011871027795e-20,8.419707311524465e-20,8.583990551056325e-20,-8.749861589623374e-20,8.917318488521053e-20,9.086363832688775e-20,9.256995037187125e-20,-9.429215333190373e-20,9.603022135759103e-20,9.778416737363022e-20,-9.955397845532425e-20,1.0133966106502163e-19,-1.0314121520272238e-19,1.0495864733077502e-19,1.0679195744917956e-19,-1.0864113909558746e-19,1.1050617288295311e-19,1.1238710404771627e-19,1.142839067404828e-19,-1.161965680365556e-19,1.1812510086063177e-19,-1.2006951813740837e-19,1.2202980694218834e-19,1.2400596727497166e-19,-1.2599799913575835e-19,-1.2800591544924547e-19,-1.300296774413418e-19,1.3206933681083565e-19,1.3412485478363578e-19,-1.3619624428443927e-19,1.382835182379432e-19,-1.403866507947534e-19,1.4250566780426406e-19,1.4464056926647514e-19,-1.467913293319925e-19,-1.4895796092551324e-19,-1.5114045112234026e-19,1.5333883869656479e-19,-1.555530848740956e-19,1.5778320257962978e-19,-1.6002920473786439e-19,1.6229107842410235e-19,-1.6456882363834369e-19,-1.6686244038058838e-19,-1.691719028014423e-19,-1.7149727552439077e-19,-1.7383850685064555e-19,1.7619562262960076e-19,-1.7856859701186226e-19,-1.8095744292212712e-19,-1.833621732850924e-19,-1.8578274932666692e-19,-1.88219235670336e-19,1.906715676926143e-19,1.9313978416759304e-19,-1.9562388509527221e-19,1.981238317015606e-19,-2.0063968860994356e-19,2.0317137827223867e-19,2.0571893946253715e-19,2.082824109549302e-19,2.1086172812593246e-19,-2.1345692974963515e-19,-2.1606800290134121e-19,-2.186949217316565e-19,2.213377637887634e-19,-2.2399645152447956e-19,2.2667101078819906e-19,-2.2936144157992192e-19,2.3206774389964815e-19,-2.3478991774737774e-19,2.375279631231107e-19,2.4028190587624114e-19,2.430516943079808e-19,-2.4583735426772384e-19,2.486389116048644e-19,2.5145631462061413e-19,2.542896150137614e-19,2.5713876108551787e-19,-2.6000380453467185e-19,-2.628847195118292e-19,-2.657815060169899e-19,-2.6869416405015396e-19,-2.7162266776192724e-19,2.745670430017039e-19,2.7752734146827217e-19,-2.805034856134497e-19,-2.8349550128663055e-19,-2.865033884878148e-19,-2.895271472170024e-19,-2.9256680332358747e-19,2.9562227925938765e-19,2.9869367842197946e-19,3.017809232631805e-19,-3.048840396323849e-19,3.080030533789868e-19,-3.111379128041979e-19,3.1428866960680655e-19,-3.1745529793741853e-19,3.206377460972456e-19,3.238361174838643e-19,-3.2705036039848637e-19,3.302804748411118e-19,3.335264608117406e-19,3.367882924609786e-19,3.4006604733700827e-19,-3.43359622042253e-19,3.466691199742894e-19,3.4999446358493498e-19,3.5333567872358394e-19,-3.566927395408421e-19,-3.600656977354978e-19,-3.63454553307551e-19,-3.668592545582134e-19,-3.70279801487485e-19,3.737162974929424e-19,-3.771686133276149e-19,3.806368265396849e-19,-3.841208854303641e-19,-3.876208158490467e-19,3.911366694945209e-19,3.946683429692102e-19,-3.98215913821297e-19,-4.0177935620138715e-19,-4.0535864426008652e-19,-4.0895385554557755e-19,4.125648608108895e-19,4.161917893029931e-19,-4.1983458932310007e-19,-4.234932608712104e-19,-4.2716782979671823e-19,-4.3085821855144114e-19,-4.345645563823498e-19,4.382867140424736e-19,4.4202469153181245e-19,-4.457786439467312e-19,4.495484161908651e-19,-4.533341116617906e-19,-4.571356269619312e-19,4.609530137900751e-19,4.647862721462224e-19,-4.686354537291613e-19,-4.725004034425271e-19,4.763813280814727e-19,4.802780725496335e-19,-4.841907402445859e-19,-4.881192277687533e-19,-4.920636385197125e-19,-4.960238690998866e-19,-4.999999712080642e-19,5.039919965430334e-19,-5.0799989340600595e-19,5.120236617969819e-19,5.160632500171729e-19,5.201187097653672e-19,5.241900927403532e-19,-5.282773472433426e-19,-5.32380421575547e-19,-5.364994191345431e-19,5.406342365227543e-19,-5.447849771377571e-19,5.489515892807633e-19,5.531340729517728e-19,-5.573324281507857e-19,5.615466031790136e-19,5.657767531328215e-19,5.700226712170562e-19,-5.742845642268709e-19,5.785622770659006e-19,5.828558097341453e-19,-5.8716531732797e-19,-5.914906447510098e-19,5.95831843702053e-19,6.001888624823112e-19,-6.04561804489361e-19,-6.089506180244143e-19,-6.133553547862591e-19,6.177759113773191e-19,-6.222123394963824e-19,6.266646391434491e-19,6.311328103185191e-19,6.356169047203808e-19,6.401168189514575e-19,6.446326047105377e-19,-6.491643136964094e-19,6.537118425114963e-19,6.582752945533747e-19,-6.628545664244683e-19,6.674497615223535e-19,-6.720607247506655e-19,-6.766876112057692e-19,-6.813304725864527e-19,-6.859891020975631e-19,6.906636031366768e-19,-6.953540274025822e-19,-7.0006027149770265e-19,7.04782490518403e-19,7.095204776695302e-19,-7.14274388047449e-19,7.190441182545829e-19,7.238297716885085e-19,-7.2863134834922565e-19,7.334486931403696e-19,-7.382819611583053e-19,-7.431309973066677e-19,7.4799600838061e-19,7.52876942681344e-19,-7.577736968112931e-19,-7.626862707704572e-19,-7.67614767956413e-19,7.725591366703722e-19,-7.77519428611123e-19,7.8249554038108885e-19,7.874875236790581e-19,7.924953268062424e-19,7.975190531602184e-19,8.025587544397743e-19,8.0761417215096865e-19,-8.126855130889547e-19,-8.177727255549441e-19,8.228757578501486e-19,8.279948167697213e-19,8.331296438197208e-19,-8.382803423977236e-19,8.434469125037298e-19,-8.486293541377394e-19,-8.538277189985406e-19,-8.590419553873452e-19,8.6427201160536485e-19,8.695178876525996e-19,-8.74779686926626e-19,-8.800575128250206e-19,8.853510551550537e-19,8.906605207118784e-19,-8.959858060979182e-19,9.013269113131731e-19,9.066840431527962e-19,-9.120568914240579e-19,9.174457663196877e-19,-9.22850357646956e-19,9.282709755985926e-19,-9.337074133794442e-19,-9.39159670989511e-19,-9.446278518263693e-19,9.501118524924427e-19,-9.556117763853078e-19,9.611276235049646e-19,9.666592904538364e-19,-9.722067772319232e-19,-9.777701872368018e-19,-9.833494170708954e-19,9.889445701317806e-19,9.945556464194575e-19,-1.0001825425363495e-18,1.0058252584824565e-18,1.0114838976553552e-18,1.0171584600550456e-18,-1.022848842283951e-18,1.0285550443420715e-18,-1.0342771696269836e-18,-1.0400152181386874e-18,-1.0457691898771828e-18,-1.0515388780473168e-18,-1.0573244894442423e-18,-1.0631260240679596e-18,-1.0689433785208919e-18,1.0747766562006158e-18,-1.0806256503119783e-18,-1.086490671047709e-18,-1.0923715116126547e-18,1.0982681720068155e-18,1.1041808590253446e-18,-1.1101093658730887e-18,1.1160536925500479e-18,-1.1220139424537987e-18,1.1279900121867646e-18,1.1339820051465222e-18,1.1399898179354948e-18,-1.1460135539512591e-18,1.1520531097962385e-18,1.1581085888680095e-18,-1.1641799911665722e-18,-1.1702672132943499e-18,-1.1763701518537661e-18,1.1824891170375506e-18,-1.1886239020505501e-18,1.1947747136879179e-18,1.2009412417569241e-18,-1.207123693052722e-18,1.213321964177735e-18,1.2195361585295396e-18,1.2257662761081359e-18,-1.2320122135159472e-18,1.2382739707529736e-18,1.2445516512167917e-18,1.2508451515098248e-18,1.2571546784272262e-18,-1.2634800251738426e-18,1.2698211917496741e-18,1.2761780747571442e-18,1.2825509843889824e-18,1.2889398172476123e-18,-1.2953444699354572e-18,-1.3017650458500938e-18,-1.3082014415939455e-18,1.3146536571670123e-18,-1.3211218993644472e-18,-1.3276059613910973e-18,1.3341058432469624e-18,1.3406215449320426e-18,-1.3471531698439144e-18,1.3537008213801545e-18,1.360264189348033e-18,1.3668433771451267e-18,1.373438488169012e-18,-1.380049522419689e-18,-1.3866764798971575e-18,-1.3933192572038412e-18,1.3999778543397399e-18,-1.4066522713048537e-18,1.4133427148943357e-18,1.4200489783130328e-18,1.4267709581633685e-18,1.4335088612404957e-18,1.4402627909419912e-18,1.4470324370751252e-18,-1.453818213230204e-18,-1.4606196024193446e-18,1.4674370182328535e-18,-1.474270150478001e-18,-1.48111920594994e-18,1.4879842880462473e-18,-1.4948651899717697e-18,1.5017618083289305e-18,-1.5086744533104596e-18,-1.5156028147236272e-18,1.5225473061587396e-18,1.5295075140254905e-18,1.5364835417214564e-18,1.543475492644214e-18,-1.5504832633961867e-18,-1.5575070607725276e-18,-1.5645466779780836e-18,1.571602011615278e-18,1.5786733718768408e-18,-1.5857605519676185e-18,1.592863655285188e-18,1.5999825784319724e-18,1.6071174248055486e-18,-1.6142680910083398e-18,-1.6214345770403461e-18,-1.6286170896967206e-18,-1.6358154221823102e-18,-1.6430293677019617e-18,-1.650259443243558e-18,1.6575053386143694e-18,-1.6647671572119724e-18,-1.6720447956387905e-18,-1.6793383572924003e-18,-1.6866477387752251e-18,1.6939730434848416e-18,1.7013142714212497e-18,1.708671319186873e-18,1.7160441867817112e-18,1.7234328742057645e-18,1.7308374848566095e-18,-1.7382582255293993e-18,1.745694579236251e-18,-1.7531468561698944e-18,-1.7606148495351763e-18,1.7680987661272498e-18,-1.775598812741268e-18,1.783114575786925e-18,1.7906462620593734e-18,1.7981936647634603e-18,1.805756990694339e-18,-1.8133364466471623e-18,-1.820931412236471e-18,1.8285425078477246e-18,-1.8361693198906167e-18,-1.8438120551603004e-18,-1.8514707136567757e-18,1.8591450885848896e-18,1.8668355935349482e-18,1.8745418149166454e-18,-1.882263545934828e-18,-1.8900016137701083e-18,1.8977556048321804e-18,-1.905525312325891e-18,1.91331073625124e-18,1.921112290198534e-18,1.9289297673726195e-18,-1.9367629609783435e-18,-1.944611871015706e-18,-1.9524769110750134e-18,1.9603576675659592e-18,-1.96825455407885e-18,1.976166950228226e-18,1.9840954763995466e-18,-1.992039719002506e-18,1.9999998848322568e-18],"p":[0,1.992031873408461e-23,3.984063746816922e-23,5.976095304681021e-23,7.968127493633844e-23,9.960159051497943e-23,1.1952190609362042e-22,1.394422342940359e-22,1.5936254987267689e-22,1.7928286545131788e-22,1.9920318102995887e-22,2.1912349660859986e-22,2.3904381218724085e-22,2.589641530094308e-22,2.788844685880718e-22,2.988047841667128e-22,3.1872509974535378e-22,3.3864541532399477e-22,3.5856573090263576e-22,3.7848604648127675e-22,3.9840636205991774e-22,4.183267028821077e-22,4.382469932171997e-22,4.581673340393897e-22,4.780876243744817e-22,4.980079651966717e-22,5.179283060188616e-22,5.378485963539536e-22,5.577689371761436e-22,5.776892275112356e-22,5.976095683334256e-22,6.175298586685176e-22,6.3745019949070755e-22,6.573705403128975e-22,6.772908306479895e-22,6.972111714701795e-22,7.171314618052715e-22,7.370518026274615e-22,7.569720929625535e-22,7.7689243378474345e-22,7.968127241198355e-22,8.167330649420254e-22,8.366534057642154e-22,8.565736960993074e-22,8.764939864343994e-22,8.964143777436873e-22,9.163346680787793e-22,9.362549584138714e-22,9.561752487489634e-22,9.760956400582513e-22,9.960159303933433e-22,1.0159362207284353e-21,1.0358566120377232e-21,1.0557769023728152e-21,1.0756971927079073e-21,1.0956174830429993e-21,1.1155378743522872e-21,1.1354581646873792e-21,1.1553784550224712e-21,1.1752988463317591e-21,1.1952191366668511e-21,1.2151394270019432e-21,1.2350597173370352e-21,1.254980108646323e-21,1.2749003989814151e-21,1.2948206893165071e-21,1.314741080625795e-21,1.334661370960887e-21,1.354581661295979e-21,1.374501951631071e-21,1.394422342940359e-21,1.414342633275451e-21,1.434262923610543e-21,1.454183314919831e-21,1.474103605254923e-21,1.494023895590015e-21,1.513944185925107e-21,1.5338645772343949e-21,1.5537848675694869e-21,1.573705157904579e-21,1.593625448239671e-21,1.6135458395489588e-21,1.6334661298840509e-21,1.6533864202191429e-21,1.6733068115284308e-21,1.6932271018635228e-21,1.713147392198615e-21,1.7330677835079027e-21,1.752987972868799e-21,1.7729083641780868e-21,1.7928287554873746e-21,1.8127489448482708e-21,1.8326693361575587e-21,1.8525897274668466e-21,1.8725099168277427e-21,1.8924303081370306e-21,1.9123504974979268e-21,1.9322708888072147e-21,1.9521912801165026e-21,1.9721114694773987e-21,1.9920318607866866e-21,2.0119522520959745e-21,2.0318724414568707e-21,2.0517928327661586e-21,2.0717132240754464e-21,2.0916334134363426e-21,2.1115538047456305e-21,2.1314741960549184e-21,2.1513943854158145e-21,2.1713147767251024e-21,2.1912349660859986e-21,2.2111553573952865e-21,2.2310757487045744e-21,2.2509959380654705e-21,2.2709163293747584e-21,2.2908367206840463e-21,2.3107569100449425e-21,2.3306773013542303e-21,2.3505976926635182e-21,2.3705178820244144e-21,2.3904382733337023e-21,2.41035866464299e-21,2.4302788540038863e-21,2.4501992453131742e-21,2.4701194346740704e-21,2.4900398259833583e-21,2.509960217292646e-21,2.5298804066535423e-21,2.5498007979628302e-21,2.569721189272118e-21,2.5896413786330143e-21,2.609561769942302e-21,2.62948216125159e-21,2.6494023506124862e-21,2.669322741921774e-21,2.6892429312826702e-21,2.709163322591958e-21,2.729083713901246e-21,2.749003903262142e-21,2.76892429457143e-21,2.788844685880718e-21,2.808764875241614e-21,2.828685266550902e-21,2.84860565786019e-21,2.868525847221086e-21,2.888446238530374e-21,2.908366629839662e-21,2.928286819200558e-21,2.948207210509846e-21,2.968127399870742e-21,2.98804779118003e-21,3.007968182489318e-21,3.027888371850214e-21,3.047808763159502e-21,3.0677291544687898e-21,3.087649343829686e-21,3.1075697351389738e-21,3.1274901264482617e-21,3.147410315809158e-21,3.1673307071184457e-21,3.187250896479342e-21,3.2071712877886298e-21,3.2270916790979177e-21,3.247011868458814e-21,3.2669322597681017e-21,3.2868526510773896e-21,3.3067728404382858e-21,3.3266932317475737e-21,3.3466136230568615e-21,3.3665338124177577e-21,3.3864542037270456e-21,3.4063745950363335e-21,3.42629478439723e-21,3.446214973758126e-21,3.4661355670158054e-21,3.4860557563767016e-21,3.505975945737598e-21,3.525896538995277e-21,3.5458167283561735e-21,3.56573691771707e-21,3.585657510974749e-21,3.6055777003356455e-21,3.6254978896965416e-21,3.645418482954221e-21,3.6653386723151174e-21,3.6852588616760135e-21,3.705179454933693e-21,3.725099644294589e-21,3.7450198336554855e-21,3.764940426913165e-21,3.784860616274061e-21,3.8047808056349574e-21,3.8247009949958536e-21,3.844621588253533e-21,3.864541777614429e-21,3.8844619669753255e-21,3.904382560233005e-21,3.924302749593901e-21,3.9442229389547974e-21,3.964143532212477e-21,3.984063721573373e-21,4.0039839109342694e-21,4.023904504191949e-21,4.043824693552845e-21,4.063744882913741e-21,4.083665476171421e-21,4.103585665532317e-21,4.123505854893213e-21,4.143426448150893e-21,4.163346637511789e-21,4.183266826872685e-21,4.203187420130365e-21,4.223107609491261e-21,4.243027798852157e-21,4.262948392109837e-21,4.282868581470733e-21,4.302788770831629e-21,4.322709364089309e-21,4.342629553450205e-21,4.362549742811101e-21,4.382469932171997e-21,4.402390525429677e-21,4.422310714790573e-21,4.442230904151469e-21,4.462151497409149e-21,4.482071686770045e-21,4.501991876130941e-21,4.521912469388621e-21,4.541832658749517e-21,4.561752848110413e-21,4.5816734413680926e-21,4.601593630728989e-21,4.621513820089885e-21,4.6414344133475645e-21,4.661354602708461e-21,4.681274792069357e-21,4.7011953853270365e-21,4.721115574687933e-21,4.741035764048829e-21,4.7609563573065084e-21,4.7808765466674046e-21,4.800796736028301e-21,4.82071732928598e-21,4.8406375186468765e-21,4.860557708007773e-21,4.880477897368669e-21,4.9003984906263484e-21,4.9203186799872446e-21,4.940238869348141e-21,4.9601594626058204e-21,4.9800796519667165e-21,4.999999841327613e-21,5.019920434585292e-21,5.0398406239461885e-21,5.059760813307085e-21,5.079681406564764e-21,5.0996015959256604e-21,5.1195217852865566e-21,5.139442378544236e-21,5.159362567905132e-21,5.1792827572660285e-21,5.199203350523708e-21,5.219123539884604e-21,5.2390437292455004e-21,5.25896432250318e-21,5.278884511864076e-21,5.2988047012249724e-21,5.318725294482652e-21,5.338645483843548e-21,5.358565673204444e-21,5.3784858625653405e-21,5.39840645582302e-21,5.418326645183916e-21,5.4382468345448124e-21,5.458167427802492e-21,5.478087617163388e-21,5.498007806524284e-21,5.517928399781964e-21,5.53784858914286e-21,5.557768778503756e-21,5.577689371761436e-21,5.597609561122332e-21,5.617529750483228e-21,5.637450343740908e-21,5.657370533101804e-21,5.6772907224627e-21,5.69721131572038e-21,5.717131505081276e-21,5.737051694442172e-21,5.756972287699852e-21,5.776892477060748e-21,5.796812666421644e-21,5.816733259679324e-21,5.83665344904022e-21,5.856573638401116e-21,5.876493827762012e-21,5.896414421019692e-21,5.916334610380588e-21,5.936254799741484e-21,5.956175392999164e-21,5.97609558236006e-21,5.996015771720956e-21,6.015936364978636e-21,6.035856554339532e-21,6.055776743700428e-21,6.0756973369581076e-21,6.095617526319004e-21,6.1155377156799e-21,6.1354583089375795e-21,6.155378498298476e-21,6.175298687659372e-21,6.1952192809170514e-21,6.2151394702779476e-21,6.235059659638844e-21,6.2549802528965234e-21,6.2749004422574195e-21,6.294820631618316e-21,6.314741224875995e-21,6.3346614142368915e-21,6.354581603597788e-21,6.374501792958684e-21,6.3944223862163634e-21,6.4143425755772596e-21,6.434262764938156e-21,6.454183358195835e-21,6.4741035475567315e-21,6.494023736917628e-21,6.513944330175307e-21,6.5338645195362034e-21,6.5537847088970996e-21,6.573705302154779e-21,6.5936254915156754e-21,6.6135456808765715e-21,6.633466274134251e-21,6.653386463495147e-21,6.6733066528560435e-21,6.693227246113723e-21,6.713147435474619e-21,6.7330676248355154e-21,6.752988218093195e-21,6.772908407454091e-21,6.792829000711771e-21,6.812749190072667e-21,6.832669379433563e-21,6.85258956879446e-21,6.872509758155355e-21,6.892429947516252e-21,6.912350944670715e-21,6.932271134031611e-21,6.952191323392507e-21,6.972111512753403e-21,6.9920317021143e-21,7.011951891475195e-21,7.031872888629659e-21,7.051793077990555e-21,7.071713267351451e-21,7.091633456712347e-21,7.111553646073243e-21,7.13147383543414e-21,7.151394024795035e-21,7.171315021949499e-21,7.191235211310395e-21,7.211155400671291e-21,7.231075590032187e-21,7.250995779393083e-21,7.27091596875398e-21,7.290836965908442e-21,7.310757155269339e-21,7.330677344630235e-21,7.350597533991131e-21,7.370517723352027e-21,7.390437912712923e-21,7.410358909867386e-21,7.430279099228283e-21,7.450199288589179e-21,7.470119477950075e-21,7.490039667310971e-21,7.509959856671867e-21,7.52988085382633e-21,7.549801043187226e-21,7.569721232548123e-21,7.589641421909019e-21,7.609561611269915e-21,7.629481800630811e-21,7.649401989991707e-21,7.66932298714617e-21,7.689243176507066e-21,7.709163365867963e-21,7.729083555228859e-21,7.749003744589755e-21,7.768923933950651e-21,7.788844931105114e-21,7.80876512046601e-21,7.828685309826906e-21,7.848605499187803e-21,7.868525688548699e-21,7.888445877909595e-21,7.908366875064058e-21,7.928287064424954e-21,7.94820725378585e-21,7.968127443146746e-21,7.988047632507643e-21,8.007967821868539e-21,8.027888819023002e-21,8.047809008383898e-21,8.067729197744794e-21,8.08764938710569e-21,8.107569576466586e-21,8.127489765827483e-21,8.147409955188379e-21,8.167330952342842e-21,8.187251141703738e-21,8.207171331064634e-21,8.22709152042553e-21,8.247011709786427e-21,8.266931899147323e-21,8.286852896301786e-21,8.306773085662682e-21,8.326693275023578e-21,8.346613464384474e-21,8.36653365374537e-21,8.386453843106267e-21,8.40637484026073e-21,8.426295029621626e-21,8.446215218982522e-21,8.466135408343418e-21,8.486055597704314e-21,8.50597578706521e-21,8.525896784219674e-21,8.54581697358057e-21,8.565737162941466e-21,8.585657352302362e-21,8.605577541663258e-21,8.625497731024154e-21,8.645418728178617e-21,8.665338917539514e-21,8.68525910690041e-21,8.705179296261306e-21,8.725099485622202e-21,8.745019674983098e-21,8.764939864343994e-21,8.784860861498457e-21,8.804781050859354e-21,8.82470124022025e-21,8.844621429581146e-21,8.864541618942042e-21,8.884461808302938e-21,8.904382805457401e-21,8.924302994818297e-21,8.944223184179194e-21,8.96414337354009e-21,8.984063562900986e-21,9.003983752261882e-21,9.023904749416345e-21,9.043824938777241e-21,9.063745128138137e-21,9.083665317499034e-21,9.10358550685993e-21,9.123505696220826e-21,9.143426693375289e-21,9.163346882736185e-21,9.183267072097081e-21,9.203187261457978e-21,9.223107450818874e-21,9.24302764017977e-21,9.262947829540666e-21,9.282868826695129e-21,9.302789016056025e-21,9.322709205416921e-21,9.342629394777818e-21,9.362549584138714e-21,9.38246977349961e-21,9.402390770654073e-21,9.422310960014969e-21,9.442231149375865e-21,9.462151338736761e-21,9.482071528097658e-21,9.501991717458554e-21,9.521912714613017e-21,9.541832903973913e-21,9.561753093334809e-21,9.581673282695705e-21,9.601593472056601e-21,9.621513661417498e-21,9.64143465857196e-21,9.661354847932857e-21,9.681275037293753e-21,9.701195226654649e-21,9.721115416015545e-21,9.741035605376441e-21,9.760955794737338e-21,9.7808767918918e-21,9.800796981252697e-21,9.820717170613593e-21,9.840637359974489e-21,9.860557549335385e-21,9.880477738696282e-21,9.900398735850745e-21,9.920318925211641e-21,9.940239114572537e-21,9.960159303933433e-21,9.980079493294329e-21,9.999999682655225e-21],"t":[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],"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],"y":[-1,-1,1,1,1,-1,-1,1,-1,-1,1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,1,1,1,-1,-1,1,-1,1,1,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,1,1,-1,-1,-1,1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,1,1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,1,-1,1,-1,1,1,1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,-1,-1,1,1,1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,1,1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,1,1,1,1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1]} diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.js new file mode 100644 index 000000000000..7599c048c72e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.js @@ -0,0 +1,158 @@ +/** +* @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 squaredHingeGradient = 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 squaredHingeGradient, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for tiny positive values', function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = tinyPositive.x; + th = tinyPositive.t; + y = tinyPositive.y; + p = tinyPositive.p; + expected = tinyPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for small positive values', function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = smallPositive.x; + th = smallPositive.t; + y = smallPositive.y; + p = smallPositive.p; + expected = smallPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for tiny negative values', function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = tinyNegative.x; + th = tinyNegative.t; + y = tinyNegative.y; + p = tinyNegative.p; + expected = tinyNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for small negative values', function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = smallNegative.x; + th = smallNegative.t; + y = smallNegative.y; + p = smallNegative.p; + expected = smallNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v; + + v = squaredHingeGradient( NaN, 1.0, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( 1.0, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, NaN, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if y is not +1 or -1', function test( t ) { + var v; + + v = squaredHingeGradient( 3.0, 1.0, -0.9, 1.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( 2.4, 1.0, 0.453, 0.76 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.native.js b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.native.js new file mode 100644 index 000000000000..a7d02499541a --- /dev/null +++ b/lib/node_modules/@stdlib/ml/base/loss/float32/squared-hinge-gradient/test/test.native.js @@ -0,0 +1,167 @@ +/** +* @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 squaredHingeGradient = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( squaredHingeGradient instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof squaredHingeGradient, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for tiny positive values', opts, function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = tinyPositive.x; + th = tinyPositive.t; + y = tinyPositive.y; + p = tinyPositive.p; + expected = tinyPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for small positive values', opts, function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = smallPositive.x; + th = smallPositive.t; + y = smallPositive.y; + p = smallPositive.p; + expected = smallPositive.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for tiny negative values', opts, function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = tinyNegative.x; + th = tinyNegative.t; + y = tinyNegative.y; + p = tinyNegative.p; + expected = tinyNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the squared hinge loss gradient for small negative values', opts, function test( t ) { + var expected; + var th; + var x; + var y; + var p; + var v; + var i; + + x = smallNegative.x; + th = smallNegative.t; + y = smallNegative.y; + p = smallNegative.p; + expected = smallNegative.expected; + for ( i = 0; i < y.length; i++ ) { + v = squaredHingeGradient( x[ i ], th[ i ], y[ i ], p[ i ] ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 0 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v; + + v = squaredHingeGradient( NaN, 1.0, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( 1.0, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, 1.0, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, NaN, 0.782 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( NaN, NaN, NaN, NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if y is not +1 or -1', opts, function test( t ) { + var v; + + v = squaredHingeGradient( 3.0, 1.0, -0.9, 1.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + + v = squaredHingeGradient( 2.4, 1.0, 0.453, 0.76 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +});