From 4dbd685129b1ee7a1f459b77e791314c0bef49e7 Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Tue, 3 Sep 2024 00:19:39 +0530 Subject: [PATCH] feat: add `math/base/special/acovercosf` PR-URL: #2857 Ref: #649 --------- Signed-off-by: Gunj Joshi Reviewed-by: Philipp Burckhardt --- .../math/base/special/acovercosf/README.md | 208 ++++++++++++++++++ .../special/acovercosf/benchmark/benchmark.js | 52 +++++ .../acovercosf/benchmark/benchmark.native.js | 61 +++++ .../acovercosf/benchmark/c/native/Makefile | 146 ++++++++++++ .../acovercosf/benchmark/c/native/benchmark.c | 136 ++++++++++++ .../math/base/special/acovercosf/binding.gyp | 170 ++++++++++++++ .../base/special/acovercosf/docs/repl.txt | 29 +++ .../special/acovercosf/docs/types/index.d.ts | 48 ++++ .../special/acovercosf/docs/types/test.ts | 44 ++++ .../special/acovercosf/examples/c/Makefile | 146 ++++++++++++ .../special/acovercosf/examples/c/example.c | 31 +++ .../base/special/acovercosf/examples/index.js | 29 +++ .../math/base/special/acovercosf/include.gypi | 53 +++++ .../stdlib/math/base/special/acovercosf.h | 38 ++++ .../math/base/special/acovercosf/lib/index.js | 49 +++++ .../math/base/special/acovercosf/lib/main.js | 58 +++++ .../base/special/acovercosf/lib/native.js | 58 +++++ .../base/special/acovercosf/manifest.json | 72 ++++++ .../math/base/special/acovercosf/package.json | 78 +++++++ .../math/base/special/acovercosf/src/Makefile | 70 ++++++ .../math/base/special/acovercosf/src/addon.c | 23 ++ .../math/base/special/acovercosf/src/main.c | 34 +++ .../acovercosf/test/fixtures/julia/REQUIRE | 2 + .../acovercosf/test/fixtures/julia/data.json | 1 + .../acovercosf/test/fixtures/julia/runner.jl | 70 ++++++ .../test/fixtures/julia/small_negative.json | 1 + .../math/base/special/acovercosf/test/test.js | 122 ++++++++++ .../special/acovercosf/test/test.native.js | 131 +++++++++++ 28 files changed, 1960 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/README.md create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/examples/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/include/stdlib/math/base/special/acovercosf.h create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/package.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/src/main.c create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/data.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/small_negative.json create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.js create mode 100644 lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/README.md b/lib/node_modules/@stdlib/math/base/special/acovercosf/README.md new file mode 100644 index 00000000000..1927f9ca04a --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/README.md @@ -0,0 +1,208 @@ + + +# Arccovercosine + +> Compute the [inverse coversed cosine][inverse-coversed-cosine] of a single-precision floating-point number (in radians). + +
+ +The [inverse coversed cosine][inverse-coversed-cosine] is defined as + + + +```math +\mathop{\mathrm{acovercosf}}(\theta) = \arcsin(1+\theta) +``` + + + +
+ + + +
+ +## Usage + +```javascript +var acovercosf = require( '@stdlib/math/base/special/acovercosf' ); +``` + +#### acovercosf( x ) + +Computes the [inverse coversed cosine][inverse-coversed-cosine] of a single-precision floating-point number. + +```javascript +var v = acovercosf( 0.0 ); +// returns ~1.5708 + +v = acovercosf( -3.141592653589793 / 2.0 ); +// returns ~-0.6075 + +v = acovercosf( -3.141592653589793 / 6.0 ); +// returns ~0.4966 +``` + +If `x < -2`, `x > 0`, or `x` is `NaN`, the function returns `NaN`. + +```javascript +var v = acovercosf( 1.0 ); +// returns NaN + +v = acovercosf( -3.14 ); +// returns NaN + +v = acovercosf( NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var linspace = require( '@stdlib/array/base/linspace' ); +var acovercosf = require( '@stdlib/math/base/special/acovercosf' ); + +var x = linspace( -2.0, 0.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( acovercosf( x[ i ] ) ); +} +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/acovercosf.h" +``` + +#### stdlib_base_acovercosf( x ) + +Computes the [inverse coversed cosine][inverse-coversed-cosine] of a single-precision floating-point number. + +```c +float out = stdlib_base_acovercosf( -3.141592653589793f / 2.0f ); +// returns ~-0.6075f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +float stdlib_base_acovercosf( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/acovercosf.h" +#include + +int main( void ) { + const float x[] = { -2.0f, -1.80f, -1.78f, -1.67f, -0.56f, -0.27f, -1.67f, -0.78f, -1.89f, 0.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_acovercosf( x[ i ] ); + printf( "acovercosf(%f) = %f\n", x[ i ], v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/benchmark.js new file mode 100644 index 00000000000..394f4c58e8b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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 acovercosf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -2.0, 0.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = acovercosf( 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/acovercosf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/benchmark.native.js new file mode 100644 index 00000000000..688cf38c802 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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 acovercosf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( acovercosf instanceof Error ) +}; + + +// MAIN // + +bench( pkg+'::native', opts, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -2.0, 0.0 ); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = acovercosf( 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/acovercosf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/c/native/Makefile new file mode 100644 index 00000000000..f69e9da2b4d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/acovercosf/benchmark/c/native/benchmark.c new file mode 100644 index 00000000000..aca402466f8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf.h" +#include +#include +#include +#include +#include + +#define NAME "acovercosf" +#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(); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_acovercosf( 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/acovercosf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/acovercosf/binding.gyp new file mode 100644 index 00000000000..ec399223344 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/repl.txt new file mode 100644 index 00000000000..50b5327df34 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/repl.txt @@ -0,0 +1,29 @@ + +{{alias}}( x ) + Computes the inverse coversed cosine of a single-precision + floating-point number (in radians). + + The inverse coversed cosine is defined as `asin(1+x)`. + + If `x < -2`, `x > 0`, or `x` is `NaN`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value. + + Returns + ------- + y: number + Inverse coversed cosine. + + Examples + -------- + > var y = {{alias}}( -1.5 ) + ~-0.5236 + > y = {{alias}}( -0.0 ) + ~1.5708 + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/index.d.ts new file mode 100644 index 00000000000..3f883d5659d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/index.d.ts @@ -0,0 +1,48 @@ +/* +* @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 inverse coversed cosine of a single-precision floating-point number (in radians). +* +* @param x - input value +* @returns inverse coversed cosine +* +* @example +* var v = acovercosf( 0.0 ); +* // returns ~1.5708 +* +* @example +* var v = acovercosf( -3.141592653589793 / 2.0 ); +* // returns ~-0.6075 +* +* @example +* var v = acovercosf( -3.141592653589793 / 6.0 ); +* // returns ~0.4966 +* +* @example +* var v = acovercosf( NaN ); +* // returns NaN +*/ +declare function acovercosf( x: number ): number; + + +// EXPORTS // + +export = acovercosf; diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/acovercosf/docs/types/test.ts new file mode 100644 index 00000000000..85dbc0facb4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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 acovercosf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + acovercosf( 8 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + acovercosf( true ); // $ExpectError + acovercosf( false ); // $ExpectError + acovercosf( null ); // $ExpectError + acovercosf( undefined ); // $ExpectError + acovercosf( '5' ); // $ExpectError + acovercosf( [] ); // $ExpectError + acovercosf( {} ); // $ExpectError + acovercosf( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + acovercosf(); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/acovercosf/examples/c/Makefile new file mode 100644 index 00000000000..6aed70daf16 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/acovercosf/examples/c/example.c new file mode 100644 index 00000000000..971b458c9eb --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf.h" +#include + +int main( void ) { + const float x[] = { -2.0f, -1.80f, -1.78f, -1.67f, -0.56f, -0.27f, -1.67f, -0.78f, -1.89f, 0.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_acovercosf( x[ i ] ); + printf( "acovercosf(%f) = %f\n", x[ i ], v ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/acovercosf/examples/index.js new file mode 100644 index 00000000000..8d67cdc0f87 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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 acovercosf = require( './../lib' ); + +var x = linspace( -2.0, 0.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( 'acovercosf(%d) = %d', x[ i ], acovercosf( x[ i ] ) ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/include.gypi b/lib/node_modules/@stdlib/math/base/special/acovercosf/include.gypi new file mode 100644 index 00000000000..575cb043c0b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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", + "acovercos", + "acovercosin", + "acovercosine", + "arccovercos", + "arccovercosin", + "versed cosine", + "acovercosinus", + "acvc", + "arc", + "versed", + "coversed", + "cosine", + "cos", + "asin", + "trig", + "trigonometry", + "radians", + "angle" + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/acovercosf/src/Makefile new file mode 100644 index 00000000000..bcf18aa4665 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/acovercosf/src/addon.c new file mode 100644 index 00000000000..071471e4120 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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/acovercosf.h" +#include "stdlib/math/base/napi/unary.h" + +// cppcheck-suppress shadowFunction +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_acovercosf ) diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/src/main.c b/lib/node_modules/@stdlib/math/base/special/acovercosf/src/main.c new file mode 100644 index 00000000000..b410bf88c8c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/src/main.c @@ -0,0 +1,34 @@ +/** +* @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/acovercosf.h" +#include "stdlib/math/base/special/asinf.h" + +/** +* Computes the inverse coversed cosine of a single-precision floating-point number (in radians). +* +* @param x input value +* @return output value +* +* @example +* float out = stdlib_base_acovercosf( 0.0f ); +* // returns ~1.5708f +*/ +float stdlib_base_acovercosf( const float x ) { + return stdlib_base_asinf( 1.0f + x ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/REQUIRE new file mode 100644 index 00000000000..308c3be89c8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/data.json b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/data.json new file mode 100644 index 00000000000..3252bc49aa3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/data.json @@ -0,0 +1 @@ +{"expected":[-1.5707963267948966,-1.5260935891346736,-1.5075718428025153,-1.4933560117250577,-1.4813684991694573,-1.4708046382537727,-1.4612517824148195,-1.4524648214055158,-1.444284065703959,-1.4365986038030125,-1.4293276883802384,-1.4224103667424246,-1.41579928858909,-1.4094568017856677,-1.4033523806100368,-1.3974608695309416,-1.3917612470903584,-1.3862357331782005,-1.3808691298427809,-1.3756483250462024,-1.3705619126848532,-1.3655998972211145,-1.3607534609793404,-1.3560147785854428,-1.351376867377647,-1.3468334656163887,-1.3423789324287758,-1.3380081649271904,-1.3337165290310518,-1.3294998013205406,-1.3253541198454748,-1.3212759422593074,-1.3172620099876864,-1.3133093174014108,-1.3094150851651944,-1.3055767370910711,-1.301791879949156,-1.2980582857866687,-1.294373876384605,-1.290736709544424,-1.287144966948134,-1.2835969433766377,-1.280091037105087,-1.2766257413219422,-1.273199636441464,-1.2698113831985154,-1.266459716430528,-1.2631434394648755,-1.2598614190411255,-1.2566125807071742,-1.2533959046363163,-1.2502104218191399,-1.2470552105900032,-1.2439293934528646,-1.2408321341755149,-1.2377626351249937,-1.2347201348201715,-1.2317039056802441,-1.2287132519503123,-1.225747507787323,-1.2228060354914643,-1.2198882238697495,-1.2169934867198937,-1.2141212614238637,-1.211271007641555,-1.2084422060960196,-1.2056343574425212,-1.2028469812144669,-1.200079614839907,-1.1973318127229282,-1.1946031453847787,-1.1918931986600443,-1.1892015729436234,-1.1865278824846404,-1.1838717547237592,-1.1812328296706878,-1.1786107593189366,-1.1760052070951352,-1.1734158473404488,-1.170842364821843,-1.1682844542711144,-1.1657418199497878,-1.1632141752381333,-1.1607012422466765,-1.1582027514487312,-1.1557184413325687,-1.153248058071959,-1.150791355213921,-1.1483480933825811,-1.1459180399981466,-1.143500969010061,-1.1410966606434723,-1.138704901158211,-1.1363254826195415,-1.1339582026799773,-1.1316028643715241,-1.1292592759077487,-1.126927250495105,-1.1246066061529973,-1.1222971655420964,-1.1199987558004396,-1.1177112083868965,-1.1154343589316,-1.1131680470929612,-1.1109121164209215,-1.108666414226117,-1.106430791454633,-1.1042051025680784,-1.1019892054286855,-1.099782961189197,-1.09758623418729,-1.0953988918443152,-1.0932208045681295,-1.0910518456598366,-1.088891891224229,-1.0867408200837618,-1.0845985136958936,-1.0824648560736225,-1.08033973370908,-1.0782230355000335,-1.076114652679165,-1.0740144787459958,-1.0719224094013475,-1.0698383424842102,-1.0677621779109194,-1.0656938176165431,-1.0636331654983702,-1.0615801273614163,-1.0595346108658643,-1.057496525476343,-1.0554657824129778,-1.0534422946041344,-1.051425976640781,-1.0494167447324105,-1.047414516664447,-1.0454192117570842,-1.0434307508254954,-1.0414490561413579,-1.0394740513956384,-1.0375056616625964,-1.0355438133649462,-1.0335884342401398,-1.031639453307728,-1.029696800837751,-1.027760408320124,-1.0258302084349815,-1.0239061350239393,-1.0219881230622394,-1.0200761086317525,-1.0181700288947968,-1.0162698220687472,-1.0143754274014083,-1.0124867851471195,-1.0106038365435648,-1.0087265237892695,-1.0068547900217493,-1.004988579296296,-1.0031278365653753,-1.0012725076586113,-0.999422539263346,-0.9975778789057452,-0.9957384749324355,-0.9939042764926572,-0.9920752335209102,-0.9902512967200783,-0.9884324175450203,-0.9866185481866043,-0.9848096415561756,-0.9830056512704455,-0.9812065316367824,-0.9794122376388932,-0.9776227249228882,-0.9758379497837084,-0.9740578691519087,-0.972282440580787,-0.9705116222338438,-0.9687453728725639,-0.9669836518445136,-0.9652264190717365,-0.9634736350394455,-0.9617252607849985,-0.9599812578871472,-0.9582415884555576,-0.9565062151205863,-0.9547751010233079,-0.9530482098057895,-0.951325505601599,-0.9496069530265422,-0.9478925171696271,-0.9461821635842402,-0.9444758582795338,-0.9427735677120197,-0.9410752587773583,-0.9393808988023402,-0.9376904555370574,-0.9360038971472538,-0.9343211922068511,-0.9326423096906503,-0.9309672189671974,-0.9292958897918092,-0.9276282922997625,-0.9259643969996302,-0.9243041747667716,-0.9226475968369658,-0.920994634800184,-0.9193452605945043,-0.9176994465001559,-0.9160571651336941,-0.9144183894423039,-0.9127830926982259,-0.9111512484932993,-0.909522830733628,-0.9078978136343554,-0.9062761717145504,-0.9046578797922057,-0.9030429129793366,-0.9014312466771839,-0.8998228565715187,-0.8982177186280424,-0.8966158090878809,-0.8950171044631752,-0.8934215815327586,-0.8918292173379226,-0.8902399891782713,-0.8886538746076547,-0.8870708514301892,-0.8854908976963538,-0.8839139916991645,-0.8823401119704268,-0.8807692372770607,-0.8792013466174959,-0.8776364192181427,-0.876074434529927,-0.8745153722248933,-0.8729592121928766,-0.8714059345382346,-0.8698555195766425,-0.8683079478319536,-0.8667632000331139,-0.8652212571111373,-0.8636821001961391,-0.8621457106144241,-0.860612069885627,-0.8590811597199104,-0.8575529620152113,-0.856027458854538,-0.8545046325033212,-0.8529844654068071,-0.8514669401875039,-0.8499520396426715,-0.8484397467418556,-0.8469300446244705,-0.8454229165974214,-0.8439183461327692,-0.8424163168654404,-0.8409168125909741,-0.8394198172633089,-0.837925314992612,-0.836433290043143,-0.8349437268311553,-0.833456609922836,-0.8319719240322806,-0.8304896540195004,-0.8290097848884681,-0.8275323017851943,-0.8260571899958359,-0.8245844349448403,-0.823114022193118,-0.8216459374362453,-0.8201801665027015,-0.8187166953521301,-0.8172555100736338,-0.8157965968840954,-0.8143399421265254,-0.8128855322684398,-0.8114333539002638,-0.8099833937337579,-0.8085356386004762,-0.8070900754502446,-0.8056466913496645,-0.8042054734806436,-0.8027664091389473,-0.8013294857327724,-0.7998946907813489,-0.7984620119135583,-0.7970314368665755,-0.7956029534845351,-0.794176549717215,-0.7927522136187405,-0.7913299333463133,-0.7899096971589553,-0.7884914934162732,-0.7870753105772448,-0.7856611371990196,-0.7842489619357428,-0.782838773537393,-0.7814305608486393,-0.7800243128077174,-0.7786200184453206,-0.7772176668835068,-0.7758172473346255,-0.7744187491002581,-0.7730221615701733,-0.771627474221302,-0.7702346766167232,-0.7688437584046667,-0.7674547093175316,-0.7660675191709176,-0.7646821778626701,-0.7632986753719422,-0.7619170017582668,-0.760537147160644,-0.7591591017966424,-0.7577828559615116,-0.7564084000273084,-0.7550357244420361,-0.7536648197287945,-0.752295676484944,-0.7509282853812804,-0.7495626371612203,-0.7481987226400011,-0.7468365327038895,-0.7454760583094013,-0.7441172904825347,-0.7427602203180108,-0.7414048389785265,-0.7400511376940184,-0.7386991077609357,-0.7373487405415221,-0.736000027463111,-0.7346529600174271,-0.733307529759898,-0.7319637283089773,-0.7306215473454748,-0.7292809786118953,-0.7279420139117895,-0.7266046451091099,-0.7252688641275769,-0.7239346629500547,-0.7226020336179326,-0.7212709682305176,-0.7199414589444333,-0.7186134979730254,-0.717287077585779,-0.7159621901077404,-0.7146388279189457,-0.7133169834538612,-0.7119966492008263,-0.7106778177015058,-0.7093604815503505,-0.708044633394062,-0.7067302659310658,-0.7054173719109924,-0.704105944134163,-0.7027959754510815,-0.701487458761936,-0.7001803870161036,-0.6988747532116618,-0.6975705503949081,-0.6962677716598841,-0.694966410147904,-0.6936664590470935,-0.692367911591929,-0.6910707610627879,-0.6897750007854998,-0.6884806241309055,-0.6871876245144225,-0.6858959953956134,-0.6846057302777607,-0.6833168227074475,-0.6820292662741431,-0.6807430546097908,-0.6794581813884062,-0.6781746403256756,-0.6768924251785609,-0.6756115297449097,-0.6743319478630698,-0.6730536734115071,-0.6717767003084311,-0.670501022511421,-0.6692266340170585,-0.6679535288605659,-0.6666817011154459,-0.6654111448931265,-0.664141854342612,-0.6628738236501358,-0.6616070470388172,-0.6603415187683248,-0.6590772331345401,-0.6578141844692287,-0.6565523671397125,-0.6552917755485466,-0.654032404133201,-0.6527742473657443,-0.6515172997525315,-0.6502615558338962,-0.6490070101838462,-0.6477536574097598,-0.6465014921520904,-0.6452505090840711,-0.6440007029114216,-0.6427520683720629,-0.6415046002358311,-0.6402582933041947,-0.6390131424099785,-0.6377691424170868,-0.6365262882202303,-0.6352845747446589,-0.6340439969458941,-0.6328045498094647,-0.6315662283506486,-0.6303290276142127,-0.6290929426741603,-0.6278579686334779,-0.6266241006238851,-0.6253913338055901,-0.6241596633670442,-0.6229290845247005,-0.6216995925227764,-0.6204711826330169,-0.6192438501544598,-0.6180175904132068,-0.6167923987621939,-0.6155682705809642,-0.614345201275446,-0.6131231862777304,-0.6119022210458517,-0.6106823010635721,-0.6094634218401667,-0.6082455789102096,-0.6070287678333669,-0.6058129841941872,-0.6045982236018952,-0.6033844816901904,-0.6021717541170437,-0.6009600365644993,-0.5997493247384775,-0.5985396143685782,-0.5973309012078896,-0.5961231810327958,-0.5949164496427874,-0.593710702860275,-0.5925059365304037,-0.5913021465208683,-0.5900993287217335,-0.5888974790452535,-0.5876965934256921,-0.5864966678191498,-0.585297698203387,-0.5840996805776514,-0.5829026109625084,-0.5817064853996711,-0.5805112999518315,-0.5793170507024967,-0.578123733755824,-0.5769313452364567,-0.5757398812893655,-0.5745493380796867,-0.5733597117925664,-0.572170998633003,-0.570983194825692,-0.5697962966148741,-0.5686103002641824,-0.5674252020564915,-0.5662409982937704,-0.5650576852969338,-0.5638752594056956,-0.562693716978426,-0.5615130543920069,-0.5603332680416901,-0.5591543543409578,-0.5579763097213828,-0.5567991306324896,-0.5556228135416204,-0.5544473549337979,-0.5532727513115914,-0.5520989991949853,-0.550926095121247,-0.5497540356447961,-0.5485828173370769,-0.5474124367864288,-0.5462428905979614,-0.5450741753934285,-0.543906287811103,-0.5427392245056551,-0.5415729821480304,-0.5404075574253273,-0.5392429470406795,-0.5380791477131365,-0.5369161561775451,-0.5357539691844349,-0.5345925834999016,-0.5334319959054927,-0.5322722031980951,-0.5311132021898222,-0.5299549897079021,-0.528797562594569,-0.5276409177069527,-0.5264850519169699,-0.5253299621112187,-0.5241756451908712,-0.5230220980715673,-0.5218693176833122,-0.5207173009703712,-0.5195660448911682,-0.5184155464181839,-0.5172658025378539,-0.5161168102504706,-0.5149685665700833,-0.5138210685243991,-0.512674313154688,-0.5115282975156846,-0.5103830186754925,-0.5092384737154909,-0.5080946597302402,-0.5069515738273872,-0.505809213127576,-0.5046675747643539,-0.5035266558840813,-0.5023864536458428,-0.5012469652213571,-0.5001081877948885,-0.49897011856316,-0.4978327547352663,-0.4966960935325865,-0.4955601321887009,-0.4944248679493038,-0.49329029807212177,-0.49215641982682934,-0.49102323049496593,-0.4898907273698553,-0.48875890775652375,-0.48762776897161897,-0.4864973083433315,-0.48536752321131515,-0.4842384109266076,-0.48310996885155394,-0.4819821943597291,-0.48085508483586026,-0.4797286376757526,-0.47860285028621313,-0.4774777200849755,-0.47635324450062727,-0.47522942097253573,-0.4741062469507745,-0.47298371989605253,-0.4718618372796419,-0.47074059658330597,-0.46961999529923054,-0.46850003092995196,-0.46738070098828965,-0.4662620029972765,-0.46514393449008967,-0.4640264930099848,-0.4629096761102277,-0.4617934813540273,-0.460677906314471,-0.4595629485744581,-0.4584486057266346,-0.4573348753733295,-0.45622175512649055,-0.45510924260761987,-0.45399733544771237,-0.45288603128719257,-0.4517753277758519,-0.45066522257278846,-0.4495557133463457,-0.4484467977740505,-0.4473384735425551,-0.4462307383475764,-0.4451235898938364,-0.44401702589500475,-0.44291104407363896,-0.4418056421611282,-0.4407008178976352,-0.43959656903203853,-0.4384928933218778,-0.43738978853329663,-0.43628725244098665,-0.43518528282813346,-0.4340838774863613,-0.43298303421567785,-0.43188275082442207,-0.4307830251292096,-0.4296838549548789,-0.4285852381344404,-0.427487172509023,-0.4263896559278217,-0.4252926862480472,-0.42419626133487454,-0.4231003790613911,-0.4220050373085477,-0.4209102339651084,-0.4198159669275994,-0.41872223410026194,-0.41762903339500124,-0.41653636273133965,-0.4154442200363679,-0.41435260324469625,-0.41326151029840885,-0.4121709391470153,-0.41108088774740376,-0.4099913540637954,-0.40890233606769794,-0.40781383173785896,-0.40672583906022186,-0.4056383560278802,-0.4045513806410319,-0.40346491090693654,-0.40237894483987013,-0.401293480461081,-0.4002085157987471,-0.3991240488879326,-0.39804007777054423,-0.3969566004952896,-0.39587361511763486,-0.3947911196997615,-0.3937091123105265,-0.3926275910254192,-0.39154655392652143,-0.3904659991024663,-0.3893859246483969,-0.3883063286659273,-0.387227209263102,-0.3861485645543557,-0.3850703926604748,-0.3839926917085582,-0.38291545983197706,-0.38183869517033814,-0.38076239586944444,-0.37968656008125656,-0.37861118596385623,-0.3775362716814081,-0.3764618154041217,-0.3753878153082159,-0.3743142695758813,-0.373241176395243,-0.37216853396032584,-0.3710963404710175,-0.3700245941330322,-0.36895329315787606,-0.36788243576281193,-0.36681202017082276,-0.36574204461057885,-0.3646725073164013,-0.3636034065282291,-0.3625347404915845,-0.36146650745753844,-0.36039870568267773,-0.35933133342907153,-0.35826438896423707,-0.3571978705611079,-0.3561317764980007,-0.35506610505858177,-0.35400085453183594,-0.35293602321203404,-0.3518716093986998,-0.3508076113965799,-0.3497440275156114,-0.34868085607088983,-0.3476180953826396,-0.346555743776182,-0.34549379958190396,-0.344432261135229,-0.3433711267765861,-0.34231039485137865,-0.3412500637099564,-0.3401901317075838,-0.3391305972044117,-0.33807145856544774,-0.33701271416052614,-0.33595436236428017,-0.33489640155611256,-0.3338388301201662,-0.33278164644529695,-0.33172484892504484,-0.3306684359576051,-0.32961240594580155,-0.3285567572970583,-0.3275014884233713,-0.3264465977412824,-0.3253920836718513,-0.32433794464062793,-0.3232841790776267,-0.32223078541729916,-0.32117776209850674,-0.3201251075644955,-0.3190728202628696,-0.3180208986455638,-0.31696934116882,-0.3159181462931587,-0.31486731248335564,-0.3138168382084153,-0.312766721941545,-0.3117169621601309,-0.31066755734571266,-0.30961850598395746,-0.3085698065646368,-0.3075214575816014,-0.3064734575327558,-0.30542580492003546,-0.3043784982493823,-0.30333153603071944,-0.302284916777929,-0.3012386390088279,-0.3001927012451431,-0.2991471020124898,-0.29810183984034744,-0.2970569132620358,-0.29601232081469336,-0.2949680610392535,-0.2939241324804214,-0.2928805336866525,-0.29183726321012876,-0.29079431960673724,-0.28975170143604756,-0.288709407261289,-0.2876674356493298,-0.2866257851706545,-0.28558445439934177,-0.28454344191304376,-0.2835027462929643,-0.2824623661238364,-0.2814222999939028,-0.28038254649489364,-0.27934310422200515,-0.2783039717738798,-0.277265147752585,-0.27622663076359155,-0.2751884194157546,-0.27415051232129234,-0.2731129080957651,-0.27207560535805636,-0.27103860273035196,-0.2700018988381194,-0.26896549231008965,-0.2679293817782352,-0.2668935658777522,-0.26585804324704027,-0.2648228125276819,-0.26378787236442497,-0.2627532214051624,-0.26171885830091235,-0.2606847817058006,-0.25965099027704097,-0.2586174826749154,-0.25758425756275694,-0.2565513136069301,-0.25551864947681185,-0.25448626384477424,-0.2534541553861654,-0.2524223227792906,-0.25139076470539545,-0.25035947984864715,-0.24932846689611549,-0.2482977245377567,-0.24726725146639467,-0.24623704637770258,-0.24520710797018694,-0.24417743494516808,-0.24314802600676436,-0.24211887986187405,-0.24108999522015737,-0.24006137079402065,-0.23903300529859853,-0.23800489745173622,-0.2369770459739739,-0.2359494495885292,-0.2349221070212797,-0.2338950170007476,-0.23286817825808243,-0.23184158952704378,-0.23081524954398625,-0.22978915704784234,-0.2287633107801055,-0.22773770948481525,-0.2267123519085404,-0.22568723680036218,-0.22466236291185968,-0.22363772899709336,-0.2226133338125883,-0.22158917611732018,-0.22056525467269775,-0.21954156824254875,-0.21851811559310375,-0.2174948954929799,-0.216471906713167,-0.21544914802701134,-0.21442661821019995,-0.21340431604074664,-0.21238224029897615,-0.2113603897675086,-0.21033876323124565,-0.2093173594773551,-0.20829617729525524,-0.2072752154766014,-0.20625447281527073,-0.2052339481073466,-0.20421364015110563,-0.20319354774700235,-0.20217366969765407,-0.20115400480782789,-0.20013455188442564,-0.199115309736469,-0.19809627717508677,-0.19707745301349905,-0.1960588360670046,-0.19504042515296627,-0.19402221909079623,-0.19300421670194348,-0.1919864168098794,-0.19096881824008316,-0.1899514198200294,-0.18893422037917385,-0.1879172187489391,-0.18690041376270236,-0.18588380425578127,-0.18486738906541977,-0.18385116703077614,-0.1828351369929088,-0.18181929779476258,-0.1808036482811567,-0.17978818729877094,-0.17877291369613185,-0.17775782632360107,-0.17674292403336153,-0.17572820567940392,-0.17471367011751532,-0.17369931620526444,-0.17268514280199054,-0.17167114876878986,-0.17065733296850225,-0.16964369426569992,-0.16863023152667406,-0.16761694361942164,-0.16660382941363427,-0.1655908877806849,-0.16457811759361496,-0.16356551772712305,-0.16255308705755217,-0.1615408244628766,-0.16052872882269106,-0.15951679901819782,-0.15850503393219384,-0.1574934324490601,-0.1564819934547488,-0.15547071583677058,-0.154459598484184,-0.15344864028758287,-0.15243784013908374,-0.1514271969323155,-0.15041670956240585,-0.1494063769259711,-0.14839619792110378,-0.1473861714473601,-0.14637629640574995,-0.14536657169872427,-0.14435699623016315,-0.1433475689053653,-0.14233828863103612,-0.1413291543152755,-0.1403201648675677,-0.13931131919876932,-0.1383026162210973,-0.13729405484811893,-0.1362856339947399,-0.13527735257719242,-0.13426920951302534,-0.13326120372109226,-0.1322533341215399,-0.13124559963579802,-0.1302379991865681,-0.12923053169781126,-0.1282231960947391,-0.1272159913038008,-0.12620891625267378,-0.1252019698702522,-0.12419515108663536,-0.12318845883311819,-0.12218189204217983,-0.12117544964747218,-0.1201691305838105,-0.11916293378716203,-0.11815685819463459,-0.1171509027444674,-0.11614506637601965,-0.11513934802975935,-0.11413374664725404,-0.11312826117115962,-0.11212289054520921,-0.11111763371420397,-0.11011248962400197,-0.10910745722150718,-0.10810253545466036,-0.10709772327242803,-0.10609301962479149,-0.10508842346273783,-0.10408393373824901,-0.10307954940429087,-0.10207526941480453,-0.10107109272469436,-0.10006701828981936,-0.09906304506698237,-0.09805917201391921,-0.09705539808929001,-0.09605172225266831,-0.09504814346453049,-0.09404466068624694,-0.09304127288007147,-0.09203797900913062,-0.091034778037415,-0.09003166892976874,-0.08902865065187883,-0.0880257221702666,-0.08702288245227716,-0.08602013046606885,-0.08501746518060481,-0.0840148855656424,-0.0830123905917228,-0.08200997923016254,-0.08100765045304309,-0.08000540323320046,-0.07900323654421702,-0.07800114936041003,-0.07699914065682353,-0.07599720940921799,-0.07499535459406002,-0.07399357518851409,-0.07299187017043217,-0.0719902385183436,-0.0709886792114468,-0.069987191229599,-0.06898577355330608,-0.06798442516371439,-0.06698314504260057,-0.06598193217236137,-0.06498078553600553,-0.06397970411714367,-0.06297868689997814,-0.06197773286929497,-0.06097684101045374,-0.05997601030937757,-0.05897523975254503,-0.05797452832698012,-0.05697387502024223,-0.05597327882041838,-0.05497273871611209,-0.053972253696435636,-0.05297182275100005,-0.051971444869905195,-0.05097111904373181,-0.04997084426353157,-0.048970619520817174,-0.047970443807554414,-0.04697031611615231,-0.045970235439453194,-0.044970200770724854,-0.043970211103650646,-0.04297026543231967,-0.04197036275121889,-0.040970502055223325,-0.03997068233958622,-0.038970902599931224,-0.03797116183224258,-0.03697145903285533,-0.03597179319844753,-0.034972163326030495,-0.03397256841293897,-0.03297300745682364,-0.031973479455640226,-0.03097398340764201,-0.029974518311370033,-0.028975083165643404,-0.02797567696955156,-0.026976298722444548,-0.025976947423923313,-0.02497762207383199,-0.023978321672248205,-0.022979045219473377,-0.021979791716025033,-0.020980560162627122,-0.01998134956020034,-0.018982158909854448,-0.017982987212878613,-0.01698383347073174,-0.0159846966850348,-0.014985575857561204,-0.013986469990227117,-0.01298737808508383,-0.011988299144308106,-0.010989232170192544,-0.009990176165138153,-0.008991130131643616,-0.007992093072297866,-0.0069930639897704625,-0.0059940418868019586,-0.004995025766196272,-0.0039960146308110605,-0.002997007483548096,-0.0019980033273456384,-0.000999001165168816,0.0,0.000999001165168705,0.0019980033273457494,0.002997007483548096,0.0039960146308109495,0.004995025766196383,0.0059940418868019586,0.0069930639897703515,0.007992093072297866,0.008991130131643616,0.009990176165138042,0.010989232170192544,0.011988299144308106,0.01298737808508394,0.013986469990227117,0.014985575857561204,0.01598469668503491,0.01698383347073174,0.017982987212878502,0.01898215890985456,0.01998134956020034,0.02098056016262701,0.021979791716025144,0.022979045219473377,0.023978321672248094,0.0249776220738321,0.025976947423923313,0.026976298722444437,0.02797567696955167,0.028975083165643404,0.02997451831136992,0.03097398340764201,0.031973479455640226,0.03297300745682352,0.03397256841293897,0.034972163326030495,0.03597179319844764,0.03697145903285533,0.03797116183224258,0.038970902599931335,0.03997068233958622,0.040970502055223214,0.041970362751219,0.04297026543231967,0.043970211103650535,0.044970200770724965,0.045970235439453194,0.0469703161161522,0.047970443807554525,0.048970619520817174,0.04997084426353146,0.05097111904373192,0.051971444869905195,0.05297182275099994,0.053972253696435636,0.05497273871611209,0.05597327882041827,0.05697387502024223,0.05797452832698012,0.05897523975254514,0.05997601030937757,0.06097684101045374,0.06197773286929508,0.06297868689997814,0.06397970411714367,0.06498078553600564,0.06598193217236137,0.06698314504260046,0.0679844251637145,0.06898577355330608,0.06998719122959889,0.07098867921144691,0.0719902385183436,0.07299187017043206,0.0739935751885142,0.07499535459406002,0.07599720940921788,0.07699914065682353,0.07800114936041003,0.07900323654421691,0.08000540323320046,0.08100765045304309,0.08200997923016265,0.0830123905917228,0.0840148855656424,0.08501746518060492,0.08602013046606885,0.08702288245227716,0.0880257221702667,0.08902865065187883,0.09003166892976863,0.09103477803741511,0.09203797900913062,0.09304127288007136,0.09404466068624705,0.09504814346453049,0.0960517222526682,0.09705539808929012,0.09805917201391921,0.09906304506698226,0.10006701828981936,0.10107109272469436,0.10207526941480442,0.10307954940429087,0.10408393373824901,0.10508842346273795,0.10609301962479149,0.10709772327242803,0.10810253545466048,0.10910745722150718,0.11011248962400197,0.11111763371420408,0.11212289054520921,0.11312826117115951,0.11413374664725415,0.11513934802975935,0.11614506637601954,0.11715090274446752,0.11815685819463459,0.11916293378716192,0.12016913058381061,0.12117544964747218,0.12218189204217972,0.12318845883311819,0.12419515108663536,0.1252019698702521,0.12620891625267378,0.1272159913038008,0.12822319609473898,0.12923053169781126,0.1302379991865681,0.13124559963579813,0.1322533341215399,0.13326120372109226,0.13426920951302546,0.13527735257719242,0.13628563399473978,0.13729405484811905,0.1383026162210973,0.1393113191987692,0.14032016486756782,0.1413291543152755,0.142338288631036,0.1433475689053654,0.14435699623016315,0.14536657169872416,0.14637629640574995,0.1473861714473601,0.14839619792110367,0.1494063769259711,0.15041670956240585,0.15142719693231538,0.15243784013908374,0.15344864028758287,0.1544595984841841,0.15547071583677058,0.1564819934547488,0.15749343244906022,0.15850503393219384,0.1595167990181977,0.16052872882269117,0.1615408244628766,0.16255308705755206,0.16356551772712316,0.16457811759361496,0.1655908877806848,0.16660382941363439,0.16761694361942164,0.16863023152667395,0.16964369426569992,0.17065733296850225,0.17167114876878975,0.17268514280199054,0.17369931620526444,0.1747136701175152,0.17572820567940392,0.17674292403336153,0.17775782632360118,0.17877291369613185,0.17978818729877094,0.18080364828115683,0.18181929779476258,0.18283513699290868,0.18385116703077625,0.18486738906541977,0.18588380425578116,0.18690041376270247,0.1879172187489391,0.18893422037917373,0.1899514198200295,0.19096881824008316,0.1919864168098793,0.1930042167019436,0.19402221909079623,0.19504042515296616,0.1960588360670046,0.19707745301349905,0.19809627717508665,0.199115309736469,0.20013455188442564,0.201154004807828,0.20217366969765407,0.20319354774700235,0.20421364015110574,0.2052339481073466,0.20625447281527062,0.20727521547660152,0.20829617729525524,0.209317359477355,0.21033876323124576,0.2113603897675086,0.21238224029897604,0.21340431604074675,0.21442661821019995,0.21544914802701123,0.2164719067131671,0.2174948954929799,0.21851811559310363,0.21954156824254875,0.22056525467269775,0.22158917611732007,0.2226133338125883,0.22363772899709336,0.22466236291185981,0.22568723680036218,0.2267123519085404,0.22773770948481536,0.2287633107801055,0.22978915704784222,0.23081524954398636,0.23184158952704378,0.23286817825808231,0.23389501700074772,0.2349221070212797,0.2359494495885291,0.236977045973974,0.23800489745173622,0.23903300529859842,0.24006137079402076,0.24108999522015737,0.24211887986187394,0.24314802600676436,0.24417743494516808,0.24520710797018683,0.24623704637770258,0.24726725146639467,0.2482977245377568,0.24932846689611549,0.25035947984864715,0.25139076470539556,0.2524223227792906,0.2534541553861653,0.25448626384477435,0.25551864947681185,0.25655131360693,0.25758425756275705,0.2586174826749154,0.25965099027704086,0.2606847817058007,0.26171885830091235,0.2627532214051623,0.2637878723644251,0.2648228125276819,0.26585804324704015,0.2668935658777522,0.2679293817782352,0.26896549231008954,0.2700018988381194,0.27103860273035196,0.27207560535805647,0.2731129080957651,0.27415051232129234,0.2751884194157547,0.27622663076359155,0.2772651477525849,0.27830397177387994,0.27934310422200515,0.2803825464948935,0.2814222999939029,0.2824623661238364,0.2835027462929642,0.28454344191304387,0.28558445439934177,0.2866257851706544,0.28766743564932995,0.288709407261289,0.28975170143604745,0.29079431960673724,0.29183726321012876,0.2928805336866524,0.2939241324804214,0.2949680610392535,0.2960123208146935,0.2970569132620358,0.29810183984034744,0.2991471020124899,0.3001927012451431,0.3012386390088278,0.3022849167779292,0.30333153603071944,0.3043784982493822,0.3054258049200356,0.3064734575327558,0.30752145758160127,0.30856980656463695,0.30961850598395746,0.31066755734571255,0.31171696216013106,0.312766721941545,0.3138168382084152,0.31486731248335564,0.3159181462931587,0.31696934116881986,0.3180208986455638,0.3190728202628696,0.32012510756449564,0.32117776209850674,0.32223078541729916,0.32328417907762685,0.32433794464062793,0.3253920836718513,0.3264465977412825,0.3275014884233713,0.3285567572970582,0.32961240594580166,0.3306684359576051,0.3317248489250447,0.33278164644529706,0.3338388301201662,0.33489640155611244,0.3359543623642803,0.33701271416052614,0.3380714585654476,0.3391305972044117,0.3401901317075838,0.3412500637099563,0.34231039485137865,0.3433711267765861,0.3444322611352291,0.34549379958190396,0.346555743776182,0.3476180953826397,0.34868085607088983,0.3497440275156114,0.35080761139658,0.3518716093986998,0.35293602321203393,0.3540008545318361,0.35506610505858177,0.3561317764980006,0.357197870561108,0.35826438896423707,0.3593313334290714,0.36039870568267784,0.36146650745753844,0.3625347404915844,0.3636034065282291,0.3646725073164013,0.36574204461057874,0.36681202017082276,0.36788243576281193,0.3689532931578762,0.3700245941330322,0.3710963404710175,0.372168533960326,0.373241176395243,0.3743142695758813,0.375387815308216,0.3764618154041217,0.37753627168140796,0.37861118596385634,0.37968656008125656,0.3807623958694443,0.38183869517033825,0.38291545983197706,0.3839926917085581,0.38507039266047494,0.3861485645543557,0.3872272092631019,0.3883063286659273,0.3893859246483969,0.3904659991024662,0.39154655392652143,0.3926275910254192,0.3937091123105264,0.3947911196997615,0.39587361511763486,0.39695660049528975,0.39804007777054423,0.3991240488879326,0.4002085157987472,0.401293480461081,0.40237894483987,0.40346491090693665,0.4045513806410319,0.40563835602788006,0.40672583906022197,0.40781383173785896,0.4089023360676978,0.4099913540637955,0.41108088774740376,0.4121709391470152,0.41326151029840885,0.41435260324469625,0.4154442200363678,0.41653636273133965,0.41762903339500124,0.4187222341002618,0.4198159669275994,0.4209102339651084,0.4220050373085479,0.4231003790613911,0.42419626133487454,0.42529268624804734,0.4263896559278217,0.4274871725090229,0.4285852381344405,0.4296838549548789,0.43078302512920946,0.4318827508244222,0.43298303421567785,0.4340838774863611,0.43518528282813357,0.43628725244098665,0.4373897885332965,0.4384928933218778,0.43959656903203853,0.4407008178976351,0.4418056421611282,0.44291104407363896,0.44401702589500464,0.4451235898938364,0.4462307383475764,0.44733847354255524,0.4484467977740505,0.4495557133463457,0.45066522257278857,0.4517753277758519,0.45288603128719246,0.4539973354477125,0.45510924260761987,0.45622175512649044,0.4573348753733296,0.4584486057266346,0.459562948574458,0.4606779063144711,0.4617934813540273,0.46290967611022754,0.4640264930099849,0.46514393449008967,0.4662620029972764,0.46738070098828965,0.46850003092995196,0.4696199952992304,0.47074059658330597,0.4718618372796419,0.47298371989605265,0.4741062469507745,0.47522942097253573,0.4763532445006274,0.4774777200849755,0.478602850286213,0.47972863767575274,0.48085508483586026,0.481982194359729,0.48310996885155405,0.4842384109266076,0.48536752321131504,0.4864973083433316,0.48762776897161897,0.48875890775652364,0.48989072736985545,0.49102323049496593,0.49215641982682923,0.49329029807212177,0.4944248679493038,0.49556013218870076,0.4966960935325865,0.4978327547352663,0.49897011856316015,0.5001081877948885,0.5012469652213571,0.5023864536458429,0.5035266558840813,0.5046675747643538,0.5058092131275761,0.5069515738273872,0.5080946597302399,0.509238473715491,0.5103830186754925,0.5115282975156844,0.5126743131546881,0.5138210685243991,0.514968566570083,0.5161168102504707,0.5172658025378539,0.5184155464181838,0.5195660448911682,0.5207173009703712,0.5218693176833121,0.5230220980715673,0.5241756451908712,0.5253299621112189,0.5264850519169699,0.5276409177069527,0.5287975625945691,0.5299549897079021,0.5311132021898222,0.5322722031980952,0.5334319959054927,0.5345925834999016,0.5357539691844349,0.5369161561775451,0.5380791477131365,0.5392429470406795,0.5404075574253273,0.5415729821480303,0.5427392245056551,0.543906287811103,0.5450741753934283,0.5462428905979614,0.5474124367864288,0.5485828173370768,0.5497540356447961,0.550926095121247,0.5520989991949854,0.5532727513115914,0.5544473549337979,0.5556228135416206,0.5567991306324896,0.5579763097213828,0.5591543543409581,0.5603332680416901,0.5615130543920069,0.562693716978426,0.5638752594056956,0.5650576852969338,0.5662409982937704,0.5674252020564915,0.5686103002641822,0.5697962966148741,0.570983194825692,0.5721709986330029,0.5733597117925664,0.5745493380796867,0.5757398812893654,0.5769313452364567,0.578123733755824,0.579317050702497,0.5805112999518315,0.5817064853996711,0.5829026109625086,0.5840996805776514,0.585297698203387,0.5864966678191499,0.5876965934256921,0.5888974790452535,0.5900993287217335,0.5913021465208683,0.5925059365304037,0.593710702860275,0.5949164496427874,0.5961231810327957,0.5973309012078896,0.5985396143685782,0.5997493247384773,0.6009600365644993,0.6021717541170437,0.6033844816901903,0.6045982236018952,0.6058129841941872,0.607028767833367,0.6082455789102096,0.6094634218401667,0.6106823010635722,0.6119022210458517,0.6131231862777304,0.6143452012754461,0.6155682705809642,0.6167923987621939,0.6180175904132068,0.6192438501544598,0.6204711826330169,0.6216995925227764,0.6229290845247005,0.6241596633670441,0.6253913338055901,0.6266241006238851,0.6278579686334778,0.6290929426741603,0.6303290276142127,0.6315662283506485,0.6328045498094647,0.6340439969458941,0.6352845747446592,0.6365262882202303,0.6377691424170868,0.6390131424099786,0.6402582933041947,0.6415046002358311,0.6427520683720631,0.6440007029114216,0.6452505090840711,0.6465014921520904,0.6477536574097598,0.6490070101838462,0.6502615558338962,0.6515172997525315,0.6527742473657443,0.654032404133201,0.6552917755485466,0.6565523671397124,0.6578141844692287,0.6590772331345401,0.6603415187683247,0.6616070470388172,0.6628738236501358,0.6641418543426121,0.6654111448931265,0.6666817011154459,0.667953528860566,0.6692266340170585,0.670501022511421,0.6717767003084312,0.6730536734115071,0.6743319478630698,0.6756115297449097,0.6768924251785609,0.6781746403256756,0.6794581813884062,0.6807430546097908,0.6820292662741431,0.6833168227074475,0.6846057302777607,0.6858959953956133,0.6871876245144225,0.6884806241309055,0.6897750007854997,0.6910707610627879,0.692367911591929,0.6936664590470933,0.694966410147904,0.6962677716598841,0.6975705503949083,0.6988747532116618,0.7001803870161036,0.7014874587619361,0.7027959754510815,0.704105944134163,0.7054173719109924,0.7067302659310658,0.708044633394062,0.7093604815503505,0.7106778177015058,0.7119966492008263,0.7133169834538612,0.7146388279189457,0.7159621901077402,0.717287077585779,0.7186134979730254,0.7199414589444331,0.7212709682305176,0.7226020336179326,0.7239346629500545,0.7252688641275769,0.7266046451091099,0.7279420139117897,0.7292809786118953,0.7306215473454748,0.7319637283089774,0.733307529759898,0.7346529600174271,0.7360000274631112,0.7373487405415221,0.7386991077609357,0.7400511376940184,0.7414048389785265,0.7427602203180108,0.7441172904825347,0.7454760583094013,0.7468365327038894,0.7481987226400011,0.7495626371612203,0.7509282853812803,0.752295676484944,0.7536648197287945,0.7550357244420359,0.7564084000273084,0.7577828559615116,0.7591591017966425,0.760537147160644,0.7619170017582668,0.7632986753719423,0.7646821778626701,0.7660675191709176,0.7674547093175317,0.7688437584046667,0.7702346766167232,0.771627474221302,0.7730221615701733,0.7744187491002581,0.7758172473346255,0.7772176668835068,0.7786200184453205,0.7800243128077174,0.7814305608486393,0.7828387735373927,0.7842489619357428,0.7856611371990196,0.7870753105772447,0.7884914934162732,0.7899096971589553,0.7913299333463135,0.7927522136187405,0.794176549717215,0.7956029534845354,0.7970314368665755,0.7984620119135583,0.799894690781349,0.8013294857327724,0.8027664091389473,0.8042054734806436,0.8056466913496645,0.8070900754502446,0.8085356386004762,0.8099833937337579,0.8114333539002636,0.8128855322684398,0.8143399421265254,0.8157965968840953,0.8172555100736338,0.8187166953521301,0.8201801665027013,0.8216459374362453,0.823114022193118,0.8245844349448406,0.8260571899958359,0.8275323017851943,0.8290097848884682,0.8304896540195004,0.8319719240322806,0.8334566099228361,0.8349437268311553,0.836433290043143,0.837925314992612,0.8394198172633089,0.8409168125909741,0.8424163168654404,0.8439183461327692,0.8454229165974212,0.8469300446244705,0.8484397467418556,0.8499520396426713,0.8514669401875039,0.8529844654068071,0.8545046325033211,0.856027458854538,0.8575529620152113,0.8590811597199106,0.860612069885627,0.8621457106144241,0.8636821001961392,0.8652212571111373,0.8667632000331139,0.8683079478319538,0.8698555195766425,0.8714059345382346,0.8729592121928769,0.8745153722248933,0.8760744345299268,0.8776364192181427,0.8792013466174959,0.8807692372770605,0.8823401119704268,0.8839139916991645,0.8854908976963537,0.8870708514301892,0.8886538746076547,0.8902399891782711,0.8918292173379226,0.8934215815327586,0.8950171044631753,0.8966158090878809,0.8982177186280424,0.899822856571519,0.9014312466771839,0.9030429129793366,0.9046578797922058,0.9062761717145504,0.9078978136343554,0.9095228307336282,0.9111512484932993,0.9127830926982257,0.9144183894423039,0.9160571651336941,0.9176994465001558,0.9193452605945043,0.920994634800184,0.9226475968369656,0.9243041747667716,0.9259643969996302,0.9276282922997624,0.9292958897918092,0.9309672189671974,0.9326423096906505,0.9343211922068511,0.9360038971472538,0.9376904555370577,0.9393808988023402,0.9410752587773583,0.9427735677120198,0.9444758582795338,0.9461821635842402,0.9478925171696273,0.9496069530265422,0.9513255056015988,0.9530482098057897,0.9547751010233079,0.9565062151205861,0.9582415884555576,0.9599812578871472,0.9617252607849983,0.9634736350394455,0.9652264190717365,0.9669836518445135,0.9687453728725639,0.9705116222338438,0.9722824405807872,0.9740578691519087,0.9758379497837084,0.9776227249228884,0.9794122376388932,0.9812065316367824,0.9830056512704457,0.9848096415561756,0.9866185481866043,0.9884324175450204,0.9902512967200783,0.99207523352091,0.9939042764926573,0.9957384749324355,0.997577878905745,0.999422539263346,1.0012725076586113,1.003127836565375,1.004988579296296,1.0068547900217493,1.0087265237892695,1.0106038365435648,1.0124867851471195,1.0143754274014085,1.0162698220687472,1.0181700288947968,1.0200761086317527,1.0219881230622394,1.0239061350239393,1.0258302084349817,1.027760408320124,1.029696800837751,1.0316394533077282,1.0335884342401398,1.0355438133649462,1.0375056616625966,1.0394740513956384,1.0414490561413576,1.0434307508254954,1.0454192117570842,1.047414516664447,1.0494167447324105,1.051425976640781,1.053442294604134,1.0554657824129778,1.057496525476343,1.0595346108658645,1.0615801273614163,1.0636331654983702,1.0656938176165434,1.0677621779109194,1.0698383424842102,1.0719224094013478,1.0740144787459958,1.0761146526791645,1.078223035500034,1.08033973370908,1.0824648560736225,1.0845985136958938,1.0867408200837618,1.0888918912242287,1.0910518456598368,1.0932208045681295,1.0953988918443147,1.09758623418729,1.099782961189197,1.1019892054286853,1.1042051025680784,1.106430791454633,1.1086664142261164,1.1109121164209215,1.1131680470929612,1.1154343589316003,1.1177112083868965,1.1199987558004396,1.1222971655420966,1.1246066061529973,1.126927250495105,1.1292592759077489,1.1316028643715241,1.133958202679977,1.136325482619542,1.138704901158211,1.141096660643472,1.1435009690100613,1.1459180399981466,1.148348093382581,1.150791355213921,1.153248058071959,1.1557184413325685,1.1582027514487312,1.1607012422466765,1.163214175238133,1.1657418199497878,1.1682844542711144,1.1708423648218431,1.1734158473404488,1.1760052070951352,1.178610759318937,1.1812328296706878,1.1838717547237592,1.1865278824846406,1.1892015729436234,1.191893198660044,1.1946031453847792,1.1973318127229282,1.2000796148399067,1.202846981214467,1.2056343574425212,1.2084422060960192,1.211271007641555,1.2141212614238637,1.2169934867198935,1.2198882238697495,1.2228060354914643,1.2257475077873226,1.2287132519503123,1.2317039056802441,1.2347201348201717,1.2377626351249937,1.2408321341755149,1.2439293934528648,1.2470552105900032,1.2502104218191397,1.2533959046363168,1.2566125807071742,1.259861419041125,1.263143439464876,1.266459716430528,1.269811383198515,1.2731996364414642,1.2766257413219422,1.2800910371050866,1.2835969433766377,1.287144966948134,1.2907367095444235,1.294373876384605,1.2980582857866687,1.3017918799491555,1.3055767370910711,1.3094150851651944,1.3133093174014112,1.3172620099876864,1.3212759422593074,1.3253541198454752,1.3294998013205406,1.3337165290310513,1.3380081649271909,1.3423789324287758,1.346833465616388,1.3513768673776474,1.3560147785854428,1.36075346097934,1.365599897221115,1.3705619126848532,1.3756483250462017,1.3808691298427809,1.3862357331782005,1.3917612470903578,1.3974608695309416,1.4033523806100368,1.409456801785667,1.41579928858909,1.4224103667424246,1.4293276883802393,1.4365986038030125,1.444284065703959,1.4524648214055167,1.4612517824148195,1.4708046382537716,1.4813684991694585,1.4933560117250577,1.5075718428025136,1.5260935891346763,1.5707963267948966],"x":[-2.0,-1.999000999000999,-1.998001998001998,-1.997002997002997,-1.996003996003996,-1.995004995004995,-1.994005994005994,-1.993006993006993,-1.992007992007992,-1.991008991008991,-1.99000999000999,-1.989010989010989,-1.988011988011988,-1.9870129870129871,-1.986013986013986,-1.985014985014985,-1.9840159840159841,-1.983016983016983,-1.982017982017982,-1.981018981018981,-1.98001998001998,-1.979020979020979,-1.978021978021978,-1.977022977022977,-1.976023976023976,-1.975024975024975,-1.974025974025974,-1.973026973026973,-1.972027972027972,-1.971028971028971,-1.97002997002997,-1.969030969030969,-1.968031968031968,-1.967032967032967,-1.966033966033966,-1.965034965034965,-1.9640359640359641,-1.963036963036963,-1.962037962037962,-1.9610389610389611,-1.96003996003996,-1.959040959040959,-1.9580419580419581,-1.957042957042957,-1.956043956043956,-1.9550449550449551,-1.954045954045954,-1.953046953046953,-1.9520479520479521,-1.951048951048951,-1.95004995004995,-1.949050949050949,-1.948051948051948,-1.947052947052947,-1.946053946053946,-1.945054945054945,-1.944055944055944,-1.943056943056943,-1.942057942057942,-1.9410589410589412,-1.94005994005994,-1.939060939060939,-1.9380619380619382,-1.937062937062937,-1.936063936063936,-1.9350649350649352,-1.934065934065934,-1.933066933066933,-1.9320679320679321,-1.931068931068931,-1.93006993006993,-1.9290709290709291,-1.928071928071928,-1.927072927072927,-1.9260739260739261,-1.925074925074925,-1.924075924075924,-1.9230769230769231,-1.922077922077922,-1.921078921078921,-1.9200799200799201,-1.919080919080919,-1.9180819180819182,-1.9170829170829171,-1.916083916083916,-1.9150849150849152,-1.914085914085914,-1.913086913086913,-1.9120879120879122,-1.911088911088911,-1.91008991008991,-1.9090909090909092,-1.908091908091908,-1.907092907092907,-1.9060939060939062,-1.905094905094905,-1.904095904095904,-1.9030969030969032,-1.902097902097902,-1.901098901098901,-1.9000999000999002,-1.899100899100899,-1.898101898101898,-1.8971028971028971,-1.896103896103896,-1.8951048951048952,-1.8941058941058941,-1.893106893106893,-1.8921078921078922,-1.8911088911088911,-1.89010989010989,-1.8891108891108892,-1.8881118881118881,-1.887112887112887,-1.8861138861138862,-1.8851148851148851,-1.884115884115884,-1.8831168831168832,-1.8821178821178821,-1.881118881118881,-1.8801198801198802,-1.879120879120879,-1.878121878121878,-1.8771228771228772,-1.876123876123876,-1.875124875124875,-1.8741258741258742,-1.873126873126873,-1.872127872127872,-1.8711288711288712,-1.87012987012987,-1.8691308691308692,-1.8681318681318682,-1.867132867132867,-1.8661338661338662,-1.8651348651348651,-1.864135864135864,-1.8631368631368632,-1.8621378621378621,-1.861138861138861,-1.8601398601398602,-1.8591408591408591,-1.858141858141858,-1.8571428571428572,-1.8561438561438561,-1.855144855144855,-1.8541458541458542,-1.8531468531468531,-1.852147852147852,-1.8511488511488512,-1.8501498501498501,-1.849150849150849,-1.8481518481518482,-1.847152847152847,-1.8461538461538463,-1.8451548451548452,-1.844155844155844,-1.8431568431568432,-1.8421578421578422,-1.841158841158841,-1.8401598401598402,-1.8391608391608392,-1.838161838161838,-1.8371628371628372,-1.8361638361638362,-1.835164835164835,-1.8341658341658342,-1.8331668331668332,-1.832167832167832,-1.8311688311688312,-1.8301698301698301,-1.829170829170829,-1.8281718281718282,-1.8271728271728271,-1.826173826173826,-1.8251748251748252,-1.8241758241758241,-1.8231768231768233,-1.8221778221778222,-1.8211788211788211,-1.8201798201798203,-1.8191808191808192,-1.8181818181818181,-1.8171828171828173,-1.8161838161838162,-1.8151848151848151,-1.8141858141858143,-1.8131868131868132,-1.812187812187812,-1.8111888111888113,-1.8101898101898102,-1.809190809190809,-1.8081918081918082,-1.8071928071928072,-1.806193806193806,-1.8051948051948052,-1.8041958041958042,-1.803196803196803,-1.8021978021978022,-1.8011988011988012,-1.8001998001998003,-1.7992007992007992,-1.7982017982017982,-1.7972027972027973,-1.7962037962037962,-1.7952047952047951,-1.7942057942057943,-1.7932067932067932,-1.7922077922077921,-1.7912087912087913,-1.7902097902097902,-1.7892107892107891,-1.7882117882117883,-1.7872127872127872,-1.7862137862137861,-1.7852147852147853,-1.7842157842157842,-1.7832167832167831,-1.7822177822177823,-1.7812187812187812,-1.7802197802197801,-1.7792207792207793,-1.7782217782217782,-1.7772227772227773,-1.7762237762237763,-1.7752247752247752,-1.7742257742257743,-1.7732267732267732,-1.7722277722277722,-1.7712287712287713,-1.7702297702297702,-1.7692307692307692,-1.7682317682317683,-1.7672327672327672,-1.7662337662337662,-1.7652347652347653,-1.7642357642357642,-1.7632367632367631,-1.7622377622377623,-1.7612387612387612,-1.7602397602397601,-1.7592407592407593,-1.7582417582417582,-1.7572427572427571,-1.7562437562437563,-1.7552447552447552,-1.7542457542457544,-1.7532467532467533,-1.7522477522477522,-1.7512487512487513,-1.7502497502497503,-1.7492507492507492,-1.7482517482517483,-1.7472527472527473,-1.7462537462537462,-1.7452547452547453,-1.7442557442557443,-1.7432567432567432,-1.7422577422577423,-1.7412587412587412,-1.7402597402597402,-1.7392607392607393,-1.7382617382617382,-1.7372627372627372,-1.7362637362637363,-1.7352647352647352,-1.7342657342657342,-1.7332667332667333,-1.7322677322677322,-1.7312687312687314,-1.7302697302697303,-1.7292707292707292,-1.7282717282717284,-1.7272727272727273,-1.7262737262737262,-1.7252747252747254,-1.7242757242757243,-1.7232767232767232,-1.7222777222777224,-1.7212787212787213,-1.7202797202797202,-1.7192807192807193,-1.7182817182817183,-1.7172827172827172,-1.7162837162837163,-1.7152847152847153,-1.7142857142857142,-1.7132867132867133,-1.7122877122877123,-1.7112887112887112,-1.7102897102897103,-1.7092907092907093,-1.7082917082917084,-1.7072927072927073,-1.7062937062937062,-1.7052947052947054,-1.7042957042957043,-1.7032967032967032,-1.7022977022977024,-1.7012987012987013,-1.7002997002997002,-1.6993006993006994,-1.6983016983016983,-1.6973026973026972,-1.6963036963036964,-1.6953046953046953,-1.6943056943056942,-1.6933066933066934,-1.6923076923076923,-1.6913086913086912,-1.6903096903096904,-1.6893106893106893,-1.6883116883116882,-1.6873126873126874,-1.6863136863136863,-1.6853146853146854,-1.6843156843156843,-1.6833166833166833,-1.6823176823176824,-1.6813186813186813,-1.6803196803196803,-1.6793206793206794,-1.6783216783216783,-1.6773226773226773,-1.6763236763236764,-1.6753246753246753,-1.6743256743256743,-1.6733266733266734,-1.6723276723276723,-1.6713286713286712,-1.6703296703296704,-1.6693306693306693,-1.6683316683316682,-1.6673326673326674,-1.6663336663336663,-1.6653346653346652,-1.6643356643356644,-1.6633366633366633,-1.6623376623376624,-1.6613386613386614,-1.6603396603396603,-1.6593406593406594,-1.6583416583416584,-1.6573426573426573,-1.6563436563436564,-1.6553446553446554,-1.6543456543456543,-1.6533466533466534,-1.6523476523476524,-1.6513486513486513,-1.6503496503496504,-1.6493506493506493,-1.6483516483516483,-1.6473526473526474,-1.6463536463536463,-1.6453546453546453,-1.6443556443556444,-1.6433566433566433,-1.6423576423576423,-1.6413586413586414,-1.6403596403596403,-1.6393606393606395,-1.6383616383616384,-1.6373626373626373,-1.6363636363636365,-1.6353646353646354,-1.6343656343656343,-1.6333666333666335,-1.6323676323676324,-1.6313686313686313,-1.6303696303696305,-1.6293706293706294,-1.6283716283716283,-1.6273726273726274,-1.6263736263736264,-1.6253746253746253,-1.6243756243756244,-1.6233766233766234,-1.6223776223776223,-1.6213786213786214,-1.6203796203796204,-1.6193806193806193,-1.6183816183816184,-1.6173826173826173,-1.6163836163836163,-1.6153846153846154,-1.6143856143856143,-1.6133866133866135,-1.6123876123876124,-1.6113886113886113,-1.6103896103896105,-1.6093906093906094,-1.6083916083916083,-1.6073926073926075,-1.6063936063936064,-1.6053946053946053,-1.6043956043956045,-1.6033966033966034,-1.6023976023976023,-1.6013986013986015,-1.6003996003996004,-1.5994005994005993,-1.5984015984015985,-1.5974025974025974,-1.5964035964035963,-1.5954045954045954,-1.5944055944055944,-1.5934065934065933,-1.5924075924075924,-1.5914085914085914,-1.5904095904095905,-1.5894105894105894,-1.5884115884115884,-1.5874125874125875,-1.5864135864135864,-1.5854145854145854,-1.5844155844155845,-1.5834165834165834,-1.5824175824175823,-1.5814185814185815,-1.5804195804195804,-1.5794205794205793,-1.5784215784215785,-1.5774225774225774,-1.5764235764235763,-1.5754245754245755,-1.5744255744255744,-1.5734265734265733,-1.5724275724275725,-1.5714285714285714,-1.5704295704295703,-1.5694305694305695,-1.5684315684315684,-1.5674325674325675,-1.5664335664335665,-1.5654345654345654,-1.5644355644355645,-1.5634365634365635,-1.5624375624375624,-1.5614385614385615,-1.5604395604395604,-1.5594405594405594,-1.5584415584415585,-1.5574425574425574,-1.5564435564435564,-1.5554445554445555,-1.5544455544455544,-1.5534465534465534,-1.5524475524475525,-1.5514485514485514,-1.5504495504495504,-1.5494505494505495,-1.5484515484515484,-1.5474525474525473,-1.5464535464535465,-1.5454545454545454,-1.5444555444555446,-1.5434565434565435,-1.5424575424575424,-1.5414585414585416,-1.5404595404595405,-1.5394605394605394,-1.5384615384615385,-1.5374625374625375,-1.5364635364635364,-1.5354645354645355,-1.5344655344655345,-1.5334665334665334,-1.5324675324675325,-1.5314685314685315,-1.5304695304695304,-1.5294705294705295,-1.5284715284715285,-1.5274725274725274,-1.5264735264735265,-1.5254745254745254,-1.5244755244755244,-1.5234765234765235,-1.5224775224775224,-1.5214785214785216,-1.5204795204795205,-1.5194805194805194,-1.5184815184815186,-1.5174825174825175,-1.5164835164835164,-1.5154845154845156,-1.5144855144855145,-1.5134865134865134,-1.5124875124875126,-1.5114885114885115,-1.5104895104895104,-1.5094905094905096,-1.5084915084915085,-1.5074925074925074,-1.5064935064935066,-1.5054945054945055,-1.5044955044955044,-1.5034965034965035,-1.5024975024975025,-1.5014985014985014,-1.5004995004995005,-1.4995004995004995,-1.4985014985014986,-1.4975024975024975,-1.4965034965034965,-1.4955044955044956,-1.4945054945054945,-1.4935064935064934,-1.4925074925074926,-1.4915084915084915,-1.4905094905094904,-1.4895104895104896,-1.4885114885114885,-1.4875124875124874,-1.4865134865134866,-1.4855144855144855,-1.4845154845154844,-1.4835164835164836,-1.4825174825174825,-1.4815184815184814,-1.4805194805194806,-1.4795204795204795,-1.4785214785214784,-1.4775224775224776,-1.4765234765234765,-1.4755244755244756,-1.4745254745254746,-1.4735264735264735,-1.4725274725274726,-1.4715284715284715,-1.4705294705294705,-1.4695304695304696,-1.4685314685314685,-1.4675324675324675,-1.4665334665334666,-1.4655344655344655,-1.4645354645354645,-1.4635364635364636,-1.4625374625374625,-1.4615384615384615,-1.4605394605394606,-1.4595404595404595,-1.4585414585414584,-1.4575424575424576,-1.4565434565434565,-1.4555444555444554,-1.4545454545454546,-1.4535464535464535,-1.4525474525474527,-1.4515484515484516,-1.4505494505494505,-1.4495504495504496,-1.4485514485514486,-1.4475524475524475,-1.4465534465534466,-1.4455544455544456,-1.4445554445554445,-1.4435564435564436,-1.4425574425574426,-1.4415584415584415,-1.4405594405594406,-1.4395604395604396,-1.4385614385614385,-1.4375624375624376,-1.4365634365634365,-1.4355644355644355,-1.4345654345654346,-1.4335664335664335,-1.4325674325674325,-1.4315684315684316,-1.4305694305694305,-1.4295704295704297,-1.4285714285714286,-1.4275724275724275,-1.4265734265734267,-1.4255744255744256,-1.4245754245754245,-1.4235764235764237,-1.4225774225774226,-1.4215784215784215,-1.4205794205794207,-1.4195804195804196,-1.4185814185814185,-1.4175824175824177,-1.4165834165834166,-1.4155844155844155,-1.4145854145854146,-1.4135864135864136,-1.4125874125874125,-1.4115884115884116,-1.4105894105894106,-1.4095904095904095,-1.4085914085914086,-1.4075924075924076,-1.4065934065934067,-1.4055944055944056,-1.4045954045954046,-1.4035964035964037,-1.4025974025974026,-1.4015984015984015,-1.4005994005994007,-1.3996003996003996,-1.3986013986013985,-1.3976023976023977,-1.3966033966033966,-1.3956043956043955,-1.3946053946053947,-1.3936063936063936,-1.3926073926073925,-1.3916083916083917,-1.3906093906093906,-1.3896103896103895,-1.3886113886113887,-1.3876123876123876,-1.3866133866133865,-1.3856143856143857,-1.3846153846153846,-1.3836163836163837,-1.3826173826173827,-1.3816183816183816,-1.3806193806193807,-1.3796203796203796,-1.3786213786213786,-1.3776223776223777,-1.3766233766233766,-1.3756243756243756,-1.3746253746253747,-1.3736263736263736,-1.3726273726273726,-1.3716283716283717,-1.3706293706293706,-1.3696303696303695,-1.3686313686313687,-1.3676323676323676,-1.3666333666333665,-1.3656343656343657,-1.3646353646353646,-1.3636363636363635,-1.3626373626373627,-1.3616383616383616,-1.3606393606393605,-1.3596403596403597,-1.3586413586413586,-1.3576423576423577,-1.3566433566433567,-1.3556443556443556,-1.3546453546453547,-1.3536463536463537,-1.3526473526473526,-1.3516483516483517,-1.3506493506493507,-1.3496503496503496,-1.3486513486513487,-1.3476523476523476,-1.3466533466533466,-1.3456543456543457,-1.3446553446553446,-1.3436563436563436,-1.3426573426573427,-1.3416583416583416,-1.3406593406593406,-1.3396603396603397,-1.3386613386613386,-1.3376623376623376,-1.3366633366633367,-1.3356643356643356,-1.3346653346653348,-1.3336663336663337,-1.3326673326673326,-1.3316683316683318,-1.3306693306693307,-1.3296703296703296,-1.3286713286713288,-1.3276723276723277,-1.3266733266733266,-1.3256743256743257,-1.3246753246753247,-1.3236763236763236,-1.3226773226773227,-1.3216783216783217,-1.3206793206793206,-1.3196803196803197,-1.3186813186813187,-1.3176823176823176,-1.3166833166833167,-1.3156843156843157,-1.3146853146853146,-1.3136863136863137,-1.3126873126873126,-1.3116883116883118,-1.3106893106893107,-1.3096903096903096,-1.3086913086913088,-1.3076923076923077,-1.3066933066933066,-1.3056943056943058,-1.3046953046953047,-1.3036963036963036,-1.3026973026973028,-1.3016983016983017,-1.3006993006993006,-1.2997002997002998,-1.2987012987012987,-1.2977022977022976,-1.2967032967032968,-1.2957042957042957,-1.2947052947052946,-1.2937062937062938,-1.2927072927072927,-1.2917082917082916,-1.2907092907092907,-1.2897102897102897,-1.2887112887112888,-1.2877122877122877,-1.2867132867132867,-1.2857142857142858,-1.2847152847152847,-1.2837162837162837,-1.2827172827172828,-1.2817182817182817,-1.2807192807192807,-1.2797202797202798,-1.2787212787212787,-1.2777222777222776,-1.2767232767232768,-1.2757242757242757,-1.2747252747252746,-1.2737262737262738,-1.2727272727272727,-1.2717282717282716,-1.2707292707292708,-1.2697302697302697,-1.2687312687312686,-1.2677322677322678,-1.2667332667332667,-1.2657342657342658,-1.2647352647352648,-1.2637362637362637,-1.2627372627372628,-1.2617382617382618,-1.2607392607392607,-1.2597402597402598,-1.2587412587412588,-1.2577422577422577,-1.2567432567432568,-1.2557442557442557,-1.2547452547452547,-1.2537462537462538,-1.2527472527472527,-1.2517482517482517,-1.2507492507492508,-1.2497502497502497,-1.2487512487512487,-1.2477522477522478,-1.2467532467532467,-1.2457542457542456,-1.2447552447552448,-1.2437562437562437,-1.2427572427572429,-1.2417582417582418,-1.2407592407592407,-1.2397602397602399,-1.2387612387612388,-1.2377622377622377,-1.2367632367632369,-1.2357642357642358,-1.2347652347652347,-1.2337662337662338,-1.2327672327672328,-1.2317682317682317,-1.2307692307692308,-1.2297702297702298,-1.2287712287712287,-1.2277722277722278,-1.2267732267732268,-1.2257742257742257,-1.2247752247752248,-1.2237762237762237,-1.2227772227772227,-1.2217782217782218,-1.2207792207792207,-1.2197802197802199,-1.2187812187812188,-1.2177822177822177,-1.2167832167832169,-1.2157842157842158,-1.2147852147852147,-1.2137862137862139,-1.2127872127872128,-1.2117882117882117,-1.2107892107892109,-1.2097902097902098,-1.2087912087912087,-1.2077922077922079,-1.2067932067932068,-1.2057942057942057,-1.2047952047952049,-1.2037962037962038,-1.2027972027972027,-1.2017982017982018,-1.2007992007992008,-1.1998001998001997,-1.1988011988011988,-1.1978021978021978,-1.196803196803197,-1.1958041958041958,-1.1948051948051948,-1.193806193806194,-1.1928071928071928,-1.1918081918081918,-1.190809190809191,-1.1898101898101898,-1.1888111888111887,-1.187812187812188,-1.1868131868131868,-1.1858141858141857,-1.1848151848151849,-1.1838161838161838,-1.1828171828171827,-1.1818181818181819,-1.1808191808191808,-1.1798201798201797,-1.1788211788211789,-1.1778221778221778,-1.1768231768231767,-1.1758241758241759,-1.1748251748251748,-1.173826173826174,-1.1728271728271729,-1.1718281718281718,-1.170829170829171,-1.1698301698301699,-1.1688311688311688,-1.167832167832168,-1.1668331668331668,-1.1658341658341658,-1.164835164835165,-1.1638361638361638,-1.1628371628371628,-1.161838161838162,-1.1608391608391608,-1.1598401598401598,-1.158841158841159,-1.1578421578421578,-1.1568431568431568,-1.155844155844156,-1.1548451548451548,-1.1538461538461537,-1.152847152847153,-1.1518481518481518,-1.150849150849151,-1.1498501498501499,-1.1488511488511488,-1.147852147852148,-1.1468531468531469,-1.1458541458541458,-1.144855144855145,-1.1438561438561439,-1.1428571428571428,-1.141858141858142,-1.1408591408591409,-1.1398601398601398,-1.138861138861139,-1.1378621378621379,-1.1368631368631368,-1.135864135864136,-1.1348651348651349,-1.1338661338661338,-1.132867132867133,-1.1318681318681318,-1.1308691308691308,-1.12987012987013,-1.1288711288711288,-1.127872127872128,-1.126873126873127,-1.1258741258741258,-1.124875124875125,-1.123876123876124,-1.1228771228771228,-1.121878121878122,-1.120879120879121,-1.1198801198801198,-1.118881118881119,-1.1178821178821179,-1.1168831168831168,-1.115884115884116,-1.1148851148851149,-1.1138861138861138,-1.112887112887113,-1.1118881118881119,-1.1108891108891108,-1.10989010989011,-1.1088911088911089,-1.1078921078921078,-1.106893106893107,-1.1058941058941059,-1.1048951048951048,-1.103896103896104,-1.1028971028971029,-1.101898101898102,-1.100899100899101,-1.0999000999000998,-1.098901098901099,-1.097902097902098,-1.0969030969030968,-1.095904095904096,-1.094905094905095,-1.0939060939060938,-1.092907092907093,-1.091908091908092,-1.0909090909090908,-1.08991008991009,-1.088911088911089,-1.0879120879120878,-1.086913086913087,-1.085914085914086,-1.0849150849150848,-1.083916083916084,-1.0829170829170829,-1.0819180819180818,-1.080919080919081,-1.0799200799200799,-1.078921078921079,-1.077922077922078,-1.0769230769230769,-1.075924075924076,-1.074925074925075,-1.0739260739260739,-1.072927072927073,-1.071928071928072,-1.0709290709290709,-1.06993006993007,-1.068931068931069,-1.0679320679320679,-1.066933066933067,-1.065934065934066,-1.0649350649350648,-1.063936063936064,-1.062937062937063,-1.0619380619380618,-1.060939060939061,-1.05994005994006,-1.0589410589410588,-1.057942057942058,-1.056943056943057,-1.055944055944056,-1.054945054945055,-1.053946053946054,-1.052947052947053,-1.051948051948052,-1.050949050949051,-1.04995004995005,-1.048951048951049,-1.0479520479520479,-1.046953046953047,-1.045954045954046,-1.0449550449550449,-1.043956043956044,-1.042957042957043,-1.0419580419580419,-1.040959040959041,-1.03996003996004,-1.0389610389610389,-1.037962037962038,-1.036963036963037,-1.0359640359640359,-1.034965034965035,-1.033966033966034,-1.032967032967033,-1.031968031968032,-1.030969030969031,-1.02997002997003,-1.028971028971029,-1.027972027972028,-1.026973026973027,-1.025974025974026,-1.024975024975025,-1.023976023976024,-1.022977022977023,-1.021978021978022,-1.020979020979021,-1.01998001998002,-1.018981018981019,-1.017982017982018,-1.016983016983017,-1.0159840159840159,-1.014985014985015,-1.013986013986014,-1.0129870129870129,-1.011988011988012,-1.010989010989011,-1.00999000999001,-1.008991008991009,-1.007992007992008,-1.006993006993007,-1.005994005994006,-1.004995004995005,-1.003996003996004,-1.002997002997003,-1.001998001998002,-1.000999000999001,-1.0,-0.999000999000999,-0.998001998001998,-0.997002997002997,-0.996003996003996,-0.995004995004995,-0.994005994005994,-0.993006993006993,-0.9920079920079921,-0.991008991008991,-0.99000999000999,-0.989010989010989,-0.988011988011988,-0.987012987012987,-0.986013986013986,-0.985014985014985,-0.984015984015984,-0.983016983016983,-0.9820179820179821,-0.981018981018981,-0.98001998001998,-0.9790209790209791,-0.978021978021978,-0.977022977022977,-0.9760239760239761,-0.975024975024975,-0.974025974025974,-0.973026973026973,-0.972027972027972,-0.971028971028971,-0.97002997002997,-0.9690309690309691,-0.968031968031968,-0.967032967032967,-0.9660339660339661,-0.965034965034965,-0.964035964035964,-0.9630369630369631,-0.962037962037962,-0.961038961038961,-0.9600399600399601,-0.9590409590409591,-0.958041958041958,-0.957042957042957,-0.9560439560439561,-0.955044955044955,-0.954045954045954,-0.9530469530469531,-0.952047952047952,-0.951048951048951,-0.9500499500499501,-0.949050949050949,-0.948051948051948,-0.9470529470529471,-0.9460539460539461,-0.945054945054945,-0.9440559440559441,-0.9430569430569431,-0.942057942057942,-0.9410589410589411,-0.9400599400599401,-0.939060939060939,-0.938061938061938,-0.9370629370629371,-0.936063936063936,-0.935064935064935,-0.9340659340659341,-0.9330669330669331,-0.932067932067932,-0.9310689310689311,-0.9300699300699301,-0.929070929070929,-0.9280719280719281,-0.9270729270729271,-0.926073926073926,-0.9250749250749251,-0.9240759240759241,-0.9230769230769231,-0.922077922077922,-0.9210789210789211,-0.9200799200799201,-0.919080919080919,-0.9180819180819181,-0.9170829170829171,-0.916083916083916,-0.9150849150849151,-0.9140859140859141,-0.913086913086913,-0.9120879120879121,-0.9110889110889111,-0.9100899100899101,-0.9090909090909091,-0.9080919080919081,-0.9070929070929071,-0.906093906093906,-0.9050949050949051,-0.9040959040959041,-0.903096903096903,-0.9020979020979021,-0.9010989010989011,-0.9000999000999002,-0.8991008991008991,-0.8981018981018981,-0.8971028971028971,-0.8961038961038961,-0.8951048951048951,-0.8941058941058941,-0.8931068931068931,-0.8921078921078921,-0.8911088911088911,-0.8901098901098901,-0.8891108891108891,-0.8881118881118881,-0.8871128871128872,-0.8861138861138861,-0.8851148851148851,-0.8841158841158842,-0.8831168831168831,-0.8821178821178821,-0.8811188811188811,-0.8801198801198801,-0.8791208791208791,-0.8781218781218781,-0.8771228771228772,-0.8761238761238761,-0.8751248751248751,-0.8741258741258742,-0.8731268731268731,-0.8721278721278721,-0.8711288711288712,-0.8701298701298701,-0.8691308691308691,-0.8681318681318682,-0.8671328671328671,-0.8661338661338661,-0.8651348651348651,-0.8641358641358642,-0.8631368631368631,-0.8621378621378621,-0.8611388611388612,-0.8601398601398601,-0.8591408591408591,-0.8581418581418582,-0.8571428571428571,-0.8561438561438561,-0.8551448551448552,-0.8541458541458542,-0.8531468531468531,-0.8521478521478522,-0.8511488511488512,-0.8501498501498501,-0.8491508491508492,-0.8481518481518482,-0.8471528471528471,-0.8461538461538461,-0.8451548451548452,-0.8441558441558441,-0.8431568431568431,-0.8421578421578422,-0.8411588411588412,-0.8401598401598401,-0.8391608391608392,-0.8381618381618382,-0.8371628371628371,-0.8361638361638362,-0.8351648351648352,-0.8341658341658341,-0.8331668331668332,-0.8321678321678322,-0.8311688311688312,-0.8301698301698301,-0.8291708291708292,-0.8281718281718282,-0.8271728271728271,-0.8261738261738262,-0.8251748251748252,-0.8241758241758241,-0.8231768231768232,-0.8221778221778222,-0.8211788211788211,-0.8201798201798202,-0.8191808191808192,-0.8181818181818182,-0.8171828171828172,-0.8161838161838162,-0.8151848151848152,-0.8141858141858141,-0.8131868131868132,-0.8121878121878122,-0.8111888111888111,-0.8101898101898102,-0.8091908091908092,-0.8081918081918081,-0.8071928071928072,-0.8061938061938062,-0.8051948051948052,-0.8041958041958042,-0.8031968031968032,-0.8021978021978022,-0.8011988011988012,-0.8001998001998002,-0.7992007992007992,-0.7982017982017982,-0.7972027972027972,-0.7962037962037962,-0.7952047952047953,-0.7942057942057942,-0.7932067932067932,-0.7922077922077922,-0.7912087912087912,-0.7902097902097902,-0.7892107892107892,-0.7882117882117882,-0.7872127872127872,-0.7862137862137862,-0.7852147852147852,-0.7842157842157842,-0.7832167832167832,-0.7822177822177823,-0.7812187812187812,-0.7802197802197802,-0.7792207792207793,-0.7782217782217782,-0.7772227772227772,-0.7762237762237763,-0.7752247752247752,-0.7742257742257742,-0.7732267732267732,-0.7722277722277723,-0.7712287712287712,-0.7702297702297702,-0.7692307692307693,-0.7682317682317682,-0.7672327672327672,-0.7662337662337663,-0.7652347652347652,-0.7642357642357642,-0.7632367632367633,-0.7622377622377622,-0.7612387612387612,-0.7602397602397603,-0.7592407592407593,-0.7582417582417582,-0.7572427572427572,-0.7562437562437563,-0.7552447552447552,-0.7542457542457542,-0.7532467532467533,-0.7522477522477522,-0.7512487512487512,-0.7502497502497503,-0.7492507492507493,-0.7482517482517482,-0.7472527472527473,-0.7462537462537463,-0.7452547452547452,-0.7442557442557443,-0.7432567432567433,-0.7422577422577422,-0.7412587412587412,-0.7402597402597403,-0.7392607392607392,-0.7382617382617382,-0.7372627372627373,-0.7362637362637363,-0.7352647352647352,-0.7342657342657343,-0.7332667332667333,-0.7322677322677322,-0.7312687312687313,-0.7302697302697303,-0.7292707292707292,-0.7282717282717283,-0.7272727272727273,-0.7262737262737263,-0.7252747252747253,-0.7242757242757243,-0.7232767232767233,-0.7222777222777222,-0.7212787212787213,-0.7202797202797203,-0.7192807192807192,-0.7182817182817183,-0.7172827172827173,-0.7162837162837162,-0.7152847152847153,-0.7142857142857143,-0.7132867132867133,-0.7122877122877123,-0.7112887112887113,-0.7102897102897103,-0.7092907092907093,-0.7082917082917083,-0.7072927072927073,-0.7062937062937062,-0.7052947052947053,-0.7042957042957043,-0.7032967032967034,-0.7022977022977023,-0.7012987012987013,-0.7002997002997003,-0.6993006993006993,-0.6983016983016983,-0.6973026973026973,-0.6963036963036963,-0.6953046953046953,-0.6943056943056943,-0.6933066933066933,-0.6923076923076923,-0.6913086913086913,-0.6903096903096904,-0.6893106893106893,-0.6883116883116883,-0.6873126873126874,-0.6863136863136863,-0.6853146853146853,-0.6843156843156843,-0.6833166833166833,-0.6823176823176823,-0.6813186813186813,-0.6803196803196803,-0.6793206793206793,-0.6783216783216783,-0.6773226773226774,-0.6763236763236763,-0.6753246753246753,-0.6743256743256744,-0.6733266733266733,-0.6723276723276723,-0.6713286713286714,-0.6703296703296703,-0.6693306693306693,-0.6683316683316683,-0.6673326673326674,-0.6663336663336663,-0.6653346653346653,-0.6643356643356644,-0.6633366633366633,-0.6623376623376623,-0.6613386613386614,-0.6603396603396603,-0.6593406593406593,-0.6583416583416584,-0.6573426573426573,-0.6563436563436563,-0.6553446553446554,-0.6543456543456544,-0.6533466533466533,-0.6523476523476524,-0.6513486513486514,-0.6503496503496503,-0.6493506493506493,-0.6483516483516484,-0.6473526473526473,-0.6463536463536463,-0.6453546453546454,-0.6443556443556444,-0.6433566433566433,-0.6423576423576424,-0.6413586413586414,-0.6403596403596403,-0.6393606393606394,-0.6383616383616384,-0.6373626373626373,-0.6363636363636364,-0.6353646353646354,-0.6343656343656343,-0.6333666333666333,-0.6323676323676324,-0.6313686313686314,-0.6303696303696303,-0.6293706293706294,-0.6283716283716284,-0.6273726273726273,-0.6263736263736264,-0.6253746253746254,-0.6243756243756243,-0.6233766233766234,-0.6223776223776224,-0.6213786213786214,-0.6203796203796204,-0.6193806193806194,-0.6183816183816184,-0.6173826173826173,-0.6163836163836164,-0.6153846153846154,-0.6143856143856143,-0.6133866133866134,-0.6123876123876124,-0.6113886113886113,-0.6103896103896104,-0.6093906093906094,-0.6083916083916084,-0.6073926073926074,-0.6063936063936064,-0.6053946053946054,-0.6043956043956044,-0.6033966033966034,-0.6023976023976024,-0.6013986013986014,-0.6003996003996004,-0.5994005994005994,-0.5984015984015985,-0.5974025974025974,-0.5964035964035964,-0.5954045954045954,-0.5944055944055944,-0.5934065934065934,-0.5924075924075924,-0.5914085914085914,-0.5904095904095904,-0.5894105894105894,-0.5884115884115884,-0.5874125874125874,-0.5864135864135864,-0.5854145854145855,-0.5844155844155844,-0.5834165834165834,-0.5824175824175825,-0.5814185814185814,-0.5804195804195804,-0.5794205794205795,-0.5784215784215784,-0.5774225774225774,-0.5764235764235764,-0.5754245754245755,-0.5744255744255744,-0.5734265734265734,-0.5724275724275725,-0.5714285714285714,-0.5704295704295704,-0.5694305694305695,-0.5684315684315684,-0.5674325674325674,-0.5664335664335665,-0.5654345654345654,-0.5644355644355644,-0.5634365634365635,-0.5624375624375625,-0.5614385614385614,-0.5604395604395604,-0.5594405594405595,-0.5584415584415584,-0.5574425574425574,-0.5564435564435565,-0.5554445554445554,-0.5544455544455544,-0.5534465534465535,-0.5524475524475524,-0.5514485514485514,-0.5504495504495505,-0.5494505494505495,-0.5484515484515484,-0.5474525474525475,-0.5464535464535465,-0.5454545454545454,-0.5444555444555444,-0.5434565434565435,-0.5424575424575424,-0.5414585414585414,-0.5404595404595405,-0.5394605394605395,-0.5384615384615384,-0.5374625374625375,-0.5364635364635365,-0.5354645354645354,-0.5344655344655345,-0.5334665334665335,-0.5324675324675324,-0.5314685314685315,-0.5304695304695305,-0.5294705294705294,-0.5284715284715285,-0.5274725274725275,-0.5264735264735265,-0.5254745254745254,-0.5244755244755245,-0.5234765234765235,-0.5224775224775224,-0.5214785214785215,-0.5204795204795205,-0.5194805194805194,-0.5184815184815185,-0.5174825174825175,-0.5164835164835165,-0.5154845154845155,-0.5144855144855145,-0.5134865134865135,-0.5124875124875125,-0.5114885114885115,-0.5104895104895105,-0.5094905094905094,-0.5084915084915085,-0.5074925074925075,-0.5064935064935064,-0.5054945054945055,-0.5044955044955045,-0.5034965034965035,-0.5024975024975025,-0.5014985014985015,-0.5004995004995005,-0.4995004995004995,-0.4985014985014985,-0.4975024975024975,-0.4965034965034965,-0.4955044955044955,-0.4945054945054945,-0.4935064935064935,-0.4925074925074925,-0.4915084915084915,-0.4905094905094905,-0.48951048951048953,-0.4885114885114885,-0.4875124875124875,-0.4865134865134865,-0.4855144855144855,-0.48451548451548454,-0.4835164835164835,-0.4825174825174825,-0.48151848151848153,-0.4805194805194805,-0.47952047952047955,-0.4785214785214785,-0.4775224775224775,-0.47652347652347654,-0.4755244755244755,-0.4745254745254745,-0.47352647352647353,-0.4725274725274725,-0.47152847152847155,-0.47052947052947053,-0.4695304695304695,-0.46853146853146854,-0.4675324675324675,-0.46653346653346656,-0.46553446553446554,-0.4645354645354645,-0.46353646353646355,-0.46253746253746253,-0.46153846153846156,-0.46053946053946054,-0.4595404595404595,-0.45854145854145856,-0.45754245754245754,-0.4565434565434565,-0.45554445554445555,-0.45454545454545453,-0.45354645354645357,-0.45254745254745254,-0.4515484515484515,-0.45054945054945056,-0.44955044955044954,-0.4485514485514486,-0.44755244755244755,-0.44655344655344653,-0.44555444555444557,-0.44455544455544455,-0.4435564435564436,-0.44255744255744256,-0.44155844155844154,-0.4405594405594406,-0.43956043956043955,-0.4385614385614386,-0.43756243756243757,-0.43656343656343655,-0.4355644355644356,-0.43456543456543456,-0.43356643356643354,-0.4325674325674326,-0.43156843156843155,-0.4305694305694306,-0.42957042957042957,-0.42857142857142855,-0.4275724275724276,-0.42657342657342656,-0.4255744255744256,-0.4245754245754246,-0.42357642357642356,-0.4225774225774226,-0.42157842157842157,-0.4205794205794206,-0.4195804195804196,-0.41858141858141856,-0.4175824175824176,-0.4165834165834166,-0.4155844155844156,-0.4145854145854146,-0.41358641358641357,-0.4125874125874126,-0.4115884115884116,-0.41058941058941056,-0.4095904095904096,-0.4085914085914086,-0.4075924075924076,-0.4065934065934066,-0.40559440559440557,-0.4045954045954046,-0.4035964035964036,-0.4025974025974026,-0.4015984015984016,-0.4005994005994006,-0.3996003996003996,-0.3986013986013986,-0.39760239760239763,-0.3966033966033966,-0.3956043956043956,-0.3946053946053946,-0.3936063936063936,-0.3926073926073926,-0.3916083916083916,-0.3906093906093906,-0.38961038961038963,-0.3886113886113886,-0.3876123876123876,-0.3866133866133866,-0.3856143856143856,-0.38461538461538464,-0.3836163836163836,-0.3826173826173826,-0.38161838161838163,-0.3806193806193806,-0.37962037962037964,-0.3786213786213786,-0.3776223776223776,-0.37662337662337664,-0.3756243756243756,-0.37462537462537465,-0.37362637362637363,-0.3726273726273726,-0.37162837162837165,-0.3706293706293706,-0.3696303696303696,-0.36863136863136864,-0.3676323676323676,-0.36663336663336665,-0.36563436563436563,-0.3646353646353646,-0.36363636363636365,-0.3626373626373626,-0.36163836163836166,-0.36063936063936064,-0.3596403596403596,-0.35864135864135865,-0.35764235764235763,-0.35664335664335667,-0.35564435564435565,-0.3546453546453546,-0.35364635364635366,-0.35264735264735264,-0.3516483516483517,-0.35064935064935066,-0.34965034965034963,-0.34865134865134867,-0.34765234765234765,-0.34665334665334663,-0.34565434565434566,-0.34465534465534464,-0.3436563436563437,-0.34265734265734266,-0.34165834165834164,-0.34065934065934067,-0.33966033966033965,-0.3386613386613387,-0.33766233766233766,-0.33666333666333664,-0.3356643356643357,-0.33466533466533466,-0.3336663336663337,-0.33266733266733267,-0.33166833166833165,-0.3306693306693307,-0.32967032967032966,-0.32867132867132864,-0.3276723276723277,-0.32667332667332666,-0.3256743256743257,-0.3246753246753247,-0.32367632367632365,-0.3226773226773227,-0.32167832167832167,-0.3206793206793207,-0.3196803196803197,-0.31868131868131866,-0.3176823176823177,-0.3166833166833167,-0.3156843156843157,-0.3146853146853147,-0.31368631368631367,-0.3126873126873127,-0.3116883116883117,-0.3106893106893107,-0.3096903096903097,-0.3086913086913087,-0.3076923076923077,-0.3066933066933067,-0.30569430569430567,-0.3046953046953047,-0.3036963036963037,-0.3026973026973027,-0.3016983016983017,-0.3006993006993007,-0.2997002997002997,-0.2987012987012987,-0.2977022977022977,-0.2967032967032967,-0.2957042957042957,-0.2947052947052947,-0.2937062937062937,-0.29270729270729273,-0.2917082917082917,-0.2907092907092907,-0.2897102897102897,-0.2887112887112887,-0.28771228771228774,-0.2867132867132867,-0.2857142857142857,-0.28471528471528473,-0.2837162837162837,-0.2827172827172827,-0.2817182817182817,-0.2807192807192807,-0.27972027972027974,-0.2787212787212787,-0.2777222777222777,-0.27672327672327673,-0.2757242757242757,-0.27472527472527475,-0.27372627372627373,-0.2727272727272727,-0.27172827172827174,-0.2707292707292707,-0.26973026973026976,-0.26873126873126874,-0.2677322677322677,-0.26673326673326675,-0.26573426573426573,-0.2647352647352647,-0.26373626373626374,-0.2627372627372627,-0.26173826173826176,-0.26073926073926074,-0.2597402597402597,-0.25874125874125875,-0.25774225774225773,-0.25674325674325676,-0.25574425574425574,-0.2547452547452547,-0.25374625374625376,-0.25274725274725274,-0.2517482517482518,-0.25074925074925075,-0.24975024975024976,-0.24875124875124874,-0.24775224775224775,-0.24675324675324675,-0.24575424575424576,-0.24475524475524477,-0.24375624375624375,-0.24275724275724275,-0.24175824175824176,-0.24075924075924077,-0.23976023976023977,-0.23876123876123875,-0.23776223776223776,-0.23676323676323677,-0.23576423576423577,-0.23476523476523475,-0.23376623376623376,-0.23276723276723277,-0.23176823176823177,-0.23076923076923078,-0.22977022977022976,-0.22877122877122877,-0.22777222777222778,-0.22677322677322678,-0.22577422577422576,-0.22477522477522477,-0.22377622377622378,-0.22277722277722278,-0.2217782217782218,-0.22077922077922077,-0.21978021978021978,-0.21878121878121878,-0.2177822177822178,-0.21678321678321677,-0.21578421578421578,-0.21478521478521478,-0.2137862137862138,-0.2127872127872128,-0.21178821178821178,-0.21078921078921078,-0.2097902097902098,-0.2087912087912088,-0.2077922077922078,-0.20679320679320679,-0.2057942057942058,-0.2047952047952048,-0.2037962037962038,-0.20279720279720279,-0.2017982017982018,-0.2007992007992008,-0.1998001998001998,-0.19880119880119881,-0.1978021978021978,-0.1968031968031968,-0.1958041958041958,-0.19480519480519481,-0.1938061938061938,-0.1928071928071928,-0.1918081918081918,-0.19080919080919082,-0.18981018981018982,-0.1888111888111888,-0.1878121878121878,-0.18681318681318682,-0.18581418581418582,-0.1848151848151848,-0.1838161838161838,-0.18281718281718282,-0.18181818181818182,-0.18081918081918083,-0.1798201798201798,-0.17882117882117882,-0.17782217782217782,-0.17682317682317683,-0.17582417582417584,-0.17482517482517482,-0.17382617382617382,-0.17282717282717283,-0.17182817182817184,-0.17082917082917082,-0.16983016983016982,-0.16883116883116883,-0.16783216783216784,-0.16683316683316685,-0.16583416583416583,-0.16483516483516483,-0.16383616383616384,-0.16283716283716285,-0.16183816183816183,-0.16083916083916083,-0.15984015984015984,-0.15884115884115885,-0.15784215784215785,-0.15684315684315683,-0.15584415584415584,-0.15484515484515485,-0.15384615384615385,-0.15284715284715283,-0.15184815184815184,-0.15084915084915085,-0.14985014985014986,-0.14885114885114886,-0.14785214785214784,-0.14685314685314685,-0.14585414585414586,-0.14485514485514486,-0.14385614385614387,-0.14285714285714285,-0.14185814185814186,-0.14085914085914086,-0.13986013986013987,-0.13886113886113885,-0.13786213786213786,-0.13686313686313686,-0.13586413586413587,-0.13486513486513488,-0.13386613386613386,-0.13286713286713286,-0.13186813186813187,-0.13086913086913088,-0.12987012987012986,-0.12887112887112886,-0.12787212787212787,-0.12687312687312688,-0.1258741258741259,-0.12487512487512488,-0.12387612387612387,-0.12287712287712288,-0.12187812187812187,-0.12087912087912088,-0.11988011988011989,-0.11888111888111888,-0.11788211788211789,-0.11688311688311688,-0.11588411588411589,-0.11488511488511488,-0.11388611388611389,-0.11288711288711288,-0.11188811188811189,-0.1108891108891109,-0.10989010989010989,-0.1088911088911089,-0.10789210789210789,-0.1068931068931069,-0.10589410589410589,-0.1048951048951049,-0.1038961038961039,-0.1028971028971029,-0.1018981018981019,-0.1008991008991009,-0.0999000999000999,-0.0989010989010989,-0.0979020979020979,-0.0969030969030969,-0.0959040959040959,-0.09490509490509491,-0.0939060939060939,-0.09290709290709291,-0.0919080919080919,-0.09090909090909091,-0.0899100899100899,-0.08891108891108891,-0.08791208791208792,-0.08691308691308691,-0.08591408591408592,-0.08491508491508491,-0.08391608391608392,-0.08291708291708291,-0.08191808191808192,-0.08091908091908091,-0.07992007992007992,-0.07892107892107893,-0.07792207792207792,-0.07692307692307693,-0.07592407592407592,-0.07492507492507493,-0.07392607392607392,-0.07292707292707293,-0.07192807192807193,-0.07092907092907093,-0.06993006993006994,-0.06893106893106893,-0.06793206793206794,-0.06693306693306693,-0.06593406593406594,-0.06493506493506493,-0.06393606393606394,-0.06293706293706294,-0.061938061938061936,-0.060939060939060936,-0.059940059940059943,-0.058941058941058944,-0.057942057942057944,-0.056943056943056944,-0.055944055944055944,-0.054945054945054944,-0.053946053946053944,-0.052947052947052944,-0.05194805194805195,-0.05094905094905095,-0.04995004995004995,-0.04895104895104895,-0.04795204795204795,-0.04695304695304695,-0.04595404595404595,-0.04495504495504495,-0.04395604395604396,-0.04295704295704296,-0.04195804195804196,-0.04095904095904096,-0.03996003996003996,-0.03896103896103896,-0.03796203796203796,-0.03696303696303696,-0.03596403596403597,-0.03496503496503497,-0.03396603396603397,-0.03296703296703297,-0.03196803196803197,-0.030969030969030968,-0.029970029970029972,-0.028971028971028972,-0.027972027972027972,-0.026973026973026972,-0.025974025974025976,-0.024975024975024976,-0.023976023976023976,-0.022977022977022976,-0.02197802197802198,-0.02097902097902098,-0.01998001998001998,-0.01898101898101898,-0.017982017982017984,-0.016983016983016984,-0.015984015984015984,-0.014985014985014986,-0.013986013986013986,-0.012987012987012988,-0.011988011988011988,-0.01098901098901099,-0.00999000999000999,-0.008991008991008992,-0.007992007992007992,-0.006993006993006993,-0.005994005994005994,-0.004995004995004995,-0.003996003996003996,-0.002997002997002997,-0.001998001998001998,-0.000999000999000999,0.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/runner.jl new file mode 100644 index 00000000000..046aa5c847f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/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 = asin.( 1.0 .+ 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 decimal values: +x = range( -2.0, stop = 0.0, length = 2003 ); +gen( x, "data.json" ); + +# Generate fixture data for small negative values: +x = range( -1e-20, stop = -1e-28, length = 2003 ); +gen( x, "small_negative.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/small_negative.json b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/small_negative.json new file mode 100644 index 00000000000..d064c55f8d7 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/fixtures/julia/small_negative.json @@ -0,0 +1 @@ +{"expected":[1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966,1.5707963267948966],"x":[-1.0e-20,-9.995004995054944e-21,-9.99000999010989e-21,-9.985014985164834e-21,-9.98001998021978e-21,-9.975024975274724e-21,-9.97002997032967e-21,-9.965034965384615e-21,-9.960039960439559e-21,-9.955044955494505e-21,-9.95004995054945e-21,-9.945054945604395e-21,-9.94005994065934e-21,-9.935064935714286e-21,-9.93006993076923e-21,-9.925074925824176e-21,-9.92007992087912e-21,-9.915084915934065e-21,-9.91008991098901e-21,-9.905094906043955e-21,-9.900099901098901e-21,-9.895104896153845e-21,-9.890109891208791e-21,-9.885114886263736e-21,-9.88011988131868e-21,-9.875124876373626e-21,-9.87012987142857e-21,-9.865134866483516e-21,-9.86013986153846e-21,-9.855144856593407e-21,-9.850149851648351e-21,-9.845154846703297e-21,-9.840159841758241e-21,-9.835164836813186e-21,-9.830169831868132e-21,-9.825174826923076e-21,-9.820179821978022e-21,-9.815184817032966e-21,-9.810189812087912e-21,-9.805194807142857e-21,-9.800199802197801e-21,-9.795204797252747e-21,-9.790209792307691e-21,-9.785214787362637e-21,-9.780219782417582e-21,-9.775224777472528e-21,-9.770229772527472e-21,-9.765234767582416e-21,-9.760239762637362e-21,-9.755244757692307e-21,-9.750249752747253e-21,-9.745254747802197e-21,-9.740259742857143e-21,-9.735264737912087e-21,-9.730269732967033e-21,-9.725274728021978e-21,-9.720279723076922e-21,-9.715284718131868e-21,-9.710289713186812e-21,-9.705294708241758e-21,-9.700299703296703e-21,-9.695304698351648e-21,-9.690309693406593e-21,-9.685314688461537e-21,-9.680319683516483e-21,-9.675324678571428e-21,-9.670329673626373e-21,-9.665334668681318e-21,-9.660339663736264e-21,-9.655344658791208e-21,-9.650349653846154e-21,-9.645354648901098e-21,-9.640359643956043e-21,-9.635364639010989e-21,-9.630369634065933e-21,-9.625374629120879e-21,-9.620379624175823e-21,-9.61538461923077e-21,-9.610389614285714e-21,-9.605394609340658e-21,-9.600399604395604e-21,-9.595404599450548e-21,-9.590409594505494e-21,-9.585414589560439e-21,-9.580419584615385e-21,-9.575424579670329e-21,-9.570429574725273e-21,-9.56543456978022e-21,-9.560439564835164e-21,-9.55544455989011e-21,-9.550449554945054e-21,-9.54545455e-21,-9.540459545054944e-21,-9.53546454010989e-21,-9.530469535164835e-21,-9.525474530219779e-21,-9.520479525274725e-21,-9.51548452032967e-21,-9.510489515384615e-21,-9.50549451043956e-21,-9.500499505494506e-21,-9.49550450054945e-21,-9.490509495604394e-21,-9.48551449065934e-21,-9.480519485714285e-21,-9.47552448076923e-21,-9.470529475824175e-21,-9.465534470879121e-21,-9.460539465934065e-21,-9.455544460989011e-21,-9.450549456043956e-21,-9.4455544510989e-21,-9.440559446153846e-21,-9.43556444120879e-21,-9.430569436263736e-21,-9.42557443131868e-21,-9.420579426373627e-21,-9.415584421428571e-21,-9.410589416483515e-21,-9.405594411538461e-21,-9.400599406593406e-21,-9.395604401648352e-21,-9.390609396703296e-21,-9.385614391758242e-21,-9.380619386813186e-21,-9.37562438186813e-21,-9.370629376923077e-21,-9.365634371978021e-21,-9.360639367032967e-21,-9.355644362087911e-21,-9.350649357142857e-21,-9.345654352197802e-21,-9.340659347252747e-21,-9.335664342307692e-21,-9.330669337362636e-21,-9.325674332417582e-21,-9.320679327472527e-21,-9.315684322527472e-21,-9.310689317582417e-21,-9.305694312637363e-21,-9.300699307692307e-21,-9.295704302747252e-21,-9.290709297802197e-21,-9.285714292857142e-21,-9.280719287912088e-21,-9.275724282967032e-21,-9.270729278021978e-21,-9.265734273076922e-21,-9.260739268131868e-21,-9.255744263186813e-21,-9.250749258241757e-21,-9.245754253296703e-21,-9.240759248351647e-21,-9.235764243406593e-21,-9.230769238461538e-21,-9.225774233516484e-21,-9.220779228571428e-21,-9.215784223626372e-21,-9.210789218681318e-21,-9.205794213736263e-21,-9.200799208791209e-21,-9.195804203846153e-21,-9.190809198901099e-21,-9.185814193956043e-21,-9.180819189010988e-21,-9.175824184065934e-21,-9.170829179120878e-21,-9.165834174175824e-21,-9.160839169230768e-21,-9.155844164285714e-21,-9.150849159340659e-21,-9.145854154395605e-21,-9.140859149450549e-21,-9.135864144505493e-21,-9.13086913956044e-21,-9.125874134615384e-21,-9.12087912967033e-21,-9.115884124725274e-21,-9.11088911978022e-21,-9.105894114835164e-21,-9.100899109890109e-21,-9.095904104945055e-21,-9.090909099999999e-21,-9.085914095054945e-21,-9.08091909010989e-21,-9.075924085164835e-21,-9.07092908021978e-21,-9.065934075274725e-21,-9.06093907032967e-21,-9.055944065384614e-21,-9.05094906043956e-21,-9.045954055494505e-21,-9.04095905054945e-21,-9.035964045604395e-21,-9.030969040659341e-21,-9.025974035714285e-21,-9.02097903076923e-21,-9.015984025824176e-21,-9.01098902087912e-21,-9.005994015934066e-21,-9.00099901098901e-21,-8.996004006043956e-21,-8.9910090010989e-21,-8.986013996153845e-21,-8.981018991208791e-21,-8.976023986263735e-21,-8.971028981318681e-21,-8.966033976373626e-21,-8.961038971428571e-21,-8.956043966483516e-21,-8.951048961538462e-21,-8.946053956593406e-21,-8.94105895164835e-21,-8.936063946703296e-21,-8.931068941758241e-21,-8.926073936813187e-21,-8.921078931868131e-21,-8.916083926923077e-21,-8.911088921978021e-21,-8.906093917032966e-21,-8.901098912087912e-21,-8.896103907142856e-21,-8.891108902197802e-21,-8.886113897252746e-21,-8.881118892307692e-21,-8.876123887362637e-21,-8.871128882417583e-21,-8.866133877472527e-21,-8.861138872527471e-21,-8.856143867582417e-21,-8.851148862637362e-21,-8.846153857692308e-21,-8.841158852747252e-21,-8.836163847802198e-21,-8.831168842857142e-21,-8.826173837912087e-21,-8.821178832967033e-21,-8.816183828021977e-21,-8.811188823076923e-21,-8.806193818131867e-21,-8.801198813186813e-21,-8.796203808241758e-21,-8.791208803296704e-21,-8.786213798351648e-21,-8.781218793406592e-21,-8.776223788461538e-21,-8.771228783516483e-21,-8.766233778571429e-21,-8.761238773626373e-21,-8.756243768681319e-21,-8.751248763736263e-21,-8.746253758791208e-21,-8.741258753846154e-21,-8.736263748901098e-21,-8.731268743956044e-21,-8.726273739010988e-21,-8.721278734065934e-21,-8.716283729120879e-21,-8.711288724175823e-21,-8.706293719230769e-21,-8.701298714285713e-21,-8.696303709340659e-21,-8.691308704395604e-21,-8.68631369945055e-21,-8.681318694505494e-21,-8.67632368956044e-21,-8.671328684615384e-21,-8.666333679670329e-21,-8.661338674725274e-21,-8.656343669780219e-21,-8.651348664835165e-21,-8.646353659890109e-21,-8.641358654945055e-21,-8.63636365e-21,-8.631368645054944e-21,-8.62637364010989e-21,-8.621378635164834e-21,-8.61638363021978e-21,-8.611388625274725e-21,-8.60639362032967e-21,-8.601398615384615e-21,-8.59640361043956e-21,-8.591408605494505e-21,-8.58641360054945e-21,-8.581418595604395e-21,-8.57642359065934e-21,-8.571428585714286e-21,-8.56643358076923e-21,-8.561438575824176e-21,-8.55644357087912e-21,-8.551448565934065e-21,-8.54645356098901e-21,-8.541458556043955e-21,-8.536463551098901e-21,-8.531468546153845e-21,-8.526473541208791e-21,-8.521478536263736e-21,-8.51648353131868e-21,-8.511488526373626e-21,-8.50649352142857e-21,-8.501498516483516e-21,-8.49650351153846e-21,-8.491508506593407e-21,-8.486513501648351e-21,-8.481518496703297e-21,-8.476523491758241e-21,-8.471528486813186e-21,-8.466533481868132e-21,-8.461538476923076e-21,-8.456543471978022e-21,-8.451548467032966e-21,-8.446553462087912e-21,-8.441558457142857e-21,-8.436563452197801e-21,-8.431568447252747e-21,-8.426573442307691e-21,-8.421578437362637e-21,-8.416583432417582e-21,-8.411588427472528e-21,-8.406593422527472e-21,-8.401598417582418e-21,-8.396603412637362e-21,-8.391608407692307e-21,-8.386613402747253e-21,-8.381618397802197e-21,-8.376623392857143e-21,-8.371628387912087e-21,-8.366633382967033e-21,-8.361638378021978e-21,-8.356643373076922e-21,-8.351648368131868e-21,-8.346653363186812e-21,-8.341658358241758e-21,-8.336663353296703e-21,-8.331668348351648e-21,-8.326673343406593e-21,-8.321678338461537e-21,-8.316683333516483e-21,-8.311688328571428e-21,-8.306693323626373e-21,-8.301698318681318e-21,-8.296703313736264e-21,-8.291708308791208e-21,-8.286713303846154e-21,-8.281718298901098e-21,-8.276723293956043e-21,-8.271728289010989e-21,-8.266733284065933e-21,-8.261738279120879e-21,-8.256743274175823e-21,-8.25174826923077e-21,-8.246753264285714e-21,-8.241758259340658e-21,-8.236763254395604e-21,-8.231768249450549e-21,-8.226773244505494e-21,-8.221778239560439e-21,-8.216783234615385e-21,-8.211788229670329e-21,-8.206793224725275e-21,-8.20179821978022e-21,-8.196803214835164e-21,-8.19180820989011e-21,-8.186813204945054e-21,-8.1818182e-21,-8.176823195054944e-21,-8.17182819010989e-21,-8.166833185164835e-21,-8.161838180219779e-21,-8.156843175274725e-21,-8.15184817032967e-21,-8.146853165384615e-21,-8.14185816043956e-21,-8.136863155494506e-21,-8.13186815054945e-21,-8.126873145604394e-21,-8.12187814065934e-21,-8.116883135714285e-21,-8.11188813076923e-21,-8.106893125824175e-21,-8.101898120879121e-21,-8.096903115934065e-21,-8.091908110989011e-21,-8.086913106043956e-21,-8.0819181010989e-21,-8.076923096153846e-21,-8.07192809120879e-21,-8.066933086263736e-21,-8.06193808131868e-21,-8.056943076373627e-21,-8.051948071428571e-21,-8.046953066483515e-21,-8.041958061538461e-21,-8.036963056593406e-21,-8.031968051648352e-21,-8.026973046703296e-21,-8.021978041758242e-21,-8.016983036813186e-21,-8.011988031868132e-21,-8.006993026923077e-21,-8.001998021978021e-21,-7.997003017032967e-21,-7.992008012087911e-21,-7.987013007142857e-21,-7.982018002197802e-21,-7.977022997252747e-21,-7.972027992307692e-21,-7.967032987362636e-21,-7.962037982417582e-21,-7.957042977472527e-21,-7.952047972527472e-21,-7.947052967582417e-21,-7.942057962637363e-21,-7.937062957692307e-21,-7.932067952747252e-21,-7.927072947802197e-21,-7.922077942857142e-21,-7.917082937912088e-21,-7.912087932967032e-21,-7.907092928021978e-21,-7.902097923076922e-21,-7.897102918131868e-21,-7.892107913186813e-21,-7.887112908241757e-21,-7.882117903296703e-21,-7.877122898351647e-21,-7.872127893406593e-21,-7.867132888461538e-21,-7.862137883516484e-21,-7.857142878571428e-21,-7.852147873626373e-21,-7.847152868681318e-21,-7.842157863736263e-21,-7.837162858791209e-21,-7.832167853846153e-21,-7.827172848901099e-21,-7.822177843956043e-21,-7.81718283901099e-21,-7.812187834065934e-21,-7.807192829120878e-21,-7.802197824175824e-21,-7.797202819230768e-21,-7.792207814285714e-21,-7.787212809340659e-21,-7.782217804395605e-21,-7.777222799450549e-21,-7.772227794505493e-21,-7.76723278956044e-21,-7.762237784615384e-21,-7.75724277967033e-21,-7.752247774725274e-21,-7.74725276978022e-21,-7.742257764835164e-21,-7.737262759890109e-21,-7.732267754945055e-21,-7.727272749999999e-21,-7.722277745054945e-21,-7.71728274010989e-21,-7.712287735164835e-21,-7.70729273021978e-21,-7.702297725274726e-21,-7.69730272032967e-21,-7.692307715384614e-21,-7.68731271043956e-21,-7.682317705494505e-21,-7.67732270054945e-21,-7.672327695604395e-21,-7.667332690659341e-21,-7.662337685714285e-21,-7.65734268076923e-21,-7.652347675824176e-21,-7.64735267087912e-21,-7.642357665934066e-21,-7.63736266098901e-21,-7.632367656043956e-21,-7.6273726510989e-21,-7.622377646153846e-21,-7.617382641208791e-21,-7.612387636263735e-21,-7.607392631318681e-21,-7.602397626373626e-21,-7.597402621428571e-21,-7.592407616483516e-21,-7.587412611538462e-21,-7.582417606593406e-21,-7.57742260164835e-21,-7.572427596703296e-21,-7.567432591758241e-21,-7.562437586813187e-21,-7.557442581868131e-21,-7.552447576923077e-21,-7.547452571978021e-21,-7.542457567032966e-21,-7.537462562087912e-21,-7.532467557142856e-21,-7.527472552197802e-21,-7.522477547252746e-21,-7.517482542307692e-21,-7.512487537362637e-21,-7.507492532417583e-21,-7.502497527472527e-21,-7.497502522527471e-21,-7.492507517582417e-21,-7.487512512637362e-21,-7.482517507692308e-21,-7.477522502747252e-21,-7.472527497802198e-21,-7.467532492857142e-21,-7.462537487912087e-21,-7.457542482967033e-21,-7.452547478021977e-21,-7.447552473076923e-21,-7.442557468131867e-21,-7.437562463186813e-21,-7.432567458241758e-21,-7.427572453296704e-21,-7.422577448351648e-21,-7.417582443406592e-21,-7.412587438461538e-21,-7.407592433516483e-21,-7.402597428571429e-21,-7.397602423626373e-21,-7.392607418681319e-21,-7.387612413736263e-21,-7.382617408791208e-21,-7.377622403846154e-21,-7.372627398901098e-21,-7.367632393956044e-21,-7.362637389010988e-21,-7.357642384065934e-21,-7.352647379120879e-21,-7.347652374175823e-21,-7.342657369230769e-21,-7.337662364285713e-21,-7.332667359340659e-21,-7.327672354395604e-21,-7.32267734945055e-21,-7.317682344505494e-21,-7.31268733956044e-21,-7.307692334615384e-21,-7.302697329670329e-21,-7.297702324725275e-21,-7.292707319780219e-21,-7.287712314835165e-21,-7.282717309890109e-21,-7.277722304945055e-21,-7.2727273e-21,-7.267732295054944e-21,-7.26273729010989e-21,-7.257742285164834e-21,-7.25274728021978e-21,-7.247752275274725e-21,-7.24275727032967e-21,-7.237762265384615e-21,-7.232767260439561e-21,-7.227772255494505e-21,-7.22277725054945e-21,-7.217782245604395e-21,-7.21278724065934e-21,-7.207792235714286e-21,-7.20279723076923e-21,-7.197802225824176e-21,-7.19280722087912e-21,-7.187812215934065e-21,-7.182817210989011e-21,-7.177822206043955e-21,-7.172827201098901e-21,-7.167832196153845e-21,-7.162837191208791e-21,-7.157842186263736e-21,-7.15284718131868e-21,-7.147852176373626e-21,-7.14285717142857e-21,-7.137862166483516e-21,-7.132867161538461e-21,-7.127872156593407e-21,-7.122877151648351e-21,-7.117882146703297e-21,-7.112887141758241e-21,-7.107892136813186e-21,-7.102897131868132e-21,-7.097902126923076e-21,-7.092907121978022e-21,-7.087912117032966e-21,-7.082917112087912e-21,-7.077922107142857e-21,-7.072927102197801e-21,-7.067932097252747e-21,-7.062937092307691e-21,-7.057942087362637e-21,-7.052947082417582e-21,-7.047952077472528e-21,-7.042957072527472e-21,-7.037962067582418e-21,-7.032967062637362e-21,-7.027972057692307e-21,-7.022977052747253e-21,-7.017982047802197e-21,-7.012987042857143e-21,-7.007992037912087e-21,-7.002997032967033e-21,-6.998002028021978e-21,-6.993007023076922e-21,-6.988012018131868e-21,-6.983017013186812e-21,-6.978022008241758e-21,-6.973027003296703e-21,-6.968031998351649e-21,-6.963036993406593e-21,-6.958041988461537e-21,-6.953046983516483e-21,-6.948051978571428e-21,-6.943056973626374e-21,-6.938061968681318e-21,-6.933066963736264e-21,-6.928071958791208e-21,-6.923076953846154e-21,-6.918081948901099e-21,-6.913086943956043e-21,-6.908091939010989e-21,-6.903096934065933e-21,-6.898101929120879e-21,-6.893106924175824e-21,-6.88811191923077e-21,-6.883116914285714e-21,-6.878121909340658e-21,-6.873126904395604e-21,-6.868131899450549e-21,-6.863136894505494e-21,-6.858141889560439e-21,-6.853146884615385e-21,-6.848151879670329e-21,-6.843156874725275e-21,-6.83816186978022e-21,-6.833166864835164e-21,-6.82817185989011e-21,-6.823176854945054e-21,-6.81818185e-21,-6.813186845054944e-21,-6.80819184010989e-21,-6.803196835164835e-21,-6.798201830219779e-21,-6.793206825274725e-21,-6.78821182032967e-21,-6.783216815384615e-21,-6.77822181043956e-21,-6.773226805494505e-21,-6.76823180054945e-21,-6.763236795604395e-21,-6.7582417906593404e-21,-6.7532467857142855e-21,-6.748251780769231e-21,-6.743256775824175e-21,-6.73826177087912e-21,-6.7332667659340654e-21,-6.7282717609890105e-21,-6.723276756043956e-21,-6.718281751098901e-21,-6.713286746153846e-21,-6.708291741208791e-21,-6.7032967362637355e-21,-6.698301731318681e-21,-6.693306726373626e-21,-6.688311721428571e-21,-6.683316716483516e-21,-6.678321711538461e-21,-6.6733267065934065e-21,-6.6683317016483516e-21,-6.663336696703296e-21,-6.658341691758241e-21,-6.653346686813186e-21,-6.6483516818681315e-21,-6.6433566769230766e-21,-6.638361671978022e-21,-6.633366667032967e-21,-6.628371662087912e-21,-6.6233766571428565e-21,-6.6183816521978016e-21,-6.613386647252747e-21,-6.608391642307692e-21,-6.603396637362637e-21,-6.598401632417582e-21,-6.593406627472527e-21,-6.5884116225274725e-21,-6.583416617582417e-21,-6.578421612637362e-21,-6.573426607692307e-21,-6.5684316027472524e-21,-6.5634365978021975e-21,-6.558441592857143e-21,-6.553446587912088e-21,-6.548451582967032e-21,-6.5434565780219774e-21,-6.5384615730769225e-21,-6.533466568131868e-21,-6.528471563186813e-21,-6.523476558241758e-21,-6.518481553296703e-21,-6.513486548351648e-21,-6.508491543406593e-21,-6.503496538461538e-21,-6.498501533516483e-21,-6.493506528571428e-21,-6.488511523626373e-21,-6.4835165186813185e-21,-6.4785215137362636e-21,-6.473526508791209e-21,-6.468531503846153e-21,-6.463536498901098e-21,-6.4585414939560435e-21,-6.4535464890109886e-21,-6.448551484065934e-21,-6.443556479120879e-21,-6.438561474175824e-21,-6.433566469230769e-21,-6.4285714642857136e-21,-6.423576459340659e-21,-6.418581454395604e-21,-6.413586449450549e-21,-6.408591444505494e-21,-6.403596439560439e-21,-6.3986014346153845e-21,-6.39360642967033e-21,-6.388611424725274e-21,-6.383616419780219e-21,-6.3786214148351644e-21,-6.3736264098901095e-21,-6.368631404945055e-21,-6.3636364e-21,-6.358641395054945e-21,-6.3536463901098894e-21,-6.3486513851648345e-21,-6.34365638021978e-21,-6.338661375274725e-21,-6.33366637032967e-21,-6.328671365384615e-21,-6.32367636043956e-21,-6.3186813554945054e-21,-6.31368635054945e-21,-6.308691345604395e-21,-6.30369634065934e-21,-6.298701335714285e-21,-6.2937063307692305e-21,-6.2887113258241756e-21,-6.283716320879121e-21,-6.278721315934066e-21,-6.27372631098901e-21,-6.2687313060439555e-21,-6.2637363010989006e-21,-6.258741296153846e-21,-6.253746291208791e-21,-6.248751286263736e-21,-6.243756281318681e-21,-6.238761276373626e-21,-6.233766271428571e-21,-6.228771266483516e-21,-6.223776261538461e-21,-6.218781256593406e-21,-6.213786251648351e-21,-6.2087912467032965e-21,-6.203796241758242e-21,-6.198801236813187e-21,-6.193806231868131e-21,-6.1888112269230764e-21,-6.1838162219780215e-21,-6.178821217032967e-21,-6.173826212087912e-21,-6.168831207142857e-21,-6.163836202197802e-21,-6.158841197252747e-21,-6.153846192307692e-21,-6.148851187362637e-21,-6.143856182417582e-21,-6.138861177472527e-21,-6.133866172527472e-21,-6.1288711675824174e-21,-6.1238761626373626e-21,-6.118881157692307e-21,-6.113886152747252e-21,-6.108891147802197e-21,-6.1038961428571425e-21,-6.0989011379120876e-21,-6.093906132967033e-21,-6.088911128021978e-21,-6.083916123076923e-21,-6.0789211181318675e-21,-6.0739261131868126e-21,-6.068931108241758e-21,-6.063936103296703e-21,-6.058941098351648e-21,-6.053946093406593e-21,-6.048951088461538e-21,-6.0439560835164835e-21,-6.038961078571428e-21,-6.033966073626373e-21,-6.028971068681318e-21,-6.023976063736263e-21,-6.0189810587912085e-21,-6.013986053846154e-21,-6.008991048901099e-21,-6.003996043956044e-21,-5.9990010390109884e-21,-5.9940060340659335e-21,-5.989011029120879e-21,-5.984016024175824e-21,-5.979021019230769e-21,-5.974026014285714e-21,-5.969031009340659e-21,-5.9640360043956044e-21,-5.959040999450549e-21,-5.954045994505494e-21,-5.949050989560439e-21,-5.944055984615384e-21,-5.9390609796703294e-21,-5.9340659747252746e-21,-5.92907096978022e-21,-5.924075964835164e-21,-5.919080959890109e-21,-5.9140859549450544e-21,-5.9090909499999996e-21,-5.904095945054945e-21,-5.89910094010989e-21,-5.894105935164835e-21,-5.88911093021978e-21,-5.8841159252747246e-21,-5.87912092032967e-21,-5.874125915384615e-21,-5.86913091043956e-21,-5.864135905494505e-21,-5.85914090054945e-21,-5.8541458956043955e-21,-5.849150890659341e-21,-5.844155885714285e-21,-5.83916088076923e-21,-5.834165875824175e-21,-5.8291708708791205e-21,-5.824175865934066e-21,-5.819180860989011e-21,-5.814185856043956e-21,-5.809190851098901e-21,-5.8041958461538455e-21,-5.799200841208791e-21,-5.794205836263736e-21,-5.789210831318681e-21,-5.784215826373626e-21,-5.779220821428571e-21,-5.7742258164835164e-21,-5.7692308115384616e-21,-5.764235806593406e-21,-5.759240801648351e-21,-5.754245796703296e-21,-5.7492507917582414e-21,-5.7442557868131866e-21,-5.739260781868132e-21,-5.734265776923077e-21,-5.729270771978021e-21,-5.7242757670329664e-21,-5.7192807620879116e-21,-5.714285757142857e-21,-5.709290752197802e-21,-5.704295747252747e-21,-5.699300742307692e-21,-5.694305737362637e-21,-5.689310732417582e-21,-5.684315727472527e-21,-5.679320722527472e-21,-5.674325717582417e-21,-5.669330712637362e-21,-5.6643357076923075e-21,-5.659340702747253e-21,-5.654345697802198e-21,-5.649350692857142e-21,-5.644355687912087e-21,-5.6393606829670325e-21,-5.634365678021978e-21,-5.629370673076923e-21,-5.624375668131868e-21,-5.619380663186813e-21,-5.614385658241758e-21,-5.609390653296703e-21,-5.604395648351648e-21,-5.599400643406593e-21,-5.594405638461538e-21,-5.589410633516483e-21,-5.5844156285714284e-21,-5.5794206236263736e-21,-5.574425618681319e-21,-5.569430613736263e-21,-5.564435608791208e-21,-5.5594406038461534e-21,-5.5544455989010986e-21,-5.549450593956044e-21,-5.544455589010989e-21,-5.539460584065934e-21,-5.5344655791208784e-21,-5.5294705741758236e-21,-5.524475569230769e-21,-5.519480564285714e-21,-5.514485559340659e-21,-5.509490554395604e-21,-5.504495549450549e-21,-5.4995005445054945e-21,-5.494505539560439e-21,-5.489510534615384e-21,-5.484515529670329e-21,-5.479520524725274e-21,-5.4745255197802195e-21,-5.469530514835165e-21,-5.46453550989011e-21,-5.459540504945055e-21,-5.454545499999999e-21,-5.4495504950549445e-21,-5.44455549010989e-21,-5.439560485164835e-21,-5.43456548021978e-21,-5.429570475274725e-21,-5.42457547032967e-21,-5.4195804653846154e-21,-5.41458546043956e-21,-5.409590455494505e-21,-5.40459545054945e-21,-5.399600445604395e-21,-5.3946054406593404e-21,-5.3896104357142856e-21,-5.384615430769231e-21,-5.379620425824176e-21,-5.37462542087912e-21,-5.3696304159340654e-21,-5.3646354109890106e-21,-5.359640406043956e-21,-5.354645401098901e-21,-5.349650396153846e-21,-5.344655391208791e-21,-5.3396603862637356e-21,-5.334665381318681e-21,-5.329670376373626e-21,-5.324675371428571e-21,-5.319680366483516e-21,-5.314685361538461e-21,-5.3096903565934065e-21,-5.304695351648352e-21,-5.299700346703296e-21,-5.294705341758241e-21,-5.289710336813186e-21,-5.2847153318681315e-21,-5.279720326923077e-21,-5.274725321978022e-21,-5.269730317032967e-21,-5.264735312087912e-21,-5.2597403071428565e-21,-5.254745302197802e-21,-5.249750297252747e-21,-5.244755292307692e-21,-5.239760287362637e-21,-5.234765282417582e-21,-5.2297702774725274e-21,-5.2247752725274726e-21,-5.219780267582417e-21,-5.214785262637362e-21,-5.209790257692307e-21,-5.2047952527472524e-21,-5.1998002478021976e-21,-5.194805242857143e-21,-5.189810237912088e-21,-5.184815232967033e-21,-5.1798202280219774e-21,-5.1748252230769226e-21,-5.169830218131868e-21,-5.164835213186813e-21,-5.159840208241758e-21,-5.154845203296703e-21,-5.149850198351648e-21,-5.1448551934065935e-21,-5.139860188461538e-21,-5.134865183516483e-21,-5.129870178571428e-21,-5.124875173626373e-21,-5.1198801686813185e-21,-5.114885163736264e-21,-5.109890158791209e-21,-5.104895153846153e-21,-5.099900148901098e-21,-5.0949051439560435e-21,-5.089910139010989e-21,-5.084915134065934e-21,-5.079920129120879e-21,-5.074925124175824e-21,-5.069930119230769e-21,-5.064935114285714e-21,-5.059940109340659e-21,-5.054945104395604e-21,-5.049950099450549e-21,-5.044955094505494e-21,-5.0399600895604394e-21,-5.0349650846153846e-21,-5.02997007967033e-21,-5.024975074725274e-21,-5.019980069780219e-21,-5.0149850648351644e-21,-5.0099900598901096e-21,-5.004995054945055e-21,-5.00000005e-21,-4.995005045054945e-21,-4.99001004010989e-21,-4.9850150351648346e-21,-4.98002003021978e-21,-4.975025025274725e-21,-4.97003002032967e-21,-4.965035015384615e-21,-4.96004001043956e-21,-4.9550450054945055e-21,-4.950050000549451e-21,-4.945054995604395e-21,-4.94005999065934e-21,-4.935064985714285e-21,-4.9300699807692305e-21,-4.925074975824176e-21,-4.920079970879121e-21,-4.915084965934066e-21,-4.91008996098901e-21,-4.9050949560439555e-21,-4.900099951098901e-21,-4.895104946153846e-21,-4.890109941208791e-21,-4.885114936263736e-21,-4.880119931318681e-21,-4.8751249263736264e-21,-4.870129921428571e-21,-4.865134916483516e-21,-4.860139911538461e-21,-4.855144906593406e-21,-4.8501499016483514e-21,-4.8451548967032966e-21,-4.840159891758242e-21,-4.835164886813187e-21,-4.830169881868131e-21,-4.8251748769230764e-21,-4.8201798719780216e-21,-4.815184867032967e-21,-4.810189862087912e-21,-4.805194857142857e-21,-4.800199852197802e-21,-4.795204847252747e-21,-4.790209842307692e-21,-4.785214837362637e-21,-4.780219832417582e-21,-4.775224827472527e-21,-4.770229822527472e-21,-4.7652348175824175e-21,-4.760239812637363e-21,-4.755244807692308e-21,-4.750249802747252e-21,-4.745254797802197e-21,-4.7402597928571425e-21,-4.735264787912088e-21,-4.730269782967033e-21,-4.725274778021978e-21,-4.720279773076923e-21,-4.7152847681318675e-21,-4.710289763186813e-21,-4.705294758241758e-21,-4.700299753296703e-21,-4.695304748351648e-21,-4.690309743406593e-21,-4.6853147384615384e-21,-4.6803197335164836e-21,-4.675324728571428e-21,-4.670329723626373e-21,-4.665334718681318e-21,-4.6603397137362634e-21,-4.6553447087912086e-21,-4.650349703846154e-21,-4.645354698901099e-21,-4.640359693956044e-21,-4.6353646890109884e-21,-4.6303696840659336e-21,-4.625374679120879e-21,-4.620379674175824e-21,-4.615384669230769e-21,-4.610389664285714e-21,-4.605394659340659e-21,-4.6003996543956045e-21,-4.595404649450549e-21,-4.590409644505494e-21,-4.585414639560439e-21,-4.580419634615384e-21,-4.5754246296703295e-21,-4.570429624725275e-21,-4.56543461978022e-21,-4.560439614835165e-21,-4.555444609890109e-21,-4.5504496049450545e-21,-4.5454546e-21,-4.540459595054945e-21,-4.53546459010989e-21,-4.530469585164835e-21,-4.52547458021978e-21,-4.520479575274725e-21,-4.51548457032967e-21,-4.510489565384615e-21,-4.50549456043956e-21,-4.500499555494505e-21,-4.4955045505494504e-21,-4.4905095456043956e-21,-4.485514540659341e-21,-4.480519535714285e-21,-4.47552453076923e-21,-4.4705295258241754e-21,-4.4655345208791206e-21,-4.460539515934066e-21,-4.455544510989011e-21,-4.450549506043956e-21,-4.445554501098901e-21,-4.4405594961538456e-21,-4.435564491208791e-21,-4.430569486263736e-21,-4.425574481318681e-21,-4.420579476373626e-21,-4.415584471428571e-21,-4.4105894664835165e-21,-4.405594461538462e-21,-4.400599456593406e-21,-4.395604451648351e-21,-4.390609446703296e-21,-4.3856144417582415e-21,-4.380619436813187e-21,-4.375624431868132e-21,-4.370629426923077e-21,-4.365634421978022e-21,-4.3606394170329665e-21,-4.355644412087912e-21,-4.350649407142857e-21,-4.345654402197802e-21,-4.340659397252747e-21,-4.335664392307692e-21,-4.3306693873626374e-21,-4.325674382417582e-21,-4.320679377472527e-21,-4.315684372527472e-21,-4.310689367582417e-21,-4.3056943626373624e-21,-4.3006993576923076e-21,-4.295704352747253e-21,-4.290709347802198e-21,-4.285714342857142e-21,-4.2807193379120874e-21,-4.2757243329670326e-21,-4.270729328021978e-21,-4.265734323076923e-21,-4.260739318131868e-21,-4.255744313186813e-21,-4.250749308241758e-21,-4.245754303296703e-21,-4.240759298351648e-21,-4.235764293406593e-21,-4.230769288461538e-21,-4.225774283516483e-21,-4.2207792785714285e-21,-4.215784273626374e-21,-4.210789268681319e-21,-4.205794263736263e-21,-4.200799258791208e-21,-4.1958042538461535e-21,-4.190809248901099e-21,-4.185814243956044e-21,-4.180819239010989e-21,-4.175824234065934e-21,-4.170829229120879e-21,-4.165834224175824e-21,-4.160839219230769e-21,-4.155844214285714e-21,-4.150849209340659e-21,-4.145854204395604e-21,-4.1408591994505494e-21,-4.1358641945054946e-21,-4.13086918956044e-21,-4.125874184615384e-21,-4.120879179670329e-21,-4.1158841747252744e-21,-4.1108891697802196e-21,-4.105894164835165e-21,-4.10089915989011e-21,-4.095904154945055e-21,-4.0909091499999994e-21,-4.0859141450549446e-21,-4.08091914010989e-21,-4.075924135164835e-21,-4.07092913021978e-21,-4.065934125274725e-21,-4.06093912032967e-21,-4.0559441153846155e-21,-4.05094911043956e-21,-4.045954105494505e-21,-4.04095910054945e-21,-4.035964095604395e-21,-4.0309690906593405e-21,-4.025974085714286e-21,-4.020979080769231e-21,-4.015984075824176e-21,-4.01098907087912e-21,-4.0059940659340655e-21,-4.000999060989011e-21,-3.996004056043956e-21,-3.991009051098901e-21,-3.986014046153846e-21,-3.981019041208791e-21,-3.9760240362637364e-21,-3.971029031318681e-21,-3.966034026373626e-21,-3.961039021428571e-21,-3.956044016483516e-21,-3.9510490115384614e-21,-3.9460540065934066e-21,-3.941059001648352e-21,-3.936063996703297e-21,-3.931068991758241e-21,-3.9260739868131864e-21,-3.9210789818681316e-21,-3.916083976923077e-21,-3.911088971978022e-21,-3.906093967032967e-21,-3.901098962087912e-21,-3.8961039571428566e-21,-3.891108952197802e-21,-3.886113947252747e-21,-3.881118942307692e-21,-3.876123937362637e-21,-3.871128932417582e-21,-3.8661339274725275e-21,-3.861138922527473e-21,-3.856143917582417e-21,-3.851148912637362e-21,-3.846153907692307e-21,-3.8411589027472525e-21,-3.836163897802198e-21,-3.831168892857143e-21,-3.826173887912088e-21,-3.821178882967033e-21,-3.8161838780219775e-21,-3.811188873076923e-21,-3.806193868131868e-21,-3.801198863186813e-21,-3.796203858241758e-21,-3.791208853296703e-21,-3.7862138483516484e-21,-3.7812188434065935e-21,-3.776223838461538e-21,-3.771228833516483e-21,-3.766233828571428e-21,-3.7612388236263734e-21,-3.7562438186813186e-21,-3.751248813736264e-21,-3.746253808791209e-21,-3.741258803846154e-21,-3.7362637989010984e-21,-3.7312687939560436e-21,-3.726273789010989e-21,-3.721278784065934e-21,-3.716283779120879e-21,-3.711288774175824e-21,-3.706293769230769e-21,-3.701298764285714e-21,-3.696303759340659e-21,-3.691308754395604e-21,-3.686313749450549e-21,-3.681318744505494e-21,-3.6763237395604395e-21,-3.671328734615385e-21,-3.66633372967033e-21,-3.661338724725274e-21,-3.656343719780219e-21,-3.6513487148351645e-21,-3.64635370989011e-21,-3.641358704945055e-21,-3.6363637e-21,-3.631368695054945e-21,-3.62637369010989e-21,-3.621378685164835e-21,-3.61638368021978e-21,-3.611388675274725e-21,-3.60639367032967e-21,-3.601398665384615e-21,-3.5964036604395604e-21,-3.5914086554945055e-21,-3.586413650549451e-21,-3.581418645604395e-21,-3.57642364065934e-21,-3.5714286357142854e-21,-3.5664336307692306e-21,-3.561438625824176e-21,-3.556443620879121e-21,-3.551448615934066e-21,-3.546453610989011e-21,-3.5414586060439556e-21,-3.536463601098901e-21,-3.531468596153846e-21,-3.526473591208791e-21,-3.521478586263736e-21,-3.516483581318681e-21,-3.5114885763736265e-21,-3.506493571428571e-21,-3.501498566483516e-21,-3.496503561538461e-21,-3.491508556593406e-21,-3.4865135516483515e-21,-3.4815185467032966e-21,-3.476523541758242e-21,-3.471528536813187e-21,-3.466533531868131e-21,-3.4615385269230765e-21,-3.456543521978022e-21,-3.451548517032967e-21,-3.446553512087912e-21,-3.441558507142857e-21,-3.436563502197802e-21,-3.4315684972527474e-21,-3.426573492307692e-21,-3.421578487362637e-21,-3.416583482417582e-21,-3.411588477472527e-21,-3.4065934725274724e-21,-3.4015984675824175e-21,-3.396603462637363e-21,-3.391608457692308e-21,-3.3866134527472526e-21,-3.3816184478021978e-21,-3.3766234428571425e-21,-3.3716284379120877e-21,-3.366633432967033e-21,-3.361638428021978e-21,-3.3566434230769228e-21,-3.351648418131868e-21,-3.346653413186813e-21,-3.3416584082417582e-21,-3.336663403296703e-21,-3.331668398351648e-21,-3.3266733934065933e-21,-3.3216783884615385e-21,-3.3166833835164832e-21,-3.3116883785714284e-21,-3.3066933736263735e-21,-3.3016983686813183e-21,-3.2967033637362635e-21,-3.2917083587912086e-21,-3.2867133538461538e-21,-3.2817183489010985e-21,-3.2767233439560437e-21,-3.271728339010989e-21,-3.266733334065934e-21,-3.2617383291208788e-21,-3.256743324175824e-21,-3.251748319230769e-21,-3.2467533142857142e-21,-3.241758309340659e-21,-3.236763304395604e-21,-3.2317682994505493e-21,-3.2267732945054945e-21,-3.2217782895604392e-21,-3.2167832846153844e-21,-3.2117882796703295e-21,-3.2067932747252747e-21,-3.2017982697802195e-21,-3.1968032648351646e-21,-3.1918082598901098e-21,-3.186813254945055e-21,-3.1818182499999997e-21,-3.176823245054945e-21,-3.17182824010989e-21,-3.166833235164835e-21,-3.16183823021978e-21,-3.156843225274725e-21,-3.1518482203296702e-21,-3.1468532153846154e-21,-3.14185821043956e-21,-3.1368632054945053e-21,-3.1318682005494505e-21,-3.1268731956043956e-21,-3.1218781906593404e-21,-3.1168831857142855e-21,-3.1118881807692307e-21,-3.1068931758241755e-21,-3.1018981708791206e-21,-3.0969031659340658e-21,-3.091908160989011e-21,-3.0869131560439557e-21,-3.081918151098901e-21,-3.076923146153846e-21,-3.071928141208791e-21,-3.066933136263736e-21,-3.061938131318681e-21,-3.0569431263736262e-21,-3.0519481214285714e-21,-3.046953116483516e-21,-3.0419581115384613e-21,-3.0369631065934065e-21,-3.0319681016483516e-21,-3.0269730967032964e-21,-3.0219780917582415e-21,-3.0169830868131867e-21,-3.011988081868132e-21,-3.0069930769230766e-21,-3.0019980719780218e-21,-2.997003067032967e-21,-2.992008062087912e-21,-2.987013057142857e-21,-2.982018052197802e-21,-2.977023047252747e-21,-2.9720280423076923e-21,-2.967033037362637e-21,-2.9620380324175822e-21,-2.9570430274725274e-21,-2.9520480225274725e-21,-2.9470530175824173e-21,-2.9420580126373625e-21,-2.9370630076923076e-21,-2.9320680027472528e-21,-2.9270729978021975e-21,-2.9220779928571427e-21,-2.917082987912088e-21,-2.912087982967033e-21,-2.9070929780219778e-21,-2.902097973076923e-21,-2.897102968131868e-21,-2.892107963186813e-21,-2.887112958241758e-21,-2.882117953296703e-21,-2.8771229483516483e-21,-2.872127943406593e-21,-2.8671329384615382e-21,-2.8621379335164834e-21,-2.8571429285714285e-21,-2.8521479236263733e-21,-2.8471529186813185e-21,-2.8421579137362636e-21,-2.8371629087912088e-21,-2.8321679038461535e-21,-2.8271728989010987e-21,-2.822177893956044e-21,-2.817182889010989e-21,-2.8121878840659338e-21,-2.807192879120879e-21,-2.802197874175824e-21,-2.7972028692307692e-21,-2.792207864285714e-21,-2.787212859340659e-21,-2.7822178543956043e-21,-2.7772228494505495e-21,-2.7722278445054942e-21,-2.7672328395604394e-21,-2.7622378346153845e-21,-2.7572428296703297e-21,-2.7522478247252745e-21,-2.7472528197802196e-21,-2.7422578148351648e-21,-2.73726280989011e-21,-2.7322678049450547e-21,-2.7272728e-21,-2.722277795054945e-21,-2.71728279010989e-21,-2.712287785164835e-21,-2.70729278021978e-21,-2.7022977752747252e-21,-2.69730277032967e-21,-2.692307765384615e-21,-2.6873127604395603e-21,-2.6823177554945055e-21,-2.6773227505494502e-21,-2.6723277456043954e-21,-2.6673327406593405e-21,-2.6623377357142857e-21,-2.6573427307692305e-21,-2.6523477258241756e-21,-2.6473527208791208e-21,-2.642357715934066e-21,-2.6373627109890107e-21,-2.632367706043956e-21,-2.627372701098901e-21,-2.622377696153846e-21,-2.617382691208791e-21,-2.612387686263736e-21,-2.6073926813186812e-21,-2.6023976763736264e-21,-2.597402671428571e-21,-2.5924076664835163e-21,-2.5874126615384615e-21,-2.5824176565934066e-21,-2.5774226516483514e-21,-2.5724276467032965e-21,-2.5674326417582417e-21,-2.562437636813187e-21,-2.5574426318681316e-21,-2.5524476269230768e-21,-2.547452621978022e-21,-2.542457617032967e-21,-2.537462612087912e-21,-2.532467607142857e-21,-2.527472602197802e-21,-2.5224775972527473e-21,-2.517482592307692e-21,-2.5124875873626372e-21,-2.5074925824175824e-21,-2.502497577472527e-21,-2.4975025725274723e-21,-2.4925075675824175e-21,-2.4875125626373626e-21,-2.4825175576923074e-21,-2.4775225527472525e-21,-2.4725275478021977e-21,-2.467532542857143e-21,-2.4625375379120876e-21,-2.4575425329670328e-21,-2.452547528021978e-21,-2.447552523076923e-21,-2.442557518131868e-21,-2.437562513186813e-21,-2.432567508241758e-21,-2.4275725032967033e-21,-2.422577498351648e-21,-2.4175824934065932e-21,-2.4125874884615384e-21,-2.4075924835164835e-21,-2.4025974785714283e-21,-2.3976024736263735e-21,-2.3926074686813186e-21,-2.3876124637362638e-21,-2.3826174587912085e-21,-2.3776224538461537e-21,-2.372627448901099e-21,-2.367632443956044e-21,-2.3626374390109888e-21,-2.357642434065934e-21,-2.352647429120879e-21,-2.3476524241758242e-21,-2.342657419230769e-21,-2.337662414285714e-21,-2.3326674093406593e-21,-2.3276724043956044e-21,-2.3226773994505492e-21,-2.3176823945054944e-21,-2.3126873895604395e-21,-2.3076923846153847e-21,-2.3026973796703295e-21,-2.2977023747252746e-21,-2.2927073697802198e-21,-2.2877123648351645e-21,-2.2827173598901097e-21,-2.277722354945055e-21,-2.27272735e-21,-2.2677323450549448e-21,-2.26273734010989e-21,-2.257742335164835e-21,-2.2527473302197802e-21,-2.247752325274725e-21,-2.24275732032967e-21,-2.2377623153846153e-21,-2.2327673104395604e-21,-2.2277723054945052e-21,-2.2227773005494504e-21,-2.2177822956043955e-21,-2.2127872906593407e-21,-2.2077922857142854e-21,-2.2027972807692306e-21,-2.1978022758241758e-21,-2.192807270879121e-21,-2.1878122659340657e-21,-2.182817260989011e-21,-2.177822256043956e-21,-2.172827251098901e-21,-2.167832246153846e-21,-2.162837241208791e-21,-2.1578422362637362e-21,-2.1528472313186814e-21,-2.147852226373626e-21,-2.1428572214285713e-21,-2.1378622164835164e-21,-2.1328672115384616e-21,-2.1278722065934064e-21,-2.1228772016483515e-21,-2.1178821967032967e-21,-2.112887191758242e-21,-2.1078921868131866e-21,-2.1028971818681318e-21,-2.097902176923077e-21,-2.0929071719780217e-21,-2.087912167032967e-21,-2.082917162087912e-21,-2.077922157142857e-21,-2.072927152197802e-21,-2.067932147252747e-21,-2.0629371423076922e-21,-2.0579421373626374e-21,-2.052947132417582e-21,-2.0479521274725273e-21,-2.0429571225274724e-21,-2.0379621175824176e-21,-2.0329671126373624e-21,-2.0279721076923075e-21,-2.0229771027472527e-21,-2.017982097802198e-21,-2.0129870928571426e-21,-2.0079920879120878e-21,-2.002997082967033e-21,-1.998002078021978e-21,-1.993007073076923e-21,-1.988012068131868e-21,-1.983017063186813e-21,-1.9780220582417583e-21,-1.973027053296703e-21,-1.9680320483516482e-21,-1.9630370434065934e-21,-1.9580420384615385e-21,-1.9530470335164833e-21,-1.9480520285714284e-21,-1.9430570236263736e-21,-1.9380620186813187e-21,-1.9330670137362635e-21,-1.9280720087912087e-21,-1.923077003846154e-21,-1.918081998901099e-21,-1.9130869939560438e-21,-1.908091989010989e-21,-1.903096984065934e-21,-1.898101979120879e-21,-1.893106974175824e-21,-1.888111969230769e-21,-1.8831169642857143e-21,-1.878121959340659e-21,-1.8731269543956042e-21,-1.8681319494505494e-21,-1.8631369445054945e-21,-1.8581419395604393e-21,-1.8531469346153844e-21,-1.8481519296703296e-21,-1.8431569247252747e-21,-1.8381619197802195e-21,-1.8331669148351647e-21,-1.82817190989011e-21,-1.823176904945055e-21,-1.8181818999999997e-21,-1.813186895054945e-21,-1.80819189010989e-21,-1.8031968851648352e-21,-1.79820188021978e-21,-1.793206875274725e-21,-1.7882118703296703e-21,-1.7832168653846154e-21,-1.7782218604395602e-21,-1.7732268554945054e-21,-1.7682318505494505e-21,-1.7632368456043957e-21,-1.7582418406593404e-21,-1.7532468357142856e-21,-1.7482518307692307e-21,-1.743256825824176e-21,-1.7382618208791207e-21,-1.733266815934066e-21,-1.728271810989011e-21,-1.723276806043956e-21,-1.718281801098901e-21,-1.713286796153846e-21,-1.7082917912087912e-21,-1.7032967862637364e-21,-1.698301781318681e-21,-1.6933067763736263e-21,-1.6883117714285712e-21,-1.6833167664835164e-21,-1.6783217615384614e-21,-1.6733267565934065e-21,-1.6683317516483515e-21,-1.6633367467032966e-21,-1.6583417417582416e-21,-1.6533467368131867e-21,-1.6483517318681317e-21,-1.6433567269230769e-21,-1.6383617219780218e-21,-1.633366717032967e-21,-1.628371712087912e-21,-1.623376707142857e-21,-1.618381702197802e-21,-1.6133866972527472e-21,-1.6083916923076922e-21,-1.6033966873626373e-21,-1.5984016824175823e-21,-1.5934066774725274e-21,-1.5884116725274724e-21,-1.5834166675824175e-21,-1.5784216626373625e-21,-1.5734266576923077e-21,-1.5684316527472526e-21,-1.5634366478021978e-21,-1.5584416428571427e-21,-1.5534466379120879e-21,-1.5484516329670329e-21,-1.543456628021978e-21,-1.538461623076923e-21,-1.5334666181318681e-21,-1.528471613186813e-21,-1.5234766082417582e-21,-1.5184816032967032e-21,-1.5134865983516484e-21,-1.5084915934065933e-21,-1.5034965884615385e-21,-1.4985015835164834e-21,-1.4935065785714286e-21,-1.4885115736263735e-21,-1.4835165686813185e-21,-1.4785215637362637e-21,-1.4735265587912086e-21,-1.4685315538461538e-21,-1.4635365489010987e-21,-1.4585415439560439e-21,-1.4535465390109889e-21,-1.448551534065934e-21,-1.443556529120879e-21,-1.4385615241758241e-21,-1.433566519230769e-21,-1.4285715142857142e-21,-1.4235765093406592e-21,-1.4185815043956044e-21,-1.4135864994505493e-21,-1.4085914945054945e-21,-1.4035964895604394e-21,-1.3986014846153846e-21,-1.3936064796703295e-21,-1.3886114747252747e-21,-1.3836164697802197e-21,-1.3786214648351648e-21,-1.3736264598901098e-21,-1.368631454945055e-21,-1.3636364499999999e-21,-1.358641445054945e-21,-1.35364644010989e-21,-1.3486514351648352e-21,-1.3436564302197801e-21,-1.3386614252747253e-21,-1.3336664203296702e-21,-1.3286714153846154e-21,-1.3236764104395604e-21,-1.3186814054945055e-21,-1.3136864005494505e-21,-1.3086913956043956e-21,-1.3036963906593406e-21,-1.2987013857142857e-21,-1.2937063807692307e-21,-1.2887113758241757e-21,-1.2837163708791208e-21,-1.2787213659340658e-21,-1.273726360989011e-21,-1.2687313560439559e-21,-1.263736351098901e-21,-1.258741346153846e-21,-1.2537463412087912e-21,-1.2487513362637361e-21,-1.2437563313186813e-21,-1.2387613263736262e-21,-1.2337663214285714e-21,-1.2287713164835164e-21,-1.2237763115384615e-21,-1.2187813065934065e-21,-1.2137863016483516e-21,-1.2087912967032966e-21,-1.2037962917582417e-21,-1.1988012868131867e-21,-1.1938062818681318e-21,-1.1888112769230768e-21,-1.183816271978022e-21,-1.178821267032967e-21,-1.173826262087912e-21,-1.168831257142857e-21,-1.1638362521978022e-21,-1.1588412472527472e-21,-1.1538462423076923e-21,-1.1488512373626373e-21,-1.1438562324175824e-21,-1.1388612274725274e-21,-1.1338662225274725e-21,-1.1288712175824175e-21,-1.1238762126373627e-21,-1.1188812076923076e-21,-1.1138862027472528e-21,-1.1088911978021977e-21,-1.1038961928571429e-21,-1.0989011879120878e-21,-1.093906182967033e-21,-1.088911178021978e-21,-1.083916173076923e-21,-1.078921168131868e-21,-1.073926163186813e-21,-1.0689311582417582e-21,-1.0639361532967032e-21,-1.0589411483516483e-21,-1.0539461434065933e-21,-1.0489511384615384e-21,-1.0439561335164834e-21,-1.0389611285714285e-21,-1.0339661236263735e-21,-1.0289711186813187e-21,-1.0239761137362636e-21,-1.0189811087912088e-21,-1.0139861038461537e-21,-1.0089910989010989e-21,-1.0039960939560438e-21,-9.99001089010989e-22,-9.94006084065934e-22,-9.890110791208791e-22,-9.84016074175824e-22,-9.790210692307692e-22,-9.740260642857142e-22,-9.690310593406593e-22,-9.640360543956043e-22,-9.590410494505495e-22,-9.540460445054944e-22,-9.490510395604396e-22,-9.440560346153845e-22,-9.390610296703297e-22,-9.340660247252747e-22,-9.290710197802198e-22,-9.240760148351648e-22,-9.1908100989011e-22,-9.140860049450549e-22,-9.09091e-22,-9.04095995054945e-22,-8.991009901098901e-22,-8.941059851648351e-22,-8.891109802197803e-22,-8.841159752747252e-22,-8.791209703296702e-22,-8.741259653846153e-22,-8.691309604395603e-22,-8.641359554945055e-22,-8.591409505494504e-22,-8.541459456043956e-22,-8.491509406593405e-22,-8.441559357142857e-22,-8.391609307692307e-22,-8.341659258241758e-22,-8.291709208791209e-22,-8.241759159340659e-22,-8.19180910989011e-22,-8.14185906043956e-22,-8.091909010989011e-22,-8.0419589615384615e-22,-7.992008912087912e-22,-7.942058862637363e-22,-7.892108813186813e-22,-7.842158763736263e-22,-7.792208714285713e-22,-7.742258664835164e-22,-7.692308615384615e-22,-7.642358565934065e-22,-7.592408516483516e-22,-7.542458467032966e-22,-7.492508417582417e-22,-7.442558368131867e-22,-7.392608318681318e-22,-7.342658269230769e-22,-7.292708219780219e-22,-7.24275817032967e-22,-7.19280812087912e-22,-7.142858071428571e-22,-7.092908021978021e-22,-7.042957972527472e-22,-6.993007923076923e-22,-6.943057873626373e-22,-6.893107824175824e-22,-6.843157774725274e-22,-6.793207725274725e-22,-6.7432576758241755e-22,-6.693307626373626e-22,-6.643357576923077e-22,-6.593407527472527e-22,-6.543457478021978e-22,-6.493507428571428e-22,-6.443557379120879e-22,-6.3936073296703295e-22,-6.34365728021978e-22,-6.293707230769231e-22,-6.243757181318681e-22,-6.193807131868132e-22,-6.143857082417582e-22,-6.093907032967033e-22,-6.043956983516484e-22,-5.994006934065934e-22,-5.944056884615385e-22,-5.894106835164835e-22,-5.844156785714286e-22,-5.7942067362637355e-22,-5.744256686813186e-22,-5.694306637362637e-22,-5.644356587912087e-22,-5.594406538461538e-22,-5.544456489010988e-22,-5.494506439560439e-22,-5.4445563901098895e-22,-5.39460634065934e-22,-5.344656291208791e-22,-5.294706241758241e-22,-5.244756192307692e-22,-5.194806142857142e-22,-5.144856093406593e-22,-5.094906043956044e-22,-5.044955994505494e-22,-4.995005945054945e-22,-4.945055895604395e-22,-4.895105846153846e-22,-4.845155796703296e-22,-4.795205747252747e-22,-4.745255697802198e-22,-4.695305648351648e-22,-4.645355598901099e-22,-4.595405549450549e-22,-4.5454555e-22,-4.49550545054945e-22,-4.445555401098901e-22,-4.395605351648352e-22,-4.345655302197802e-22,-4.295705252747253e-22,-4.245755203296703e-22,-4.1958051538461534e-22,-4.145855104395604e-22,-4.0959050549450546e-22,-4.045955005494505e-22,-3.9960049560439557e-22,-3.9460549065934063e-22,-3.896104857142857e-22,-3.8461548076923075e-22,-3.796204758241758e-22,-3.7462547087912086e-22,-3.696304659340659e-22,-3.6463546098901098e-22,-3.5964045604395603e-22,-3.546454510989011e-22,-3.4965044615384615e-22,-3.446554412087912e-22,-3.3966043626373626e-22,-3.346654313186813e-22,-3.296704263736264e-22,-3.246754214285714e-22,-3.1968041648351645e-22,-3.146854115384615e-22,-3.0969040659340656e-22,-3.046954016483516e-22,-2.997003967032967e-22,-2.9470539175824173e-22,-2.897103868131868e-22,-2.8471538186813185e-22,-2.797203769230769e-22,-2.7472537197802196e-22,-2.69730367032967e-22,-2.647353620879121e-22,-2.5974035714285714e-22,-2.547453521978022e-22,-2.4975034725274725e-22,-2.447553423076923e-22,-2.3976033736263737e-22,-2.3476533241758242e-22,-2.297703274725275e-22,-2.247753225274725e-22,-2.1978031758241755e-22,-2.147853126373626e-22,-2.097903076923077e-22,-2.0479530274725275e-22,-1.9980029780219778e-22,-1.9480529285714284e-22,-1.898102879120879e-22,-1.8481528296703295e-22,-1.79820278021978e-22,-1.7482527307692307e-22,-1.6983026813186813e-22,-1.6483526318681318e-22,-1.5984025824175824e-22,-1.548452532967033e-22,-1.4985024835164833e-22,-1.448552434065934e-22,-1.3986023846153845e-22,-1.348652335164835e-22,-1.2987022857142856e-22,-1.2487522362637362e-22,-1.1988021868131868e-22,-1.1488521373626374e-22,-1.098902087912088e-22,-1.0489520384615384e-22,-9.99001989010989e-23,-9.490519395604395e-23,-8.991018901098901e-23,-8.491518406593406e-23,-7.992017912087911e-23,-7.492517417582417e-23,-6.993016923076923e-23,-6.493516428571429e-23,-5.994015934065933e-23,-5.494515439560439e-23,-4.995014945054945e-23,-4.4955144505494505e-23,-3.9960139560439557e-23,-3.4965134615384615e-23,-2.9970129670329666e-23,-2.4975124725274724e-23,-1.9980119780219778e-23,-1.4985114835164833e-23,-9.990109890109889e-24,-4.995104945054945e-24,-1.0e-28]} diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.js b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.js new file mode 100644 index 00000000000..e8380e41a06 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.js @@ -0,0 +1,122 @@ +/** +* @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 randu = require( '@stdlib/random/base/randu' ); +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 acovercosf = require( './../lib' ); + + +// FIXTURES // + +var data = require( './fixtures/julia/data.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof acovercosf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the inverse coversed cosine', function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = data.x; + expected = data.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acovercosf( x[ i ] ); + if ( y === e ) { + t.strictEqual( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 230.0 * 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 inverse coversed cosine (small negative numbers)', function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = smallNegative.x; + expected = smallNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acovercosf( x[ i ] ); + if ( y === e ) { + t.strictEqual( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 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 a `NaN`', function test( t ) { + var v = acovercosf( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided a value less than `-2`', function test( t ) { + var v; + var i; + for ( i = 0; i < 1e4; i++ ) { + v = -( randu() * 1.0e6 ) - ( 2.0 + EPS ); + t.strictEqual( isnanf( acovercosf( v ) ), true, 'returns expected value when provided '+v ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided a value greater than `0`', function test( t ) { + var v; + var i; + for ( i = 0; i < 1e4; i++ ) { + v = ( randu() * 1.0e6 ) + 0.0 + EPS; + t.strictEqual( isnanf( acovercosf( v ) ), true, 'returns expected value when provided '+v ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.native.js new file mode 100644 index 00000000000..d6df83cb49b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/acovercosf/test/test.native.js @@ -0,0 +1,131 @@ +/** +* @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 randu = require( '@stdlib/random/base/randu' ); +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 data = require( './fixtures/julia/data.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); + + +// VARIABLES // + +var acovercosf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( acovercosf instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof acovercosf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the inverse coversed cosine', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = data.x; + expected = data.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acovercosf( x[ i ] ); + if ( y === e ) { + t.strictEqual( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 230.0 * 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 inverse coversed cosine (small negative numbers)', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var y; + var i; + var e; + + x = smallNegative.x; + expected = smallNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + e = float64ToFloat32( expected[ i ] ); + y = acovercosf( x[ i ] ); + if ( y === e ) { + t.strictEqual( y, e, 'x: '+x[ i ]+'. E: '+e ); + } else { + delta = absf( y - e ); + tol = 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 a `NaN`', opts, function test( t ) { + var v = acovercosf( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided a value less than `-2`', opts, function test( t ) { + var v; + var i; + for ( i = 0; i < 1e4; i++ ) { + v = -( randu() * 1.0e6 ) - ( 2.0 + EPS ); + t.strictEqual( isnanf( acovercosf( v ) ), true, 'returns expected value when provided '+v ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided a value greater than `0`', opts, function test( t ) { + var v; + var i; + for ( i = 0; i < 1e4; i++ ) { + v = ( randu() * 1.0e6 ) + 0.0 + EPS; + t.strictEqual( isnanf( acovercosf( v ) ), true, 'returns expected value when provided '+v ); + } + t.end(); +});