From 50b38f941b50a3f71b531d965c7312d4c6932f84 Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Fri, 23 Aug 2024 13:43:29 +0530 Subject: [PATCH] feat: add `math/base/special/acotdf` PR-URL: https://github.com/stdlib-js/stdlib/pull/2799 Ref: https://github.com/stdlib-js/stdlib/issues/649 Reviewed-by: Athan Reines --- .../math/base/special/acotdf/README.md | 174 ++++++++++++++++++ .../special/acotdf/benchmark/benchmark.js | 52 ++++++ .../acotdf/benchmark/benchmark.native.js | 61 ++++++ .../acotdf/benchmark/c/native/Makefile | 146 +++++++++++++++ .../acotdf/benchmark/c/native/benchmark.c | 136 ++++++++++++++ .../math/base/special/acotdf/binding.gyp | 170 +++++++++++++++++ .../math/base/special/acotdf/docs/repl.txt | 27 +++ .../base/special/acotdf/docs/types/index.d.ts | 56 ++++++ .../base/special/acotdf/docs/types/test.ts | 44 +++++ .../base/special/acotdf/examples/c/Makefile | 146 +++++++++++++++ .../base/special/acotdf/examples/c/example.c | 31 ++++ .../base/special/acotdf/examples/index.js | 29 +++ .../math/base/special/acotdf/include.gypi | 53 ++++++ .../include/stdlib/math/base/special/acotdf.h | 38 ++++ .../math/base/special/acotdf/lib/index.js | 54 ++++++ .../math/base/special/acotdf/lib/main.js | 67 +++++++ .../math/base/special/acotdf/lib/native.js | 65 +++++++ .../math/base/special/acotdf/manifest.json | 75 ++++++++ .../math/base/special/acotdf/package.json | 69 +++++++ .../math/base/special/acotdf/src/Makefile | 70 +++++++ .../math/base/special/acotdf/src/addon.c | 23 +++ .../math/base/special/acotdf/src/main.c | 35 ++++ .../acotdf/test/fixtures/julia/REQUIRE | 2 + .../acotdf/test/fixtures/julia/negative.json | 1 + .../acotdf/test/fixtures/julia/positive.json | 1 + .../acotdf/test/fixtures/julia/runner.jl | 70 +++++++ .../math/base/special/acotdf/test/test.js | 101 ++++++++++ .../base/special/acotdf/test/test.native.js | 110 +++++++++++ 28 files changed, 1906 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/README.md create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/examples/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/include/stdlib/math/base/special/acotdf.h create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/package.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/src/main.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/negative.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/positive.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/test.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acotdf/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/README.md b/lib/node_modules/@stdlib/math/base/special/acotdf/README.md new file mode 100644 index 00000000000..f75d33797e4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/README.md @@ -0,0 +1,174 @@ + + +# acotdf + +> Compute the [arccotangent][arccotangent] in degrees of a single-precision floating-point number. + +
+ +## Usage + +```javascript +var acotdf = require( '@stdlib/math/base/special/acotdf' ); +``` + +#### acotdf( x ) + +Computes the [arccotangent][arccotangent] (in degrees) of a single-precision floating-point number. + +```javascript +var sqrtf = require( '@stdlib/math/base/special/sqrtf' ); + +var v = acotdf( 0.0 ); +// returns 90.0 + +v = acotdf( sqrtf( 3.0 ) ); +// returns ~30.0 + +v = acotdf( 1.0 ); +// returns 45.0 + +v = acotdf( sqrtf( 3.0 ) / 3.0 ); +// returns ~60.0 + +v = acotdf( NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var linspace = require( '@stdlib/array/base/linspace' ); +var acotdf = require( '@stdlib/math/base/special/acotdf' ); + +var x = linspace( -1.0, 1.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( acotdf( x[ i ] ) ); +} +``` + +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/acotdf.h" +``` + +#### stdlib_base_acotdf( x ) + +Computes the [arccotangent][arccotangent] (in degrees) of a single-precision floating-point number. + +```c +float out = stdlib_base_acotdf( 0.0f ); +// returns 90.0f + +out = stdlib_base_acotdf( 3.0f ); +// returns ~30.0f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +float stdlib_base_acotdf( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/acotdf.h" +#include + +int main( void ) { + const float x[] = { 1.0f, 1.45f, 1.89f, 2.33f, 2.78f, 3.22f, 3.66f, 4.11f, 4.55f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_acotdf( x[ i ] ); + printf( "acotdf(%f) = %f\n", x[ i ], v ); + } +} +``` + +
+ + + + + + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.js new file mode 100644 index 00000000000..4183684af66 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 randu = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var pkg = require( './../package.json' ).name; +var acotdf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -100.0, 100.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = acotdf( x[ i % x.length ] ); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.native.js new file mode 100644 index 00000000000..2d477b6d3f0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/benchmark.native.js @@ -0,0 +1,61 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 randu = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var acotdf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( acotdf instanceof Error ) +}; + + +// MAIN // + +bench( pkg+'::native', opts, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -100.0, 100.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = acotdf( x[ i % x.length ] ); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/Makefile new file mode 100644 index 00000000000..f69e9da2b4d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2024 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/math/base/special/acotdf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/benchmark.c new file mode 100644 index 00000000000..386dd98f889 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/benchmark/c/native/benchmark.c @@ -0,0 +1,136 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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/math/base/special/acotdf.h" +#include +#include +#include +#include +#include + +#define NAME "acotdf" +#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 [0,1). +* +* @return random number +*/ +static float rand_float( void ) { + int r = rand(); + return (float)r / ( (float)RAND_MAX + 1.0f ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + double t; + float x[ 100 ]; + float y; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 2.0f * rand_float() ) - 1.0f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_acotdf( x[ i % 100 ] ); + if ( y != y ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y ) { + printf( "should not return NaN\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::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/math/base/special/acotdf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/acotdf/binding.gyp new file mode 100644 index 00000000000..ec399223344 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/binding.gyp @@ -0,0 +1,170 @@ +# @license Apache-2.0 +# +# Copyright (c) 2024 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/math/base/special/acotdf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/repl.txt new file mode 100644 index 00000000000..c86490efaf8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/repl.txt @@ -0,0 +1,27 @@ + +{{alias}}( x ) + Computes the arccotangent (in degrees) of a single-precision floating-point + number. + + Parameters + ---------- + x: number + Input value. + + Returns + ------- + y: number + Arccotangent (in degrees). + + Examples + -------- + > var y = {{alias}}( 0.0 ) + 90.0 + > y = {{alias}}( {{alias:@stdlib/constants/float32/pi}}/6.0 ) + ~62.36 + > y = {{alias}}( NaN ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/index.d.ts new file mode 100644 index 00000000000..27044e3953e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/index.d.ts @@ -0,0 +1,56 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 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 arccotangent (in degrees) of a single-precision floating-point number. +* +* @param x - input value +* @returns arccotangent (in degrees) +* +* @example +* var v = acotdf( 0.0 ); +* // returns 90.0 +* +* @example +* var sqrtf = require( '@stdlib/math/base/special/sqrtf' ); +* +* var v = acotdf( sqrtf( 3.0 ) ); +* // returns ~30.0 +* +* @example +* var v = acotdf( 1.0 ); +* // returns 45.0 +* +* @example +* var sqrtf = require( '@stdlib/math/base/special/sqrtf' ); +* +* var v = acotdf( sqrtf( 3.0 ) / 3.0 ); +* // returns ~60.0 +* +* @example +* var v = acotdf( NaN ); +* // returns NaN +*/ +declare function acotdf( x: number ): number; + + +// EXPORTS // + +export = acotdf; diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/test.ts new file mode 100644 index 00000000000..52b2e50f7f3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/docs/types/test.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2024 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 acotdf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + acotdf( 3 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + acotdf( true ); // $ExpectError + acotdf( false ); // $ExpectError + acotdf( null ); // $ExpectError + acotdf( undefined ); // $ExpectError + acotdf( '5' ); // $ExpectError + acotdf( [] ); // $ExpectError + acotdf( {} ); // $ExpectError + acotdf( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + acotdf(); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/Makefile new file mode 100644 index 00000000000..6aed70daf16 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2024 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/math/base/special/acotdf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/example.c new file mode 100644 index 00000000000..747234c3f82 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/c/example.c @@ -0,0 +1,31 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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/math/base/special/acotdf.h" +#include + +int main( void ) { + const float x[] = { 1.0f, 1.45f, 1.89f, 2.33f, 2.78f, 3.22f, 3.66f, 4.11f, 4.55f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_acotdf( x[ i ] ); + printf( "acotdf(%f) = %f\n", x[ i ], v ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/index.js new file mode 100644 index 00000000000..d97e993a7f0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/examples/index.js @@ -0,0 +1,29 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 linspace = require( '@stdlib/array/base/linspace' ); +var acotdf = require( './../lib' ); + +var x = linspace( -1.0, 1.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( 'acotdf(%d) = %d', x[ i ], acotdf( x[ i ] ) ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/include.gypi b/lib/node_modules/@stdlib/math/base/special/acotdf/include.gypi new file mode 100644 index 00000000000..575cb043c0b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/include.gypi @@ -0,0 +1,53 @@ +# @license Apache-2.0 +# +# Copyright (c) 2024 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + '=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "math.asin", + "asin", + "degree", + "arccotangent", + "sine", + "inverse", + "trig", + "trigonometry", + "radians" + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/acotdf/src/Makefile new file mode 100644 index 00000000000..bcf18aa4665 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2024 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/math/base/special/acotdf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/acotdf/src/addon.c new file mode 100644 index 00000000000..016829f572f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/src/addon.c @@ -0,0 +1,23 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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/math/base/special/acotdf.h" +#include "stdlib/math/base/napi/unary.h" + +// cppcheck-suppress shadowFunction +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_acotdf ) diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/src/main.c b/lib/node_modules/@stdlib/math/base/special/acotdf/src/main.c new file mode 100644 index 00000000000..d897f4ab12e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/src/main.c @@ -0,0 +1,35 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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/math/base/special/acotdf.h" +#include "stdlib/math/base/special/acotf.h" +#include "stdlib/math/base/special/rad2degf.h" + +/** +* Computes the arccotangent (in degrees) of a single-precision floating-point number. +* +* @param x input value +* @return arccotangent (in degrees) +* +* @example +* float v = stdlib_base_acotdf( 0.0f ); +* // returns 90.0f +*/ +float stdlib_base_acotdf( const float x ) { + return stdlib_base_rad2degf( stdlib_base_acotf( x ) ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/REQUIRE new file mode 100644 index 00000000000..308c3be89c8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/negative.json b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/negative.json new file mode 100644 index 00000000000..d5dae2a381e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/negative.json @@ -0,0 +1 @@ +{"expected":[90.0,-63.45784881351441,-45.02863357058631,-33.71650359585701,-26.587964904915832,-21.821163926167966,-18.452135837558913,-15.960529492624033,-14.049724034588637,-12.540940361918683,-11.32095046925248,-10.314930203176718,-9.471613164325861,-8.754772989799232,-8.138123602810433,-7.6021492347578,-7.132068028626575,-6.716485373970027,-6.346480230361894,-6.014970932162286,-5.716265930771577,-5.445739673930972,-5.199594878283704,-4.974685542503926,-4.768383377697905,-4.57847574440274,-4.40308677117672,-4.240615747495833,-4.08968854058438,-3.9491189384762637,-3.8178776346825396,-3.695067150803883,-3.579901413534263,-3.471689009698726,-3.369819369953595,-3.273751301139681,-3.1830034148084994,-3.0971460963007336,-3.0157947329195838,-2.938603976962813,-2.865262863846595,-2.7954906403502355,-2.7290331854145866,-2.665659927641855,-2.60516118095227,-2.5473458337248647,-2.4920393379266232,-2.4390819537853514,-2.388327212926661,-2.339640568916059,-2.292898209090445,-2.2479860056392513,-2.2047985872697673,-2.163238515595516,-2.123215552725826,-2.084646008493101,-2.0474521573993516,-2.011561716750067,-1.976907378615771,-1.9434263892558314,-1.9110601704847445,-1.8797539781825336,-1.849456593767946,-1.8201200449823907,-1.7916993527876093,-1.7641523015723697,-1.7374392302024373,-1.711522841741639,-1.6863680299266908,-1.6619417207001588,-1.6382127272992035,-1.6151516175666074,-1.5927305922983808,-1.5709233735718888,-1.549705102112322,-1.529052242855621,-1.508942497954384,-1.4893547265513998,-1.4702688707145795,-1.4516658869883123,-1.4335276830706725,-1.4158370591742562,-1.3985776536714922,-1.3817338926636678,-1.3652909431472153,-1.3492346694814692,-1.3335515928895738,-1.318228853748859,-1.3032541764491066,-1.28861583661703,-1.2743026305231742,-1.2603038465035898,-1.2466092382431777,-1.2332089997807663,-1.22009374210786,-1.2072544712437823,-1.1946825676796866,-1.1823697670927644,-1.170308142240032,-1.1584900859483827,-1.14690829512425,-1.1355557557122966,-1.124425728538065,-1.1135117359745788,-1.1028075493774945,-1.0923071772376172,-1.0820048540034524,-1.0718950295300067,-1.0619723591132797,-1.0522316940728738,-1.042668072847871,-1.033276712573637,-1.0240530011095248,-1.0149924894895639,-1.0060908847701908,-0.9973440432508697,-0.988747964045119,-0.9802987829810008,-0.9719927668115366,-0.9638263077168412,-0.9557959180809648,-0.9478982255275648,-0.9401299681995678,-0.9324879902689476,-0.9249692376636343,-0.9175707539994065,-0.9102896767053865,-0.9031232333324762,-0.8960687380347285,-0.8891235882142872,-0.8822852613210853,-0.8755513117990408,-0.8689193681709858,-0.8623871302550304,-0.855952366505503,-0.8496129114720052,-0.8433666633705132,-0.8372115817607974,-0.8311456853247742,-0.825167049740709,-0.8192738056484795,-0.8134641367013825,-0.8077362777002199,-0.8020885128056375,-0.7965191738249163,-0.791026638569622,-0.7856093292807188,-0.7802657111179361,-0.7749942907103491,-0.769793614765302,-0.764662268732949,-0.7595988755238388,-0.7546020942770995,-0.7496706191769097,-0.7448031783150643,-0.73999853259755,-0.7352554746931614,-0.7305728280222806,-0.7259494457840431,-0.7213842100202008,-0.7168760307140771,-0.7124238449230887,-0.7080266159433843,-0.7036833325052232,-0.6993930079977783,-0.6951546797221211,-0.6909674081711954,-0.6868302763356534,-0.6827423890344736,-0.6787028722693361,-0.6747108726017781,-0.6707655565521947,-0.6668661100198001,-0.663011737722698,-0.6592016626572534,-0.6554351255759967,-0.6517113844833182,-0.648029714148255,-0.6443894056336942,-0.6407897658413526,-0.6372301170719206,-0.6337097965997808,-0.630228156261744,-0.6267845620592658,-0.6233783937736295,-0.6200090445936067,-0.6166759207551261,-0.6133784411924997,-0.6101160372007778,-0.6068881521088191,-0.6036942409626835,-0.6005337702189671,-0.597406217447718,-0.5943110710445862,-0.5912478299518736,-0.5882160033881639,-0.5852151105862291,-0.5822446805389144,-0.5793042517527239,-0.5763933720088316,-0.5735115981312628,-0.5706584957619923,-0.5678336391427219,-0.5650366109031059,-0.5622670018552041,-0.5595244107939502,-0.5568084443034288,-0.5541187165687679,-0.5514548491934557,-0.5488164710219005,-0.5462032179670597,-0.54361473284297,-0.5410506652020137,-0.5385106711767716,-0.5359944133263062,-0.5335015604867352,-0.5310317876259548,-0.5285847757023784,-0.5261602115275631,-0.5237577876325988,-0.5213772021381405,-0.5190181586279689,-0.5166803660259665,-0.514363538476405,-0.5120673952274369,-0.5097916605176939,-0.5075360634658959,-0.5053003379633771,-0.5030842225694397,-0.5008874604094485,-0.4987097990755845,-0.4965509905301746,-0.49441079101152235,-0.492288960942162,-0.4901852648394649,-0.4880994712285287,-0.48603135255727964,-0.48398068511372516,-0.4819472489452903,-0.47993082778018115,-0.477931208950712,-0.4759481833185418,-0.47398154520176417,-0.47203109230379686,-0.47009662564401994,-0.468177949490112,-0.466274871292037,-0.46438720161763386,-0.4625147540897644,-0.46065734532497543,-0.45881479487363297,-0.456986925161487,-0.4551735614326275,-0.45337453169379355,-0.451589666659996,-0.44981879970142247,-0.4480617667915832,-0.4463184064566703,-0.444588559726092,-0.44287207008415486,-0.44116878342285926,-0.4394785479957805,-0.4378012143730062,-0.43613663539710096,-0.43448466614007236,-0.43284516386131017,-0.43121798796647604,-0.4296029999673145,-0.4280000634423654,-0.42640904399855173,-0.4248298092336214,-0.42326222869942,-0.42170617386597375,-0.4201615180863619,-0.41862813656235814,-0.4171059063108218,-0.41559470613081884,-0.4140944165714558,-0.41260491990040765,-0.41112610007312195,-0.4096578427026833,-0.4082000350303211,-0.40675256589654474,-0.40531532571289025,-0.4038882064342647,-0.4024711015318718,-0.4010639059667059,-0.39966651616360016,-0.398278829985815,-0.39690074671015424,-0.3955321670025963,-0.3941729928944269,-0.3928231277588634,-0.39148247628815647,-0.3901509444711602,-0.38882843957135754,-0.38751487010533114,-0.38621014582167,-0.3849141776802996,-0.38362687783222715,-0.3823481595996925,-0.3810779374567139,-0.37981612701002043,-0.37856264498036235,-0.3773174091841894,-0.37608033851569095,-0.3748513529291866,-0.373630373421862,-0.372417322016841,-0.3712121217465854,-0.3700146966366171,-0.36882497168955397,-0.3676428728694522,-0.36646832708644933,-0.36530126218170056,-0.36414160691260167,-0.36298929093829296,-0.3618442448054371,-0.36070639993426556,-0.3595756886048875,-0.35845204394385505,-0.3573353999109801,-0.35622569128639614,-0.35512285365786134,-0.3540268234082953,-0.35293753770354785,-0.3518549344803908,-0.35077895243473156,-0.3497095310100418,-0.3486466103859971,-0.3475901314673228,-0.34654003587284327,-0.34549626592472715,-0.3444587646379282,-0.3434274757098145,-0.34240234350998444,-0.34138331307026326,-0.34037033007487905,-0.3393633408508123,-0.3383622923583165,-0.3373671321816058,-0.33637780851970656,-0.3353942701774699,-0.33441646655674095,-0.3334443476476818,-0.33247786402024615,-0.3315169668158012,-0.33056160773889454,-0.3296117390491634,-0.328667313553382,-0.3277282845976464,-0.3267946060596918,-0.3258662323413419,-0.3249431183610854,-0.3240252195467798,-0.3231124918284768,-0.32220489163136984,-0.32130237586885985,-0.320404901935737,-0.3195124277014766,-0.3186249115036467,-0.3177423121414249,-0.3168645888692235,-0.31599170139041877,-0.31512360985118487,-0.3142602748344281,-0.31340165735382086,-0.3125477188479339,-0.31169842117446284,-0.3108537266045495,-0.3100135978171956,-0.30917799789376565,-0.3083468903125798,-0.3075202389435922,-0.3066980080431565,-0.30588016224887354,-0.305066666574522,-0.3042574864050696,-0.3034525874917637,-0.3026519359472988,-0.3018554982410615,-0.30106324119444966,-0.30027513197626476,-0.2994911380981775,-0.2987112274102631,-0.2979353680966068,-0.2971635286709776,-0.29639567797256916,-0.29563178516180605,-0.2948718197162152,-0.2941157514263608,-0.29336355039184153,-0.29261518701734873,-0.29187063200878505,-0.2911298563694425,-0.29039283139623795,-0.289659528676006,-0.2889299200818476,-0.2882039777695344,-0.28748167417396625,-0.28676298200568245,-0.2860478742474251,-0.2853363241507535,-0.28462830523270916,-0.2839237912725303,-0.2832227563084151,-0.2825251746343326,-0.2818310207968807,-0.2811402695921905,-0.28045289606287566,-0.2797688754950268,-0.2790881834152498,-0.2784107955877469,-0.2777366880114402,-0.27706583691713743,-0.27639821876473786,-0.2757338102404791,-0.27507258825422354,-0.27441452993678306,-0.273759612637283,-0.27310781392056305,-0.2724591115646155,-0.27181348355805973,-0.27117090809765304,-0.2705313635858356,-0.26989482862831166,-0.26926128203166316,-0.2686307028009978,-0.2680030701376304,-0.26737836343679555,-0.26675656228539324,-0.26613764645976534,-0.26552159592350294,-0.2649083908252846,-0.26429801149674376,-0.26369043845036577,-0.2630856523774146,-0.2624836341458866,-0.2618843647984938,-0.26128782555067365,-0.26069399778862645,-0.2601028630673793,-0.25951440310887647,-0.25892859980009536,-0.2583454351911883,-0.2577648914936491,-0.2571869510785042,-0.2566115964745286,-0.25603881036648507,-0.2554685755933874,-0.25490087514678617,-0.25433569216907814,-0.25377300995183766,-0.25321281193416956,-0.25265508170108536,-0.2520998029818993,-0.25154695964864626,-0.25099653571452046,-0.2504485153323346,-0.24990288279299844,-0.24935962252401853,-0.2488187190880162,-0.24828015718126567,-0.24774392163225065,-0.2472099974002395,-0.24667836957387942,-0.2461490233698081,-0.24562194413128322,-0.24509711732683012,-0.2445745285489061,-0.24405416351258216,-0.24353600805424133,-0.24302004813029363,-0.24250626981590756,-0.24199465930375713,-0.24148520290278497,-0.24097788703698142,-0.2404726982441784,-0.2399696231748585,-0.23946864859097938,-0.23896976136481252,-0.2384729484777964,-0.2379781970194044,-0.23748549418602624,-0.23699482727986357,-0.2365061837078391,-0.23601955098051944,-0.23553491671105087,-0.23505226861410836,-0.2345715945048575,-0.23409288229792927,-0.23361612000640683,-0.2331412957408255,-0.23266839770818407,-0.23219741421096854,-0.23172833364618775,-0.23126114450442045,-0.23079583536887416,-0.2303323949144549,-0.22987081190684863,-0.22941107520161352,-0.2289531737432826,-0.22849709656447842,-0.22804283278503662,-0.22759037161114098,-0.227139702334469,-0.22669081433134636,-0.22624369706191266,-0.22579834006929642,-0.2253547329787997,-0.2249128654970929,-0.224472727411418,-0.22403430858880244,-0.22359759897528098,-0.22316258859512747,-0.2227292675500951,-0.22229762601866576,-0.22186765425530794,-0.22143934258974338,-0.22101268142622196,-0.2205876612428053,-0.22016427259065818,-0.2197425060933486,-0.21932235244615536,-0.218903802415384,-0.2184868468376903,-0.21807147661941154,-0.2176576827359054,-0.21724545623089664,-0.21683478821583035,-0.2164256698692338,-0.21601809243608427,-0.21561204722718472,-0.21520752561854636,-0.214804519050778,-0.21440301902848247,-0.2140030171196595,-0.21360450495511563,-0.2132074742278804,-0.21281191669262933,-0.2124178241651128,-0.21202518852159205,-0.21163400169828048,-0.21124425569079214,-0.21085594255359535,-0.21046905439947308,-0.21008358339898867,-0.20969952177995788,-0.20931686182692652,-0.20893559588065377,-0.20855571633760098,-0.20817721564942662,-0.20780008632248587,-0.20742432091733642,-0.20704991204824913,-0.20667685238272426,-0.20630513464101255,-0.20593475159564215,-0.2055656960709496,-0.20519796094261705,-0.20483153913721333,-0.20446642363174092,-0.20410260745318662,-0.20374008367807833,-0.20337884543204537,-0.20301888588938424,-0.2026601982726286,-0.2023027758521239,-0.20194661194560654,-0.2015916999177875,-0.2012380331799401,-0.2008856051894926,-0.20053440944962445,-0.20018443950886716,-0.1998356889607094,-0.19948815144320595,-0.19914182063859076,-0.1987966902728944,-0.19845275411556493,-0.19811000597909317,-0.19776843971864141,-0.19742804923167662,-0.19708882845760642,-0.19675077137742006,-0.19641387201333174,-0.19607812442842887,-0.19574352272632298,-0.1954100610508046,-0.19507773358550165,-0.19474653455354138,-0.1944164582172154,-0.19408749887764845,-0.19375965087447067,-0.19343290858549242,-0.1931072664263834,-0.19278271885035425,-0.19245926034784172,-0.19213688544619675,-0.19181558870937618,-0.19149536473763665,-0.19117620816723266,-0.19085811367011674,-0.19054107595364317,-0.19022508976027416,-0.18991014986728963,-0.18959625108649908,-0.18928338826395702,-0.18897155627968054,-0.18866075004737046,-0.18835096451413427,-0.18804219466021288,-0.1877344354987089,-0.1874276820753187,-0.18712192946806616,-0.1868171727870397,-0.18651340717413134,-0.1862106278027788,-0.18590882987770976,-0.1856080086346887,-0.18530815934026618,-0.18500927729153072,-0.18471135781586268,-0.184414396270691,-0.1841183880432519,-0.18382332855035016,-0.18352921323812235,-0.1832360375818029,-0.18294379708549174,-0.1826524872819247,-0.18236210373224576,-0.18207264202578166,-0.1817840977798185,-0.18149646663938074,-0.1812097442770118,-0.18092392639255742,-0.18063900871295024,-0.18035498699199728,-0.18007185701016876,-0.17978961457438913,-0.17950825551783023,-0.17922777569970613,-0.1789481710050699,-0.17866943734461277,-0.17839157065446415,-0.17811456689599472,-0.1778384220556204,-0.17756313214460873,-0.17728869319888654,-0.17701510127885006,-0.17674235246917613,-0.17647044287863542,-0.1761993686399075,-0.1759291259093976,-0.17565971086705465,-0.1753911197161914,-0.1751233486833063,-0.1748563940179065,-0.1745902519923328,-0.17432491890158625,-0.17406039106315613,-0.1737966648168497,-0.17353373652462317,-0.17327160257041468,-0.17301025935997838,-0.17274970332072007,-0.1724899309015347,-0.17223093857264463,-0.17197272282544016,-0.17171528017232082,-0.1714586071465385,-0.17120270030204177,-0.17094755621332167,-0.17069317147525878,-0.17043954270297207,-0.17018666653166828,-0.16993453961649355,-0.16968315863238553,-0.1694325202739278,-0.16918262125520428,-0.16893345830965625,-0.16868502818993963,-0.16843732766778408,-0.16819035353385312,-0.1679441025976055,-0.16769857168715793,-0.16745375764914872,-0.1672096573486028,-0.16696626766879819,-0.1667235855111329,-0.1664816077949938,-0.16624033145762607,-0.16599975345400408,-0.1657598707567033,-0.16552068035577322,-0.1652821792586114,-0.16504436448983906,-0.1648072330911767,-0.16457078212132212,-0.16433500865582823,-0.16409990978698302,-0.16386548262368944,-0.16363172429134745,-0.1633986319317361,-0.1631662027028974,-0.16293443377902042,-0.16270332235032717,-0.16247286562295873,-0.1622430608188629,-0.16201390517568245,-0.1617853959466444,-0.16155753040045046,-0.161330305821168,-0.16110371950812233,-0.1608777687757895,-0.1606524509536904,-0.16042776338628537,-0.1602037034328701,-0.15998026846747193,-0.1597574558787475,-0.15953526306988083,-0.15931368745848254,-0.15909272647648967,-0.15887237757006678,-0.15865263819950715,-0.1584335058391355,-0.15821497797721115,-0.157997052115832,-0.1577797257708394,-0.15756299647172378,-0.15734686176153093,-0.15713131919676934,-0.15691636634731787,-0.15670200079633473,-0.15648822014016664,-0.15627502198825907,-0.15606240396306717,-0.15585036369996744,-0.15563889884716986,-0.1554280070656312,-0.1552176860289686,-0.15500793342337413,-0.15479874694752982,-0.15459012431252372,-0.15438206324176615,-0.15417456147090702,-0.1539676167477537,-0.15376122683218957,-0.15355538949609301,-0.15335010252325748,-0.15314536370931175,-0.1529411708616412,-0.15273752179930924,-0.15253441435298018,-0.15233184636484154,-0.15212981568852832,-0.15192832018904665,-0.15172735774269877,-0.15152692623700856,-0.1513270235706474,-0.15112764765336062,-0.15092879640589493,-0.15073046775992574,-0.15053265965798593,-0.15033537005339426,-0.15013859691018513,-0.14994233820303826,-0.14974659191720938,-0.14955135604846131,-0.14935662860299542,-0.14916240759738378,-0.14896869105850194,-0.14877547702346205,-0.1485827635395465,-0.14839054866414222,-0.1481988304646753,-0.1480076070185464,-0.1478168764130663,-0.14762663674539223,-0.14743688612246456,-0.14724762266094402,-0.14705884448714932,-0.14687054973699562,-0.14668273655593256,-0.14649540309888406,-0.14630854753018746,-0.14612216802353375,-0.14593626276190788,-0.14575082993753008,-0.14556586775179678,-0.1453813744152229,-0.14519734814738378,-0.14501378717685828,-0.14483068974117153,-0.14464805408673886,-0.1444658784688096,-0.14428416115141174,-0.14410290040729645,-0.14392209451788376,-0.14374174177320795,-0.1435618404718637,-0.14338238892095276,-0.14320338543603062,-0.14302482834105382,-0.1428467159683279,-0.14266904665845526,-0.14249181876028352,-0.1423150306308547,-0.1421386806353542,-0.14196276714706044,-0.14178728854729497,-0.14161224322537264,-0.14143762957855247,-0.14126344601198862,-0.141089690938682,-0.14091636277943187,-0.14074345996278806,-0.1405709809250036,-0.1403989241099875,-0.14022728796925776,-0.14005607096189535,-0.13988527155449765,-0.13971488822113295,-0.13954491944329495,-0.13937536370985756,-0.13920621951703022,-0.13903748536831334,-0.13886915977445435,-0.1387012412534037,-0.13853372833027136,-0.13836661953728382,-0.1381999134137411,-0.13803360850597407,-0.1378677033673025,-0.13770219655799285,-0.1375370866452167,-0.13737237220300938,-0.13720805181222914,-0.1370441240605159,-0.13688058754225135,-0.13671744085851842,-0.13655468261706147,-0.13639231143224673,-0.13623032592502293,-0.1360687247228823,-0.13590750645982183,-0.1357466697763046,-0.13558621331922183,-0.1354261357418547,-0.13526643570383695,-0.13510711187111704,-0.13494816291592154,-0.1347895875167177,-0.1346313843581774,-0.1344735521311401,-0.1343160895325774,-0.13415899526555677,-0.1340022680392061,-0.13384590656867817,-0.13368990957511584,-0.13353427578561694,-0.13337900393319974,-0.13322409275676847,-0.13306954100107934,-0.13291534741670655,-0.13276151076000867,-0.132608029793095,-0.1324549032837927,-0.13230213000561358,-0.1321497087377214,-0.1319976382648994,-0.13184591737751794,-0.13169454487150248,-0.1315435195483018,-0.13139284021485606,-0.13124250568356582,-0.13109251477226047,-0.1309428663041675,-0.13079355910788154,-0.13064459201733386,-0.13049596387176213,-0.13034767351568008,-0.13019971979884762,-0.13005210157624125,-0.12990481770802426,-0.12975786705951758,-0.12961124850117062,-0.1294649609085322,-0.12931900316222206,-0.12917337414790203,-0.1290280727562478,-0.1288830978829208,-0.12873844842854007,-0.1285941232986547,-0.12845012140371603,-0.12830644165905025,-0.12816308298483128,-0.12802004430605368,-0.1278773245525056,-0.12773492265874245,-0.12759283756406,-0.12745106821246832,-0.12730961355266548,-0.12716847253801164,-0.12702764412650316,-0.12688712728074703,-0.12674692096793536,-0.12660702415982003,-0.12646743583268766,-0.12632815496733463,-0.12618918054904207,-0.1260505115675516,-0.1259121470170404,-0.12577408589609723,-0.12563632720769818,-0.1254988699591826,-0.12536171316222935,-0.125224855832833,-0.12508829699128046,-0.12495203566212737,-0.12481607087417519,-0.12468040166044782,-0.12454502705816883,-0.1244099461087387,-0.12427515785771212,-0.12414066135477553,-0.1240064556537249,-0.1238725398124433,-0.1237389128928791,-0.1236055739610239,-0.1234725220868909,-0.12333975634449318,-0.12320727581182225,-0.12307507957082668,-0.12294316670739097,-0.1228115363113144,-0.12268018747629013,-0.12254911929988443,-0.12241833088351593,-0.12228782133243518,-0.12215758975570414,-0.12202763526617603,-0.1218979569804751,-0.12176855401897661,-0.12163942550578699,-0.12151057056872412,-0.12138198833929748,-0.12125367795268892,-0.12112563854773306,-0.1209978692668982,-0.12087036925626692,-0.12074313766551734,-0.12061617364790406,-0.12048947636023939,-0.12036304496287475,-0.120236878619682,-0.12011097649803515,-0.11998533776879196,-0.11985996160627567,-0.11973484718825708,-0.11960999369593657,-0.11948540031392597,-0.11936106623023111,-0.11923699063623416,-0.11911317272667576,-0.11898961169963812,-0.11886630675652725,-0.11874325710205605,-0.11862046194422705,-0.11849792049431553,-0.11837563196685248,-0.11825359557960802,-0.11813181055357454,-0.11801027611295027,-0.11788899148512264,-0.11776795590065206,-0.11764716859325565,-0.11752662879979092,-0.11740633576023982,-0.11728628871769273,-0.1171664869183326,-0.11704692961141921,-0.11692761604927333,-0.11680854548726137,-0.11668971718377966,-0.11657113040023921,-0.11645278440105039,-0.1163346784536076,-0.11621681182827429,-0.11609918379836785,-0.11598179364014481,-0.11586464063278577,-0.11574772405838084,-0.11563104320191488,-0.11551459735125298,-0.11539838579712597,-0.11528240783311589,-0.11516666275564186,-0.11505114986394578,-0.11493586846007817,-0.11482081784888408,-0.11470599733798924,-0.11459140623778596,-0.11447704386141964,-0.11436290952477475,-0.11424900254646125,-0.11413532224780121,-0.11402186795281515,-0.11390863898820865,-0.11379563468335911,-0.1136828543703025,-0.11357029738372017,-0.11345796306092575,-0.11334585074185215,-0.11323395976903865,-0.11312228948761811,-0.11301083924530408,-0.11289960839237814,-0.11278859628167731,-0.11267780226858147,-0.11256722571100088,-0.1124568659693638,-0.11234672240660408,-0.11223679438814906,-0.11212708128190722,-0.11201758245825616,-0.11190829729003052,-0.11179922515250994,-0.11169036542340738,-0.11158171748285704,-0.11147328071340268,-0.11136505449998599,-0.11125703822993482,-0.11114923129295184,-0.11104163308110274,-0.11093424298880511,-0.11082706041281686,-0.11072008475222504,-0.11061331540843457,-0.11050675178515708,-0.1104003932883998,-0.11029423932645457,-0.11018828930988676,-0.11008254265152448,-0.10997699876644772,-0.10987165707197745,-0.109766516987665,-0.10966157793528142,-0.10955683933880678,-0.10945230062441975,-0.10934796122048696,-0.10924382055755277,-0.10913987806832874,-0.10903613318768353,-0.10893258535263237,-0.10882923400232715,-0.10872607857804617,-0.1086231185231841,-0.10852035328324187,-0.10841778230581693,-0.10831540504059313,-0.108213220939331,-0.10811122945585797,-0.10800943004605852,-0.10790782216786468,-0.10780640528124628,-0.10770517884820142,-0.10760414233274694,-0.10750329520090901,-0.10740263692071367,-0.10730216696217751,-0.10720188479729832,-0.10710178990004592,-0.1070018817463529,-0.1069021598141055,-0.10680262358313448,-0.10670327253520612,-0.10660410615401322,-0.10650512392516616,-0.1064063253361839,-0.1063077098764853,-0.10620927703738027,-0.106111026312061,-0.10601295719559316,-0.10591506918490746,-0.10581736177879096,-0.10571983447787844,-0.10562248678464395,-0.10552531820339238,-0.105428328240251,-0.10533151640316114,-0.10523488220186981,-0.10513842514792147,-0.10504214475464979,-0.10494604053716942,-0.10485011201236794,-0.10475435869889768,-0.10465878011716773,-0.1045633757893359,-0.10446814523930072,-0.10437308799269364,-0.10427820357687101,-0.10418349152090638,-0.10408895135558255,-0.10399458261338398,-0.10390038482848905,-0.10380635753676229,-0.10371250027574684,-0.10361881258465688,-0.10352529400437008,-0.1034319440774201,-0.10333876234798903,-0.10324574836190016,-0.10315290166661042,-0.10306022181120324,-0.10296770834638098,-0.1028753608244579,-0.1027831787993529,-0.10269116182658224,-0.10259930946325241,-0.10250762126805317,-0.10241609680125031,-0.10232473562467874,-0.10223353730173543,-0.10214250139737241,-0.10205162747809,-0.1019609151119298,-0.10187036386846793,-0.1017799733188081,-0.101689743035575,-0.10159967259290748,-0.10150976156645183,-0.10142000953335512,-0.10133041607225861,-0.10124098076329119,-0.10115170318806271,-0.10106258292965752,-0.10097361957262797,-0.10088481270298799,-0.10079616190820666,-0.1007076667772017,-0.10061932690033332,-0.10053114186939774,-0.10044311127762098,-0.10035523471965258,-0.10026751179155938,-0.1001799420908193,-0.10009252521631531,-0.1000052607683291,-0.09991814834853517,-0.09983118755999466,-0.09974437800714943,-0.09965771929581588,-0.0995712110331792,-0.09948485282778724,-0.09939864428954483,-0.09931258502970759,-0.09922667466087642,-0.09914091279699146,-0.09905529905332644,-0.0989698330464828,-0.09888451439438406,-0.09879934271627015,-0.09871431763269167,-0.09862943876550427,-0.09854470573786304,-0.09846011817421703,-0.09837567570030357,-0.09829137794314276,-0.09820722453103212,-0.09812321509354094,-0.09803934926150498,-0.09795562666702105,-0.09787204694344151,-0.09778860972536906,-0.09770531464865137,-0.0976221613503757,-0.09753914946886379,-0.09745627864366646,-0.09737354851555852,-0.0972909587265335,-0.09720850891979843,-0.09712619873976885,-0.09704402783206367,-0.09696199584349997,-0.096880102422088,-0.09679834721702617,-0.09671672987869609,-0.09663525005865743,-0.0965539074096431,-0.09647270158555428,-0.09639163224145546,-0.09631069903356965,-0.0962299016192734,-0.09614923965709214,-0.09606871280669514,-0.09598832072889096,-0.0959080630856225,-0.09582793953996234,-0.09574794975610806,-0.09566809339937749,-0.09558837013620403,-0.0955087796341321,-0.0954293215618124,-0.09534999558899743,-0.09527080138653678,-0.0951917386263727,-0.09511280698153549,-0.09503400612613906,-0.09495533573537637,-0.09487679548551503,-0.09479838505389283,-0.09472010411891335,-0.09464195236004144,-0.09456392945779908,-0.09448603509376081,-0.09440826895054953,-0.09433063071183205,-0.09425312006231497,-0.0941757366877403,-0.09409848027488131,-0.09402135051153812,-0.09394434708653371,-0.09386746968970958,-0.09379071801192168,-0.0937140917450362,-0.09363759058192551,-0.093561214216464,-0.09348496234352409,-0.09340883465897191,-0.09333283085966368,-0.09325695064344128,-0.09318119370912849,-0.09310555975652691,-0.09303004848641201,-0.0929546596005292,-0.09287939280158992,-0.09280424779326765,-0.09272922428019408,-0.09265432196795528,-0.09257954056308779,-0.0925048797730748,-0.09243033930634229,-0.09235591887225536,-0.09228161818111434,-0.09220743694415107,-0.09213337487352512,-0.09205943168232014,-0.09198560708454015,-0.09191190079510575,-0.09183831252985054,-0.09176484200551749,-0.09169148893975523,-0.09161825305111446,-0.09154513405904437,-0.09147213168388903,-0.09139924564688387,-0.0913264756701521,-0.09125382147670114,-0.09118128279041918,-0.09110885933607162,-0.09103655083929768,-0.0909643570266068,-0.09089227762537527,-0.09082031236384287,-0.0907484609711093,-0.09067672317713087,-0.0906050987127171,-0.09053358730952739,-0.09046218870006766,-0.09039090261768688,-0.090319728796574,-0.09024866697175438,-0.09017771687908677,-0.09010687825525975,-0.09003615083778871,-0.0899655343650125,-0.08989502857609023,-0.08982463321099803,-0.08975434801052586,-0.08968417271627438,-0.08961410707065175,-0.0895441508168704,-0.08947430369894405,-0.08940456546168445,-0.08933493585069838,-0.08926541461238441,-0.08919600149393,-0.08912669624330834,-0.08905749860927527,-0.08898840834136629,-0.08891942518989353,-0.0888505489059428,-0.08878177924137047,-0.08871311594880059,-0.08864455878162185,-0.08857610749398477,-0.08850776184079855,-0.08843952157772833,-0.08837138646119218,-0.08830335624835821,-0.08823543069714175,-0.08816760956620238,-0.08809989261494111,-0.08803227960349765,-0.08796477029274734,-0.08789736444429859,-0.08783006182048986,-0.08776286218438696,-0.08769576529978035,-0.0876287709311822,-0.08756187884382374,-0.08749508880365256,-0.08742840057732976,-0.08736181393222732,-0.08729532863642535,-0.08722894445870943,-0.08716266116856795,-0.08709647853618936,-0.08703039633245957,-0.08696441432895928,-0.08689853229796148,-0.08683275001242854,-0.08676706724600992,-0.08670148377303939,-0.08663599936853245,-0.08657061380818384,-0.08650532686836494,-0.08644013832612119,-0.08637504795916955,-0.08631005554589612,-0.08624516086535332,-0.08618036369725775,-0.0861156638219874,-0.08605106102057937,-0.08598655507472724,-0.08592214576677876,-0.08585783287973327,-0.0857936161972394,-0.08572949550359246,-0.08566547058373225,-0.08560154122324044,-0.08553770720833836,-0.08547396832588447,-0.08541032436337205,-0.0853467751089269,-0.08528332035130486,-0.08521995987988956,-0.08515669348469006,-0.08509352095633856,-0.08503044208608806,-0.08496745666581003,-0.0849045644879922,-0.08484176534573622,-0.08477905903275544,-0.08471644534337257,-0.0846539240725175,-0.0845914950157251,-0.08452915796913285,-0.08446691272947877,-0.08440475909409911,-0.08434269686092623,-0.0842807258284863,-0.08421884579589727,-0.08415705656286653,-0.0840953579296889,-0.08403374969724439,-0.08397223166699613,-0.0839108036409881,-0.08384946542184316,-0.08378821681276084,-0.08372705761751532,-0.0836659876404532,-0.0836050066864916,-0.08354411456111588,-0.08348331107037772,-0.08342259602089301,-0.0833619692198398,-0.08330143047495624,-0.08324097959453859,-0.08318061638743916,-0.08312034066306433,-0.08306015223137247,-0.08300005090287209,-0.08294003648861968,-0.0828801088002178,-0.08282026764981319,-0.08276051285009468,-0.08270084421429126,-0.08264126155617024,-0.0825817646900352,-0.08252235343072409,-0.08246302759360728,-0.08240378699458575,-0.0823446314500891,-0.08228556077707368,-0.08222657479302062,-0.08216767331593411,-0.08210885616433942,-0.08205012315728108,-0.08199147411432092,-0.0819329088555364,-0.08187442720151863,-0.08181602897337062,-0.08175771399270533,-0.08169948208164407,-0.08164133306281446,-0.0815832667593488,-0.08152528299488217,-0.0814673815935507,-0.0814095623799898,-0.0813518251793323,-0.08129416981720684,-0.08123659611973597,-0.08117910391353447,-0.08112169302570761,-0.0810643632838494,-0.08100711451604088,-0.08094994655084838,-0.08089285921732184,-0.08083585234499306,-0.08077892576387405,-0.08072207930445531,-0.08066531279770416,-0.08060862607506311,-0.08055201896844805,-0.08049549131024673,-0.08043904293331712,-0.0803826736709856,-0.0803263833570455,-0.08027017182575531,-0.08021403891183722,-0.08015798445047535,-0.0801020082773142,-0.08004611022845708,-0.07999029014046442,-0.07993454785035231,-0.07987888319559072,-0.07982329601410214,-0.07976778614425983,-0.07971235342488636,-0.07965699769525197,-0.07960171879507313,-0.07954651656451085,-0.07949139084416931,-0.0794363414750941,-0.07938136829877089,-0.07932647115712388,-0.07927164989251419,-0.07921690434773837,-0.079162234366027,-0.07910763979104313,-0.07905312046688073,-0.0789986762380633,-0.07894430694954233,-0.07889001244669587,-0.07883579257532708,-0.07878164718166267,-0.07872757611235152,-0.07867357921446327,-0.07861965633548684,-0.07856580732332889,-0.07851203202631261,-0.07845833029317609,-0.07840470197307105,-0.07835114691556126,-0.07829766497062136,-0.07824425598863524,-0.07819091982039482,-0.0781376563170985,-0.07808446533034989,-0.07803134671215642,-0.07797830031492792,-0.0779253259914753,-0.07787242359500914,-0.07781959297913836,-0.07776683399786892,-0.07771414650560239,-0.07766153035713463,-0.07760898540765451,-0.07755651151274254,-0.07750410852836953,-0.0774517763108953,-0.07739951471706735,-0.07734732360401962,-0.07729520282927109,-0.07724315225072452,-0.07719117172666516,-0.07713926111575951,-0.07708742027705397,-0.07703564906997357,-0.07698394735432075,-0.07693231499027407,-0.07688075183838695,-0.07682925775958639,-0.07677783261517174,-0.07672647626681342,-0.07667518857655183,-0.07662396940679585,-0.07657281862032189,-0.07652173608027243,-0.07647072165015496,-0.0764197751938407,-0.07636889657556337,-0.07631808565991804,-0.07626734231185991,-0.07621666639670305,-0.07616605778011926,-0.07611551632813696,-0.07606504190713986,-0.07601463438386588,-0.07596429362540597,-0.07591401949920286,-0.07586381187305002,-0.07581367061509044,-0.07576359559381543,-0.07571358667806356,-0.07566364373701945,-0.07561376664021266,-0.07556395525751651,-0.07551420945914707,-0.07546452911566187,-0.07541491409795884,-0.07536536427727526,-0.07531587952518658,-0.0752664597136053,-0.0752171047147799,-0.0751678144012937,-0.07511858864606383,-0.0750694273223401,-0.07502033030370384,-0.07497129746406694,-0.07492232867767074,-0.07487342381908486,-0.07482458276320626,-0.07477580538525808,-0.07472709156078865,-0.07467844116567031,-0.07462985407609854,-0.07458133016859074,-0.07453286931998525,-0.07448447140744036,-0.0744361363084332,-0.07438786390075867,-0.07433965406252854,-0.07429150667217037,-0.07424342160842637,-0.07419539875035257,-0.07414743797731765,-0.0740995391690021,-0.07405170220539699,-0.07400392696680318,-0.07395621333383018,-0.07390856118739524,-0.07386097040872229,-0.07381344087934102,-0.07376597248108588,-0.07371856509609502,-0.07367121860680946,-0.07362393289597195,-0.0735767078466262,-0.07352954334211573,-0.07348243926608303,-0.0734353955024685,-0.07338841193550959,-0.07334148844973985,-0.07329462492998794,-0.07324782126137666,-0.07320107732932205,-0.0731543930195325,-0.07310776821800774,-0.07306120281103799,-0.07301469668520291,-0.07296824972737083,-0.07292186182469777,-0.07287553286462646,-0.0728292627348855,-0.07278305132348849,-0.07273689851873305,-0.07269080420919996,-0.0726447682837522,-0.07259879063153417,-0.07255287114197076,-0.07250700970476633,-0.07246120620990404,-0.07241546054764485,-0.07236977260852666,-0.07232414228336341,-0.07227856946324425,-0.0722330540395327,-0.07218759590386577,-0.07214219494815295,-0.07209685106457564,-0.07205156414558604,-0.07200633408390644,-0.07196116077252836,-0.07191604410471159,-0.07187098397398352,-0.0718259802741382,-0.07178103289923551,-0.07173614174360035,-0.07169130670182185,-0.07164652766875243,-0.07160180453950711,-0.07155713720946258,-0.07151252557425647,-0.0714679695297865,-0.07142346897220968,-0.07137902379794146,-0.07133463390365499,-0.07129029918628031,-0.07124601954300348,-0.0712017948712659,-0.0711576250687634,-0.07111351003344554,-0.07106944966351482,-0.07102544385742578,-0.0709814925138844,-0.07093759553184721,-0.07089375281052053,-0.07084996424935966,-0.07080622974806823,-0.07076254920659734,-0.07071892252514482,-0.07067534960415442,-0.07063183034431518,-0.07058836464656056,-0.0705449524120677,-0.07050159354225673,-0.07045828793878998,-0.07041503550357127,-0.07037183613874513,-0.07032868974669604,-0.07028559623004779,-0.07024255549166265,-0.07019956743464074,-0.07015663196231915,-0.0701137489782714,-0.07007091838630652,-0.07002814009046862,-0.0699854139950358,-0.0699427400045197,-0.06990011802366472,-0.06985754795744736,-0.06981502971107535,-0.06977256318998716,-0.0697301482998511,-0.06968778494656483,-0.06964547303625443,-0.06960321247527393,-0.06956100317020449,-0.06951884502785367,-0.06947673795525496,-0.06943468185966677,-0.06939267664857207,-0.06935072222967752,-0.06930881851091282,-0.0692669654004301,-0.06922516280660322,-0.06918341063802706,-0.06914170880351689,-0.0691000572121077,-0.06905845577305356,-0.0690169043958269,-0.06897540299011798,-0.06893395146583403,-0.06889254973309883,-0.06885119770225186,-0.06880989528384783,-0.06876864238865585,-0.06872743892765898,-0.0686862848120534,-0.06864517995324795,-0.06860412426286336,-0.06856311765273167,-0.06852216003489563,-0.06848125132160798,-0.06844039142533093,-0.06839958025873548,-0.06835881773470077,-0.06831810376631352,-0.0682774382668674,-0.06823682114986236,-0.06819625232900407,-0.06815573171820334,-0.0681152592315754,-0.0680748347834394,-0.06803445828831775,-0.06799412966093557,-0.06795384881621998,-0.06791361566929967,-0.06787343013550409,-0.0678332921303631,-0.06779320156960617,-0.06775315836916188,-0.06771316244515736,-0.06767321371391767,-0.06763331209196516,-0.067593457496019,-0.06755364984299451,-0.06751388905000269,-0.06747417503434944,-0.06743450771353526,-0.06739488700525444,-0.06735531282739464,-0.06731578509803625,-0.06727630373545185,-0.06723686865810563,-0.06719747978465289,-0.06715813703393939,-0.06711884032500083,-0.06707958957706231,-0.0670403847095378,-0.06700122564202951,-0.06696211229432739,-0.06692304458640858,-0.06688402243843689,-0.06684504577076222,-0.06680611450391997,-0.06676722855863063,-0.06672838785579914,-0.06668959231651438,-0.06665084186204862,-0.06661213641385702,-0.0665734758935771,-0.06653486022302817,-0.06649628932421084,-0.06645776311930647,-0.0664192815306767,-0.06638084448086284,-0.06634245189258542,-0.06630410368874362,-0.06626579979241487,-0.06622754012685414,-0.06618932461549361,-0.06615115318194208,-0.06611302574998443,-0.06607494224358118,-0.06603690258686795,-0.06599890670415497,-0.06596095451992653,-0.0659230459588406,-0.06588518094572815,-0.06584735940559283,-0.06580958126361036,-0.0657718464451281,-0.06573415487566447,-0.06569650648090863,-0.0656589011867198,-0.06562133891912689,-0.06558381960432799,-0.06554634316868983,-0.06550890953874741,-0.06547151864120344,-0.06543417040292789,-0.06539686475095742,-0.06535960161249511,-0.0653223809149098,-0.06528520258573568,-0.06524806655267183,-0.06521097274358176,-0.06517392108649289,-0.06513691150959618,-0.06509994394124552,-0.06506301830995742,-0.0650261345444105,-0.06498929257344495,-0.06495249232606216,-0.0649157337314243,-0.06487901671885371,-0.06484234121783258,-0.06480570715800252,-0.06476911446916396,-0.06473256308127588,-0.0646960529244552,-0.06465958392897646,-0.06462315602527129,-0.06458676914392805,-0.06455042321569134,-0.06451411817146151,-0.06447785394229433,-0.06444163045940048,-0.06440544765414515,-0.06436930545804757,-0.06433320380278063,-0.06429714262017039,-0.06426112184219568,-0.06422514140098771,-0.06418920122882957,-0.06415330125815585,-0.06411744142155222,-0.06408162165175499,-0.06404584188165068,-0.06401010204427561,-0.06397440207281557,-0.06393874190060522,-0.06390312146112781,-0.06386754068801477,-0.06383199951504522,-0.06379649787614561,-0.06376103570538931,-0.0637256129369962,-0.06369022950533225,-0.06365488534490908,-0.06361958039038368,-0.06358431457655783,-0.06354908783837791,-0.06351390011093426,-0.06347875132946097,-0.06344364142933544,-0.06340857034607789,-0.06337353801535109,-0.0633385443729599,-0.06330358935485088,-0.06326867289711192,-0.06323379493597184,-0.06319895540780002,-0.06316415424910594,-0.06312939139653893,-0.06309466678688763,-0.06305998035707971,-0.06302533204418151,-0.0629907217853975,-0.06295614951807012,-0.0629216151796792,-0.06288711870784178,-0.06285266004031152,-0.06281823911497852,-0.06278385586986882,-0.06274951024314404,-0.06271520217310114,-0.06268093159817185,-0.06264669845692246,-0.06261250268805334,-0.06257834423039868,-0.06254422302292609,-0.06251013900473612,-0.062476092115062117,-0.06244208229326967,-0.06240810947885636,-0.062374173611451346,-0.062340274630815026,-0.062306412476838706,-0.062272587089544224,-0.062238798409083536,-0.06220504637573848,-0.06217133092992034,-0.06213765201216954,-0.062104009563155246,-0.06207040352367503,-0.06203683383465461,-0.06200330043714735,-0.06196980327233406,-0.06193634228152255,-0.061902917406147326,-0.06186952858776929,-0.0618361757680753,-0.06180285888887795,-0.0617695778921151,-0.06173633271984971,-0.06170312331426926,-0.061669949617685696,-0.06163681157253489,-0.06160370912137636,-0.061570642206892984,-0.061537610771890634,-0.06150461475929785,-0.06147165411216553,-0.061438728773666504,-0.061405838687095406,-0.061372983795868134,-0.061340164043521675,-0.06130737937371368,-0.06127462973022225,-0.061241915056945484,-0.06120923529790132,-0.06117659039722703,-0.06114398029917904,-0.061111404948132594,-0.06107886428858136,-0.06104635826513718,-0.06101388682252978,-0.06098144990560636,-0.06094904745933144,-0.06091667942878631,-0.06088434575916898,-0.06085204639579368,-0.06081978128409067,-0.06078755036960586,-0.06075535359800052,-0.060723190915051004,-0.06069106226664841,-0.0606589675987983,-0.06062690685762037,-0.06059487998934822,-0.06056288694032893,-0.060530927657022886,-0.060499002086003395,-0.060467110173956416,-0.06043525186768031,-0.06040342711408546,-0.06037163586019402,-0.060339878053139624,-0.0603081536401671,-0.06027646256863213,-0.06024480478600103,-0.06021318023985041,-0.06018158887786686,-0.06015003064784678,-0.060118505497695936,-0.06008701337542928,-0.060055554229170645,-0.06002412800715243,-0.05999273465771531,-0.05996137412930803,-0.05993004637048703,-0.05989875132991623,-0.059867488956366725,-0.05983625919871647,-0.05980506200595005,-0.05977389732715842,-0.05974276511153854,-0.05971166530839318,-0.05968059786713065,-0.05964956273726446,-0.05961855986841308,-0.05958758921029964,-0.059556650712751784,-0.05952574432570122,-0.059494869999183554,-0.05946402768333797,-0.059433217328407055,-0.05940243888473642,-0.059371692302774476,-0.0593409775330722,-0.059310294526282815,-0.05927964323316159,-0.05924902360456548,-0.05921843559145298,-0.05918787914488377,-0.059157354216018525,-0.05912686075611856,-0.059096398716545685,-0.059065968048761894,-0.05903556870432907,-0.05900520063490876,-0.05897486379226195,-0.05894455812824876,-0.05891428359482823,-0.05888404014405806,-0.05885382772809429,-0.05882364629919113,-0.05879349580970068,-0.05876337621207272,-0.058733287458854325,-0.05870322950268979,-0.058673202296320254,-0.05864320579258357,-0.05861323994441387,-0.058583304704841556,-0.05855340002699288,-0.05852352586408975,-0.05849368216944949,-0.0584638688964846,-0.05843408599870253,-0.058404333429705434,-0.05837461114318984,-0.05834491909294657,-0.05831525723286035,-0.05828562551690968,-0.05825602389916653,-0.05822645233379612,-0.05819691077505672,-0.058167399177299337,-0.05813791749496754,-0.058108465682597255,-0.05807904369481642,-0.05804965148634487,-0.05802028901199401,-0.057990956226666675,-0.057961653085356814,-0.05793237954314932,-0.05790313555521976,-0.057873921076834166,-0.05784473606334883,-0.05781558047021,-0.05778645425295376,-0.05775735736720574,-0.05772828976868086,-0.05769925141318317,-0.057670242256605594,-0.057641262254929736,-0.057612311364225614,-0.05758338954065146,-0.05755449674045351,-0.05752563291996572,-0.057496798035609684,-0.05746799204389426,-0.057439214901415445,-0.05741046656485612,-0.057381746990985846,-0.05735305613666067,-0.057324393958822814,-0.057295760414500616],"x":[0.0,-0.4995004995004995,-0.999000999000999,-1.4985014985014986,-1.998001998001998,-2.4975024975024973,-2.997002997002997,-3.4965034965034967,-3.996003996003996,-4.495504495504496,-4.995004995004995,-5.4945054945054945,-5.994005994005994,-6.4935064935064934,-6.993006993006993,-7.492507492507492,-7.992007992007992,-8.491508491508492,-8.991008991008991,-9.49050949050949,-9.99000999000999,-10.48951048951049,-10.989010989010989,-11.488511488511488,-11.988011988011989,-12.487512487512488,-12.987012987012987,-13.486513486513486,-13.986013986013987,-14.485514485514486,-14.985014985014985,-15.484515484515484,-15.984015984015985,-16.483516483516482,-16.983016983016984,-17.482517482517483,-17.982017982017982,-18.48151848151848,-18.98101898101898,-19.48051948051948,-19.98001998001998,-20.47952047952048,-20.97902097902098,-21.47852147852148,-21.978021978021978,-22.477522477522477,-22.977022977022976,-23.476523476523475,-23.976023976023978,-24.475524475524477,-24.975024975024976,-25.474525474525475,-25.974025974025974,-26.473526473526473,-26.973026973026972,-27.47252747252747,-27.972027972027973,-28.471528471528472,-28.97102897102897,-29.47052947052947,-29.97002997002997,-30.46953046953047,-30.969030969030968,-31.46853146853147,-31.96803196803197,-32.467532467532465,-32.967032967032964,-33.46653346653347,-33.96603396603397,-34.46553446553447,-34.96503496503497,-35.464535464535466,-35.964035964035965,-36.463536463536464,-36.96303696303696,-37.46253746253746,-37.96203796203796,-38.46153846153846,-38.96103896103896,-39.46053946053946,-39.96003996003996,-40.45954045954046,-40.95904095904096,-41.45854145854146,-41.95804195804196,-42.45754245754246,-42.95704295704296,-43.45654345654346,-43.956043956043956,-44.455544455544455,-44.955044955044954,-45.45454545454545,-45.95404595404595,-46.45354645354645,-46.95304695304695,-47.45254745254745,-47.952047952047955,-48.451548451548454,-48.95104895104895,-49.45054945054945,-49.95004995004995,-50.44955044955045,-50.94905094905095,-51.44855144855145,-51.94805194805195,-52.44755244755245,-52.947052947052946,-53.446553446553445,-53.946053946053944,-54.44555444555444,-54.94505494505494,-55.44455544455545,-55.94405594405595,-56.443556443556446,-56.943056943056945,-57.442557442557444,-57.94205794205794,-58.44155844155844,-58.94105894105894,-59.44055944055944,-59.94005994005994,-60.43956043956044,-60.93906093906094,-61.438561438561436,-61.938061938061935,-62.437562437562434,-62.93706293706294,-63.43656343656344,-63.93606393606394,-64.43556443556443,-64.93506493506493,-65.43456543456543,-65.93406593406593,-66.43356643356644,-66.93306693306694,-67.43256743256744,-67.93206793206794,-68.43156843156844,-68.93106893106894,-69.43056943056943,-69.93006993006993,-70.42957042957043,-70.92907092907093,-71.42857142857143,-71.92807192807193,-72.42757242757243,-72.92707292707293,-73.42657342657343,-73.92607392607393,-74.42557442557442,-74.92507492507492,-75.42457542457542,-75.92407592407592,-76.42357642357642,-76.92307692307692,-77.42257742257742,-77.92207792207792,-78.42157842157842,-78.92107892107892,-79.42057942057941,-79.92007992007991,-80.41958041958041,-80.91908091908093,-81.41858141858143,-81.91808191808192,-82.41758241758242,-82.91708291708292,-83.41658341658342,-83.91608391608392,-84.41558441558442,-84.91508491508492,-85.41458541458542,-85.91408591408592,-86.41358641358642,-86.91308691308691,-87.41258741258741,-87.91208791208791,-88.41158841158841,-88.91108891108891,-89.41058941058941,-89.91008991008991,-90.40959040959041,-90.9090909090909,-91.4085914085914,-91.9080919080919,-92.4075924075924,-92.9070929070929,-93.4065934065934,-93.9060939060939,-94.4055944055944,-94.9050949050949,-95.4045954045954,-95.90409590409591,-96.40359640359641,-96.90309690309691,-97.40259740259741,-97.9020979020979,-98.4015984015984,-98.9010989010989,-99.4005994005994,-99.9000999000999,-100.3996003996004,-100.8991008991009,-101.3986013986014,-101.8981018981019,-102.3976023976024,-102.8971028971029,-103.3966033966034,-103.8961038961039,-104.3956043956044,-104.8951048951049,-105.39460539460539,-105.89410589410589,-106.39360639360639,-106.89310689310689,-107.39260739260739,-107.89210789210789,-108.39160839160839,-108.89110889110889,-109.39060939060938,-109.89010989010988,-110.3896103896104,-110.8891108891109,-111.3886113886114,-111.8881118881119,-112.38761238761239,-112.88711288711289,-113.38661338661339,-113.88611388611389,-114.38561438561439,-114.88511488511489,-115.38461538461539,-115.88411588411589,-116.38361638361638,-116.88311688311688,-117.38261738261738,-117.88211788211788,-118.38161838161838,-118.88111888111888,-119.38061938061938,-119.88011988011988,-120.37962037962038,-120.87912087912088,-121.37862137862138,-121.87812187812187,-122.37762237762237,-122.87712287712287,-123.37662337662337,-123.87612387612387,-124.37562437562437,-124.87512487512487,-125.37462537462538,-125.87412587412588,-126.37362637362638,-126.87312687312688,-127.37262737262738,-127.87212787212788,-128.37162837162836,-128.87112887112886,-129.37062937062936,-129.87012987012986,-130.36963036963036,-130.86913086913086,-131.36863136863136,-131.86813186813185,-132.36763236763238,-132.86713286713288,-133.36663336663338,-133.86613386613388,-134.36563436563438,-134.86513486513488,-135.36463536463538,-135.86413586413587,-136.36363636363637,-136.86313686313687,-137.36263736263737,-137.86213786213787,-138.36163836163837,-138.86113886113887,-139.36063936063937,-139.86013986013987,-140.35964035964037,-140.85914085914087,-141.35864135864136,-141.85814185814186,-142.35764235764236,-142.85714285714286,-143.35664335664336,-143.85614385614386,-144.35564435564436,-144.85514485514486,-145.35464535464536,-145.85414585414586,-146.35364635364635,-146.85314685314685,-147.35264735264735,-147.85214785214785,-148.35164835164835,-148.85114885114885,-149.35064935064935,-149.85014985014985,-150.34965034965035,-150.84915084915085,-151.34865134865134,-151.84815184815184,-152.34765234765234,-152.84715284715284,-153.34665334665334,-153.84615384615384,-154.34565434565434,-154.84515484515484,-155.34465534465534,-155.84415584415584,-156.34365634365633,-156.84315684315683,-157.34265734265733,-157.84215784215783,-158.34165834165833,-158.84115884115883,-159.34065934065933,-159.84015984015983,-160.33966033966033,-160.83916083916083,-161.33866133866132,-161.83816183816185,-162.33766233766235,-162.83716283716285,-163.33666333666335,-163.83616383616385,-164.33566433566435,-164.83516483516485,-165.33466533466535,-165.83416583416584,-166.33366633366634,-166.83316683316684,-167.33266733266734,-167.83216783216784,-168.33166833166834,-168.83116883116884,-169.33066933066934,-169.83016983016984,-170.32967032967034,-170.82917082917083,-171.32867132867133,-171.82817182817183,-172.32767232767233,-172.82717282717283,-173.32667332667333,-173.82617382617383,-174.32567432567433,-174.82517482517483,-175.32467532467533,-175.82417582417582,-176.32367632367632,-176.82317682317682,-177.32267732267732,-177.82217782217782,-178.32167832167832,-178.82117882117882,-179.32067932067932,-179.82017982017982,-180.31968031968032,-180.81918081918081,-181.3186813186813,-181.8181818181818,-182.3176823176823,-182.8171828171828,-183.3166833166833,-183.8161838161838,-184.3156843156843,-184.8151848151848,-185.3146853146853,-185.8141858141858,-186.3136863136863,-186.8131868131868,-187.3126873126873,-187.8121878121878,-188.3116883116883,-188.8111888111888,-189.3106893106893,-189.8101898101898,-190.3096903096903,-190.8091908091908,-191.30869130869132,-191.80819180819182,-192.30769230769232,-192.80719280719282,-193.30669330669332,-193.80619380619382,-194.30569430569432,-194.80519480519482,-195.30469530469531,-195.8041958041958,-196.3036963036963,-196.8031968031968,-197.3026973026973,-197.8021978021978,-198.3016983016983,-198.8011988011988,-199.3006993006993,-199.8001998001998,-200.2997002997003,-200.7992007992008,-201.2987012987013,-201.7982017982018,-202.2977022977023,-202.7972027972028,-203.2967032967033,-203.7962037962038,-204.2957042957043,-204.7952047952048,-205.2947052947053,-205.7942057942058,-206.2937062937063,-206.7932067932068,-207.2927072927073,-207.7922077922078,-208.2917082917083,-208.7912087912088,-209.2907092907093,-209.7902097902098,-210.28971028971029,-210.78921078921078,-211.28871128871128,-211.78821178821178,-212.28771228771228,-212.78721278721278,-213.28671328671328,-213.78621378621378,-214.28571428571428,-214.78521478521478,-215.28471528471528,-215.78421578421577,-216.28371628371627,-216.78321678321677,-217.28271728271727,-217.78221778221777,-218.28171828171827,-218.78121878121877,-219.28071928071927,-219.78021978021977,-220.27972027972027,-220.7792207792208,-221.2787212787213,-221.7782217782218,-222.2777222777223,-222.7772227772228,-223.2767232767233,-223.7762237762238,-224.2757242757243,-224.77522477522479,-225.27472527472528,-225.77422577422578,-226.27372627372628,-226.77322677322678,-227.27272727272728,-227.77222777222778,-228.27172827172828,-228.77122877122878,-229.27072927072928,-229.77022977022978,-230.26973026973027,-230.76923076923077,-231.26873126873127,-231.76823176823177,-232.26773226773227,-232.76723276723277,-233.26673326673327,-233.76623376623377,-234.26573426573427,-234.76523476523477,-235.26473526473526,-235.76423576423576,-236.26373626373626,-236.76323676323676,-237.26273726273726,-237.76223776223776,-238.26173826173826,-238.76123876123876,-239.26073926073926,-239.76023976023976,-240.25974025974025,-240.75924075924075,-241.25874125874125,-241.75824175824175,-242.25774225774225,-242.75724275724275,-243.25674325674325,-243.75624375624375,-244.25574425574425,-244.75524475524475,-245.25474525474525,-245.75424575424574,-246.25374625374624,-246.75324675324674,-247.25274725274724,-247.75224775224774,-248.25174825174824,-248.75124875124874,-249.25074925074924,-249.75024975024974,-250.24975024975026,-250.74925074925076,-251.24875124875126,-251.74825174825176,-252.24775224775226,-252.74725274725276,-253.24675324675326,-253.74625374625376,-254.24575424575426,-254.74525474525475,-255.24475524475525,-255.74425574425575,-256.24375624375625,-256.7432567432567,-257.24275724275725,-257.7422577422577,-258.24175824175825,-258.7412587412587,-259.24075924075925,-259.7402597402597,-260.23976023976024,-260.7392607392607,-261.23876123876124,-261.7382617382617,-262.23776223776224,-262.7372627372627,-263.23676323676324,-263.7362637362637,-264.23576423576424,-264.73526473526476,-265.23476523476523,-265.73426573426576,-266.23376623376623,-266.73326673326676,-267.23276723276723,-267.73226773226776,-268.2317682317682,-268.73126873126876,-269.2307692307692,-269.73026973026975,-270.2297702297702,-270.72927072927075,-271.2287712287712,-271.72827172827175,-272.2277722277722,-272.72727272727275,-273.2267732267732,-273.72627372627375,-274.2257742257742,-274.72527472527474,-275.2247752247752,-275.72427572427574,-276.2237762237762,-276.72327672327674,-277.2227772227772,-277.72227772227774,-278.2217782217782,-278.72127872127874,-279.2207792207792,-279.72027972027973,-280.2197802197802,-280.71928071928073,-281.2187812187812,-281.71828171828173,-282.2177822177822,-282.7172827172827,-283.2167832167832,-283.7162837162837,-284.2157842157842,-284.7152847152847,-285.2147852147852,-285.7142857142857,-286.2137862137862,-286.7132867132867,-287.2127872127872,-287.7122877122877,-288.2117882117882,-288.7112887112887,-289.2107892107892,-289.7102897102897,-290.2097902097902,-290.7092907092907,-291.2087912087912,-291.7082917082917,-292.2077922077922,-292.7072927072927,-293.2067932067932,-293.7062937062937,-294.20579420579423,-294.7052947052947,-295.20479520479523,-295.7042957042957,-296.20379620379623,-296.7032967032967,-297.2027972027972,-297.7022977022977,-298.2017982017982,-298.7012987012987,-299.2007992007992,-299.7002997002997,-300.1998001998002,-300.6993006993007,-301.1988011988012,-301.6983016983017,-302.1978021978022,-302.6973026973027,-303.1968031968032,-303.6963036963037,-304.1958041958042,-304.6953046953047,-305.1948051948052,-305.6943056943057,-306.1938061938062,-306.6933066933067,-307.1928071928072,-307.6923076923077,-308.1918081918082,-308.6913086913087,-309.1908091908092,-309.6903096903097,-310.1898101898102,-310.6893106893107,-311.1888111888112,-311.68831168831167,-312.1878121878122,-312.68731268731267,-313.1868131868132,-313.68631368631367,-314.1858141858142,-314.68531468531467,-315.1848151848152,-315.68431568431566,-316.1838161838162,-316.68331668331666,-317.1828171828172,-317.68231768231766,-318.1818181818182,-318.68131868131866,-319.1808191808192,-319.68031968031966,-320.1798201798202,-320.67932067932065,-321.1788211788212,-321.67832167832165,-322.1778221778222,-322.67732267732265,-323.1768231768232,-323.6763236763237,-324.1758241758242,-324.6753246753247,-325.1748251748252,-325.6743256743257,-326.17382617382617,-326.6733266733267,-327.17282717282717,-327.6723276723277,-328.17182817182817,-328.6713286713287,-329.17082917082917,-329.6703296703297,-330.16983016983016,-330.6693306693307,-331.16883116883116,-331.6683316683317,-332.16783216783216,-332.6673326673327,-333.16683316683316,-333.6663336663337,-334.16583416583416,-334.6653346653347,-335.16483516483515,-335.6643356643357,-336.16383616383615,-336.6633366633367,-337.16283716283715,-337.6623376623377,-338.16183816183815,-338.6613386613387,-339.16083916083915,-339.6603396603397,-340.15984015984014,-340.65934065934067,-341.15884115884114,-341.65834165834167,-342.15784215784214,-342.65734265734267,-343.15684315684314,-343.65634365634367,-344.15584415584414,-344.65534465534466,-345.15484515484513,-345.65434565434566,-346.15384615384613,-346.65334665334666,-347.15284715284713,-347.65234765234766,-348.1518481518481,-348.65134865134866,-349.1508491508491,-349.65034965034965,-350.1498501498501,-350.64935064935065,-351.1488511488511,-351.64835164835165,-352.1478521478521,-352.64735264735265,-353.1468531468532,-353.64635364635365,-354.1458541458542,-354.64535464535464,-355.14485514485517,-355.64435564435564,-356.14385614385617,-356.64335664335664,-357.14285714285717,-357.64235764235764,-358.14185814185817,-358.64135864135864,-359.14085914085916,-359.64035964035963,-360.13986013986016,-360.63936063936063,-361.13886113886116,-361.63836163836163,-362.13786213786216,-362.6373626373626,-363.13686313686316,-363.6363636363636,-364.13586413586415,-364.6353646353646,-365.13486513486515,-365.6343656343656,-366.13386613386615,-366.6333666333666,-367.13286713286715,-367.6323676323676,-368.13186813186815,-368.6313686313686,-369.13086913086914,-369.6303696303696,-370.12987012987014,-370.6293706293706,-371.12887112887114,-371.6283716283716,-372.12787212787214,-372.6273726273726,-373.12687312687314,-373.6263736263736,-374.12587412587413,-374.6253746253746,-375.12487512487513,-375.6243756243756,-376.12387612387613,-376.6233766233766,-377.1228771228771,-377.6223776223776,-378.1218781218781,-378.6213786213786,-379.1208791208791,-379.6203796203796,-380.1198801198801,-380.6193806193806,-381.1188811188811,-381.6183816183816,-382.1178821178821,-382.61738261738265,-383.1168831168831,-383.61638361638364,-384.1158841158841,-384.61538461538464,-385.1148851148851,-385.61438561438564,-386.1138861138861,-386.61338661338664,-387.1128871128871,-387.61238761238764,-388.1118881118881,-388.61138861138863,-389.1108891108891,-389.61038961038963,-390.1098901098901,-390.60939060939063,-391.1088911088911,-391.6083916083916,-392.1078921078921,-392.6073926073926,-393.1068931068931,-393.6063936063936,-394.1058941058941,-394.6053946053946,-395.1048951048951,-395.6043956043956,-396.1038961038961,-396.6033966033966,-397.1028971028971,-397.6023976023976,-398.1018981018981,-398.6013986013986,-399.1008991008991,-399.6003996003996,-400.0999000999001,-400.5994005994006,-401.0989010989011,-401.5984015984016,-402.0979020979021,-402.5974025974026,-403.0969030969031,-403.5964035964036,-404.0959040959041,-404.5954045954046,-405.0949050949051,-405.5944055944056,-406.09390609390607,-406.5934065934066,-407.09290709290707,-407.5924075924076,-408.09190809190807,-408.5914085914086,-409.09090909090907,-409.5904095904096,-410.08991008991006,-410.5894105894106,-411.08891108891106,-411.5884115884116,-412.0879120879121,-412.5874125874126,-413.0869130869131,-413.5864135864136,-414.0859140859141,-414.5854145854146,-415.0849150849151,-415.5844155844156,-416.0839160839161,-416.5834165834166,-417.0829170829171,-417.5824175824176,-418.0819180819181,-418.5814185814186,-419.0809190809191,-419.5804195804196,-420.0799200799201,-420.57942057942057,-421.0789210789211,-421.57842157842157,-422.0779220779221,-422.57742257742257,-423.0769230769231,-423.57642357642357,-424.0759240759241,-424.57542457542456,-425.0749250749251,-425.57442557442556,-426.0739260739261,-426.57342657342656,-427.0729270729271,-427.57242757242756,-428.0719280719281,-428.57142857142856,-429.0709290709291,-429.57042957042955,-430.0699300699301,-430.56943056943055,-431.0689310689311,-431.56843156843155,-432.0679320679321,-432.56743256743255,-433.0669330669331,-433.56643356643355,-434.0659340659341,-434.56543456543454,-435.06493506493507,-435.56443556443554,-436.06393606393607,-436.56343656343654,-437.06293706293707,-437.56243756243754,-438.06193806193806,-438.56143856143854,-439.06093906093906,-439.56043956043953,-440.05994005994006,-440.55944055944053,-441.05894105894106,-441.5584415584416,-442.05794205794206,-442.5574425574426,-443.05694305694306,-443.5564435564436,-444.05594405594405,-444.5554445554446,-445.05494505494505,-445.5544455544456,-446.05394605394605,-446.5534465534466,-447.05294705294705,-447.5524475524476,-448.05194805194805,-448.5514485514486,-449.05094905094904,-449.55044955044957,-450.04995004995004,-450.54945054945057,-451.04895104895104,-451.54845154845157,-452.04795204795204,-452.54745254745256,-453.04695304695304,-453.54645354645356,-454.04595404595403,-454.54545454545456,-455.04495504495503,-455.54445554445556,-456.04395604395603,-456.54345654345656,-457.042957042957,-457.54245754245756,-458.041958041958,-458.54145854145855,-459.040959040959,-459.54045954045955,-460.03996003996,-460.53946053946055,-461.038961038961,-461.53846153846155,-462.037962037962,-462.53746253746255,-463.036963036963,-463.53646353646354,-464.035964035964,-464.53546453546454,-465.034965034965,-465.53446553446554,-466.033966033966,-466.53346653346654,-467.032967032967,-467.53246753246754,-468.031968031968,-468.53146853146853,-469.030969030969,-469.53046953046953,-470.02997002997,-470.52947052947053,-471.02897102897106,-471.5284715284715,-472.02797202797206,-472.5274725274725,-473.02697302697305,-473.5264735264735,-474.02597402597405,-474.5254745254745,-475.02497502497505,-475.5244755244755,-476.02397602397605,-476.5234765234765,-477.02297702297705,-477.5224775224775,-478.02197802197804,-478.5214785214785,-479.02097902097904,-479.5204795204795,-480.01998001998004,-480.5194805194805,-481.01898101898104,-481.5184815184815,-482.01798201798204,-482.5174825174825,-483.01698301698303,-483.5164835164835,-484.01598401598403,-484.5154845154845,-485.01498501498503,-485.5144855144855,-486.013986013986,-486.5134865134865,-487.012987012987,-487.5124875124875,-488.011988011988,-488.5114885114885,-489.010989010989,-489.5104895104895,-490.00999000999,-490.5094905094905,-491.008991008991,-491.5084915084915,-492.007992007992,-492.5074925074925,-493.006993006993,-493.5064935064935,-494.005994005994,-494.5054945054945,-495.004995004995,-495.5044955044955,-496.003996003996,-496.5034965034965,-497.002997002997,-497.5024975024975,-498.001998001998,-498.5014985014985,-499.000999000999,-499.5004995004995,-500.0,-500.4995004995005,-500.999000999001,-501.4985014985015,-501.998001998002,-502.4975024975025,-502.997002997003,-503.4965034965035,-503.996003996004,-504.4955044955045,-504.995004995005,-505.4945054945055,-505.994005994006,-506.4935064935065,-506.993006993007,-507.4925074925075,-507.992007992008,-508.4915084915085,-508.991008991009,-509.4905094905095,-509.99000999001,-510.4895104895105,-510.989010989011,-511.4885114885115,-511.988011988012,-512.4875124875125,-512.987012987013,-513.4865134865134,-513.986013986014,-514.4855144855145,-514.985014985015,-515.4845154845154,-515.984015984016,-516.4835164835165,-516.983016983017,-517.4825174825174,-517.982017982018,-518.4815184815185,-518.981018981019,-519.4805194805194,-519.98001998002,-520.4795204795205,-520.979020979021,-521.4785214785214,-521.978021978022,-522.4775224775225,-522.977022977023,-523.4765234765234,-523.976023976024,-524.4755244755245,-524.975024975025,-525.4745254745254,-525.974025974026,-526.4735264735265,-526.973026973027,-527.4725274725274,-527.972027972028,-528.4715284715285,-528.971028971029,-529.4705294705295,-529.9700299700299,-530.4695304695305,-530.969030969031,-531.4685314685315,-531.9680319680319,-532.4675324675325,-532.967032967033,-533.4665334665335,-533.9660339660339,-534.4655344655345,-534.965034965035,-535.4645354645355,-535.9640359640359,-536.4635364635365,-536.963036963037,-537.4625374625375,-537.9620379620379,-538.4615384615385,-538.961038961039,-539.4605394605395,-539.9600399600399,-540.4595404595404,-540.959040959041,-541.4585414585415,-541.9580419580419,-542.4575424575424,-542.957042957043,-543.4565434565435,-543.9560439560439,-544.4555444555444,-544.955044955045,-545.4545454545455,-545.9540459540459,-546.4535464535464,-546.953046953047,-547.4525474525475,-547.9520479520479,-548.4515484515484,-548.951048951049,-549.4505494505495,-549.9500499500499,-550.4495504495504,-550.949050949051,-551.4485514485515,-551.9480519480519,-552.4475524475524,-552.947052947053,-553.4465534465535,-553.9460539460539,-554.4455544455544,-554.945054945055,-555.4445554445555,-555.9440559440559,-556.4435564435564,-556.943056943057,-557.4425574425575,-557.9420579420579,-558.4415584415584,-558.9410589410589,-559.4405594405595,-559.94005994006,-560.4395604395604,-560.9390609390609,-561.4385614385615,-561.938061938062,-562.4375624375624,-562.9370629370629,-563.4365634365635,-563.936063936064,-564.4355644355644,-564.9350649350649,-565.4345654345655,-565.934065934066,-566.4335664335664,-566.9330669330669,-567.4325674325675,-567.932067932068,-568.4315684315684,-568.9310689310689,-569.4305694305694,-569.93006993007,-570.4295704295704,-570.9290709290709,-571.4285714285714,-571.928071928072,-572.4275724275724,-572.9270729270729,-573.4265734265734,-573.926073926074,-574.4255744255744,-574.9250749250749,-575.4245754245754,-575.924075924076,-576.4235764235764,-576.9230769230769,-577.4225774225774,-577.922077922078,-578.4215784215784,-578.9210789210789,-579.4205794205794,-579.92007992008,-580.4195804195804,-580.9190809190809,-581.4185814185814,-581.918081918082,-582.4175824175824,-582.9170829170829,-583.4165834165834,-583.916083916084,-584.4155844155844,-584.9150849150849,-585.4145854145854,-585.914085914086,-586.4135864135864,-586.9130869130869,-587.4125874125874,-587.9120879120879,-588.4115884115885,-588.9110889110889,-589.4105894105894,-589.9100899100899,-590.4095904095905,-590.9090909090909,-591.4085914085914,-591.9080919080919,-592.4075924075925,-592.9070929070929,-593.4065934065934,-593.9060939060939,-594.4055944055945,-594.9050949050949,-595.4045954045954,-595.9040959040959,-596.4035964035965,-596.9030969030969,-597.4025974025974,-597.9020979020979,-598.4015984015984,-598.9010989010989,-599.4005994005994,-599.9000999000999,-600.3996003996004,-600.8991008991009,-601.3986013986014,-601.8981018981019,-602.3976023976024,-602.8971028971029,-603.3966033966034,-603.8961038961039,-604.3956043956044,-604.8951048951049,-605.3946053946054,-605.8941058941059,-606.3936063936064,-606.8931068931068,-607.3926073926074,-607.8921078921079,-608.3916083916084,-608.8911088911088,-609.3906093906094,-609.8901098901099,-610.3896103896104,-610.8891108891108,-611.3886113886114,-611.8881118881119,-612.3876123876124,-612.8871128871128,-613.3866133866134,-613.8861138861139,-614.3856143856144,-614.8851148851148,-615.3846153846154,-615.8841158841159,-616.3836163836164,-616.8831168831168,-617.3826173826174,-617.8821178821179,-618.3816183816184,-618.8811188811189,-619.3806193806194,-619.8801198801199,-620.3796203796204,-620.8791208791209,-621.3786213786213,-621.8781218781219,-622.3776223776224,-622.8771228771229,-623.3766233766233,-623.8761238761239,-624.3756243756244,-624.8751248751249,-625.3746253746253,-625.8741258741259,-626.3736263736264,-626.8731268731269,-627.3726273726273,-627.8721278721279,-628.3716283716284,-628.8711288711289,-629.3706293706293,-629.8701298701299,-630.3696303696304,-630.8691308691309,-631.3686313686313,-631.8681318681319,-632.3676323676324,-632.8671328671329,-633.3666333666333,-633.8661338661339,-634.3656343656344,-634.8651348651349,-635.3646353646353,-635.8641358641358,-636.3636363636364,-636.8631368631369,-637.3626373626373,-637.8621378621378,-638.3616383616384,-638.8611388611389,-639.3606393606393,-639.8601398601398,-640.3596403596404,-640.8591408591409,-641.3586413586413,-641.8581418581418,-642.3576423576424,-642.8571428571429,-643.3566433566433,-643.8561438561438,-644.3556443556444,-644.8551448551449,-645.3546453546453,-645.8541458541458,-646.3536463536464,-646.8531468531469,-647.3526473526474,-647.8521478521478,-648.3516483516484,-648.8511488511489,-649.3506493506494,-649.8501498501498,-650.3496503496503,-650.8491508491509,-651.3486513486514,-651.8481518481518,-652.3476523476523,-652.8471528471529,-653.3466533466534,-653.8461538461538,-654.3456543456543,-654.8451548451549,-655.3446553446554,-655.8441558441558,-656.3436563436563,-656.8431568431569,-657.3426573426574,-657.8421578421578,-658.3416583416583,-658.8411588411589,-659.3406593406594,-659.8401598401598,-660.3396603396603,-660.8391608391609,-661.3386613386614,-661.8381618381618,-662.3376623376623,-662.8371628371629,-663.3366633366634,-663.8361638361638,-664.3356643356643,-664.8351648351648,-665.3346653346654,-665.8341658341658,-666.3336663336663,-666.8331668331668,-667.3326673326674,-667.8321678321678,-668.3316683316683,-668.8311688311688,-669.3306693306694,-669.8301698301698,-670.3296703296703,-670.8291708291708,-671.3286713286714,-671.8281718281718,-672.3276723276723,-672.8271728271728,-673.3266733266734,-673.8261738261738,-674.3256743256743,-674.8251748251748,-675.3246753246754,-675.8241758241758,-676.3236763236763,-676.8231768231768,-677.3226773226774,-677.8221778221779,-678.3216783216783,-678.8211788211788,-679.3206793206793,-679.8201798201799,-680.3196803196803,-680.8191808191808,-681.3186813186813,-681.8181818181819,-682.3176823176823,-682.8171828171828,-683.3166833166833,-683.8161838161839,-684.3156843156843,-684.8151848151848,-685.3146853146853,-685.8141858141859,-686.3136863136863,-686.8131868131868,-687.3126873126873,-687.8121878121879,-688.3116883116883,-688.8111888111888,-689.3106893106893,-689.8101898101899,-690.3096903096903,-690.8091908091908,-691.3086913086913,-691.8081918081919,-692.3076923076923,-692.8071928071928,-693.3066933066933,-693.8061938061938,-694.3056943056943,-694.8051948051948,-695.3046953046953,-695.8041958041958,-696.3036963036963,-696.8031968031968,-697.3026973026973,-697.8021978021978,-698.3016983016983,-698.8011988011988,-699.3006993006993,-699.8001998001998,-700.2997002997002,-700.7992007992008,-701.2987012987013,-701.7982017982018,-702.2977022977022,-702.7972027972028,-703.2967032967033,-703.7962037962038,-704.2957042957042,-704.7952047952048,-705.2947052947053,-705.7942057942058,-706.2937062937064,-706.7932067932068,-707.2927072927073,-707.7922077922078,-708.2917082917083,-708.7912087912088,-709.2907092907093,-709.7902097902098,-710.2897102897103,-710.7892107892108,-711.2887112887113,-711.7882117882118,-712.2877122877123,-712.7872127872128,-713.2867132867133,-713.7862137862138,-714.2857142857143,-714.7852147852147,-715.2847152847153,-715.7842157842158,-716.2837162837163,-716.7832167832167,-717.2827172827173,-717.7822177822178,-718.2817182817183,-718.7812187812187,-719.2807192807193,-719.7802197802198,-720.2797202797203,-720.7792207792207,-721.2787212787213,-721.7782217782218,-722.2777222777223,-722.7772227772227,-723.2767232767233,-723.7762237762238,-724.2757242757243,-724.7752247752247,-725.2747252747253,-725.7742257742258,-726.2737262737263,-726.7732267732267,-727.2727272727273,-727.7722277722278,-728.2717282717283,-728.7712287712287,-729.2707292707292,-729.7702297702298,-730.2697302697303,-730.7692307692307,-731.2687312687312,-731.7682317682318,-732.2677322677323,-732.7672327672327,-733.2667332667332,-733.7662337662338,-734.2657342657343,-734.7652347652347,-735.2647352647352,-735.7642357642358,-736.2637362637363,-736.7632367632368,-737.2627372627372,-737.7622377622378,-738.2617382617383,-738.7612387612388,-739.2607392607392,-739.7602397602398,-740.2597402597403,-740.7592407592408,-741.2587412587412,-741.7582417582418,-742.2577422577423,-742.7572427572428,-743.2567432567432,-743.7562437562437,-744.2557442557443,-744.7552447552448,-745.2547452547452,-745.7542457542457,-746.2537462537463,-746.7532467532468,-747.2527472527472,-747.7522477522477,-748.2517482517483,-748.7512487512488,-749.2507492507492,-749.7502497502497,-750.2497502497503,-750.7492507492508,-751.2487512487512,-751.7482517482517,-752.2477522477523,-752.7472527472528,-753.2467532467532,-753.7462537462537,-754.2457542457543,-754.7452547452548,-755.2447552447552,-755.7442557442557,-756.2437562437563,-756.7432567432568,-757.2427572427572,-757.7422577422577,-758.2417582417582,-758.7412587412588,-759.2407592407592,-759.7402597402597,-760.2397602397602,-760.7392607392608,-761.2387612387612,-761.7382617382617,-762.2377622377622,-762.7372627372628,-763.2367632367632,-763.7362637362637,-764.2357642357642,-764.7352647352648,-765.2347652347653,-765.7342657342657,-766.2337662337662,-766.7332667332668,-767.2327672327673,-767.7322677322677,-768.2317682317682,-768.7312687312688,-769.2307692307693,-769.7302697302697,-770.2297702297702,-770.7292707292708,-771.2287712287713,-771.7282717282717,-772.2277722277722,-772.7272727272727,-773.2267732267733,-773.7262737262737,-774.2257742257742,-774.7252747252747,-775.2247752247753,-775.7242757242757,-776.2237762237762,-776.7232767232767,-777.2227772227773,-777.7222777222777,-778.2217782217782,-778.7212787212787,-779.2207792207793,-779.7202797202797,-780.2197802197802,-780.7192807192807,-781.2187812187813,-781.7182817182817,-782.2177822177822,-782.7172827172827,-783.2167832167833,-783.7162837162837,-784.2157842157842,-784.7152847152847,-785.2147852147853,-785.7142857142857,-786.2137862137862,-786.7132867132867,-787.2127872127872,-787.7122877122877,-788.2117882117882,-788.7112887112887,-789.2107892107892,-789.7102897102897,-790.2097902097902,-790.7092907092907,-791.2087912087912,-791.7082917082917,-792.2077922077922,-792.7072927072927,-793.2067932067932,-793.7062937062936,-794.2057942057942,-794.7052947052947,-795.2047952047952,-795.7042957042958,-796.2037962037962,-796.7032967032967,-797.2027972027972,-797.7022977022978,-798.2017982017982,-798.7012987012987,-799.2007992007992,-799.7002997002998,-800.1998001998002,-800.6993006993007,-801.1988011988012,-801.6983016983017,-802.1978021978022,-802.6973026973027,-803.1968031968032,-803.6963036963037,-804.1958041958042,-804.6953046953047,-805.1948051948052,-805.6943056943057,-806.1938061938062,-806.6933066933067,-807.1928071928072,-807.6923076923077,-808.1918081918081,-808.6913086913087,-809.1908091908092,-809.6903096903097,-810.1898101898101,-810.6893106893107,-811.1888111888112,-811.6883116883117,-812.1878121878121,-812.6873126873127,-813.1868131868132,-813.6863136863137,-814.1858141858141,-814.6853146853147,-815.1848151848152,-815.6843156843157,-816.1838161838161,-816.6833166833167,-817.1828171828172,-817.6823176823177,-818.1818181818181,-818.6813186813187,-819.1808191808192,-819.6803196803197,-820.1798201798201,-820.6793206793207,-821.1788211788212,-821.6783216783217,-822.1778221778221,-822.6773226773226,-823.1768231768232,-823.6763236763237,-824.1758241758242,-824.6753246753246,-825.1748251748252,-825.6743256743257,-826.1738261738262,-826.6733266733266,-827.1728271728272,-827.6723276723277,-828.1718281718282,-828.6713286713286,-829.1708291708292,-829.6703296703297,-830.1698301698302,-830.6693306693306,-831.1688311688312,-831.6683316683317,-832.1678321678322,-832.6673326673326,-833.1668331668332,-833.6663336663337,-834.1658341658342,-834.6653346653346,-835.1648351648352,-835.6643356643357,-836.1638361638362,-836.6633366633366,-837.1628371628371,-837.6623376623377,-838.1618381618382,-838.6613386613386,-839.1608391608391,-839.6603396603397,-840.1598401598402,-840.6593406593406,-841.1588411588411,-841.6583416583417,-842.1578421578422,-842.6573426573426,-843.1568431568431,-843.6563436563437,-844.1558441558442,-844.6553446553446,-845.1548451548451,-845.6543456543457,-846.1538461538462,-846.6533466533466,-847.1528471528471,-847.6523476523477,-848.1518481518482,-848.6513486513486,-849.1508491508491,-849.6503496503497,-850.1498501498502,-850.6493506493506,-851.1488511488511,-851.6483516483516,-852.1478521478522,-852.6473526473526,-853.1468531468531,-853.6463536463536,-854.1458541458542,-854.6453546453547,-855.1448551448551,-855.6443556443556,-856.1438561438562,-856.6433566433567,-857.1428571428571,-857.6423576423576,-858.1418581418582,-858.6413586413587,-859.1408591408591,-859.6403596403596,-860.1398601398602,-860.6393606393607,-861.1388611388611,-861.6383616383616,-862.1378621378622,-862.6373626373627,-863.1368631368631,-863.6363636363636,-864.1358641358642,-864.6353646353647,-865.1348651348651,-865.6343656343656,-866.1338661338661,-866.6333666333667,-867.1328671328671,-867.6323676323676,-868.1318681318681,-868.6313686313687,-869.1308691308691,-869.6303696303696,-870.1298701298701,-870.6293706293707,-871.1288711288711,-871.6283716283716,-872.1278721278721,-872.6273726273727,-873.1268731268731,-873.6263736263736,-874.1258741258741,-874.6253746253747,-875.1248751248751,-875.6243756243756,-876.1238761238761,-876.6233766233767,-877.1228771228771,-877.6223776223776,-878.1218781218781,-878.6213786213787,-879.1208791208791,-879.6203796203796,-880.1198801198801,-880.6193806193806,-881.1188811188811,-881.6183816183816,-882.1178821178821,-882.6173826173826,-883.1168831168832,-883.6163836163836,-884.1158841158841,-884.6153846153846,-885.1148851148852,-885.6143856143856,-886.1138861138861,-886.6133866133866,-887.1128871128872,-887.6123876123876,-888.1118881118881,-888.6113886113886,-889.1108891108892,-889.6103896103896,-890.1098901098901,-890.6093906093906,-891.1088911088912,-891.6083916083916,-892.1078921078921,-892.6073926073926,-893.1068931068932,-893.6063936063936,-894.1058941058941,-894.6053946053946,-895.1048951048951,-895.6043956043956,-896.1038961038961,-896.6033966033966,-897.1028971028971,-897.6023976023976,-898.1018981018981,-898.6013986013986,-899.1008991008991,-899.6003996003996,-900.0999000999001,-900.5994005994006,-901.0989010989011,-901.5984015984016,-902.0979020979021,-902.5974025974026,-903.0969030969031,-903.5964035964035,-904.0959040959041,-904.5954045954046,-905.0949050949051,-905.5944055944055,-906.0939060939061,-906.5934065934066,-907.0929070929071,-907.5924075924075,-908.0919080919081,-908.5914085914086,-909.0909090909091,-909.5904095904095,-910.0899100899101,-910.5894105894106,-911.0889110889111,-911.5884115884115,-912.0879120879121,-912.5874125874126,-913.0869130869131,-913.5864135864136,-914.085914085914,-914.5854145854146,-915.0849150849151,-915.5844155844156,-916.083916083916,-916.5834165834166,-917.0829170829171,-917.5824175824176,-918.081918081918,-918.5814185814186,-919.0809190809191,-919.5804195804196,-920.07992007992,-920.5794205794206,-921.0789210789211,-921.5784215784216,-922.077922077922,-922.5774225774226,-923.0769230769231,-923.5764235764236,-924.075924075924,-924.5754245754246,-925.0749250749251,-925.5744255744256,-926.073926073926,-926.5734265734266,-927.0729270729271,-927.5724275724276,-928.071928071928,-928.5714285714286,-929.0709290709291,-929.5704295704296,-930.06993006993,-930.5694305694306,-931.0689310689311,-931.5684315684316,-932.067932067932,-932.5674325674325,-933.0669330669331,-933.5664335664336,-934.065934065934,-934.5654345654345,-935.0649350649351,-935.5644355644356,-936.063936063936,-936.5634365634365,-937.0629370629371,-937.5624375624376,-938.061938061938,-938.5614385614385,-939.0609390609391,-939.5604395604396,-940.05994005994,-940.5594405594405,-941.0589410589411,-941.5584415584416,-942.0579420579421,-942.5574425574425,-943.056943056943,-943.5564435564436,-944.0559440559441,-944.5554445554445,-945.054945054945,-945.5544455544456,-946.0539460539461,-946.5534465534465,-947.052947052947,-947.5524475524476,-948.0519480519481,-948.5514485514485,-949.050949050949,-949.5504495504496,-950.0499500499501,-950.5494505494505,-951.048951048951,-951.5484515484516,-952.0479520479521,-952.5474525474525,-953.046953046953,-953.5464535464536,-954.0459540459541,-954.5454545454545,-955.044955044955,-955.5444555444556,-956.0439560439561,-956.5434565434565,-957.042957042957,-957.5424575424576,-958.0419580419581,-958.5414585414585,-959.040959040959,-959.5404595404596,-960.0399600399601,-960.5394605394605,-961.038961038961,-961.5384615384615,-962.0379620379621,-962.5374625374625,-963.036963036963,-963.5364635364635,-964.0359640359641,-964.5354645354645,-965.034965034965,-965.5344655344655,-966.0339660339661,-966.5334665334665,-967.032967032967,-967.5324675324675,-968.0319680319681,-968.5314685314685,-969.030969030969,-969.5304695304695,-970.0299700299701,-970.5294705294705,-971.028971028971,-971.5284715284715,-972.027972027972,-972.5274725274726,-973.026973026973,-973.5264735264735,-974.025974025974,-974.5254745254746,-975.024975024975,-975.5244755244755,-976.023976023976,-976.5234765234766,-977.022977022977,-977.5224775224775,-978.021978021978,-978.5214785214786,-979.020979020979,-979.5204795204795,-980.01998001998,-980.5194805194806,-981.018981018981,-981.5184815184815,-982.017982017982,-982.5174825174826,-983.016983016983,-983.5164835164835,-984.015984015984,-984.5154845154846,-985.014985014985,-985.5144855144855,-986.013986013986,-986.5134865134866,-987.012987012987,-987.5124875124875,-988.011988011988,-988.5114885114886,-989.010989010989,-989.5104895104895,-990.00999000999,-990.5094905094905,-991.008991008991,-991.5084915084915,-992.007992007992,-992.5074925074925,-993.006993006993,-993.5064935064935,-994.005994005994,-994.5054945054945,-995.004995004995,-995.5044955044955,-996.003996003996,-996.5034965034965,-997.002997002997,-997.5024975024975,-998.001998001998,-998.5014985014985,-999.000999000999,-999.5004995004995,-1000.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/positive.json b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/positive.json new file mode 100644 index 00000000000..6596d130fe0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/positive.json @@ -0,0 +1 @@ +{"expected":[90.0,63.45784881351441,45.02863357058631,33.71650359585701,26.587964904915832,21.821163926167966,18.452135837558913,15.960529492624033,14.049724034588637,12.540940361918683,11.32095046925248,10.314930203176718,9.471613164325861,8.754772989799232,8.138123602810433,7.6021492347578,7.132068028626575,6.716485373970027,6.346480230361894,6.014970932162286,5.716265930771577,5.445739673930972,5.199594878283704,4.974685542503926,4.768383377697905,4.57847574440274,4.40308677117672,4.240615747495833,4.08968854058438,3.9491189384762637,3.8178776346825396,3.695067150803883,3.579901413534263,3.471689009698726,3.369819369953595,3.273751301139681,3.1830034148084994,3.0971460963007336,3.0157947329195838,2.938603976962813,2.865262863846595,2.7954906403502355,2.7290331854145866,2.665659927641855,2.60516118095227,2.5473458337248647,2.4920393379266232,2.4390819537853514,2.388327212926661,2.339640568916059,2.292898209090445,2.2479860056392513,2.2047985872697673,2.163238515595516,2.123215552725826,2.084646008493101,2.0474521573993516,2.011561716750067,1.976907378615771,1.9434263892558314,1.9110601704847445,1.8797539781825336,1.849456593767946,1.8201200449823907,1.7916993527876093,1.7641523015723697,1.7374392302024373,1.711522841741639,1.6863680299266908,1.6619417207001588,1.6382127272992035,1.6151516175666074,1.5927305922983808,1.5709233735718888,1.549705102112322,1.529052242855621,1.508942497954384,1.4893547265513998,1.4702688707145795,1.4516658869883123,1.4335276830706725,1.4158370591742562,1.3985776536714922,1.3817338926636678,1.3652909431472153,1.3492346694814692,1.3335515928895738,1.318228853748859,1.3032541764491066,1.28861583661703,1.2743026305231742,1.2603038465035898,1.2466092382431777,1.2332089997807663,1.22009374210786,1.2072544712437823,1.1946825676796866,1.1823697670927644,1.170308142240032,1.1584900859483827,1.14690829512425,1.1355557557122966,1.124425728538065,1.1135117359745788,1.1028075493774945,1.0923071772376172,1.0820048540034524,1.0718950295300067,1.0619723591132797,1.0522316940728738,1.042668072847871,1.033276712573637,1.0240530011095248,1.0149924894895639,1.0060908847701908,0.9973440432508697,0.988747964045119,0.9802987829810008,0.9719927668115366,0.9638263077168412,0.9557959180809648,0.9478982255275648,0.9401299681995678,0.9324879902689476,0.9249692376636343,0.9175707539994065,0.9102896767053865,0.9031232333324762,0.8960687380347285,0.8891235882142872,0.8822852613210853,0.8755513117990408,0.8689193681709858,0.8623871302550304,0.855952366505503,0.8496129114720052,0.8433666633705132,0.8372115817607974,0.8311456853247742,0.825167049740709,0.8192738056484795,0.8134641367013825,0.8077362777002199,0.8020885128056375,0.7965191738249163,0.791026638569622,0.7856093292807188,0.7802657111179361,0.7749942907103491,0.769793614765302,0.764662268732949,0.7595988755238388,0.7546020942770995,0.7496706191769097,0.7448031783150643,0.73999853259755,0.7352554746931614,0.7305728280222806,0.7259494457840431,0.7213842100202008,0.7168760307140771,0.7124238449230887,0.7080266159433843,0.7036833325052232,0.6993930079977783,0.6951546797221211,0.6909674081711954,0.6868302763356534,0.6827423890344736,0.6787028722693361,0.6747108726017781,0.6707655565521947,0.6668661100198001,0.663011737722698,0.6592016626572534,0.6554351255759967,0.6517113844833182,0.648029714148255,0.6443894056336942,0.6407897658413526,0.6372301170719206,0.6337097965997808,0.630228156261744,0.6267845620592658,0.6233783937736295,0.6200090445936067,0.6166759207551261,0.6133784411924997,0.6101160372007778,0.6068881521088191,0.6036942409626835,0.6005337702189671,0.597406217447718,0.5943110710445862,0.5912478299518736,0.5882160033881639,0.5852151105862291,0.5822446805389144,0.5793042517527239,0.5763933720088316,0.5735115981312628,0.5706584957619923,0.5678336391427219,0.5650366109031059,0.5622670018552041,0.5595244107939502,0.5568084443034288,0.5541187165687679,0.5514548491934557,0.5488164710219005,0.5462032179670597,0.54361473284297,0.5410506652020137,0.5385106711767716,0.5359944133263062,0.5335015604867352,0.5310317876259548,0.5285847757023784,0.5261602115275631,0.5237577876325988,0.5213772021381405,0.5190181586279689,0.5166803660259665,0.514363538476405,0.5120673952274369,0.5097916605176939,0.5075360634658959,0.5053003379633771,0.5030842225694397,0.5008874604094485,0.4987097990755845,0.4965509905301746,0.49441079101152235,0.492288960942162,0.4901852648394649,0.4880994712285287,0.48603135255727964,0.48398068511372516,0.4819472489452903,0.47993082778018115,0.477931208950712,0.4759481833185418,0.47398154520176417,0.47203109230379686,0.47009662564401994,0.468177949490112,0.466274871292037,0.46438720161763386,0.4625147540897644,0.46065734532497543,0.45881479487363297,0.456986925161487,0.4551735614326275,0.45337453169379355,0.451589666659996,0.44981879970142247,0.4480617667915832,0.4463184064566703,0.444588559726092,0.44287207008415486,0.44116878342285926,0.4394785479957805,0.4378012143730062,0.43613663539710096,0.43448466614007236,0.43284516386131017,0.43121798796647604,0.4296029999673145,0.4280000634423654,0.42640904399855173,0.4248298092336214,0.42326222869942,0.42170617386597375,0.4201615180863619,0.41862813656235814,0.4171059063108218,0.41559470613081884,0.4140944165714558,0.41260491990040765,0.41112610007312195,0.4096578427026833,0.4082000350303211,0.40675256589654474,0.40531532571289025,0.4038882064342647,0.4024711015318718,0.4010639059667059,0.39966651616360016,0.398278829985815,0.39690074671015424,0.3955321670025963,0.3941729928944269,0.3928231277588634,0.39148247628815647,0.3901509444711602,0.38882843957135754,0.38751487010533114,0.38621014582167,0.3849141776802996,0.38362687783222715,0.3823481595996925,0.3810779374567139,0.37981612701002043,0.37856264498036235,0.3773174091841894,0.37608033851569095,0.3748513529291866,0.373630373421862,0.372417322016841,0.3712121217465854,0.3700146966366171,0.36882497168955397,0.3676428728694522,0.36646832708644933,0.36530126218170056,0.36414160691260167,0.36298929093829296,0.3618442448054371,0.36070639993426556,0.3595756886048875,0.35845204394385505,0.3573353999109801,0.35622569128639614,0.35512285365786134,0.3540268234082953,0.35293753770354785,0.3518549344803908,0.35077895243473156,0.3497095310100418,0.3486466103859971,0.3475901314673228,0.34654003587284327,0.34549626592472715,0.3444587646379282,0.3434274757098145,0.34240234350998444,0.34138331307026326,0.34037033007487905,0.3393633408508123,0.3383622923583165,0.3373671321816058,0.33637780851970656,0.3353942701774699,0.33441646655674095,0.3334443476476818,0.33247786402024615,0.3315169668158012,0.33056160773889454,0.3296117390491634,0.328667313553382,0.3277282845976464,0.3267946060596918,0.3258662323413419,0.3249431183610854,0.3240252195467798,0.3231124918284768,0.32220489163136984,0.32130237586885985,0.320404901935737,0.3195124277014766,0.3186249115036467,0.3177423121414249,0.3168645888692235,0.31599170139041877,0.31512360985118487,0.3142602748344281,0.31340165735382086,0.3125477188479339,0.31169842117446284,0.3108537266045495,0.3100135978171956,0.30917799789376565,0.3083468903125798,0.3075202389435922,0.3066980080431565,0.30588016224887354,0.305066666574522,0.3042574864050696,0.3034525874917637,0.3026519359472988,0.3018554982410615,0.30106324119444966,0.30027513197626476,0.2994911380981775,0.2987112274102631,0.2979353680966068,0.2971635286709776,0.29639567797256916,0.29563178516180605,0.2948718197162152,0.2941157514263608,0.29336355039184153,0.29261518701734873,0.29187063200878505,0.2911298563694425,0.29039283139623795,0.289659528676006,0.2889299200818476,0.2882039777695344,0.28748167417396625,0.28676298200568245,0.2860478742474251,0.2853363241507535,0.28462830523270916,0.2839237912725303,0.2832227563084151,0.2825251746343326,0.2818310207968807,0.2811402695921905,0.28045289606287566,0.2797688754950268,0.2790881834152498,0.2784107955877469,0.2777366880114402,0.27706583691713743,0.27639821876473786,0.2757338102404791,0.27507258825422354,0.27441452993678306,0.273759612637283,0.27310781392056305,0.2724591115646155,0.27181348355805973,0.27117090809765304,0.2705313635858356,0.26989482862831166,0.26926128203166316,0.2686307028009978,0.2680030701376304,0.26737836343679555,0.26675656228539324,0.26613764645976534,0.26552159592350294,0.2649083908252846,0.26429801149674376,0.26369043845036577,0.2630856523774146,0.2624836341458866,0.2618843647984938,0.26128782555067365,0.26069399778862645,0.2601028630673793,0.25951440310887647,0.25892859980009536,0.2583454351911883,0.2577648914936491,0.2571869510785042,0.2566115964745286,0.25603881036648507,0.2554685755933874,0.25490087514678617,0.25433569216907814,0.25377300995183766,0.25321281193416956,0.25265508170108536,0.2520998029818993,0.25154695964864626,0.25099653571452046,0.2504485153323346,0.24990288279299844,0.24935962252401853,0.2488187190880162,0.24828015718126567,0.24774392163225065,0.2472099974002395,0.24667836957387942,0.2461490233698081,0.24562194413128322,0.24509711732683012,0.2445745285489061,0.24405416351258216,0.24353600805424133,0.24302004813029363,0.24250626981590756,0.24199465930375713,0.24148520290278497,0.24097788703698142,0.2404726982441784,0.2399696231748585,0.23946864859097938,0.23896976136481252,0.2384729484777964,0.2379781970194044,0.23748549418602624,0.23699482727986357,0.2365061837078391,0.23601955098051944,0.23553491671105087,0.23505226861410836,0.2345715945048575,0.23409288229792927,0.23361612000640683,0.2331412957408255,0.23266839770818407,0.23219741421096854,0.23172833364618775,0.23126114450442045,0.23079583536887416,0.2303323949144549,0.22987081190684863,0.22941107520161352,0.2289531737432826,0.22849709656447842,0.22804283278503662,0.22759037161114098,0.227139702334469,0.22669081433134636,0.22624369706191266,0.22579834006929642,0.2253547329787997,0.2249128654970929,0.224472727411418,0.22403430858880244,0.22359759897528098,0.22316258859512747,0.2227292675500951,0.22229762601866576,0.22186765425530794,0.22143934258974338,0.22101268142622196,0.2205876612428053,0.22016427259065818,0.2197425060933486,0.21932235244615536,0.218903802415384,0.2184868468376903,0.21807147661941154,0.2176576827359054,0.21724545623089664,0.21683478821583035,0.2164256698692338,0.21601809243608427,0.21561204722718472,0.21520752561854636,0.214804519050778,0.21440301902848247,0.2140030171196595,0.21360450495511563,0.2132074742278804,0.21281191669262933,0.2124178241651128,0.21202518852159205,0.21163400169828048,0.21124425569079214,0.21085594255359535,0.21046905439947308,0.21008358339898867,0.20969952177995788,0.20931686182692652,0.20893559588065377,0.20855571633760098,0.20817721564942662,0.20780008632248587,0.20742432091733642,0.20704991204824913,0.20667685238272426,0.20630513464101255,0.20593475159564215,0.2055656960709496,0.20519796094261705,0.20483153913721333,0.20446642363174092,0.20410260745318662,0.20374008367807833,0.20337884543204537,0.20301888588938424,0.2026601982726286,0.2023027758521239,0.20194661194560654,0.2015916999177875,0.2012380331799401,0.2008856051894926,0.20053440944962445,0.20018443950886716,0.1998356889607094,0.19948815144320595,0.19914182063859076,0.1987966902728944,0.19845275411556493,0.19811000597909317,0.19776843971864141,0.19742804923167662,0.19708882845760642,0.19675077137742006,0.19641387201333174,0.19607812442842887,0.19574352272632298,0.1954100610508046,0.19507773358550165,0.19474653455354138,0.1944164582172154,0.19408749887764845,0.19375965087447067,0.19343290858549242,0.1931072664263834,0.19278271885035425,0.19245926034784172,0.19213688544619675,0.19181558870937618,0.19149536473763665,0.19117620816723266,0.19085811367011674,0.19054107595364317,0.19022508976027416,0.18991014986728963,0.18959625108649908,0.18928338826395702,0.18897155627968054,0.18866075004737046,0.18835096451413427,0.18804219466021288,0.1877344354987089,0.1874276820753187,0.18712192946806616,0.1868171727870397,0.18651340717413134,0.1862106278027788,0.18590882987770976,0.1856080086346887,0.18530815934026618,0.18500927729153072,0.18471135781586268,0.184414396270691,0.1841183880432519,0.18382332855035016,0.18352921323812235,0.1832360375818029,0.18294379708549174,0.1826524872819247,0.18236210373224576,0.18207264202578166,0.1817840977798185,0.18149646663938074,0.1812097442770118,0.18092392639255742,0.18063900871295024,0.18035498699199728,0.18007185701016876,0.17978961457438913,0.17950825551783023,0.17922777569970613,0.1789481710050699,0.17866943734461277,0.17839157065446415,0.17811456689599472,0.1778384220556204,0.17756313214460873,0.17728869319888654,0.17701510127885006,0.17674235246917613,0.17647044287863542,0.1761993686399075,0.1759291259093976,0.17565971086705465,0.1753911197161914,0.1751233486833063,0.1748563940179065,0.1745902519923328,0.17432491890158625,0.17406039106315613,0.1737966648168497,0.17353373652462317,0.17327160257041468,0.17301025935997838,0.17274970332072007,0.1724899309015347,0.17223093857264463,0.17197272282544016,0.17171528017232082,0.1714586071465385,0.17120270030204177,0.17094755621332167,0.17069317147525878,0.17043954270297207,0.17018666653166828,0.16993453961649355,0.16968315863238553,0.1694325202739278,0.16918262125520428,0.16893345830965625,0.16868502818993963,0.16843732766778408,0.16819035353385312,0.1679441025976055,0.16769857168715793,0.16745375764914872,0.1672096573486028,0.16696626766879819,0.1667235855111329,0.1664816077949938,0.16624033145762607,0.16599975345400408,0.1657598707567033,0.16552068035577322,0.1652821792586114,0.16504436448983906,0.1648072330911767,0.16457078212132212,0.16433500865582823,0.16409990978698302,0.16386548262368944,0.16363172429134745,0.1633986319317361,0.1631662027028974,0.16293443377902042,0.16270332235032717,0.16247286562295873,0.1622430608188629,0.16201390517568245,0.1617853959466444,0.16155753040045046,0.161330305821168,0.16110371950812233,0.1608777687757895,0.1606524509536904,0.16042776338628537,0.1602037034328701,0.15998026846747193,0.1597574558787475,0.15953526306988083,0.15931368745848254,0.15909272647648967,0.15887237757006678,0.15865263819950715,0.1584335058391355,0.15821497797721115,0.157997052115832,0.1577797257708394,0.15756299647172378,0.15734686176153093,0.15713131919676934,0.15691636634731787,0.15670200079633473,0.15648822014016664,0.15627502198825907,0.15606240396306717,0.15585036369996744,0.15563889884716986,0.1554280070656312,0.1552176860289686,0.15500793342337413,0.15479874694752982,0.15459012431252372,0.15438206324176615,0.15417456147090702,0.1539676167477537,0.15376122683218957,0.15355538949609301,0.15335010252325748,0.15314536370931175,0.1529411708616412,0.15273752179930924,0.15253441435298018,0.15233184636484154,0.15212981568852832,0.15192832018904665,0.15172735774269877,0.15152692623700856,0.1513270235706474,0.15112764765336062,0.15092879640589493,0.15073046775992574,0.15053265965798593,0.15033537005339426,0.15013859691018513,0.14994233820303826,0.14974659191720938,0.14955135604846131,0.14935662860299542,0.14916240759738378,0.14896869105850194,0.14877547702346205,0.1485827635395465,0.14839054866414222,0.1481988304646753,0.1480076070185464,0.1478168764130663,0.14762663674539223,0.14743688612246456,0.14724762266094402,0.14705884448714932,0.14687054973699562,0.14668273655593256,0.14649540309888406,0.14630854753018746,0.14612216802353375,0.14593626276190788,0.14575082993753008,0.14556586775179678,0.1453813744152229,0.14519734814738378,0.14501378717685828,0.14483068974117153,0.14464805408673886,0.1444658784688096,0.14428416115141174,0.14410290040729645,0.14392209451788376,0.14374174177320795,0.1435618404718637,0.14338238892095276,0.14320338543603062,0.14302482834105382,0.1428467159683279,0.14266904665845526,0.14249181876028352,0.1423150306308547,0.1421386806353542,0.14196276714706044,0.14178728854729497,0.14161224322537264,0.14143762957855247,0.14126344601198862,0.141089690938682,0.14091636277943187,0.14074345996278806,0.1405709809250036,0.1403989241099875,0.14022728796925776,0.14005607096189535,0.13988527155449765,0.13971488822113295,0.13954491944329495,0.13937536370985756,0.13920621951703022,0.13903748536831334,0.13886915977445435,0.1387012412534037,0.13853372833027136,0.13836661953728382,0.1381999134137411,0.13803360850597407,0.1378677033673025,0.13770219655799285,0.1375370866452167,0.13737237220300938,0.13720805181222914,0.1370441240605159,0.13688058754225135,0.13671744085851842,0.13655468261706147,0.13639231143224673,0.13623032592502293,0.1360687247228823,0.13590750645982183,0.1357466697763046,0.13558621331922183,0.1354261357418547,0.13526643570383695,0.13510711187111704,0.13494816291592154,0.1347895875167177,0.1346313843581774,0.1344735521311401,0.1343160895325774,0.13415899526555677,0.1340022680392061,0.13384590656867817,0.13368990957511584,0.13353427578561694,0.13337900393319974,0.13322409275676847,0.13306954100107934,0.13291534741670655,0.13276151076000867,0.132608029793095,0.1324549032837927,0.13230213000561358,0.1321497087377214,0.1319976382648994,0.13184591737751794,0.13169454487150248,0.1315435195483018,0.13139284021485606,0.13124250568356582,0.13109251477226047,0.1309428663041675,0.13079355910788154,0.13064459201733386,0.13049596387176213,0.13034767351568008,0.13019971979884762,0.13005210157624125,0.12990481770802426,0.12975786705951758,0.12961124850117062,0.1294649609085322,0.12931900316222206,0.12917337414790203,0.1290280727562478,0.1288830978829208,0.12873844842854007,0.1285941232986547,0.12845012140371603,0.12830644165905025,0.12816308298483128,0.12802004430605368,0.1278773245525056,0.12773492265874245,0.12759283756406,0.12745106821246832,0.12730961355266548,0.12716847253801164,0.12702764412650316,0.12688712728074703,0.12674692096793536,0.12660702415982003,0.12646743583268766,0.12632815496733463,0.12618918054904207,0.1260505115675516,0.1259121470170404,0.12577408589609723,0.12563632720769818,0.1254988699591826,0.12536171316222935,0.125224855832833,0.12508829699128046,0.12495203566212737,0.12481607087417519,0.12468040166044782,0.12454502705816883,0.1244099461087387,0.12427515785771212,0.12414066135477553,0.1240064556537249,0.1238725398124433,0.1237389128928791,0.1236055739610239,0.1234725220868909,0.12333975634449318,0.12320727581182225,0.12307507957082668,0.12294316670739097,0.1228115363113144,0.12268018747629013,0.12254911929988443,0.12241833088351593,0.12228782133243518,0.12215758975570414,0.12202763526617603,0.1218979569804751,0.12176855401897661,0.12163942550578699,0.12151057056872412,0.12138198833929748,0.12125367795268892,0.12112563854773306,0.1209978692668982,0.12087036925626692,0.12074313766551734,0.12061617364790406,0.12048947636023939,0.12036304496287475,0.120236878619682,0.12011097649803515,0.11998533776879196,0.11985996160627567,0.11973484718825708,0.11960999369593657,0.11948540031392597,0.11936106623023111,0.11923699063623416,0.11911317272667576,0.11898961169963812,0.11886630675652725,0.11874325710205605,0.11862046194422705,0.11849792049431553,0.11837563196685248,0.11825359557960802,0.11813181055357454,0.11801027611295027,0.11788899148512264,0.11776795590065206,0.11764716859325565,0.11752662879979092,0.11740633576023982,0.11728628871769273,0.1171664869183326,0.11704692961141921,0.11692761604927333,0.11680854548726137,0.11668971718377966,0.11657113040023921,0.11645278440105039,0.1163346784536076,0.11621681182827429,0.11609918379836785,0.11598179364014481,0.11586464063278577,0.11574772405838084,0.11563104320191488,0.11551459735125298,0.11539838579712597,0.11528240783311589,0.11516666275564186,0.11505114986394578,0.11493586846007817,0.11482081784888408,0.11470599733798924,0.11459140623778596,0.11447704386141964,0.11436290952477475,0.11424900254646125,0.11413532224780121,0.11402186795281515,0.11390863898820865,0.11379563468335911,0.1136828543703025,0.11357029738372017,0.11345796306092575,0.11334585074185215,0.11323395976903865,0.11312228948761811,0.11301083924530408,0.11289960839237814,0.11278859628167731,0.11267780226858147,0.11256722571100088,0.1124568659693638,0.11234672240660408,0.11223679438814906,0.11212708128190722,0.11201758245825616,0.11190829729003052,0.11179922515250994,0.11169036542340738,0.11158171748285704,0.11147328071340268,0.11136505449998599,0.11125703822993482,0.11114923129295184,0.11104163308110274,0.11093424298880511,0.11082706041281686,0.11072008475222504,0.11061331540843457,0.11050675178515708,0.1104003932883998,0.11029423932645457,0.11018828930988676,0.11008254265152448,0.10997699876644772,0.10987165707197745,0.109766516987665,0.10966157793528142,0.10955683933880678,0.10945230062441975,0.10934796122048696,0.10924382055755277,0.10913987806832874,0.10903613318768353,0.10893258535263237,0.10882923400232715,0.10872607857804617,0.1086231185231841,0.10852035328324187,0.10841778230581693,0.10831540504059313,0.108213220939331,0.10811122945585797,0.10800943004605852,0.10790782216786468,0.10780640528124628,0.10770517884820142,0.10760414233274694,0.10750329520090901,0.10740263692071367,0.10730216696217751,0.10720188479729832,0.10710178990004592,0.1070018817463529,0.1069021598141055,0.10680262358313448,0.10670327253520612,0.10660410615401322,0.10650512392516616,0.1064063253361839,0.1063077098764853,0.10620927703738027,0.106111026312061,0.10601295719559316,0.10591506918490746,0.10581736177879096,0.10571983447787844,0.10562248678464395,0.10552531820339238,0.105428328240251,0.10533151640316114,0.10523488220186981,0.10513842514792147,0.10504214475464979,0.10494604053716942,0.10485011201236794,0.10475435869889768,0.10465878011716773,0.1045633757893359,0.10446814523930072,0.10437308799269364,0.10427820357687101,0.10418349152090638,0.10408895135558255,0.10399458261338398,0.10390038482848905,0.10380635753676229,0.10371250027574684,0.10361881258465688,0.10352529400437008,0.1034319440774201,0.10333876234798903,0.10324574836190016,0.10315290166661042,0.10306022181120324,0.10296770834638098,0.1028753608244579,0.1027831787993529,0.10269116182658224,0.10259930946325241,0.10250762126805317,0.10241609680125031,0.10232473562467874,0.10223353730173543,0.10214250139737241,0.10205162747809,0.1019609151119298,0.10187036386846793,0.1017799733188081,0.101689743035575,0.10159967259290748,0.10150976156645183,0.10142000953335512,0.10133041607225861,0.10124098076329119,0.10115170318806271,0.10106258292965752,0.10097361957262797,0.10088481270298799,0.10079616190820666,0.1007076667772017,0.10061932690033332,0.10053114186939774,0.10044311127762098,0.10035523471965258,0.10026751179155938,0.1001799420908193,0.10009252521631531,0.1000052607683291,0.09991814834853517,0.09983118755999466,0.09974437800714943,0.09965771929581588,0.0995712110331792,0.09948485282778724,0.09939864428954483,0.09931258502970759,0.09922667466087642,0.09914091279699146,0.09905529905332644,0.0989698330464828,0.09888451439438406,0.09879934271627015,0.09871431763269167,0.09862943876550427,0.09854470573786304,0.09846011817421703,0.09837567570030357,0.09829137794314276,0.09820722453103212,0.09812321509354094,0.09803934926150498,0.09795562666702105,0.09787204694344151,0.09778860972536906,0.09770531464865137,0.0976221613503757,0.09753914946886379,0.09745627864366646,0.09737354851555852,0.0972909587265335,0.09720850891979843,0.09712619873976885,0.09704402783206367,0.09696199584349997,0.096880102422088,0.09679834721702617,0.09671672987869609,0.09663525005865743,0.0965539074096431,0.09647270158555428,0.09639163224145546,0.09631069903356965,0.0962299016192734,0.09614923965709214,0.09606871280669514,0.09598832072889096,0.0959080630856225,0.09582793953996234,0.09574794975610806,0.09566809339937749,0.09558837013620403,0.0955087796341321,0.0954293215618124,0.09534999558899743,0.09527080138653678,0.0951917386263727,0.09511280698153549,0.09503400612613906,0.09495533573537637,0.09487679548551503,0.09479838505389283,0.09472010411891335,0.09464195236004144,0.09456392945779908,0.09448603509376081,0.09440826895054953,0.09433063071183205,0.09425312006231497,0.0941757366877403,0.09409848027488131,0.09402135051153812,0.09394434708653371,0.09386746968970958,0.09379071801192168,0.0937140917450362,0.09363759058192551,0.093561214216464,0.09348496234352409,0.09340883465897191,0.09333283085966368,0.09325695064344128,0.09318119370912849,0.09310555975652691,0.09303004848641201,0.0929546596005292,0.09287939280158992,0.09280424779326765,0.09272922428019408,0.09265432196795528,0.09257954056308779,0.0925048797730748,0.09243033930634229,0.09235591887225536,0.09228161818111434,0.09220743694415107,0.09213337487352512,0.09205943168232014,0.09198560708454015,0.09191190079510575,0.09183831252985054,0.09176484200551749,0.09169148893975523,0.09161825305111446,0.09154513405904437,0.09147213168388903,0.09139924564688387,0.0913264756701521,0.09125382147670114,0.09118128279041918,0.09110885933607162,0.09103655083929768,0.0909643570266068,0.09089227762537527,0.09082031236384287,0.0907484609711093,0.09067672317713087,0.0906050987127171,0.09053358730952739,0.09046218870006766,0.09039090261768688,0.090319728796574,0.09024866697175438,0.09017771687908677,0.09010687825525975,0.09003615083778871,0.0899655343650125,0.08989502857609023,0.08982463321099803,0.08975434801052586,0.08968417271627438,0.08961410707065175,0.0895441508168704,0.08947430369894405,0.08940456546168445,0.08933493585069838,0.08926541461238441,0.08919600149393,0.08912669624330834,0.08905749860927527,0.08898840834136629,0.08891942518989353,0.0888505489059428,0.08878177924137047,0.08871311594880059,0.08864455878162185,0.08857610749398477,0.08850776184079855,0.08843952157772833,0.08837138646119218,0.08830335624835821,0.08823543069714175,0.08816760956620238,0.08809989261494111,0.08803227960349765,0.08796477029274734,0.08789736444429859,0.08783006182048986,0.08776286218438696,0.08769576529978035,0.0876287709311822,0.08756187884382374,0.08749508880365256,0.08742840057732976,0.08736181393222732,0.08729532863642535,0.08722894445870943,0.08716266116856795,0.08709647853618936,0.08703039633245957,0.08696441432895928,0.08689853229796148,0.08683275001242854,0.08676706724600992,0.08670148377303939,0.08663599936853245,0.08657061380818384,0.08650532686836494,0.08644013832612119,0.08637504795916955,0.08631005554589612,0.08624516086535332,0.08618036369725775,0.0861156638219874,0.08605106102057937,0.08598655507472724,0.08592214576677876,0.08585783287973327,0.0857936161972394,0.08572949550359246,0.08566547058373225,0.08560154122324044,0.08553770720833836,0.08547396832588447,0.08541032436337205,0.0853467751089269,0.08528332035130486,0.08521995987988956,0.08515669348469006,0.08509352095633856,0.08503044208608806,0.08496745666581003,0.0849045644879922,0.08484176534573622,0.08477905903275544,0.08471644534337257,0.0846539240725175,0.0845914950157251,0.08452915796913285,0.08446691272947877,0.08440475909409911,0.08434269686092623,0.0842807258284863,0.08421884579589727,0.08415705656286653,0.0840953579296889,0.08403374969724439,0.08397223166699613,0.0839108036409881,0.08384946542184316,0.08378821681276084,0.08372705761751532,0.0836659876404532,0.0836050066864916,0.08354411456111588,0.08348331107037772,0.08342259602089301,0.0833619692198398,0.08330143047495624,0.08324097959453859,0.08318061638743916,0.08312034066306433,0.08306015223137247,0.08300005090287209,0.08294003648861968,0.0828801088002178,0.08282026764981319,0.08276051285009468,0.08270084421429126,0.08264126155617024,0.0825817646900352,0.08252235343072409,0.08246302759360728,0.08240378699458575,0.0823446314500891,0.08228556077707368,0.08222657479302062,0.08216767331593411,0.08210885616433942,0.08205012315728108,0.08199147411432092,0.0819329088555364,0.08187442720151863,0.08181602897337062,0.08175771399270533,0.08169948208164407,0.08164133306281446,0.0815832667593488,0.08152528299488217,0.0814673815935507,0.0814095623799898,0.0813518251793323,0.08129416981720684,0.08123659611973597,0.08117910391353447,0.08112169302570761,0.0810643632838494,0.08100711451604088,0.08094994655084838,0.08089285921732184,0.08083585234499306,0.08077892576387405,0.08072207930445531,0.08066531279770416,0.08060862607506311,0.08055201896844805,0.08049549131024673,0.08043904293331712,0.0803826736709856,0.0803263833570455,0.08027017182575531,0.08021403891183722,0.08015798445047535,0.0801020082773142,0.08004611022845708,0.07999029014046442,0.07993454785035231,0.07987888319559072,0.07982329601410214,0.07976778614425983,0.07971235342488636,0.07965699769525197,0.07960171879507313,0.07954651656451085,0.07949139084416931,0.0794363414750941,0.07938136829877089,0.07932647115712388,0.07927164989251419,0.07921690434773837,0.079162234366027,0.07910763979104313,0.07905312046688073,0.0789986762380633,0.07894430694954233,0.07889001244669587,0.07883579257532708,0.07878164718166267,0.07872757611235152,0.07867357921446327,0.07861965633548684,0.07856580732332889,0.07851203202631261,0.07845833029317609,0.07840470197307105,0.07835114691556126,0.07829766497062136,0.07824425598863524,0.07819091982039482,0.0781376563170985,0.07808446533034989,0.07803134671215642,0.07797830031492792,0.0779253259914753,0.07787242359500914,0.07781959297913836,0.07776683399786892,0.07771414650560239,0.07766153035713463,0.07760898540765451,0.07755651151274254,0.07750410852836953,0.0774517763108953,0.07739951471706735,0.07734732360401962,0.07729520282927109,0.07724315225072452,0.07719117172666516,0.07713926111575951,0.07708742027705397,0.07703564906997357,0.07698394735432075,0.07693231499027407,0.07688075183838695,0.07682925775958639,0.07677783261517174,0.07672647626681342,0.07667518857655183,0.07662396940679585,0.07657281862032189,0.07652173608027243,0.07647072165015496,0.0764197751938407,0.07636889657556337,0.07631808565991804,0.07626734231185991,0.07621666639670305,0.07616605778011926,0.07611551632813696,0.07606504190713986,0.07601463438386588,0.07596429362540597,0.07591401949920286,0.07586381187305002,0.07581367061509044,0.07576359559381543,0.07571358667806356,0.07566364373701945,0.07561376664021266,0.07556395525751651,0.07551420945914707,0.07546452911566187,0.07541491409795884,0.07536536427727526,0.07531587952518658,0.0752664597136053,0.0752171047147799,0.0751678144012937,0.07511858864606383,0.0750694273223401,0.07502033030370384,0.07497129746406694,0.07492232867767074,0.07487342381908486,0.07482458276320626,0.07477580538525808,0.07472709156078865,0.07467844116567031,0.07462985407609854,0.07458133016859074,0.07453286931998525,0.07448447140744036,0.0744361363084332,0.07438786390075867,0.07433965406252854,0.07429150667217037,0.07424342160842637,0.07419539875035257,0.07414743797731765,0.0740995391690021,0.07405170220539699,0.07400392696680318,0.07395621333383018,0.07390856118739524,0.07386097040872229,0.07381344087934102,0.07376597248108588,0.07371856509609502,0.07367121860680946,0.07362393289597195,0.0735767078466262,0.07352954334211573,0.07348243926608303,0.0734353955024685,0.07338841193550959,0.07334148844973985,0.07329462492998794,0.07324782126137666,0.07320107732932205,0.0731543930195325,0.07310776821800774,0.07306120281103799,0.07301469668520291,0.07296824972737083,0.07292186182469777,0.07287553286462646,0.0728292627348855,0.07278305132348849,0.07273689851873305,0.07269080420919996,0.0726447682837522,0.07259879063153417,0.07255287114197076,0.07250700970476633,0.07246120620990404,0.07241546054764485,0.07236977260852666,0.07232414228336341,0.07227856946324425,0.0722330540395327,0.07218759590386577,0.07214219494815295,0.07209685106457564,0.07205156414558604,0.07200633408390644,0.07196116077252836,0.07191604410471159,0.07187098397398352,0.0718259802741382,0.07178103289923551,0.07173614174360035,0.07169130670182185,0.07164652766875243,0.07160180453950711,0.07155713720946258,0.07151252557425647,0.0714679695297865,0.07142346897220968,0.07137902379794146,0.07133463390365499,0.07129029918628031,0.07124601954300348,0.0712017948712659,0.0711576250687634,0.07111351003344554,0.07106944966351482,0.07102544385742578,0.0709814925138844,0.07093759553184721,0.07089375281052053,0.07084996424935966,0.07080622974806823,0.07076254920659734,0.07071892252514482,0.07067534960415442,0.07063183034431518,0.07058836464656056,0.0705449524120677,0.07050159354225673,0.07045828793878998,0.07041503550357127,0.07037183613874513,0.07032868974669604,0.07028559623004779,0.07024255549166265,0.07019956743464074,0.07015663196231915,0.0701137489782714,0.07007091838630652,0.07002814009046862,0.0699854139950358,0.0699427400045197,0.06990011802366472,0.06985754795744736,0.06981502971107535,0.06977256318998716,0.0697301482998511,0.06968778494656483,0.06964547303625443,0.06960321247527393,0.06956100317020449,0.06951884502785367,0.06947673795525496,0.06943468185966677,0.06939267664857207,0.06935072222967752,0.06930881851091282,0.0692669654004301,0.06922516280660322,0.06918341063802706,0.06914170880351689,0.0691000572121077,0.06905845577305356,0.0690169043958269,0.06897540299011798,0.06893395146583403,0.06889254973309883,0.06885119770225186,0.06880989528384783,0.06876864238865585,0.06872743892765898,0.0686862848120534,0.06864517995324795,0.06860412426286336,0.06856311765273167,0.06852216003489563,0.06848125132160798,0.06844039142533093,0.06839958025873548,0.06835881773470077,0.06831810376631352,0.0682774382668674,0.06823682114986236,0.06819625232900407,0.06815573171820334,0.0681152592315754,0.0680748347834394,0.06803445828831775,0.06799412966093557,0.06795384881621998,0.06791361566929967,0.06787343013550409,0.0678332921303631,0.06779320156960617,0.06775315836916188,0.06771316244515736,0.06767321371391767,0.06763331209196516,0.067593457496019,0.06755364984299451,0.06751388905000269,0.06747417503434944,0.06743450771353526,0.06739488700525444,0.06735531282739464,0.06731578509803625,0.06727630373545185,0.06723686865810563,0.06719747978465289,0.06715813703393939,0.06711884032500083,0.06707958957706231,0.0670403847095378,0.06700122564202951,0.06696211229432739,0.06692304458640858,0.06688402243843689,0.06684504577076222,0.06680611450391997,0.06676722855863063,0.06672838785579914,0.06668959231651438,0.06665084186204862,0.06661213641385702,0.0665734758935771,0.06653486022302817,0.06649628932421084,0.06645776311930647,0.0664192815306767,0.06638084448086284,0.06634245189258542,0.06630410368874362,0.06626579979241487,0.06622754012685414,0.06618932461549361,0.06615115318194208,0.06611302574998443,0.06607494224358118,0.06603690258686795,0.06599890670415497,0.06596095451992653,0.0659230459588406,0.06588518094572815,0.06584735940559283,0.06580958126361036,0.0657718464451281,0.06573415487566447,0.06569650648090863,0.0656589011867198,0.06562133891912689,0.06558381960432799,0.06554634316868983,0.06550890953874741,0.06547151864120344,0.06543417040292789,0.06539686475095742,0.06535960161249511,0.0653223809149098,0.06528520258573568,0.06524806655267183,0.06521097274358176,0.06517392108649289,0.06513691150959618,0.06509994394124552,0.06506301830995742,0.0650261345444105,0.06498929257344495,0.06495249232606216,0.0649157337314243,0.06487901671885371,0.06484234121783258,0.06480570715800252,0.06476911446916396,0.06473256308127588,0.0646960529244552,0.06465958392897646,0.06462315602527129,0.06458676914392805,0.06455042321569134,0.06451411817146151,0.06447785394229433,0.06444163045940048,0.06440544765414515,0.06436930545804757,0.06433320380278063,0.06429714262017039,0.06426112184219568,0.06422514140098771,0.06418920122882957,0.06415330125815585,0.06411744142155222,0.06408162165175499,0.06404584188165068,0.06401010204427561,0.06397440207281557,0.06393874190060522,0.06390312146112781,0.06386754068801477,0.06383199951504522,0.06379649787614561,0.06376103570538931,0.0637256129369962,0.06369022950533225,0.06365488534490908,0.06361958039038368,0.06358431457655783,0.06354908783837791,0.06351390011093426,0.06347875132946097,0.06344364142933544,0.06340857034607789,0.06337353801535109,0.0633385443729599,0.06330358935485088,0.06326867289711192,0.06323379493597184,0.06319895540780002,0.06316415424910594,0.06312939139653893,0.06309466678688763,0.06305998035707971,0.06302533204418151,0.0629907217853975,0.06295614951807012,0.0629216151796792,0.06288711870784178,0.06285266004031152,0.06281823911497852,0.06278385586986882,0.06274951024314404,0.06271520217310114,0.06268093159817185,0.06264669845692246,0.06261250268805334,0.06257834423039868,0.06254422302292609,0.06251013900473612,0.062476092115062117,0.06244208229326967,0.06240810947885636,0.062374173611451346,0.062340274630815026,0.062306412476838706,0.062272587089544224,0.062238798409083536,0.06220504637573848,0.06217133092992034,0.06213765201216954,0.062104009563155246,0.06207040352367503,0.06203683383465461,0.06200330043714735,0.06196980327233406,0.06193634228152255,0.061902917406147326,0.06186952858776929,0.0618361757680753,0.06180285888887795,0.0617695778921151,0.06173633271984971,0.06170312331426926,0.061669949617685696,0.06163681157253489,0.06160370912137636,0.061570642206892984,0.061537610771890634,0.06150461475929785,0.06147165411216553,0.061438728773666504,0.061405838687095406,0.061372983795868134,0.061340164043521675,0.06130737937371368,0.06127462973022225,0.061241915056945484,0.06120923529790132,0.06117659039722703,0.06114398029917904,0.061111404948132594,0.06107886428858136,0.06104635826513718,0.06101388682252978,0.06098144990560636,0.06094904745933144,0.06091667942878631,0.06088434575916898,0.06085204639579368,0.06081978128409067,0.06078755036960586,0.06075535359800052,0.060723190915051004,0.06069106226664841,0.0606589675987983,0.06062690685762037,0.06059487998934822,0.06056288694032893,0.060530927657022886,0.060499002086003395,0.060467110173956416,0.06043525186768031,0.06040342711408546,0.06037163586019402,0.060339878053139624,0.0603081536401671,0.06027646256863213,0.06024480478600103,0.06021318023985041,0.06018158887786686,0.06015003064784678,0.060118505497695936,0.06008701337542928,0.060055554229170645,0.06002412800715243,0.05999273465771531,0.05996137412930803,0.05993004637048703,0.05989875132991623,0.059867488956366725,0.05983625919871647,0.05980506200595005,0.05977389732715842,0.05974276511153854,0.05971166530839318,0.05968059786713065,0.05964956273726446,0.05961855986841308,0.05958758921029964,0.059556650712751784,0.05952574432570122,0.059494869999183554,0.05946402768333797,0.059433217328407055,0.05940243888473642,0.059371692302774476,0.0593409775330722,0.059310294526282815,0.05927964323316159,0.05924902360456548,0.05921843559145298,0.05918787914488377,0.059157354216018525,0.05912686075611856,0.059096398716545685,0.059065968048761894,0.05903556870432907,0.05900520063490876,0.05897486379226195,0.05894455812824876,0.05891428359482823,0.05888404014405806,0.05885382772809429,0.05882364629919113,0.05879349580970068,0.05876337621207272,0.058733287458854325,0.05870322950268979,0.058673202296320254,0.05864320579258357,0.05861323994441387,0.058583304704841556,0.05855340002699288,0.05852352586408975,0.05849368216944949,0.0584638688964846,0.05843408599870253,0.058404333429705434,0.05837461114318984,0.05834491909294657,0.05831525723286035,0.05828562551690968,0.05825602389916653,0.05822645233379612,0.05819691077505672,0.058167399177299337,0.05813791749496754,0.058108465682597255,0.05807904369481642,0.05804965148634487,0.05802028901199401,0.057990956226666675,0.057961653085356814,0.05793237954314932,0.05790313555521976,0.057873921076834166,0.05784473606334883,0.05781558047021,0.05778645425295376,0.05775735736720574,0.05772828976868086,0.05769925141318317,0.057670242256605594,0.057641262254929736,0.057612311364225614,0.05758338954065146,0.05755449674045351,0.05752563291996572,0.057496798035609684,0.05746799204389426,0.057439214901415445,0.05741046656485612,0.057381746990985846,0.05735305613666067,0.057324393958822814,0.057295760414500616],"x":[0.0,0.4995004995004995,0.999000999000999,1.4985014985014986,1.998001998001998,2.4975024975024973,2.997002997002997,3.4965034965034967,3.996003996003996,4.495504495504496,4.995004995004995,5.4945054945054945,5.994005994005994,6.4935064935064934,6.993006993006993,7.492507492507492,7.992007992007992,8.491508491508492,8.991008991008991,9.49050949050949,9.99000999000999,10.48951048951049,10.989010989010989,11.488511488511488,11.988011988011989,12.487512487512488,12.987012987012987,13.486513486513486,13.986013986013987,14.485514485514486,14.985014985014985,15.484515484515484,15.984015984015985,16.483516483516482,16.983016983016984,17.482517482517483,17.982017982017982,18.48151848151848,18.98101898101898,19.48051948051948,19.98001998001998,20.47952047952048,20.97902097902098,21.47852147852148,21.978021978021978,22.477522477522477,22.977022977022976,23.476523476523475,23.976023976023978,24.475524475524477,24.975024975024976,25.474525474525475,25.974025974025974,26.473526473526473,26.973026973026972,27.47252747252747,27.972027972027973,28.471528471528472,28.97102897102897,29.47052947052947,29.97002997002997,30.46953046953047,30.969030969030968,31.46853146853147,31.96803196803197,32.467532467532465,32.967032967032964,33.46653346653347,33.96603396603397,34.46553446553447,34.96503496503497,35.464535464535466,35.964035964035965,36.463536463536464,36.96303696303696,37.46253746253746,37.96203796203796,38.46153846153846,38.96103896103896,39.46053946053946,39.96003996003996,40.45954045954046,40.95904095904096,41.45854145854146,41.95804195804196,42.45754245754246,42.95704295704296,43.45654345654346,43.956043956043956,44.455544455544455,44.955044955044954,45.45454545454545,45.95404595404595,46.45354645354645,46.95304695304695,47.45254745254745,47.952047952047955,48.451548451548454,48.95104895104895,49.45054945054945,49.95004995004995,50.44955044955045,50.94905094905095,51.44855144855145,51.94805194805195,52.44755244755245,52.947052947052946,53.446553446553445,53.946053946053944,54.44555444555444,54.94505494505494,55.44455544455545,55.94405594405595,56.443556443556446,56.943056943056945,57.442557442557444,57.94205794205794,58.44155844155844,58.94105894105894,59.44055944055944,59.94005994005994,60.43956043956044,60.93906093906094,61.438561438561436,61.938061938061935,62.437562437562434,62.93706293706294,63.43656343656344,63.93606393606394,64.43556443556443,64.93506493506493,65.43456543456543,65.93406593406593,66.43356643356644,66.93306693306694,67.43256743256744,67.93206793206794,68.43156843156844,68.93106893106894,69.43056943056943,69.93006993006993,70.42957042957043,70.92907092907093,71.42857142857143,71.92807192807193,72.42757242757243,72.92707292707293,73.42657342657343,73.92607392607393,74.42557442557442,74.92507492507492,75.42457542457542,75.92407592407592,76.42357642357642,76.92307692307692,77.42257742257742,77.92207792207792,78.42157842157842,78.92107892107892,79.42057942057941,79.92007992007991,80.41958041958041,80.91908091908093,81.41858141858143,81.91808191808192,82.41758241758242,82.91708291708292,83.41658341658342,83.91608391608392,84.41558441558442,84.91508491508492,85.41458541458542,85.91408591408592,86.41358641358642,86.91308691308691,87.41258741258741,87.91208791208791,88.41158841158841,88.91108891108891,89.41058941058941,89.91008991008991,90.40959040959041,90.9090909090909,91.4085914085914,91.9080919080919,92.4075924075924,92.9070929070929,93.4065934065934,93.9060939060939,94.4055944055944,94.9050949050949,95.4045954045954,95.90409590409591,96.40359640359641,96.90309690309691,97.40259740259741,97.9020979020979,98.4015984015984,98.9010989010989,99.4005994005994,99.9000999000999,100.3996003996004,100.8991008991009,101.3986013986014,101.8981018981019,102.3976023976024,102.8971028971029,103.3966033966034,103.8961038961039,104.3956043956044,104.8951048951049,105.39460539460539,105.89410589410589,106.39360639360639,106.89310689310689,107.39260739260739,107.89210789210789,108.39160839160839,108.89110889110889,109.39060939060938,109.89010989010988,110.3896103896104,110.8891108891109,111.3886113886114,111.8881118881119,112.38761238761239,112.88711288711289,113.38661338661339,113.88611388611389,114.38561438561439,114.88511488511489,115.38461538461539,115.88411588411589,116.38361638361638,116.88311688311688,117.38261738261738,117.88211788211788,118.38161838161838,118.88111888111888,119.38061938061938,119.88011988011988,120.37962037962038,120.87912087912088,121.37862137862138,121.87812187812187,122.37762237762237,122.87712287712287,123.37662337662337,123.87612387612387,124.37562437562437,124.87512487512487,125.37462537462538,125.87412587412588,126.37362637362638,126.87312687312688,127.37262737262738,127.87212787212788,128.37162837162836,128.87112887112886,129.37062937062936,129.87012987012986,130.36963036963036,130.86913086913086,131.36863136863136,131.86813186813185,132.36763236763238,132.86713286713288,133.36663336663338,133.86613386613388,134.36563436563438,134.86513486513488,135.36463536463538,135.86413586413587,136.36363636363637,136.86313686313687,137.36263736263737,137.86213786213787,138.36163836163837,138.86113886113887,139.36063936063937,139.86013986013987,140.35964035964037,140.85914085914087,141.35864135864136,141.85814185814186,142.35764235764236,142.85714285714286,143.35664335664336,143.85614385614386,144.35564435564436,144.85514485514486,145.35464535464536,145.85414585414586,146.35364635364635,146.85314685314685,147.35264735264735,147.85214785214785,148.35164835164835,148.85114885114885,149.35064935064935,149.85014985014985,150.34965034965035,150.84915084915085,151.34865134865134,151.84815184815184,152.34765234765234,152.84715284715284,153.34665334665334,153.84615384615384,154.34565434565434,154.84515484515484,155.34465534465534,155.84415584415584,156.34365634365633,156.84315684315683,157.34265734265733,157.84215784215783,158.34165834165833,158.84115884115883,159.34065934065933,159.84015984015983,160.33966033966033,160.83916083916083,161.33866133866132,161.83816183816185,162.33766233766235,162.83716283716285,163.33666333666335,163.83616383616385,164.33566433566435,164.83516483516485,165.33466533466535,165.83416583416584,166.33366633366634,166.83316683316684,167.33266733266734,167.83216783216784,168.33166833166834,168.83116883116884,169.33066933066934,169.83016983016984,170.32967032967034,170.82917082917083,171.32867132867133,171.82817182817183,172.32767232767233,172.82717282717283,173.32667332667333,173.82617382617383,174.32567432567433,174.82517482517483,175.32467532467533,175.82417582417582,176.32367632367632,176.82317682317682,177.32267732267732,177.82217782217782,178.32167832167832,178.82117882117882,179.32067932067932,179.82017982017982,180.31968031968032,180.81918081918081,181.3186813186813,181.8181818181818,182.3176823176823,182.8171828171828,183.3166833166833,183.8161838161838,184.3156843156843,184.8151848151848,185.3146853146853,185.8141858141858,186.3136863136863,186.8131868131868,187.3126873126873,187.8121878121878,188.3116883116883,188.8111888111888,189.3106893106893,189.8101898101898,190.3096903096903,190.8091908091908,191.30869130869132,191.80819180819182,192.30769230769232,192.80719280719282,193.30669330669332,193.80619380619382,194.30569430569432,194.80519480519482,195.30469530469531,195.8041958041958,196.3036963036963,196.8031968031968,197.3026973026973,197.8021978021978,198.3016983016983,198.8011988011988,199.3006993006993,199.8001998001998,200.2997002997003,200.7992007992008,201.2987012987013,201.7982017982018,202.2977022977023,202.7972027972028,203.2967032967033,203.7962037962038,204.2957042957043,204.7952047952048,205.2947052947053,205.7942057942058,206.2937062937063,206.7932067932068,207.2927072927073,207.7922077922078,208.2917082917083,208.7912087912088,209.2907092907093,209.7902097902098,210.28971028971029,210.78921078921078,211.28871128871128,211.78821178821178,212.28771228771228,212.78721278721278,213.28671328671328,213.78621378621378,214.28571428571428,214.78521478521478,215.28471528471528,215.78421578421577,216.28371628371627,216.78321678321677,217.28271728271727,217.78221778221777,218.28171828171827,218.78121878121877,219.28071928071927,219.78021978021977,220.27972027972027,220.7792207792208,221.2787212787213,221.7782217782218,222.2777222777223,222.7772227772228,223.2767232767233,223.7762237762238,224.2757242757243,224.77522477522479,225.27472527472528,225.77422577422578,226.27372627372628,226.77322677322678,227.27272727272728,227.77222777222778,228.27172827172828,228.77122877122878,229.27072927072928,229.77022977022978,230.26973026973027,230.76923076923077,231.26873126873127,231.76823176823177,232.26773226773227,232.76723276723277,233.26673326673327,233.76623376623377,234.26573426573427,234.76523476523477,235.26473526473526,235.76423576423576,236.26373626373626,236.76323676323676,237.26273726273726,237.76223776223776,238.26173826173826,238.76123876123876,239.26073926073926,239.76023976023976,240.25974025974025,240.75924075924075,241.25874125874125,241.75824175824175,242.25774225774225,242.75724275724275,243.25674325674325,243.75624375624375,244.25574425574425,244.75524475524475,245.25474525474525,245.75424575424574,246.25374625374624,246.75324675324674,247.25274725274724,247.75224775224774,248.25174825174824,248.75124875124874,249.25074925074924,249.75024975024974,250.24975024975026,250.74925074925076,251.24875124875126,251.74825174825176,252.24775224775226,252.74725274725276,253.24675324675326,253.74625374625376,254.24575424575426,254.74525474525475,255.24475524475525,255.74425574425575,256.24375624375625,256.7432567432567,257.24275724275725,257.7422577422577,258.24175824175825,258.7412587412587,259.24075924075925,259.7402597402597,260.23976023976024,260.7392607392607,261.23876123876124,261.7382617382617,262.23776223776224,262.7372627372627,263.23676323676324,263.7362637362637,264.23576423576424,264.73526473526476,265.23476523476523,265.73426573426576,266.23376623376623,266.73326673326676,267.23276723276723,267.73226773226776,268.2317682317682,268.73126873126876,269.2307692307692,269.73026973026975,270.2297702297702,270.72927072927075,271.2287712287712,271.72827172827175,272.2277722277722,272.72727272727275,273.2267732267732,273.72627372627375,274.2257742257742,274.72527472527474,275.2247752247752,275.72427572427574,276.2237762237762,276.72327672327674,277.2227772227772,277.72227772227774,278.2217782217782,278.72127872127874,279.2207792207792,279.72027972027973,280.2197802197802,280.71928071928073,281.2187812187812,281.71828171828173,282.2177822177822,282.7172827172827,283.2167832167832,283.7162837162837,284.2157842157842,284.7152847152847,285.2147852147852,285.7142857142857,286.2137862137862,286.7132867132867,287.2127872127872,287.7122877122877,288.2117882117882,288.7112887112887,289.2107892107892,289.7102897102897,290.2097902097902,290.7092907092907,291.2087912087912,291.7082917082917,292.2077922077922,292.7072927072927,293.2067932067932,293.7062937062937,294.20579420579423,294.7052947052947,295.20479520479523,295.7042957042957,296.20379620379623,296.7032967032967,297.2027972027972,297.7022977022977,298.2017982017982,298.7012987012987,299.2007992007992,299.7002997002997,300.1998001998002,300.6993006993007,301.1988011988012,301.6983016983017,302.1978021978022,302.6973026973027,303.1968031968032,303.6963036963037,304.1958041958042,304.6953046953047,305.1948051948052,305.6943056943057,306.1938061938062,306.6933066933067,307.1928071928072,307.6923076923077,308.1918081918082,308.6913086913087,309.1908091908092,309.6903096903097,310.1898101898102,310.6893106893107,311.1888111888112,311.68831168831167,312.1878121878122,312.68731268731267,313.1868131868132,313.68631368631367,314.1858141858142,314.68531468531467,315.1848151848152,315.68431568431566,316.1838161838162,316.68331668331666,317.1828171828172,317.68231768231766,318.1818181818182,318.68131868131866,319.1808191808192,319.68031968031966,320.1798201798202,320.67932067932065,321.1788211788212,321.67832167832165,322.1778221778222,322.67732267732265,323.1768231768232,323.6763236763237,324.1758241758242,324.6753246753247,325.1748251748252,325.6743256743257,326.17382617382617,326.6733266733267,327.17282717282717,327.6723276723277,328.17182817182817,328.6713286713287,329.17082917082917,329.6703296703297,330.16983016983016,330.6693306693307,331.16883116883116,331.6683316683317,332.16783216783216,332.6673326673327,333.16683316683316,333.6663336663337,334.16583416583416,334.6653346653347,335.16483516483515,335.6643356643357,336.16383616383615,336.6633366633367,337.16283716283715,337.6623376623377,338.16183816183815,338.6613386613387,339.16083916083915,339.6603396603397,340.15984015984014,340.65934065934067,341.15884115884114,341.65834165834167,342.15784215784214,342.65734265734267,343.15684315684314,343.65634365634367,344.15584415584414,344.65534465534466,345.15484515484513,345.65434565434566,346.15384615384613,346.65334665334666,347.15284715284713,347.65234765234766,348.1518481518481,348.65134865134866,349.1508491508491,349.65034965034965,350.1498501498501,350.64935064935065,351.1488511488511,351.64835164835165,352.1478521478521,352.64735264735265,353.1468531468532,353.64635364635365,354.1458541458542,354.64535464535464,355.14485514485517,355.64435564435564,356.14385614385617,356.64335664335664,357.14285714285717,357.64235764235764,358.14185814185817,358.64135864135864,359.14085914085916,359.64035964035963,360.13986013986016,360.63936063936063,361.13886113886116,361.63836163836163,362.13786213786216,362.6373626373626,363.13686313686316,363.6363636363636,364.13586413586415,364.6353646353646,365.13486513486515,365.6343656343656,366.13386613386615,366.6333666333666,367.13286713286715,367.6323676323676,368.13186813186815,368.6313686313686,369.13086913086914,369.6303696303696,370.12987012987014,370.6293706293706,371.12887112887114,371.6283716283716,372.12787212787214,372.6273726273726,373.12687312687314,373.6263736263736,374.12587412587413,374.6253746253746,375.12487512487513,375.6243756243756,376.12387612387613,376.6233766233766,377.1228771228771,377.6223776223776,378.1218781218781,378.6213786213786,379.1208791208791,379.6203796203796,380.1198801198801,380.6193806193806,381.1188811188811,381.6183816183816,382.1178821178821,382.61738261738265,383.1168831168831,383.61638361638364,384.1158841158841,384.61538461538464,385.1148851148851,385.61438561438564,386.1138861138861,386.61338661338664,387.1128871128871,387.61238761238764,388.1118881118881,388.61138861138863,389.1108891108891,389.61038961038963,390.1098901098901,390.60939060939063,391.1088911088911,391.6083916083916,392.1078921078921,392.6073926073926,393.1068931068931,393.6063936063936,394.1058941058941,394.6053946053946,395.1048951048951,395.6043956043956,396.1038961038961,396.6033966033966,397.1028971028971,397.6023976023976,398.1018981018981,398.6013986013986,399.1008991008991,399.6003996003996,400.0999000999001,400.5994005994006,401.0989010989011,401.5984015984016,402.0979020979021,402.5974025974026,403.0969030969031,403.5964035964036,404.0959040959041,404.5954045954046,405.0949050949051,405.5944055944056,406.09390609390607,406.5934065934066,407.09290709290707,407.5924075924076,408.09190809190807,408.5914085914086,409.09090909090907,409.5904095904096,410.08991008991006,410.5894105894106,411.08891108891106,411.5884115884116,412.0879120879121,412.5874125874126,413.0869130869131,413.5864135864136,414.0859140859141,414.5854145854146,415.0849150849151,415.5844155844156,416.0839160839161,416.5834165834166,417.0829170829171,417.5824175824176,418.0819180819181,418.5814185814186,419.0809190809191,419.5804195804196,420.0799200799201,420.57942057942057,421.0789210789211,421.57842157842157,422.0779220779221,422.57742257742257,423.0769230769231,423.57642357642357,424.0759240759241,424.57542457542456,425.0749250749251,425.57442557442556,426.0739260739261,426.57342657342656,427.0729270729271,427.57242757242756,428.0719280719281,428.57142857142856,429.0709290709291,429.57042957042955,430.0699300699301,430.56943056943055,431.0689310689311,431.56843156843155,432.0679320679321,432.56743256743255,433.0669330669331,433.56643356643355,434.0659340659341,434.56543456543454,435.06493506493507,435.56443556443554,436.06393606393607,436.56343656343654,437.06293706293707,437.56243756243754,438.06193806193806,438.56143856143854,439.06093906093906,439.56043956043953,440.05994005994006,440.55944055944053,441.05894105894106,441.5584415584416,442.05794205794206,442.5574425574426,443.05694305694306,443.5564435564436,444.05594405594405,444.5554445554446,445.05494505494505,445.5544455544456,446.05394605394605,446.5534465534466,447.05294705294705,447.5524475524476,448.05194805194805,448.5514485514486,449.05094905094904,449.55044955044957,450.04995004995004,450.54945054945057,451.04895104895104,451.54845154845157,452.04795204795204,452.54745254745256,453.04695304695304,453.54645354645356,454.04595404595403,454.54545454545456,455.04495504495503,455.54445554445556,456.04395604395603,456.54345654345656,457.042957042957,457.54245754245756,458.041958041958,458.54145854145855,459.040959040959,459.54045954045955,460.03996003996,460.53946053946055,461.038961038961,461.53846153846155,462.037962037962,462.53746253746255,463.036963036963,463.53646353646354,464.035964035964,464.53546453546454,465.034965034965,465.53446553446554,466.033966033966,466.53346653346654,467.032967032967,467.53246753246754,468.031968031968,468.53146853146853,469.030969030969,469.53046953046953,470.02997002997,470.52947052947053,471.02897102897106,471.5284715284715,472.02797202797206,472.5274725274725,473.02697302697305,473.5264735264735,474.02597402597405,474.5254745254745,475.02497502497505,475.5244755244755,476.02397602397605,476.5234765234765,477.02297702297705,477.5224775224775,478.02197802197804,478.5214785214785,479.02097902097904,479.5204795204795,480.01998001998004,480.5194805194805,481.01898101898104,481.5184815184815,482.01798201798204,482.5174825174825,483.01698301698303,483.5164835164835,484.01598401598403,484.5154845154845,485.01498501498503,485.5144855144855,486.013986013986,486.5134865134865,487.012987012987,487.5124875124875,488.011988011988,488.5114885114885,489.010989010989,489.5104895104895,490.00999000999,490.5094905094905,491.008991008991,491.5084915084915,492.007992007992,492.5074925074925,493.006993006993,493.5064935064935,494.005994005994,494.5054945054945,495.004995004995,495.5044955044955,496.003996003996,496.5034965034965,497.002997002997,497.5024975024975,498.001998001998,498.5014985014985,499.000999000999,499.5004995004995,500.0,500.4995004995005,500.999000999001,501.4985014985015,501.998001998002,502.4975024975025,502.997002997003,503.4965034965035,503.996003996004,504.4955044955045,504.995004995005,505.4945054945055,505.994005994006,506.4935064935065,506.993006993007,507.4925074925075,507.992007992008,508.4915084915085,508.991008991009,509.4905094905095,509.99000999001,510.4895104895105,510.989010989011,511.4885114885115,511.988011988012,512.4875124875125,512.987012987013,513.4865134865134,513.986013986014,514.4855144855145,514.985014985015,515.4845154845154,515.984015984016,516.4835164835165,516.983016983017,517.4825174825174,517.982017982018,518.4815184815185,518.981018981019,519.4805194805194,519.98001998002,520.4795204795205,520.979020979021,521.4785214785214,521.978021978022,522.4775224775225,522.977022977023,523.4765234765234,523.976023976024,524.4755244755245,524.975024975025,525.4745254745254,525.974025974026,526.4735264735265,526.973026973027,527.4725274725274,527.972027972028,528.4715284715285,528.971028971029,529.4705294705295,529.9700299700299,530.4695304695305,530.969030969031,531.4685314685315,531.9680319680319,532.4675324675325,532.967032967033,533.4665334665335,533.9660339660339,534.4655344655345,534.965034965035,535.4645354645355,535.9640359640359,536.4635364635365,536.963036963037,537.4625374625375,537.9620379620379,538.4615384615385,538.961038961039,539.4605394605395,539.9600399600399,540.4595404595404,540.959040959041,541.4585414585415,541.9580419580419,542.4575424575424,542.957042957043,543.4565434565435,543.9560439560439,544.4555444555444,544.955044955045,545.4545454545455,545.9540459540459,546.4535464535464,546.953046953047,547.4525474525475,547.9520479520479,548.4515484515484,548.951048951049,549.4505494505495,549.9500499500499,550.4495504495504,550.949050949051,551.4485514485515,551.9480519480519,552.4475524475524,552.947052947053,553.4465534465535,553.9460539460539,554.4455544455544,554.945054945055,555.4445554445555,555.9440559440559,556.4435564435564,556.943056943057,557.4425574425575,557.9420579420579,558.4415584415584,558.9410589410589,559.4405594405595,559.94005994006,560.4395604395604,560.9390609390609,561.4385614385615,561.938061938062,562.4375624375624,562.9370629370629,563.4365634365635,563.936063936064,564.4355644355644,564.9350649350649,565.4345654345655,565.934065934066,566.4335664335664,566.9330669330669,567.4325674325675,567.932067932068,568.4315684315684,568.9310689310689,569.4305694305694,569.93006993007,570.4295704295704,570.9290709290709,571.4285714285714,571.928071928072,572.4275724275724,572.9270729270729,573.4265734265734,573.926073926074,574.4255744255744,574.9250749250749,575.4245754245754,575.924075924076,576.4235764235764,576.9230769230769,577.4225774225774,577.922077922078,578.4215784215784,578.9210789210789,579.4205794205794,579.92007992008,580.4195804195804,580.9190809190809,581.4185814185814,581.918081918082,582.4175824175824,582.9170829170829,583.4165834165834,583.916083916084,584.4155844155844,584.9150849150849,585.4145854145854,585.914085914086,586.4135864135864,586.9130869130869,587.4125874125874,587.9120879120879,588.4115884115885,588.9110889110889,589.4105894105894,589.9100899100899,590.4095904095905,590.9090909090909,591.4085914085914,591.9080919080919,592.4075924075925,592.9070929070929,593.4065934065934,593.9060939060939,594.4055944055945,594.9050949050949,595.4045954045954,595.9040959040959,596.4035964035965,596.9030969030969,597.4025974025974,597.9020979020979,598.4015984015984,598.9010989010989,599.4005994005994,599.9000999000999,600.3996003996004,600.8991008991009,601.3986013986014,601.8981018981019,602.3976023976024,602.8971028971029,603.3966033966034,603.8961038961039,604.3956043956044,604.8951048951049,605.3946053946054,605.8941058941059,606.3936063936064,606.8931068931068,607.3926073926074,607.8921078921079,608.3916083916084,608.8911088911088,609.3906093906094,609.8901098901099,610.3896103896104,610.8891108891108,611.3886113886114,611.8881118881119,612.3876123876124,612.8871128871128,613.3866133866134,613.8861138861139,614.3856143856144,614.8851148851148,615.3846153846154,615.8841158841159,616.3836163836164,616.8831168831168,617.3826173826174,617.8821178821179,618.3816183816184,618.8811188811189,619.3806193806194,619.8801198801199,620.3796203796204,620.8791208791209,621.3786213786213,621.8781218781219,622.3776223776224,622.8771228771229,623.3766233766233,623.8761238761239,624.3756243756244,624.8751248751249,625.3746253746253,625.8741258741259,626.3736263736264,626.8731268731269,627.3726273726273,627.8721278721279,628.3716283716284,628.8711288711289,629.3706293706293,629.8701298701299,630.3696303696304,630.8691308691309,631.3686313686313,631.8681318681319,632.3676323676324,632.8671328671329,633.3666333666333,633.8661338661339,634.3656343656344,634.8651348651349,635.3646353646353,635.8641358641358,636.3636363636364,636.8631368631369,637.3626373626373,637.8621378621378,638.3616383616384,638.8611388611389,639.3606393606393,639.8601398601398,640.3596403596404,640.8591408591409,641.3586413586413,641.8581418581418,642.3576423576424,642.8571428571429,643.3566433566433,643.8561438561438,644.3556443556444,644.8551448551449,645.3546453546453,645.8541458541458,646.3536463536464,646.8531468531469,647.3526473526474,647.8521478521478,648.3516483516484,648.8511488511489,649.3506493506494,649.8501498501498,650.3496503496503,650.8491508491509,651.3486513486514,651.8481518481518,652.3476523476523,652.8471528471529,653.3466533466534,653.8461538461538,654.3456543456543,654.8451548451549,655.3446553446554,655.8441558441558,656.3436563436563,656.8431568431569,657.3426573426574,657.8421578421578,658.3416583416583,658.8411588411589,659.3406593406594,659.8401598401598,660.3396603396603,660.8391608391609,661.3386613386614,661.8381618381618,662.3376623376623,662.8371628371629,663.3366633366634,663.8361638361638,664.3356643356643,664.8351648351648,665.3346653346654,665.8341658341658,666.3336663336663,666.8331668331668,667.3326673326674,667.8321678321678,668.3316683316683,668.8311688311688,669.3306693306694,669.8301698301698,670.3296703296703,670.8291708291708,671.3286713286714,671.8281718281718,672.3276723276723,672.8271728271728,673.3266733266734,673.8261738261738,674.3256743256743,674.8251748251748,675.3246753246754,675.8241758241758,676.3236763236763,676.8231768231768,677.3226773226774,677.8221778221779,678.3216783216783,678.8211788211788,679.3206793206793,679.8201798201799,680.3196803196803,680.8191808191808,681.3186813186813,681.8181818181819,682.3176823176823,682.8171828171828,683.3166833166833,683.8161838161839,684.3156843156843,684.8151848151848,685.3146853146853,685.8141858141859,686.3136863136863,686.8131868131868,687.3126873126873,687.8121878121879,688.3116883116883,688.8111888111888,689.3106893106893,689.8101898101899,690.3096903096903,690.8091908091908,691.3086913086913,691.8081918081919,692.3076923076923,692.8071928071928,693.3066933066933,693.8061938061938,694.3056943056943,694.8051948051948,695.3046953046953,695.8041958041958,696.3036963036963,696.8031968031968,697.3026973026973,697.8021978021978,698.3016983016983,698.8011988011988,699.3006993006993,699.8001998001998,700.2997002997002,700.7992007992008,701.2987012987013,701.7982017982018,702.2977022977022,702.7972027972028,703.2967032967033,703.7962037962038,704.2957042957042,704.7952047952048,705.2947052947053,705.7942057942058,706.2937062937064,706.7932067932068,707.2927072927073,707.7922077922078,708.2917082917083,708.7912087912088,709.2907092907093,709.7902097902098,710.2897102897103,710.7892107892108,711.2887112887113,711.7882117882118,712.2877122877123,712.7872127872128,713.2867132867133,713.7862137862138,714.2857142857143,714.7852147852147,715.2847152847153,715.7842157842158,716.2837162837163,716.7832167832167,717.2827172827173,717.7822177822178,718.2817182817183,718.7812187812187,719.2807192807193,719.7802197802198,720.2797202797203,720.7792207792207,721.2787212787213,721.7782217782218,722.2777222777223,722.7772227772227,723.2767232767233,723.7762237762238,724.2757242757243,724.7752247752247,725.2747252747253,725.7742257742258,726.2737262737263,726.7732267732267,727.2727272727273,727.7722277722278,728.2717282717283,728.7712287712287,729.2707292707292,729.7702297702298,730.2697302697303,730.7692307692307,731.2687312687312,731.7682317682318,732.2677322677323,732.7672327672327,733.2667332667332,733.7662337662338,734.2657342657343,734.7652347652347,735.2647352647352,735.7642357642358,736.2637362637363,736.7632367632368,737.2627372627372,737.7622377622378,738.2617382617383,738.7612387612388,739.2607392607392,739.7602397602398,740.2597402597403,740.7592407592408,741.2587412587412,741.7582417582418,742.2577422577423,742.7572427572428,743.2567432567432,743.7562437562437,744.2557442557443,744.7552447552448,745.2547452547452,745.7542457542457,746.2537462537463,746.7532467532468,747.2527472527472,747.7522477522477,748.2517482517483,748.7512487512488,749.2507492507492,749.7502497502497,750.2497502497503,750.7492507492508,751.2487512487512,751.7482517482517,752.2477522477523,752.7472527472528,753.2467532467532,753.7462537462537,754.2457542457543,754.7452547452548,755.2447552447552,755.7442557442557,756.2437562437563,756.7432567432568,757.2427572427572,757.7422577422577,758.2417582417582,758.7412587412588,759.2407592407592,759.7402597402597,760.2397602397602,760.7392607392608,761.2387612387612,761.7382617382617,762.2377622377622,762.7372627372628,763.2367632367632,763.7362637362637,764.2357642357642,764.7352647352648,765.2347652347653,765.7342657342657,766.2337662337662,766.7332667332668,767.2327672327673,767.7322677322677,768.2317682317682,768.7312687312688,769.2307692307693,769.7302697302697,770.2297702297702,770.7292707292708,771.2287712287713,771.7282717282717,772.2277722277722,772.7272727272727,773.2267732267733,773.7262737262737,774.2257742257742,774.7252747252747,775.2247752247753,775.7242757242757,776.2237762237762,776.7232767232767,777.2227772227773,777.7222777222777,778.2217782217782,778.7212787212787,779.2207792207793,779.7202797202797,780.2197802197802,780.7192807192807,781.2187812187813,781.7182817182817,782.2177822177822,782.7172827172827,783.2167832167833,783.7162837162837,784.2157842157842,784.7152847152847,785.2147852147853,785.7142857142857,786.2137862137862,786.7132867132867,787.2127872127872,787.7122877122877,788.2117882117882,788.7112887112887,789.2107892107892,789.7102897102897,790.2097902097902,790.7092907092907,791.2087912087912,791.7082917082917,792.2077922077922,792.7072927072927,793.2067932067932,793.7062937062936,794.2057942057942,794.7052947052947,795.2047952047952,795.7042957042958,796.2037962037962,796.7032967032967,797.2027972027972,797.7022977022978,798.2017982017982,798.7012987012987,799.2007992007992,799.7002997002998,800.1998001998002,800.6993006993007,801.1988011988012,801.6983016983017,802.1978021978022,802.6973026973027,803.1968031968032,803.6963036963037,804.1958041958042,804.6953046953047,805.1948051948052,805.6943056943057,806.1938061938062,806.6933066933067,807.1928071928072,807.6923076923077,808.1918081918081,808.6913086913087,809.1908091908092,809.6903096903097,810.1898101898101,810.6893106893107,811.1888111888112,811.6883116883117,812.1878121878121,812.6873126873127,813.1868131868132,813.6863136863137,814.1858141858141,814.6853146853147,815.1848151848152,815.6843156843157,816.1838161838161,816.6833166833167,817.1828171828172,817.6823176823177,818.1818181818181,818.6813186813187,819.1808191808192,819.6803196803197,820.1798201798201,820.6793206793207,821.1788211788212,821.6783216783217,822.1778221778221,822.6773226773226,823.1768231768232,823.6763236763237,824.1758241758242,824.6753246753246,825.1748251748252,825.6743256743257,826.1738261738262,826.6733266733266,827.1728271728272,827.6723276723277,828.1718281718282,828.6713286713286,829.1708291708292,829.6703296703297,830.1698301698302,830.6693306693306,831.1688311688312,831.6683316683317,832.1678321678322,832.6673326673326,833.1668331668332,833.6663336663337,834.1658341658342,834.6653346653346,835.1648351648352,835.6643356643357,836.1638361638362,836.6633366633366,837.1628371628371,837.6623376623377,838.1618381618382,838.6613386613386,839.1608391608391,839.6603396603397,840.1598401598402,840.6593406593406,841.1588411588411,841.6583416583417,842.1578421578422,842.6573426573426,843.1568431568431,843.6563436563437,844.1558441558442,844.6553446553446,845.1548451548451,845.6543456543457,846.1538461538462,846.6533466533466,847.1528471528471,847.6523476523477,848.1518481518482,848.6513486513486,849.1508491508491,849.6503496503497,850.1498501498502,850.6493506493506,851.1488511488511,851.6483516483516,852.1478521478522,852.6473526473526,853.1468531468531,853.6463536463536,854.1458541458542,854.6453546453547,855.1448551448551,855.6443556443556,856.1438561438562,856.6433566433567,857.1428571428571,857.6423576423576,858.1418581418582,858.6413586413587,859.1408591408591,859.6403596403596,860.1398601398602,860.6393606393607,861.1388611388611,861.6383616383616,862.1378621378622,862.6373626373627,863.1368631368631,863.6363636363636,864.1358641358642,864.6353646353647,865.1348651348651,865.6343656343656,866.1338661338661,866.6333666333667,867.1328671328671,867.6323676323676,868.1318681318681,868.6313686313687,869.1308691308691,869.6303696303696,870.1298701298701,870.6293706293707,871.1288711288711,871.6283716283716,872.1278721278721,872.6273726273727,873.1268731268731,873.6263736263736,874.1258741258741,874.6253746253747,875.1248751248751,875.6243756243756,876.1238761238761,876.6233766233767,877.1228771228771,877.6223776223776,878.1218781218781,878.6213786213787,879.1208791208791,879.6203796203796,880.1198801198801,880.6193806193806,881.1188811188811,881.6183816183816,882.1178821178821,882.6173826173826,883.1168831168832,883.6163836163836,884.1158841158841,884.6153846153846,885.1148851148852,885.6143856143856,886.1138861138861,886.6133866133866,887.1128871128872,887.6123876123876,888.1118881118881,888.6113886113886,889.1108891108892,889.6103896103896,890.1098901098901,890.6093906093906,891.1088911088912,891.6083916083916,892.1078921078921,892.6073926073926,893.1068931068932,893.6063936063936,894.1058941058941,894.6053946053946,895.1048951048951,895.6043956043956,896.1038961038961,896.6033966033966,897.1028971028971,897.6023976023976,898.1018981018981,898.6013986013986,899.1008991008991,899.6003996003996,900.0999000999001,900.5994005994006,901.0989010989011,901.5984015984016,902.0979020979021,902.5974025974026,903.0969030969031,903.5964035964035,904.0959040959041,904.5954045954046,905.0949050949051,905.5944055944055,906.0939060939061,906.5934065934066,907.0929070929071,907.5924075924075,908.0919080919081,908.5914085914086,909.0909090909091,909.5904095904095,910.0899100899101,910.5894105894106,911.0889110889111,911.5884115884115,912.0879120879121,912.5874125874126,913.0869130869131,913.5864135864136,914.085914085914,914.5854145854146,915.0849150849151,915.5844155844156,916.083916083916,916.5834165834166,917.0829170829171,917.5824175824176,918.081918081918,918.5814185814186,919.0809190809191,919.5804195804196,920.07992007992,920.5794205794206,921.0789210789211,921.5784215784216,922.077922077922,922.5774225774226,923.0769230769231,923.5764235764236,924.075924075924,924.5754245754246,925.0749250749251,925.5744255744256,926.073926073926,926.5734265734266,927.0729270729271,927.5724275724276,928.071928071928,928.5714285714286,929.0709290709291,929.5704295704296,930.06993006993,930.5694305694306,931.0689310689311,931.5684315684316,932.067932067932,932.5674325674325,933.0669330669331,933.5664335664336,934.065934065934,934.5654345654345,935.0649350649351,935.5644355644356,936.063936063936,936.5634365634365,937.0629370629371,937.5624375624376,938.061938061938,938.5614385614385,939.0609390609391,939.5604395604396,940.05994005994,940.5594405594405,941.0589410589411,941.5584415584416,942.0579420579421,942.5574425574425,943.056943056943,943.5564435564436,944.0559440559441,944.5554445554445,945.054945054945,945.5544455544456,946.0539460539461,946.5534465534465,947.052947052947,947.5524475524476,948.0519480519481,948.5514485514485,949.050949050949,949.5504495504496,950.0499500499501,950.5494505494505,951.048951048951,951.5484515484516,952.0479520479521,952.5474525474525,953.046953046953,953.5464535464536,954.0459540459541,954.5454545454545,955.044955044955,955.5444555444556,956.0439560439561,956.5434565434565,957.042957042957,957.5424575424576,958.0419580419581,958.5414585414585,959.040959040959,959.5404595404596,960.0399600399601,960.5394605394605,961.038961038961,961.5384615384615,962.0379620379621,962.5374625374625,963.036963036963,963.5364635364635,964.0359640359641,964.5354645354645,965.034965034965,965.5344655344655,966.0339660339661,966.5334665334665,967.032967032967,967.5324675324675,968.0319680319681,968.5314685314685,969.030969030969,969.5304695304695,970.0299700299701,970.5294705294705,971.028971028971,971.5284715284715,972.027972027972,972.5274725274726,973.026973026973,973.5264735264735,974.025974025974,974.5254745254746,975.024975024975,975.5244755244755,976.023976023976,976.5234765234766,977.022977022977,977.5224775224775,978.021978021978,978.5214785214786,979.020979020979,979.5204795204795,980.01998001998,980.5194805194806,981.018981018981,981.5184815184815,982.017982017982,982.5174825174826,983.016983016983,983.5164835164835,984.015984015984,984.5154845154846,985.014985014985,985.5144855144855,986.013986013986,986.5134865134866,987.012987012987,987.5124875124875,988.011988011988,988.5114885114886,989.010989010989,989.5104895104895,990.00999000999,990.5094905094905,991.008991008991,991.5084915084915,992.007992007992,992.5074925074925,993.006993006993,993.5064935064935,994.005994005994,994.5054945054945,995.004995004995,995.5044955044955,996.003996003996,996.5034965034965,997.002997002997,997.5024975024975,998.001998001998,998.5014985014985,999.000999000999,999.5004995004995,1000.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/runner.jl new file mode 100644 index 00000000000..d461590e5ac --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/fixtures/julia/runner.jl @@ -0,0 +1,70 @@ +#!/usr/bin/env julia +# +# @license Apache-2.0 +# +# Copyright (c) 2024 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( domain, name ) + +Generate fixture data and write to file. + +# Arguments + +* `domain`: domain +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = range( -1, stop = 1, length = 2001 ); +julia> gen( x, \"data.json\" ); +``` +""" +function gen( domain, name ) + x = collect( domain ); + y = acotd.( x ); + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("expected", y) + ]); + + # 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 ); + +# Generate fixture data for negative values: +x = range( 0, stop = -1000.0, length = 2003 ); +gen( x, "negative.json" ); + +# Generate fixture data for positive values: +x = range( 0, stop = 1000.0, length = 2003 ); +gen( x, "positive.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.js b/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.js new file mode 100644 index 00000000000..84341a72e1d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.js @@ -0,0 +1,101 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 absf = require( '@stdlib/math/base/special/absf' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); +var acotdf = require( './../lib' ); + + +// FIXTURES // + +var negative = require( './fixtures/julia/negative.json' ); +var positive = require( './fixtures/julia/positive.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof acotdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the arccotangent in degrees (negative values)', function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = negative.x; + expected = negative.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acotdf( x[ i ] ); + if ( y === e ) { + t.equal( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 1.7 * EPS * absf( e ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. y: '+y+'. E: '+e+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + } + t.end(); +}); + +tape( 'the function computes the arccotangent in degrees (positive values)', function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = positive.x; + expected = positive.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acotdf( x[ i ] ); + if ( y === e ) { + t.equal( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 1.7 * EPS * absf( e ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. y: '+y+'. E: '+e+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v = acotdf( NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.native.js new file mode 100644 index 00000000000..14b77dce8d8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acotdf/test/test.native.js @@ -0,0 +1,110 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 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 absf = require( '@stdlib/math/base/special/absf' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// FIXTURES // + +var negative = require( './fixtures/julia/negative.json' ); +var positive = require( './fixtures/julia/positive.json' ); + + +// VARIABLES // + +var acotdf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( acotdf instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof acotdf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the arccotangent in degrees (negative values)', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = negative.x; + expected = negative.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acotdf( x[ i ] ); + if ( y === e ) { + t.equal( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 1.7 * EPS * absf( e ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. y: '+y+'. E: '+e+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + } + t.end(); +}); + +tape( 'the function computes the arccotangent in degrees (positive values)', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = positive.x; + expected = positive.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acotdf( x[ i ] ); + if ( y === e ) { + t.equal( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 1.7 * EPS * absf( e ); + t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. y: '+y+'. E: '+e+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v = acotdf( NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + t.end(); +});