From 52058bbc1d79d0ef9bcdb1dcf680c731c51c1114 Mon Sep 17 00:00:00 2001 From: Shubham Date: Mon, 16 Feb 2026 20:51:42 +0530 Subject: [PATCH 1/5] feat: add implementation of math/base/special/sqrt1pm1f --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: missing_dependencies - task: lint_c_benchmarks status: missing_dependencies - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../math/base/special/sqrt1pm1f/LICENSE | 209 +++++++++++++ .../math/base/special/sqrt1pm1f/README.md | 203 +++++++++++++ .../special/sqrt1pm1f/benchmark/benchmark.js | 54 ++++ .../sqrt1pm1f/benchmark/benchmark.native.js | 64 ++++ .../sqrt1pm1f/benchmark/c/native/Makefile | 146 +++++++++ .../sqrt1pm1f/benchmark/c/native/benchmark.c | 136 +++++++++ .../sqrt1pm1f/benchmark/cpp/boost/Makefile | 110 +++++++ .../benchmark/cpp/boost/benchmark.cpp | 135 +++++++++ .../math/base/special/sqrt1pm1f/binding.gyp | 170 +++++++++++ .../math/base/special/sqrt1pm1f/docs/repl.txt | 35 +++ .../special/sqrt1pm1f/docs/types/index.d.ts | 56 ++++ .../base/special/sqrt1pm1f/docs/types/test.ts | 44 +++ .../special/sqrt1pm1f/examples/c/Makefile | 146 +++++++++ .../special/sqrt1pm1f/examples/c/example.c | 33 ++ .../base/special/sqrt1pm1f/examples/index.js | 30 ++ .../math/base/special/sqrt1pm1f/include.gypi | 53 ++++ .../stdlib/math/base/special/sqrt1pm1f.h | 38 +++ .../math/base/special/sqrt1pm1f/lib/index.js | 49 +++ .../math/base/special/sqrt1pm1f/lib/main.js | 97 ++++++ .../math/base/special/sqrt1pm1f/lib/native.js | 66 ++++ .../math/base/special/sqrt1pm1f/manifest.json | 81 +++++ .../math/base/special/sqrt1pm1f/package.json | 145 +++++++++ .../math/base/special/sqrt1pm1f/src/Makefile | 70 +++++ .../math/base/special/sqrt1pm1f/src/addon.c | 22 ++ .../math/base/special/sqrt1pm1f/src/main.c | 61 ++++ .../sqrt1pm1f/test/fixtures/cpp/Makefile | 120 ++++++++ .../sqrt1pm1f/test/fixtures/cpp/large.json | 1 + .../sqrt1pm1f/test/fixtures/cpp/runner.cpp | 281 ++++++++++++++++++ .../sqrt1pm1f/test/fixtures/cpp/small.json | 1 + .../math/base/special/sqrt1pm1f/test/test.js | 117 ++++++++ .../special/sqrt1pm1f/test/test.native.js | 126 ++++++++ 31 files changed, 2899 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/LICENSE create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/benchmark.cpp create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/package.json create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/large.json create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/runner.cpp create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/small.json create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js create mode 100644 lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/LICENSE b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/LICENSE new file mode 100644 index 000000000000..05757b1b8026 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/LICENSE @@ -0,0 +1,209 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +DEPENDENCIES & ATTRIBUTION + +The library links against the following external libraries or contains +implementations from the following external libraries, which have their own +licenses: + +* Boost + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md new file mode 100644 index 000000000000..f8fda4b0fd9c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md @@ -0,0 +1,203 @@ + + +# sqrt1pm1f + +> Compute `sqrt( 1 + x ) - 1` for a single-precision floating-point number. + +
+ +## Usage + +```javascript +var sqrt1pm1f = require( '@stdlib/math/base/special/sqrt1pm1f' ); +``` + +#### sqrt1pm1f( x ) + +Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for a single-precision floating-point numbe. + +```javascript +var v = sqrt1pm1f( 3.0 ); +// returns 1.0 + +v = sqrt1pm1f( 0.5 ); +// returns ~0.225 + +v = sqrt1pm1f( 0.02 ); +// returns ~0.01 + +v = sqrt1pm1f( -0.5 ); +// returns ~-0.293 + +v = sqrt1pm1f( -1.1 ); +// returns NaN + +v = sqrt1pm1f( NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var sqrt1pm1f = require( '@stdlib/math/base/special/sqrt1pm1f' ); + +var opts = { + 'dtype': 'float32' +}; +var x = discreteUniform( 100, 0, 100, opts ); + +logEachMap( 'sqrt(1+%0.4f) - 1 = %0.4f', x, sqrt1pm1f ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/sqrt1pm1f.h" +``` + +#### stdlib_base_sqrt1pm1f( x ) + +Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for single-precision floating-point number. + +```c +float out = stdlib_base_sqrt1pm1f( 3.0f ); +// returns 1.0f + +out = stdlib_base_sqrt1pm1f( 0.5f ); +// returns ~0.225f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +float stdlib_base_sqrt1pm1f( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/sqrt1pm1f.h" +#include +#include + +int main( void ) { + float x; + float v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( (float)rand() / (float)RAND_MAX ) * 100.0f; + v = stdlib_base_sqrt1pm1f( x ); + printf( "sqrt(1+%f) - 1 = %f\n", x, v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.js new file mode 100644 index 000000000000..d8c7937c7665 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var pkg = require( './../package.json' ).name; +var sqrt1pm1f = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, 0.0, 100000.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = sqrt1pm1f( 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/sqrt1pm1f/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.native.js new file mode 100644 index 000000000000..aa8418480d83 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/benchmark.native.js @@ -0,0 +1,64 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var sqrt1pm1f = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( sqrt1pm1f instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, 0.0, 100000.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = sqrt1pm1f( 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/sqrt1pm1f/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled benchmarks. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..026745b305a9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/c/native/benchmark.c @@ -0,0 +1,136 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/sqrt1pm1f.h" +#include +#include +#include +#include +#include + +#define NAME "sqrt1pm1f" +#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 ) { + float x[ 100 ]; + double elapsed; + float y; + double t; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = rand_float() * 100000.0f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_sqrt1pm1f( 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/sqrt1pm1f/benchmark/cpp/boost/Makefile b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/Makefile new file mode 100644 index 000000000000..7f3e5e5c36dd --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/Makefile @@ -0,0 +1,110 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +endif + +# Specify the path to Boost: +BOOST ?= + +# Determine the OS: +# +# [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 +endif +endif +endif + +# Define the program used for compiling C++ source files: +ifdef CXX_COMPILER + CXX := $(CXX_COMPILER) +else + CXX := g++ +endif + +# Define the command-line options when compiling C++ files: +CXXFLAGS ?= \ + -std=c++11 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate [position independent code][1]: +# +# [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 C++ targets: +cxx_targets := benchmark.out + + +# TARGETS # + +# Default target. +# +# This target is the default target. + +all: $(cxx_targets) + +.PHONY: all + + +# Compile C++ source. +# +# This target compiles C++ source files. + +$(cxx_targets): %.out: %.cpp $(BOOST) + $(QUIET) $(CXX) $(CXXFLAGS) $(fPIC) -I $(BOOST) -o $@ $< -lm + + +# Run a benchmark. +# +# This target runs a benchmark. + +run: $(cxx_targets) + $(QUIET) ./$< + +.PHONY: run + + +# Perform clean-up. +# +# This target removes generated files. + +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/benchmark.cpp b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/benchmark.cpp new file mode 100644 index 000000000000..56e748aebb50 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/benchmark/cpp/boost/benchmark.cpp @@ -0,0 +1,135 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +using boost::random::uniform_real_distribution; +using boost::random::mt19937; + +#define NAME "sqrt1pm1f" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +void print_version() { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +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 +*/ +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 +*/ +double tic() { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +double benchmark() { + float x[ 100 ]; + double elapsed; + float y; + double t; + int i; + + // Define a new pseudorandom number generator: + mt19937 rng; + + // Define a uniform distribution for generating pseudorandom numbers as "floats" between a minimum value (inclusive) and a maximum value (exclusive): + uniform_real_distribution randu( 0.0f, 100000.0f ); + + for ( i = 0; i < 100; i++ ) { + x[ i ] = randu( rng ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = boost::math::sqrt1pm1( 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; + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# cpp::boost::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); + return 0; +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/binding.gyp b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/binding.gyp @@ -0,0 +1,170 @@ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A `.gyp` file for building a Node.js native add-on. +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # List of files to include in this file: + 'includes': [ + './include.gypi', + ], + + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Target name should match the add-on export name: + 'addon_target_name%': 'addon', + + # Set variables based on the host OS: + 'conditions': [ + [ + 'OS=="win"', + { + # Define the object file suffix: + 'obj': 'obj', + }, + { + # Define the object file suffix: + 'obj': 'o', + } + ], # end condition (OS=="win") + ], # end conditions + }, # end variables + + # Define compile targets: + 'targets': [ + + # Target to generate an add-on: + { + # The target name should match the add-on export name: + 'target_name': '<(addon_target_name)', + + # Define dependencies: + 'dependencies': [], + + # Define directories which contain relevant include headers: + 'include_dirs': [ + # Local include directory: + '<@(include_dirs)', + ], + + # List of source files: + 'sources': [ + '<@(src_files)', + ], + + # Settings which should be applied when a target's object files are used as linker input: + 'link_settings': { + # Define libraries: + 'libraries': [ + '<@(libraries)', + ], + + # Define library directories: + 'library_dirs': [ + '<@(library_dirs)', + ], + }, + + # C/C++ compiler flags: + 'cflags': [ + # Enable commonly used warning options: + '-Wall', + + # Aggressive optimization: + '-O3', + ], + + # C specific compiler flags: + 'cflags_c': [ + # Specify the C standard to which a program is expected to conform: + '-std=c99', + ], + + # C++ specific compiler flags: + 'cflags_cpp': [ + # Specify the C++ standard to which a program is expected to conform: + '-std=c++11', + ], + + # Linker flags: + 'ldflags': [], + + # Apply conditions based on the host OS: + 'conditions': [ + [ + 'OS=="mac"', + { + # Linker flags: + 'ldflags': [ + '-undefined dynamic_lookup', + '-Wl,-no-pie', + '-Wl,-search_paths_first', + ], + }, + ], # end condition (OS=="mac") + [ + 'OS!="win"', + { + # C/C++ flags: + 'cflags': [ + # Generate platform-independent code: + '-fPIC', + ], + }, + ], # end condition (OS!="win") + ], # end conditions + }, # end target <(addon_target_name) + + # Target to copy a generated add-on to a standard location: + { + 'target_name': 'copy_addon', + + # Declare that the output of this target is not linked: + 'type': 'none', + + # Define dependencies: + 'dependencies': [ + # Require that the add-on be generated before building this target: + '<(addon_target_name)', + ], + + # Define a list of actions: + 'actions': [ + { + 'action_name': 'copy_addon', + 'message': 'Copying addon...', + + # Explicitly list the inputs in the command-line invocation below: + 'inputs': [], + + # Declare the expected outputs: + 'outputs': [ + '<(addon_output_dir)/<(addon_target_name).node', + ], + + # Define the command-line invocation: + 'action': [ + 'cp', + '<(PRODUCT_DIR)/<(addon_target_name).node', + '<(addon_output_dir)/<(addon_target_name).node', + ], + }, + ], # end actions + }, # end target copy_addon + ], # end targets +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt new file mode 100644 index 000000000000..65cba159829d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt @@ -0,0 +1,35 @@ + +{{alias}}( x ) + Computes the principal square root of `1+x` minus one for a single-precision + floating point number. + + This function is more accurate than the obvious approach for small `x`. + + Parameters + ---------- + x: number + Input value. + + Returns + ------- + y: number + Square root of `1+x` minus one. + + Examples + -------- + > var y = {{alias}}( 3.0 ) + 1.0 + > y = {{alias}}( 0.5 ) + ~0.225 + > y = {{alias}}( 0.02 ) + ~0.01 + > y = {{alias}}( -0.5 ) + ~-0.293 + > y = {{alias}}( -1.1 ) + NaN + > y = {{alias}}( NaN ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts new file mode 100644 index 000000000000..2965ec1c7daa --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts @@ -0,0 +1,56 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* +* @param x - input value +* @returns square root of `1+x` minus one +* +* @example +* var v = sqrt1pm1f( 3.0 ); +* // returns 1.0 +* +* @example +* var v = sqrt1pm1f( 0.5 ); +* // returns ~0.225 +* +* @example +* var v = sqrt1pm1f( 0.02 ); +* // returns ~0.01 +* +* @example +* var v = sqrt1pm1f( -0.5 ); +* // returns ~-0.293 +* +* @example +* var v = sqrt1pm1f( -1.1 ); +* // returns NaN +* +* @example +* var v = sqrt1pm1f( NaN ); +* // returns NaN +*/ +declare function sqrt1pm1f( x: number ): number; + + +// EXPORTS // + +export = sqrt1pm1f; diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/test.ts new file mode 100644 index 000000000000..689be84cc525 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/test.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import sqrt1pm1f = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + sqrt1pm1f( 2 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + sqrt1pm1f( true ); // $ExpectError + sqrt1pm1f( false ); // $ExpectError + sqrt1pm1f( null ); // $ExpectError + sqrt1pm1f( undefined ); // $ExpectError + sqrt1pm1f( '5' ); // $ExpectError + sqrt1pm1f( [] ); // $ExpectError + sqrt1pm1f( {} ); // $ExpectError + sqrt1pm1f( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + sqrt1pm1f(); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := example.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled examples. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/example.c new file mode 100644 index 000000000000..dad0238e27a9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/c/example.c @@ -0,0 +1,33 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/sqrt1pm1f.h" +#include +#include + +int main( void ) { + float x; + float v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( (float)rand() / (float)RAND_MAX ) * 100.0f; + v = stdlib_base_sqrt1pm1f( (float)x ); + printf( "sqrt(1+%f) - 1 = %f\n", x, v ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/index.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/index.js new file mode 100644 index 000000000000..676e9032fada --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var discreteUniform = require( '@stdlib/random/array/discrete-uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var sqrt1pm1f = require( './../lib' ); + +var opts = { + 'dtype': 'float32' +}; +var x = discreteUniform( 100, 0, 100, opts ); + +logEachMap( 'sqrt(1+%0.4f) - 1 = %0.4f', x, sqrt1pm1f ); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include.gypi b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include.gypi @@ -0,0 +1,53 @@ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + ' THREE_FORTH ) { + return sqrtf( ONE + x ) - ONE; + } + return f32( expm1( log1pf( x ) / TWO ) ); +} + + +// EXPORTS // + +module.exports = sqrt1pm1f; diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js new file mode 100644 index 000000000000..321f6e045b52 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js @@ -0,0 +1,66 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var addon = require( './../src/addon.node' ); + + +// MAIN // + +/** +* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* +* @private +* @param {number} x - input value +* @returns {number} square root of `1+x` minus one +* +* @example +* var v = sqrt1pm1f( 3.0 ); +* // returns 1.0 +* +* @example +* var v = sqrt1pm1f( 0.5 ); +* // returns ~0.225 +* +* @example +* var v = sqrt1pm1f( 0.02 ); +* // returns ~0.01 +* +* @example +* var v = sqrt1pm1f( -0.5 ); +* // returns ~-0.293 +* +* @example +* var v = sqrt1pm1f( -1.1 ); +* // returns NaN +* +* @example +* var v = sqrt1pm1f( NaN ); +* // returns NaN +*/ +function sqrt1pm1f( x ) { + return addon( x ); +} + + +// EXPORTS // + +module.exports = sqrt1pm1f; diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/manifest.json b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/manifest.json new file mode 100644 index 000000000000..0add7354eb12 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/manifest.json @@ -0,0 +1,81 @@ +{ + "options": { + "task": "build" + }, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "task": "build", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/napi/unary", + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/sqrtf", + "@stdlib/math/base/special/log1pf", + "@stdlib/math/base/special/absf" + ] + }, + { + "task": "benchmark", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/sqrtf", + "@stdlib/math/base/special/log1pf", + "@stdlib/math/base/special/absf" + ] + }, + { + "task": "examples", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/sqrtf", + "@stdlib/math/base/special/log1pf", + "@stdlib/math/base/special/absf" + ] + } + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/package.json b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/package.json new file mode 100644 index 000000000000..a79694d401b7 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/package.json @@ -0,0 +1,145 @@ +{ + "name": "@stdlib/math/base/special/sqrt1pm1f", + "version": "0.0.0", + "description": "Compute sqrt(1 + x) - 1 for a single-precision floating-point number.", + "license": "Apache-2.0 AND BSL-1.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "gypfile": true, + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "src": "./src", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "math.sqrt", + "sqrt", + "sqrt1pm1f", + "principal", + "square", + "root", + "power", + "number", + "small" + ], + "__stdlib__": { + "scaffold": { + "$schema": "math/base@v1.0", + "base_alias": "sqrt1pm1", + "alias": "sqrt1pm1f", + "pkg_desc": "compute sqrt(1 + x) - 1 for a single-precision floating-point number", + "desc": "computes the principal square root of `1+x` minus one for a single-precision floating-point number.", + "short_desc": "sqrt(1 + x) - 1", + "parameters": [ + { + "name": "x", + "desc": "input value", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + }, + "domain": [ + { + "min": -1, + "max": "infinity" + } + ], + "rand": { + "prng": "random/base/uniform", + "parameters": [ + 0, + 100 + ] + }, + "example_values": [ + 0, + 0.01, + 0.25, + 0.5, + 1, + 2, + 3, + 4, + 9, + 16, + 25, + 36, + 49, + 64, + 81, + 100, + 0.1, + 10, + 50, + 99.99 + ] + } + ], + "output_policy": "real_floating_point_and_generic", + "returns": { + "desc": "square root", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + } + }, + "keywords": [ + "sqrt", + "sqrt1pm1f", + "principal", + "square", + "root", + "power" + ], + "extra_keywords": [] + } + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/Makefile b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + + +# RULES # + +#/ +# Removes generated files for building an add-on. +# +# @example +# make clean-addon +#/ +clean-addon: + $(QUIET) -rm -f *.o *.node + +.PHONY: clean-addon + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: clean-addon + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/addon.c b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/addon.c new file mode 100644 index 000000000000..ebb8dd1dbc02 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/addon.c @@ -0,0 +1,22 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/sqrt1pm1f.h" +#include "stdlib/math/base/napi/unary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_sqrt1pm1f ) diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c new file mode 100644 index 000000000000..e01543c10ea0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c @@ -0,0 +1,61 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* +* ## Notice +* +* The original C++ code and copyright notice are from the [Boost library]{@link https://github.com/boostorg/math/blob/fb82796a79788dc7f9973c9f0c492f8c1b54aa92/include/boost/math/special_functions/sqrt1pm1.hpp}. This implementation follows the original, but has been modified according to project conventions. +* +* ```text +* (C) Copyright John Maddock 2006. +* +* Use, modification and distribution are subject to the +* Boost Software License, Version 1.0. (See accompanying file +* LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt) +* ``` +*/ + +#include "stdlib/math/base/special/sqrt1pm1f.h" +#include "stdlib/math/base/assert/is_nanf.h" +#include "stdlib/math/base/special/log1pf.h" +#include "stdlib/math/base/special/sqrtf.h" +#include "stdlib/math/base/special/absf.h" + +/** +* Define prototypes for external functions. +*/ +extern float expm1f( float x ); + +/** +* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* +* @param x input value +* @return output value +* +* @example +* float out = stdlib_base_sqrt1pm1f( 3.0f ); +* // returns 1.0f +*/ +float stdlib_base_sqrt1pm1f( const float x ) { + if ( stdlib_base_is_nanf( x ) ) { + return 0.0f / 0.0f; // NaN + } + if ( stdlib_base_absf( x ) > 0.75f ) { + return stdlib_base_sqrtf( 1.0f + x ) - 1.0f; + } + return expm1f( stdlib_base_log1pf( x ) / 2.0f ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/Makefile b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/Makefile new file mode 100644 index 000000000000..b726e14808c4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/Makefile @@ -0,0 +1,120 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +endif + +# Specify the path to Boost: +BOOST ?= + +# Determine the OS: +# +# [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 +endif +endif +endif + +# Define the program used for compiling C++ source files: +ifdef CXX_COMPILER + CXX := $(CXX_COMPILER) +else + CXX := g++ +endif + +# Define the command-line options when compiling C++ files: +CXXFLAGS ?= \ + -std=c++11 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate [position independent code][1]: +# +# [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 C++ targets: +cxx_targets := runner.out + + +# TARGETS # + +# Default target. +# +# This target is the default target. + +all: $(cxx_targets) + +.PHONY: all + + +# Compile C++ source. +# +# This target compiles C++ source files. + +$(cxx_targets): %.out: %.cpp $(BOOST) + $(QUIET) $(CXX) $(CXXFLAGS) $(fPIC) -I $(BOOST) -o $@ $< -lm + + +# Generate test fixtures. +# +# This target generates test fixtures. + +run: $(cxx_targets) + $(QUIET) ./$< + +.PHONY: run + + +# Perform clean-up. +# +# This target removes generated files. + +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean + + +# Remove fixtures. +# +# This target removes fixture data. + +clean-fixtures: + $(QUIET) -rm -f *.json + +.PHONY: clean-fixtures diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/large.json b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/large.json new file mode 100644 index 000000000000..278308877f99 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/large.json @@ -0,0 +1 @@ +{"x":[0.75999999046325684,0.80964481830596924,0.85928964614868164,0.90893447399139404,0.95857930183410645,1.0082241296768188,1.0578689575195312,1.1075137853622437,1.1571586132049561,1.2068033218383789,1.2564481496810913,1.3060929775238037,1.3557378053665161,1.4053826332092285,1.4550274610519409,1.5046722888946533,1.5543171167373657,1.6039619445800781,1.6536067724227905,1.7032516002655029,1.7528964281082153,1.8025412559509277,1.8521860837936401,1.9018309116363525,1.9514756202697754,2.0011205673217773,2.0507652759552002,2.1004102230072021,2.150054931640625,2.199699878692627,2.2493445873260498,2.2989895343780518,2.3486342430114746,2.3982789516448975,2.4479238986968994,2.4975686073303223,2.5472135543823242,2.5968582630157471,2.646503210067749,2.6961479187011719,2.7457928657531738,2.7954375743865967,2.8450825214385986,2.8947272300720215,2.9443721771240234,2.9940168857574463,3.0436618328094482,3.0933065414428711,3.142951488494873,3.1925961971282959,3.2422409057617188,3.2918858528137207,3.3415305614471436,3.3911755084991455,3.4408202171325684,3.4904651641845703,3.5401098728179932,3.5897548198699951,3.639399528503418,3.6890444755554199,3.7386891841888428,3.7883341312408447,3.8379788398742676,3.8876237869262695,3.9372684955596924,3.9869132041931152,4.0365581512451172,4.0862030982971191,4.1358475685119629,4.1854925155639648,4.2351374626159668,4.2847824096679688,4.3344268798828125,4.3840718269348145,4.4337167739868164,4.4833617210388184,4.5330061912536621,4.5826511383056641,4.632296085357666,4.681941032409668,4.7315855026245117,4.7812304496765137,4.8308753967285156,4.8805198669433594,4.9301648139953613,4.9798097610473633,5.0294547080993652,5.079099178314209,5.1287441253662109,5.1783890724182129,5.2280340194702148,5.2776784896850586,5.3273234367370605,5.3769683837890625,5.4266133308410645,5.4762578010559082,5.5259027481079102,5.5755476951599121,5.6251921653747559,5.6748371124267578,5.7244820594787598,5.7741270065307617,5.8237714767456055,5.8734164237976074,5.9230613708496094,5.9727063179016113,6.0223507881164551,6.071995735168457,6.121640682220459,6.1712856292724609,6.2209300994873047,6.2705750465393066,6.3202199935913086,6.3698644638061523,6.4195094108581543,6.4691543579101562,6.5187993049621582,6.568443775177002,6.6180887222290039,6.6677336692810059,6.7173786163330078,6.7670230865478516,6.8166680335998535,6.8663129806518555,6.9159579277038574,6.9656023979187012,7.0152473449707031,7.0648922920227051,7.114537239074707,7.1641817092895508,7.2138266563415527,7.2634716033935547,7.3131160736083984,7.3627610206604004,7.4124059677124023,7.4620509147644043,7.511695384979248,7.56134033203125,7.610985279083252,7.6606302261352539,7.7102746963500977,7.7599196434020996,7.8095645904541016,7.8592095375061035,7.9088540077209473,7.9584989547729492,8.008143424987793,8.0577888488769531,8.1074333190917969,8.1570777893066406,8.2067232131958008,8.2563676834106445,8.3060131072998047,8.3556575775146484,8.4053020477294922,8.4549474716186523,8.5045919418334961,8.5542364120483398,8.6038818359375,8.6535263061523438,8.7031707763671875,8.7528162002563477,8.8024606704711914,8.8521060943603516,8.9017505645751953,8.9513950347900391,9.0010404586791992,9.050684928894043,9.1003293991088867,9.1499748229980469,9.1996192932128906,9.2492647171020508,9.2989091873168945,9.3485536575317383,9.3981990814208984,9.4478435516357422,9.4974880218505859,9.5471334457397461,9.5967779159545898,9.6464223861694336,9.6960678100585938,9.7457122802734375,9.7953577041625977,9.8450021743774414,9.8946466445922852,9.9442920684814453,9.9939365386962891,10.043581008911133,10.093226432800293,10.142870903015137,10.192516326904297,10.242160797119141,10.291805267333984,10.341450691223145,10.391095161437988,10.440739631652832,10.490385055541992,10.540029525756836,10.58967399597168,10.63931941986084,10.688963890075684,10.738609313964844,10.788253784179688,10.837898254394531,10.887543678283691,10.937188148498535,10.986832618713379,11.036478042602539,11.086122512817383,11.135766983032227,11.185412406921387,11.23505687713623,11.284702301025391,11.334346771240234,11.383991241455078,11.433636665344238,11.483281135559082,11.532925605773926,11.582571029663086,11.63221549987793,11.68186092376709,11.731505393981934,11.781149864196777,11.830795288085938,11.880439758300781,11.930084228515625,11.979729652404785,12.029374122619629,12.079018592834473,12.128664016723633,12.178308486938477,12.227953910827637,12.27759838104248,12.327242851257324,12.376888275146484,12.426532745361328,12.476177215576172,12.525822639465332,12.575467109680176,12.625112533569336,12.67475700378418,12.724401473999023,12.774046897888184,12.823691368103027,12.873335838317871,12.922981262207031,12.972625732421875,13.022270202636719,13.071915626525879,13.121560096740723,13.171205520629883,13.220849990844727,13.27049446105957,13.32013988494873,13.369784355163574,13.419428825378418,13.469074249267578,13.518718719482422,13.568363189697266,13.618008613586426,13.66765308380127,13.71729850769043,13.766942977905273,13.816587448120117,13.866232872009277,13.915877342224121,13.965521812438965,14.015167236328125,14.064811706542969,14.114457130432129,14.164101600646973,14.213746070861816,14.263391494750977,14.31303596496582,14.362680435180664,14.412325859069824,14.461970329284668,14.511614799499512,14.561260223388672,14.610904693603516,14.660550117492676,14.71019458770752,14.759839057922363,14.809484481811523,14.859128952026367,14.908773422241211,14.958418846130371,15.008063316345215,15.057708740234375,15.107353210449219,15.156997680664062,15.206643104553223,15.256287574768066,15.30593204498291,15.35557746887207,15.405221939086914,15.454866409301758,15.504511833190918,15.554156303405762,15.603801727294922,15.653446197509766,15.703090667724609,15.75273609161377,15.802380561828613,15.852025032043457,15.901670455932617,15.951314926147461,16.000959396362305,16.050603866577148,16.100250244140625,16.149894714355469,16.199539184570312,16.249183654785156,16.298828125,16.348474502563477,16.39811897277832,16.447763442993164,16.497407913208008,16.547052383422852,16.596696853637695,16.646343231201172,16.695987701416016,16.745632171630859,16.795276641845703,16.844921112060547,16.894567489624023,16.944211959838867,16.993856430053711,17.043500900268555,17.093145370483398,17.142789840698242,17.192436218261719,17.242080688476562,17.291725158691406,17.34136962890625,17.391014099121094,17.44066047668457,17.490304946899414,17.539949417114258,17.589593887329102,17.639238357543945,17.688882827758789,17.738529205322266,17.788173675537109,17.837818145751953,17.887462615966797,17.937107086181641,17.986753463745117,18.036397933959961,18.086042404174805,18.135686874389648,18.185331344604492,18.234977722167969,18.284622192382812,18.334266662597656,18.3839111328125,18.433555603027344,18.483200073242188,18.532846450805664,18.582490921020508,18.632135391235352,18.681779861450195,18.731424331665039,18.781070709228516,18.830715179443359,18.880359649658203,18.930004119873047,18.979648590087891,19.029293060302734,19.078939437866211,19.128583908081055,19.178228378295898,19.227872848510742,19.277517318725586,19.327163696289062,19.376808166503906,19.42645263671875,19.476097106933594,19.525741577148438,19.575386047363281,19.625032424926758,19.674676895141602,19.724321365356445,19.773965835571289,19.823610305786133,19.873256683349609,19.922901153564453,19.972545623779297,20.022190093994141,20.071834564208984,20.121479034423828,20.171125411987305,20.220769882202148,20.270414352416992,20.320058822631836,20.36970329284668,20.419349670410156,20.468994140625,20.518638610839844,20.568283081054688,20.617927551269531,20.667572021484375,20.717218399047852,20.766862869262695,20.816507339477539,20.866151809692383,20.915796279907227,20.965442657470703,21.015087127685547,21.064731597900391,21.114376068115234,21.164020538330078,21.213666915893555,21.263311386108398,21.312955856323242,21.362600326538086,21.41224479675293,21.461889266967773,21.51153564453125,21.561180114746094,21.610824584960938,21.660469055175781,21.710113525390625,21.759759902954102,21.809404373168945,21.859048843383789,21.908693313598633,21.958337783813477,22.00798225402832,22.057628631591797,22.107273101806641,22.156917572021484,22.206562042236328,22.256206512451172,22.305852890014648,22.355497360229492,22.405141830444336,22.45478630065918,22.504430770874023,22.554075241088867,22.603721618652344,22.653366088867188,22.703010559082031,22.752655029296875,22.802299499511719,22.851945877075195,22.901590347290039,22.951234817504883,23.000879287719727,23.05052375793457,23.100168228149414,23.149814605712891,23.199459075927734,23.249103546142578,23.298748016357422,23.348392486572266,23.398038864135742,23.447683334350586,23.49732780456543,23.546972274780273,23.596616744995117,23.646263122558594,23.695907592773438,23.745552062988281,23.795196533203125,23.844841003417969,23.894485473632812,23.944131851196289,23.993776321411133,24.043420791625977,24.09306526184082,24.142709732055664,24.192356109619141,24.242000579833984,24.291645050048828,24.341289520263672,24.390933990478516,24.440578460693359,24.490224838256836,24.53986930847168,24.589513778686523,24.639158248901367,24.688802719116211,24.738449096679688,24.788093566894531,24.837738037109375,24.887382507324219,24.937026977539062,24.986671447753906,25.036317825317383,25.085962295532227,25.13560676574707,25.185251235961914,25.234895706176758,25.284542083740234,25.334186553955078,25.383831024169922,25.433475494384766,25.483119964599609,25.532764434814453,25.58241081237793,25.632055282592773,25.681699752807617,25.731344223022461,25.780988693237305,25.830635070800781,25.880279541015625,25.929924011230469,25.979568481445312,26.029212951660156,26.078859329223633,26.128503799438477,26.17814826965332,26.227792739868164,26.277437210083008,26.327081680297852,26.376728057861328,26.426372528076172,26.476016998291016,26.525661468505859,26.575305938720703,26.62495231628418,26.674596786499023,26.724241256713867,26.773885726928711,26.823530197143555,26.873174667358398,26.922821044921875,26.972465515136719,27.022109985351562,27.071754455566406,27.12139892578125,27.171045303344727,27.22068977355957,27.270334243774414,27.319978713989258,27.369623184204102,27.419267654418945,27.468914031982422,27.518558502197266,27.568202972412109,27.617847442626953,27.667491912841797,27.717138290405273,27.766782760620117,27.816427230834961,27.866071701049805,27.915716171264648,27.965360641479492,28.015007019042969,28.064651489257812,28.114295959472656,28.1639404296875,28.213584899902344,28.26323127746582,28.312875747680664,28.362520217895508,28.412164688110352,28.461809158325195,28.511455535888672,28.561100006103516,28.610744476318359,28.660388946533203,28.710033416748047,28.759677886962891,28.809324264526367,28.858968734741211,28.908613204956055,28.958257675170898,29.007902145385742,29.057548522949219,29.107192993164062,29.156837463378906,29.20648193359375,29.256126403808594,29.305770874023438,29.355417251586914,29.405061721801758,29.454706192016602,29.504350662231445,29.553995132446289,29.603641510009766,29.653285980224609,29.702930450439453,29.752574920654297,29.802219390869141,29.851863861083984,29.901510238647461,29.951154708862305,30.000799179077148,30.050443649291992,30.100088119506836,30.149734497070312,30.199378967285156,30.2490234375,30.298667907714844,30.348312377929688,30.397956848144531,30.447603225708008,30.497247695922852,30.546892166137695,30.596536636352539,30.646181106567383,30.695827484130859,30.745471954345703,30.795116424560547,30.844760894775391,30.894405364990234,30.944049835205078,30.993696212768555,31.043340682983398,31.092985153198242,31.142629623413086,31.19227409362793,31.241920471191406,31.29156494140625,31.341209411621094,31.390853881835938,31.440498352050781,31.490144729614258,31.539789199829102,31.589433670043945,31.639078140258789,31.688722610473633,31.738367080688477,31.788013458251953,31.837657928466797,31.887302398681641,31.936946868896484,31.986591339111328,32.036235809326172,32.085880279541016,32.135524749755859,32.185173034667969,32.234817504882812,32.284461975097656,32.3341064453125,32.383750915527344,32.433395385742188,32.483039855957031,32.532684326171875,32.582328796386719,32.631973266601562,32.681617736816406,32.731266021728516,32.780910491943359,32.830554962158203,32.880199432373047,32.929843902587891,32.979488372802734,33.029132843017578,33.078777313232422,33.128421783447266,33.178066253662109,33.227710723876953,33.277359008789062,33.327003479003906,33.37664794921875,33.426292419433594,33.475936889648438,33.525581359863281,33.575225830078125,33.624870300292969,33.674514770507812,33.724159240722656,33.7738037109375,33.823451995849609,33.873096466064453,33.922740936279297,33.972385406494141,34.022029876708984,34.071674346923828,34.121318817138672,34.170963287353516,34.220607757568359,34.270252227783203,34.319896697998047,34.369544982910156,34.419189453125,34.468833923339844,34.518478393554688,34.568122863769531,34.617767333984375,34.667411804199219,34.717056274414062,34.766700744628906,34.81634521484375,34.865993499755859,34.915637969970703,34.965282440185547,35.014926910400391,35.064571380615234,35.114215850830078,35.163860321044922,35.213504791259766,35.263149261474609,35.312793731689453,35.362438201904297,35.412086486816406,35.46173095703125,35.511375427246094,35.561019897460938,35.610664367675781,35.660308837890625,35.709953308105469,35.759597778320312,35.809242248535156,35.85888671875,35.908531188964844,35.958179473876953,36.007823944091797,36.057468414306641,36.107112884521484,36.156757354736328,36.206401824951172,36.256046295166016,36.305690765380859,36.355335235595703,36.404979705810547,36.454624176025391,36.5042724609375,36.553916931152344,36.603561401367188,36.653205871582031,36.702850341796875,36.752494812011719,36.802139282226562,36.851783752441406,36.90142822265625,36.951072692871094,37.000717163085938,37.050365447998047,37.100009918212891,37.149654388427734,37.199298858642578,37.248943328857422,37.298587799072266,37.348232269287109,37.397876739501953,37.447521209716797,37.497165679931641,37.546810150146484,37.596458435058594,37.646102905273438,37.695747375488281,37.745391845703125,37.795036315917969,37.844680786132812,37.894325256347656,37.9439697265625,37.993614196777344,38.043258666992188,38.092903137207031,38.142551422119141,38.192195892333984,38.241840362548828,38.291484832763672,38.341129302978516,38.390773773193359,38.440418243408203,38.490062713623047,38.539707183837891,38.589351654052734,38.638996124267578,38.688644409179688,38.738288879394531,38.787933349609375,38.837577819824219,38.887222290039062,38.936866760253906,38.98651123046875,39.036155700683594,39.085800170898438,39.135444641113281,39.185089111328125,39.234737396240234,39.284381866455078,39.334026336669922,39.383670806884766,39.433315277099609,39.482959747314453,39.532604217529297,39.582248687744141,39.631893157958984,39.681537628173828,39.731182098388672,39.780830383300781,39.830474853515625,39.880119323730469,39.929763793945312,39.979408264160156,40.029052734375,40.078697204589844,40.128341674804688,40.177986145019531,40.227630615234375,40.277278900146484,40.326923370361328,40.376567840576172,40.426212310791016,40.475856781005859,40.525501251220703,40.575145721435547,40.624790191650391,40.674434661865234,40.724079132080078,40.773723602294922,40.823371887207031,40.873016357421875,40.922660827636719,40.972305297851562,41.021949768066406,41.07159423828125,41.121238708496094,41.170883178710938,41.220527648925781,41.270172119140625,41.319816589355469,41.369464874267578,41.419109344482422,41.468753814697266,41.518398284912109,41.568042755126953,41.617687225341797,41.667331695556641,41.716976165771484,41.766620635986328,41.816265106201172,41.865909576416016,41.915557861328125,41.965202331542969,42.014846801757812,42.064491271972656,42.1141357421875,42.163780212402344,42.213424682617188,42.263069152832031,42.312713623046875,42.362358093261719,42.412002563476562,42.461650848388672,42.511295318603516,42.560939788818359,42.610584259033203,42.660228729248047,42.709873199462891,42.759517669677734,42.809162139892578,42.858806610107422,42.908451080322266,42.958095550537109,43.007743835449219,43.057388305664062,43.107032775878906,43.15667724609375,43.206321716308594,43.255966186523438,43.305610656738281,43.355255126953125,43.404899597167969,43.454544067382812,43.504188537597656,43.553836822509766,43.603481292724609,43.653125762939453,43.702770233154297,43.752414703369141,43.802059173583984,43.851703643798828,43.901348114013672,43.950992584228516,44.000637054443359,44.050281524658203,44.099929809570312,44.149574279785156,44.19921875,44.248863220214844,44.298507690429688,44.348152160644531,44.397796630859375,44.447441101074219,44.497085571289062,44.546730041503906,44.59637451171875,44.646022796630859,44.695667266845703,44.745311737060547,44.794956207275391,44.844600677490234,44.894245147705078,44.943889617919922,44.993534088134766,45.043178558349609,45.092823028564453,45.142471313476562,45.192115783691406,45.24176025390625,45.291404724121094,45.341049194335938,45.390693664550781,45.440338134765625,45.489982604980469,45.539627075195312,45.589271545410156,45.638916015625,45.688564300537109,45.738208770751953,45.787853240966797,45.837497711181641,45.887142181396484,45.936786651611328,45.986431121826172,46.036075592041016,46.085720062255859,46.135364532470703,46.185009002685547,46.234657287597656,46.2843017578125,46.333946228027344,46.383590698242188,46.433235168457031,46.482879638671875,46.532524108886719,46.582168579101562,46.631813049316406,46.68145751953125,46.731101989746094,46.780750274658203,46.830394744873047,46.880039215087891,46.929683685302734,46.979328155517578,47.028972625732422,47.078617095947266,47.128261566162109,47.177906036376953,47.227550506591797,47.277194976806641,47.32684326171875,47.376487731933594,47.426132202148438,47.475776672363281,47.525421142578125,47.575065612792969,47.624710083007812,47.674354553222656,47.7239990234375,47.773643493652344,47.823287963867188,47.872936248779297,47.922580718994141,47.972225189208984,48.021869659423828,48.071514129638672,48.121158599853516,48.170803070068359,48.220447540283203,48.270092010498047,48.319736480712891,48.369380950927734,48.419029235839844,48.468673706054688,48.518318176269531,48.567962646484375,48.617607116699219,48.667251586914062,48.716896057128906,48.76654052734375,48.816184997558594,48.865829467773438,48.915473937988281,48.965122222900391,49.014766693115234,49.064411163330078,49.114055633544922,49.163700103759766,49.213344573974609,49.262989044189453,49.312633514404297,49.362277984619141,49.411922454833984,49.461566925048828,49.511215209960938,49.560859680175781,49.610504150390625,49.660148620605469,49.709793090820312,49.759437561035156,49.80908203125,49.858726501464844,49.908370971679688,49.958015441894531,50.007659912109375,50.057308197021484,50.106952667236328,50.156597137451172,50.206241607666016,50.255886077880859,50.305530548095703,50.355175018310547,50.404819488525391,50.454463958740234,50.504108428955078,50.553756713867188,50.603401184082031,50.653045654296875,50.702690124511719,50.752334594726562,50.801979064941406,50.85162353515625,50.901268005371094,50.950912475585938,51.000556945800781,51.050201416015625,51.099849700927734,51.149494171142578,51.199138641357422,51.248783111572266,51.298427581787109,51.348072052001953,51.397716522216797,51.447360992431641,51.497005462646484,51.546649932861328,51.596294403076172,51.645942687988281,51.695587158203125,51.745231628417969,51.794876098632812,51.844520568847656,51.8941650390625,51.943809509277344,51.993453979492188,52.043098449707031,52.092742919921875,52.142387390136719,52.192035675048828,52.241680145263672,52.291324615478516,52.340969085693359,52.390613555908203,52.440258026123047,52.489902496337891,52.539546966552734,52.589191436767578,52.638835906982422,52.688480377197266,52.738128662109375,52.787773132324219,52.837417602539062,52.887062072753906,52.93670654296875,52.986351013183594,53.035995483398438,53.085639953613281,53.135284423828125,53.184928894042969,53.234573364257812,53.284221649169922,53.333866119384766,53.383510589599609,53.433155059814453,53.482799530029297,53.532444000244141,53.582088470458984,53.631732940673828,53.681377410888672,53.731021881103516,53.780666351318359,53.830314636230469,53.879959106445312,53.929603576660156,53.979248046875,54.028892517089844,54.078536987304688,54.128181457519531,54.177825927734375,54.227470397949219,54.277114868164062,54.326759338378906,54.376407623291016,54.426052093505859,54.475696563720703,54.525341033935547,54.574985504150391,54.624629974365234,54.674274444580078,54.723918914794922,54.773563385009766,54.823207855224609,54.872852325439453,54.922500610351562,54.972145080566406,55.02178955078125,55.071434020996094,55.121078491210938,55.170722961425781,55.220367431640625,55.270011901855469,55.319656372070312,55.369300842285156,55.418949127197266,55.468593597412109,55.518238067626953,55.567882537841797,55.617527008056641,55.667171478271484,55.716815948486328,55.766460418701172,55.816104888916016,55.865749359130859,55.915393829345703,55.965042114257812,56.014686584472656,56.0643310546875,56.113975524902344,56.163619995117188,56.213264465332031,56.262908935546875,56.312553405761719,56.362197875976562,56.411842346191406,56.46148681640625,56.511135101318359,56.560779571533203,56.610424041748047,56.660068511962891,56.709712982177734,56.759357452392578,56.809001922607422,56.858646392822266,56.908290863037109,56.957935333251953,57.007579803466797,57.057228088378906,57.10687255859375,57.156517028808594,57.206161499023438,57.255805969238281,57.305450439453125,57.355094909667969,57.404739379882812,57.454383850097656,57.5040283203125,57.553672790527344,57.603321075439453,57.652965545654297,57.702610015869141,57.752254486083984,57.801898956298828,57.851543426513672,57.901187896728516,57.950832366943359,58.000476837158203,58.050121307373047,58.099765777587891,58.1494140625,58.199058532714844,58.248703002929688,58.298347473144531,58.347991943359375,58.397636413574219,58.447280883789062,58.496925354003906,58.54656982421875,58.596214294433594,58.645858764648438,58.695507049560547,58.745151519775391,58.794795989990234,58.844440460205078,58.894084930419922,58.943729400634766,58.993373870849609,59.043018341064453,59.092662811279297,59.142307281494141,59.191951751708984,59.241600036621094,59.291244506835938,59.340888977050781,59.390533447265625,59.440177917480469,59.489822387695312,59.539466857910156,59.589111328125,59.638755798339844,59.688400268554688,59.738044738769531,59.787693023681641,59.837337493896484,59.886981964111328,59.936626434326172,59.986270904541016,60.035915374755859,60.085559844970703,60.135204315185547,60.184848785400391,60.234493255615234,60.284141540527344,60.333786010742188,60.383430480957031,60.433074951171875,60.482719421386719,60.532363891601562,60.582008361816406,60.63165283203125,60.681297302246094,60.730941772460938,60.780586242675781,60.830234527587891,60.879878997802734,60.929523468017578,60.979167938232422,61.028812408447266,61.078456878662109,61.128101348876953,61.177745819091797,61.227390289306641,61.277034759521484,61.326679229736328,61.376327514648438,61.425971984863281,61.475616455078125,61.525260925292969,61.574905395507812,61.624549865722656,61.6741943359375,61.723838806152344,61.773483276367188,61.823127746582031,61.872772216796875,61.922420501708984,61.972064971923828,62.021709442138672,62.071353912353516,62.120998382568359,62.170642852783203,62.220287322998047,62.269931793212891,62.319576263427734,62.369220733642578,62.418865203857422,62.468513488769531,62.518157958984375,62.567802429199219,62.617446899414062,62.667091369628906,62.71673583984375,62.766380310058594,62.816024780273438,62.865669250488281,62.915313720703125,62.964958190917969,63.014606475830078,63.064250946044922,63.113895416259766,63.163539886474609,63.213184356689453,63.262828826904297,63.312473297119141,63.362117767333984,63.411762237548828,63.461406707763672,63.511051177978516,63.560699462890625,63.610343933105469,63.659988403320312,63.709632873535156,63.75927734375,63.808921813964844,63.858566284179688,63.908210754394531,63.957855224609375,64.007499694824219,64.057144165039062,64.106788635253906,64.15643310546875,64.206077575683594,64.255722045898438,64.305366516113281,64.355018615722656,64.4046630859375,64.454307556152344,64.503952026367188,64.553596496582031,64.603240966796875,64.652885437011719,64.702529907226562,64.752174377441406,64.80181884765625,64.851463317871094,64.901107788085938,64.950752258300781,65.000396728515625,65.050041198730469,65.099685668945312,65.149330139160156,65.198974609375,65.248619079589844,65.298263549804688,65.347908020019531,65.397552490234375,65.44720458984375,65.496849060058594,65.546493530273438,65.596138000488281,65.645782470703125,65.695426940917969,65.745071411132812,65.794715881347656,65.8443603515625,65.894004821777344,65.943649291992188,65.993293762207031,66.042938232421875,66.092582702636719,66.142227172851562,66.191871643066406,66.24151611328125,66.291160583496094,66.340805053710938,66.390449523925781,66.440093994140625,66.489738464355469,66.539390563964844,66.589035034179688,66.638679504394531,66.688323974609375,66.737968444824219,66.787612915039062,66.837257385253906,66.88690185546875,66.936546325683594,66.986190795898438,67.035835266113281,67.085479736328125,67.135124206542969,67.184768676757812,67.234413146972656,67.2840576171875,67.333702087402344,67.383346557617188,67.432991027832031,67.482635498046875,67.532279968261719,67.581924438476562,67.631576538085938,67.681221008300781,67.730865478515625,67.780509948730469,67.830154418945312,67.879798889160156,67.929443359375,67.979087829589844,68.028732299804688,68.078376770019531,68.128021240234375,68.177665710449219,68.227310180664062,68.276954650878906,68.32659912109375,68.376243591308594,68.425888061523438,68.475532531738281,68.525177001953125,68.574821472167969,68.624465942382812,68.674118041992188,68.723762512207031,68.773406982421875,68.823051452636719,68.872695922851562,68.922340393066406,68.97198486328125,69.021629333496094,69.071273803710938,69.120918273925781,69.170562744140625,69.220207214355469,69.269851684570312,69.319496154785156,69.369140625,69.418785095214844,69.468429565429688,69.518074035644531,69.567718505859375,69.617362976074219,69.667007446289062,69.716651916503906,69.766304016113281,69.815948486328125,69.865592956542969,69.915237426757812,69.964881896972656,70.0145263671875,70.064170837402344,70.113815307617188,70.163459777832031,70.213104248046875,70.262748718261719,70.312393188476562,70.362037658691406,70.41168212890625,70.461326599121094,70.510971069335938,70.560615539550781,70.610260009765625,70.659904479980469,70.709548950195312,70.759193420410156,70.808837890625,70.858489990234375,70.908134460449219,70.957778930664062,71.007423400878906,71.05706787109375,71.106712341308594,71.156356811523438,71.206001281738281,71.255645751953125,71.305290222167969,71.354934692382812,71.404579162597656,71.4542236328125,71.503868103027344,71.553512573242188,71.603157043457031,71.652801513671875,71.702445983886719,71.752090454101562,71.801734924316406,71.85137939453125,71.901023864746094,71.950675964355469,72.000320434570312,72.049964904785156,72.099609375,72.149253845214844,72.198898315429688,72.248542785644531,72.298187255859375,72.347831726074219,72.397476196289062,72.447120666503906,72.49676513671875,72.546409606933594,72.596054077148438,72.645698547363281,72.695343017578125,72.744987487792969,72.794631958007812,72.844276428222656,72.8939208984375,72.943565368652344,72.993217468261719,73.042861938476562,73.092506408691406,73.14215087890625,73.191795349121094,73.241439819335938,73.291084289550781,73.340728759765625,73.390373229980469,73.440017700195312,73.489662170410156,73.539306640625,73.588951110839844,73.638595581054688,73.688240051269531,73.737884521484375,73.787528991699219,73.837173461914062,73.886817932128906,73.93646240234375,73.986106872558594,74.035751342773438,74.085403442382812,74.135047912597656,74.1846923828125,74.234336853027344,74.283981323242188,74.333625793457031,74.383270263671875,74.432914733886719,74.482559204101562,74.532203674316406,74.58184814453125,74.631492614746094,74.681137084960938,74.730781555175781,74.780426025390625,74.830070495605469,74.879714965820312,74.929359436035156,74.97900390625,75.028648376464844,75.078292846679688,75.127937316894531,75.177589416503906,75.22723388671875,75.276878356933594,75.326522827148438,75.376167297363281,75.425811767578125,75.475456237792969,75.525100708007812,75.574745178222656,75.6243896484375,75.674034118652344,75.723678588867188,75.773323059082031,75.822967529296875,75.872611999511719,75.922256469726562,75.971900939941406,76.02154541015625,76.071189880371094,76.120834350585938,76.170478820800781,76.220123291015625,76.269775390625,76.319419860839844,76.369064331054688,76.418708801269531,76.468353271484375,76.517997741699219,76.567642211914062,76.617286682128906,76.66693115234375,76.716575622558594,76.766220092773438,76.815864562988281,76.865509033203125,76.915153503417969,76.964797973632812,77.014442443847656,77.0640869140625,77.113731384277344,77.163375854492188,77.213020324707031,77.262664794921875,77.312309265136719,77.361961364746094,77.411605834960938,77.461250305175781,77.510894775390625,77.560539245605469,77.610183715820312,77.659828186035156,77.70947265625,77.759117126464844,77.808761596679688,77.858406066894531,77.908050537109375,77.957695007324219,78.007339477539062,78.056983947753906,78.10662841796875,78.156272888183594,78.205917358398438,78.255561828613281,78.305206298828125,78.354850769042969,78.404502868652344,78.454147338867188,78.503791809082031,78.553436279296875,78.603080749511719,78.652725219726562,78.702369689941406,78.75201416015625,78.801658630371094,78.851303100585938,78.900947570800781,78.950592041015625,79.000236511230469,79.049880981445312,79.099525451660156,79.149169921875,79.198814392089844,79.248458862304688,79.298103332519531,79.347747802734375,79.397392272949219,79.447036743164062,79.496688842773438,79.546333312988281,79.595977783203125,79.645622253417969,79.695266723632812,79.744911193847656,79.7945556640625,79.844200134277344,79.893844604492188,79.943489074707031,79.993133544921875,80.042778015136719,80.092422485351562,80.142066955566406,80.19171142578125,80.241355895996094,80.291000366210938,80.340644836425781,80.390289306640625,80.439933776855469,80.489578247070312,80.539222717285156,80.588874816894531,80.638519287109375,80.688163757324219,80.737808227539062,80.787452697753906,80.83709716796875,80.886741638183594,80.936386108398438,80.986030578613281,81.035675048828125,81.085319519042969,81.134963989257812,81.184608459472656,81.2342529296875,81.283897399902344,81.333541870117188,81.383186340332031,81.432830810546875,81.482475280761719,81.532119750976562,81.581764221191406,81.63140869140625,81.681060791015625,81.730705261230469,81.780349731445312,81.829994201660156,81.879638671875,81.929283142089844,81.978927612304688,82.028572082519531,82.078216552734375,82.127861022949219,82.177505493164062,82.227149963378906,82.27679443359375,82.326438903808594,82.376083374023438,82.425727844238281,82.475372314453125,82.525016784667969,82.574661254882812,82.624305725097656,82.6739501953125,82.723594665527344,82.773246765136719,82.822891235351562,82.872535705566406,82.92218017578125,82.971824645996094,83.021469116210938,83.071113586425781,83.120758056640625,83.170402526855469,83.220046997070312,83.269691467285156,83.3193359375,83.368980407714844,83.418624877929688,83.468269348144531,83.517913818359375,83.567558288574219,83.617202758789062,83.666847229003906,83.71649169921875,83.766136169433594,83.815788269042969,83.865432739257812,83.915077209472656,83.9647216796875,84.014366149902344,84.064010620117188,84.113655090332031,84.163299560546875,84.212944030761719,84.262588500976562,84.312232971191406,84.36187744140625,84.411521911621094,84.461166381835938,84.510810852050781,84.560455322265625,84.610099792480469,84.659744262695312,84.709388732910156,84.759033203125,84.808677673339844,84.858322143554688,84.907974243164062,84.957618713378906,85.00726318359375,85.056907653808594,85.106552124023438,85.156196594238281,85.205841064453125,85.255485534667969,85.305130004882812,85.354774475097656,85.4044189453125,85.454063415527344,85.503707885742188,85.553352355957031,85.602996826171875,85.652641296386719,85.702285766601562,85.751930236816406,85.80157470703125,85.851219177246094,85.900863647460938,85.950508117675781,86.000160217285156,86.0498046875,86.099449157714844,86.149093627929688,86.198738098144531,86.248382568359375,86.298027038574219,86.347671508789062,86.397315979003906,86.44696044921875,86.496604919433594,86.546249389648438,86.595893859863281,86.645538330078125,86.695182800292969,86.744827270507812,86.794471740722656,86.8441162109375,86.893760681152344,86.943405151367188,86.993049621582031,87.042694091796875,87.09234619140625,87.141990661621094,87.191635131835938,87.241279602050781,87.290924072265625,87.340568542480469,87.390213012695312,87.439857482910156,87.489501953125,87.539146423339844,87.588790893554688,87.638435363769531,87.688079833984375,87.737724304199219,87.787368774414062,87.837013244628906,87.88665771484375,87.936302185058594,87.985946655273438,88.035591125488281,88.085235595703125,88.1348876953125,88.184532165527344,88.234176635742188,88.283821105957031,88.333465576171875,88.383110046386719,88.432754516601562,88.482398986816406,88.53204345703125,88.581687927246094,88.631332397460938,88.680976867675781,88.730621337890625,88.780265808105469,88.829910278320312,88.879554748535156,88.92919921875,88.978843688964844,89.028488159179688,89.078132629394531,89.127777099609375,89.177421569824219,89.227073669433594,89.276718139648438,89.326362609863281,89.376007080078125,89.425651550292969,89.475296020507812,89.524940490722656,89.5745849609375,89.624229431152344,89.673873901367188,89.723518371582031,89.773162841796875,89.822807312011719,89.872451782226562,89.922096252441406,89.97174072265625,90.021385192871094,90.071029663085938,90.120674133300781,90.170318603515625,90.219963073730469,90.269607543945312,90.319259643554688,90.368904113769531,90.418548583984375,90.468193054199219,90.517837524414062,90.567481994628906,90.61712646484375,90.666770935058594,90.716415405273438,90.766059875488281,90.815704345703125,90.865348815917969,90.914993286132812,90.964637756347656,91.0142822265625,91.063926696777344,91.113571166992188,91.163215637207031,91.212860107421875,91.262504577636719,91.312149047851562,91.361793518066406,91.411445617675781,91.461090087890625,91.510734558105469,91.560379028320312,91.610023498535156,91.65966796875,91.709312438964844,91.758956909179688,91.808601379394531,91.858245849609375,91.907890319824219,91.957534790039062,92.007179260253906,92.05682373046875,92.106468200683594,92.156112670898438,92.205757141113281,92.255401611328125,92.305046081542969,92.354690551757812,92.404335021972656,92.4539794921875,92.503631591796875,92.553276062011719,92.602920532226562,92.652565002441406,92.70220947265625,92.751853942871094,92.801498413085938,92.851142883300781,92.900787353515625,92.950431823730469,93.000076293945312,93.049720764160156,93.099365234375,93.149009704589844,93.198654174804688,93.248298645019531,93.297943115234375,93.347587585449219,93.397232055664062,93.446876525878906,93.49652099609375,93.546173095703125,93.595817565917969,93.645462036132812,93.695106506347656,93.7447509765625,93.794395446777344,93.844039916992188,93.893684387207031,93.943328857421875,93.992973327636719,94.042617797851562,94.092262268066406,94.14190673828125,94.191551208496094,94.241195678710938,94.290840148925781,94.340484619140625,94.390129089355469,94.439773559570312,94.489418029785156,94.5390625,94.588706970214844,94.638359069824219,94.688003540039062,94.737648010253906,94.78729248046875,94.836936950683594,94.886581420898438,94.936225891113281,94.985870361328125,95.035514831542969,95.085159301757812,95.134803771972656,95.1844482421875,95.234092712402344,95.283737182617188,95.333381652832031,95.383026123046875,95.432670593261719,95.482315063476562,95.531959533691406,95.58160400390625,95.631248474121094,95.680892944335938,95.730545043945312,95.780189514160156,95.829833984375,95.879478454589844,95.929122924804688,95.978767395019531,96.028411865234375,96.078056335449219,96.127700805664062,96.177345275878906,96.22698974609375,96.276634216308594,96.326278686523438,96.375923156738281,96.425567626953125,96.475212097167969,96.524856567382812,96.574501037597656,96.6241455078125,96.673789978027344,96.723434448242188,96.773078918457031,96.822731018066406,96.87237548828125,96.922019958496094,96.971664428710938,97.021308898925781,97.070953369140625,97.120597839355469,97.170242309570312,97.219886779785156,97.26953125,97.319175720214844,97.368820190429688,97.418464660644531,97.468109130859375,97.517753601074219,97.567398071289062,97.617042541503906,97.66668701171875,97.716331481933594,97.765975952148438,97.815620422363281,97.865264892578125,97.9149169921875,97.964561462402344,98.014205932617188,98.063850402832031,98.113494873046875,98.163139343261719,98.212783813476562,98.262428283691406,98.31207275390625,98.361717224121094,98.411361694335938,98.461006164550781,98.510650634765625,98.560295104980469,98.609939575195312,98.659584045410156,98.709228515625,98.758872985839844,98.808517456054688,98.858161926269531,98.907806396484375,98.95745849609375,99.007102966308594,99.056747436523438,99.106391906738281,99.156036376953125,99.205680847167969,99.255325317382812,99.304969787597656,99.3546142578125,99.404258728027344,99.453903198242188,99.503547668457031,99.553192138671875,99.602836608886719,99.652481079101562,99.702125549316406,99.75177001953125,99.801414489746094,99.851058959960938,99.900703430175781,99.950347900390625,100],"expected":[0.32664990425109863,0.3452303409576416,0.36355769634246826,0.38164198398590088,0.39949250221252441,0.41711819171905518,0.43452739715576172,0.45172786712646484,0.46872687339782715,0.48553133010864258,0.50214791297912598,0.51858258247375488,0.53484129905700684,0.55092954635620117,0.56685280799865723,0.58261561393737793,0.59822309017181396,0.61367964744567871,0.628989577293396,0.644156813621521,0.65918540954589844,0.67407917976379395,0.68884170055389404,0.70347607135772705,0.71798586845397949,0.73237431049346924,0.74664402008056641,0.76079821586608887,0.77483940124511719,0.78877043724060059,0.80259382724761963,0.81631207466125488,0.82992744445800781,0.84344220161437988,0.85685861110687256,0.87017881870269775,0.88340473175048828,0.89653849601745605,0.90958189964294434,0.92253684997558594,0.93540513515472412,0.94818830490112305,0.96088814735412598,0.97350633144378662,0.98604440689086914,0.99850368499755859,1.0108859539031982,1.0231921672821045,1.0354242324829102,1.0475831031799316,1.0596702098846436,1.0716867446899414,1.0836341381072998,1.0955131053924561,1.1073253154754639,1.1190717220306396,1.1307532787322998,1.1423714160919189,1.1539266109466553,1.1654200553894043,1.1768531799316406,1.1882262229919434,1.1995406150817871,1.2107970714569092,1.221996545791626,1.2331397533416748,1.2442276477813721,1.2552611827850342,1.2662408351898193,1.2771675586700439,1.2880423069000244,1.2988655567169189,1.3096377849578857,1.3203601837158203,1.33103346824646,1.3416578769683838,1.3522343635559082,1.3627634048461914,1.3732459545135498,1.3836822509765625,1.3940730094909668,1.4044189453125,1.4147205352783203,1.4249782562255859,1.4351930618286133,1.4453649520874023,1.4554948806762695,1.4655828475952148,1.4756300449371338,1.4856364727020264,1.4956028461456299,1.5055296421051025,1.5154170989990234,1.5252659320831299,1.5350766181945801,1.544849157333374,1.5545847415924072,1.5642831325531006,1.5739448070526123,1.5835707187652588,1.5931606292724609,1.6027152538299561,1.6122350692749023,1.6217200756072998,1.6311709880828857,1.6405882835388184,1.6499719619750977,1.6593225002288818,1.66864013671875,1.6779255867004395,1.6871788501739502,1.6964004039764404,1.7055904865264893,1.7147493362426758,1.7238776683807373,1.7329754829406738,1.7420430183410645,1.7510805130004883,1.7600884437561035,1.7690672874450684,1.7780170440673828,1.786937952041626,1.7958304882049561,1.8046948909759521,1.8135311603546143,1.8223397731781006,1.8311212062835693,1.8398752212524414,1.8486027717590332,1.8573031425476074,1.8659775257110596,1.8746254444122314,1.8832473754882812,1.8918437957763672,1.9004147052764893,1.9089605808258057,1.9174811840057373,1.9259767532348633,1.9344480037689209,1.9428949356079102,1.9513175487518311,1.9597163200378418,1.9680910110473633,1.9764423370361328,1.9847702980041504,1.9930751323699951,2.001356840133667,2.0096161365509033,2.0178525447845459,2.0260663032531738,2.0342583656311035,2.0424280166625977,2.0505759716033936,2.0587019920349121,2.0668065547943115,2.0748898983001709,2.0829517841339111,2.0909926891326904,2.099013090133667,2.1070125102996826,2.1149911880493164,2.1229498386383057,2.1308882236480713,2.1388065814971924,2.1467046737670898,2.154583215713501,2.1624422073364258,2.1702814102172852,2.1781015396118164,2.1859025955200195,2.1936843395233154,2.2014472484588623,2.2091913223266602,2.2169167995452881,2.2246239185333252,2.2323124408721924,2.2399826049804688,2.2476351261138916,2.2552692890167236,2.262885570526123,2.270484447479248,2.2780654430389404,2.2856290340423584,2.2931749820709229,2.3007040023803711,2.308215856552124,2.3157105445861816,2.323188304901123,2.3306496143341064,2.3380939960479736,2.3455219268798828,2.3529331684112549,2.360328197479248,2.3677070140838623,2.3750696182250977,2.3824162483215332,2.389747142791748,2.397061824798584,2.4043610095977783,2.4116446971893311,2.4189126491546631,2.4261653423309326,2.4334025382995605,2.4406247138977051,2.4478316307067871,2.4550235271453857,2.4622006416320801,2.469362735748291,2.4765100479125977,2.4836428165435791,2.4907610416412354,2.4978647232055664,2.5049538612365723,2.5120289325714111,2.5190894603729248,2.5261361598968506,2.5331687927246094,2.5401871204376221,2.5471920967102051,2.554182767868042,2.5611600875854492,2.5681235790252686,2.5750734806060791,2.58201003074646,2.588932991027832,2.5958425998687744,2.6027390956878662,2.6096224784851074,2.6164925098419189,2.6233499050140381,2.6301939487457275,2.6370253562927246,2.6438438892364502,2.6506495475769043,2.6574428081512451,2.6642234325408936,2.6709914207458496,2.6777470111846924,2.6844899654388428,2.6912209987640381,2.6979396343231201,2.7046458721160889,2.7113404273986816,2.7180225849151611,2.7246928215026855,2.7313511371612549,2.7379975318908691,2.7446322441101074,2.7512552738189697,2.757866382598877,2.7644662857055664,2.7710542678833008,2.7776308059692383,2.784196138381958,2.7907497882843018,2.7972922325134277,2.803823709487915,2.8103437423706055,2.8168525695800781,2.8233504295349121,2.8298373222351074,2.8363132476806641,2.8427779674530029,2.8492319583892822,2.8556754589080811,2.8621079921722412,2.8685295581817627,2.8749408721923828,2.8813414573669434,2.8877315521240234,2.894111156463623,2.9004802703857422,2.90683913230896,2.9131875038146973,2.9195256233215332,2.9258534908294678,2.932171106338501,2.9384787082672119,2.9447762966156006,2.9510636329650879,2.957341194152832,2.9636087417602539,2.9698662757873535,2.9761142730712891,2.9823522567749023,2.9885804653167725,2.9947988986968994,3.0010080337524414,3.007206916809082,3.0133967399597168,3.0195770263671875,3.0257472991943359,3.0319085121154785,3.038060188293457,3.0442028045654297,3.0503358840942383,3.056459903717041,3.0625748634338379,3.0686798095703125,3.0747761726379395,3.0808634757995605,3.0869417190551758,3.093010425567627,3.0990705490112305,3.1051216125488281,3.1111640930175781,3.1171975135803223,3.1232218742370605,3.1292376518249512,3.1352448463439941,3.1412429809570312,3.1472325325012207,3.1532135009765625,3.1591858863830566,3.1651501655578613,3.1711053848266602,3.1770520210266113,3.1829900741577148,3.1889200210571289,3.1948418617248535,3.2007551193237305,3.2066597938537598,3.2125563621520996,3.21844482421875,3.2243247032165527,3.2301969528198242,3.2360610961914062,3.2419166564941406,3.2477641105651855,3.2536039352416992,3.2594351768493652,3.2652592658996582,3.2710747718811035,3.2768826484680176,3.2826824188232422,3.2884745597839355,3.2942590713500977,3.3000354766845703,3.3058042526245117,3.3115649223327637,3.3173184394836426,3.323063850402832,3.3288021087646484,3.3345327377319336,3.3402557373046875,3.345970630645752,3.3516788482666016,3.3573789596557617,3.3630719184875488,3.3687577247619629,3.3744354248046875,3.3801064491271973,3.3857698440551758,3.3914260864257812,3.3970746994018555,3.4027161598205566,3.4083504676818848,3.4139776229858398,3.4195981025695801,3.4252109527587891,3.430816650390625,3.4364151954650879,3.4420065879821777,3.4475917816162109,3.4531693458557129,3.4587397575378418,3.4643034934997559,3.4698600769042969,3.475409984588623,3.4809527397155762,3.4864888191223145,3.4920182228088379,3.4975409507751465,3.503056526184082,3.5085654258728027,3.5140676498413086,3.5195631980895996,3.5250520706176758,3.5305342674255371,3.5360097885131836,3.5414791107177734,3.5469412803649902,3.5523972511291504,3.5578465461730957,3.5632896423339844,3.5687260627746582,3.5741558074951172,3.5795793533325195,3.584996223449707,3.5904068946838379,3.5958108901977539,3.6012091636657715,3.6066007614135742,3.6119861602783203,3.6173648834228516,3.6227374076843262,3.6281042098999023,3.6334648132324219,3.6388187408447266,3.6441664695739746,3.6495084762573242,3.654843807220459,3.6601734161376953,3.6654973030090332,3.6708145141601562,3.6761255264282227,3.6814308166503906,3.6867303848266602,3.692023754119873,3.6973109245300293,3.7025923728942871,3.7078680992126465,3.7131376266479492,3.7184014320373535,3.7236590385437012,3.7289109230041504,3.7341570854187012,3.7393975257873535,3.7446322441101074,3.7498612403869629,3.7550840377807617,3.7603015899658203,3.7655129432678223,3.770719051361084,3.7759194374084473,3.7811136245727539,3.7863025665283203,3.7914857864379883,3.796663761138916,3.8018360137939453,3.8070025444030762,3.8121633529663086,3.8173189163208008,3.8224687576293945,3.827613353729248,3.8327527046203613,3.837885856628418,3.8430142402648926,3.8481369018554688,3.8532543182373047,3.8583660125732422,3.8634724617004395,3.8685736656188965,3.8736696243286133,3.8787598609924316,3.883845329284668,3.8889250755310059,3.8940000534057617,3.8990693092346191,3.9041333198547363,3.9091920852661133,3.9142460823059082,3.9192943572998047,3.9243378639221191,3.9293761253356934,3.9344091415405273,3.9394369125366211,3.9444599151611328,3.9494776725769043,3.9544901847839355,3.9594974517822266,3.9645004272460938,3.9694976806640625,3.9744901657104492,3.9794774055480957,3.9844598770141602,3.9894375801086426,3.9944100379943848,3.9993777275085449,4.0043401718139648,4.0092978477478027,4.0142507553100586,4.0191988945007324,4.024141788482666,4.0290799140930176,4.0340132713317871,4.0389418601989746,4.0438652038574219,4.0487842559814453,4.0536985397338867,4.0586080551147461,4.0635123252868652,4.0684123039245605,4.0733075141906738,4.0781979560852051,4.0830836296081543,4.0879645347595215,4.0928406715393066,4.097712516784668,4.1025795936584473,4.1074419021606445,4.1122994422912598,4.1171526908874512,4.1220011711120605,4.1268453598022461,4.1316847801208496,4.1365194320678711,4.1413497924804688,4.1461753845214844,4.1509966850280762,4.1558132171630859,4.1606254577636719,4.1654329299926758,4.1702365875244141,4.1750349998474121,4.1798295974731445,4.1846194267272949,4.1894049644470215,4.1941862106323242,4.1989626884460449,4.2037353515625,4.208503246307373,4.2132663726806641,4.2180256843566895,4.222780704498291,4.2275309562683105,4.2322773933410645,4.2370195388793945,4.2417569160461426,4.246490478515625,4.2512192726135254,4.2559442520141602,4.2606649398803711,4.2653813362121582,4.2700934410095215,4.2748012542724609,4.2795052528381348,4.2842049598693848,4.2889003753662109,4.2935914993286133,4.2982783317565918,4.3029613494873047,4.3076400756835938,4.3123149871826172,4.3169856071472168,4.3216519355773926,4.3263144493103027,4.3309726715087891,4.3356270790100098,4.3402771949768066,4.3449230194091797,4.3495650291442871,4.3542032241821289,4.3588376045227051,4.3634672164916992,4.3680934906005859,4.3727154731750488,4.3773336410522461,4.3819475173950195,4.3865580558776855,4.3911643028259277,4.3957662582397461,4.400364875793457,4.4049592018127441,4.4095501899719238,4.4141368865966797,4.4187192916870117,4.4232983589172363,4.4278731346130371,4.4324445724487305,4.4370121955871582,4.4415755271911621,4.4461350440979004,4.4506912231445312,4.4552431106567383,4.4597916603088379,4.4643359184265137,4.468876838684082,4.4734139442443848,4.4779467582702637,4.4824767112731934,4.4870023727416992,4.4915242195129395,4.4960422515869141,4.5005569458007812,4.5050678253173828,4.5095748901367188,4.5140786170959473,4.518578052520752,4.5230741500854492,4.5275669097900391,4.5320558547973633,4.5365409851074219,4.5410223007202148,4.5455002784729004,4.5499749183654785,4.5544452667236328,4.5589127540588379,4.5633764266967773,4.5678362846374512,4.5722923278808594,4.5767455101013184,4.5811948776245117,4.5856404304504395,4.5900826454162598,4.5945210456848145,4.5989565849304199,4.6033878326416016,4.607816219329834,4.6122407913208008,4.6166620254516602,4.6210794448852539,4.6254940032958984,4.6299047470092773,4.6343121528625488,4.6387157440185547,4.6431164741516113,4.6475133895874023,4.6519069671630859,4.6562972068786621,4.6606841087341309,4.665067195892334,4.6694474220275879,4.6738238334655762,4.678196907043457,4.6825666427612305,4.6869330406188965,4.6912961006164551,4.6956562995910645,4.7000126838684082,4.7043657302856445,4.7087154388427734,4.7130618095397949,4.717404842376709,4.7217450141906738,4.7260818481445312,4.7304153442382812,4.7347450256347656,4.7390718460083008,4.7433953285217285,4.7477154731750488,4.7520327568054199,4.7563467025756836,4.7606573104858398,4.7649645805358887,4.7692689895629883,4.7735695838928223,4.777867317199707,4.7821617126464844,4.7864532470703125,4.7907414436340332,4.7950263023376465,4.7993078231811523,4.803586483001709,4.8078622817993164,4.8121347427368164,4.816403865814209,4.8206701278686523,4.8249330520629883,4.8291926383972168,4.8334493637084961,4.8377032279968262,4.8419537544250488,4.8462009429931641,4.8504452705383301,4.8546867370605469,4.8589253425598145,4.8631601333618164,4.8673920631408691,4.8716211318969727,4.875847339630127,4.8800702095031738,4.8842902183532715,4.8885068893432617,4.8927206993103027,4.8969316482543945,4.9011397361755371,4.9053449630737305,4.9095463752746582,4.9137454032897949,4.9179415702819824,4.9221343994140625,4.9263243675231934,4.9305109977722168,4.9346952438354492,4.9388761520385742,4.9430546760559082,4.9472298622131348,4.9514021873474121,4.9555716514587402,4.9597382545471191,4.9639015197753906,4.9680624008178711,4.9722199440002441,4.976374626159668,4.9805269241333008,4.9846758842468262,4.9888224601745605,4.9929656982421875,4.9971060752868652,5.0012435913085938,5.0053787231445312,5.0095105171203613,5.0136394500732422,5.017765998840332,5.0218892097473145,5.0260095596313477,5.0301275253295898,5.0342426300048828,5.0383548736572266,5.0424642562866211,5.0465707778930664,5.0506749153137207,5.0547757148742676,5.0588741302490234,5.0629692077636719,5.0670619010925293,5.0711522102355957,5.0752391815185547,5.0793237686157227,5.0834054946899414,5.0874843597412109,5.0915608406066895,5.0956344604492188,5.0997052192687988,5.1037731170654297,5.1078386306762695,5.1119012832641602,5.1159610748291016,5.120018482208252,5.1240730285644531,5.1281251907348633,5.1321744918823242,5.1362209320068359,5.1402645111083984,5.1443057060241699,5.1483445167541504,5.1523804664611816,5.1564135551452637,5.1604442596435547,5.1644721031188965,5.1684980392456055,5.172520637512207,5.1765408515930176,5.1805582046508789,5.1845731735229492,5.1885852813720703,5.1925950050354004,5.1966018676757812,5.2006063461303711,5.2046084403991699,5.2086076736450195,5.2126049995422363,5.2165989875793457,5.2205905914306641,5.2245798110961914,5.2285661697387695,5.2325501441955566,5.2365317344665527,5.2405104637145996,5.2444868087768555,5.2484602928161621,5.2524318695068359,5.2564010620117188,5.2603669166564941,5.2643308639526367,5.2682919502258301,5.2722506523132324,5.2762069702148438,5.2801609039306641,5.2841119766235352,5.2880606651306152,5.2920069694519043,5.2959508895874023,5.2998924255371094,5.3038311004638672,5.3077678680419922,5.311701774597168,5.3156332969665527,5.3195624351501465,5.323488712310791,5.3274130821228027,5.3313345909118652,5.3352541923522949,5.3391709327697754,5.343085765838623,5.3469977378845215,5.3509073257446289,5.3548150062561035,5.3587198257446289,5.3626222610473633,5.3665223121643066,5.370419979095459,5.3743152618408203,5.3782081604003906,5.3820986747741699,5.3859868049621582,5.3898730278015137,5.3937563896179199,5.3976373672485352,5.4015159606933594,5.4053926467895508,5.409266471862793,5.4131383895874023,5.4170074462890625,5.4208745956420898,5.4247393608093262,5.4286017417907715,5.432462215423584,5.4363198280334473,5.4401750564575195,5.444028377532959,5.4478793144226074,5.4517278671264648,5.4555740356445312,5.4594178199768066,5.4632596969604492,5.4670991897583008,5.4709362983703613,5.4747710227966309,5.4786038398742676,5.4824337959289551,5.4862618446350098,5.4900875091552734,5.4939112663269043,5.4977326393127441,5.501551628112793,5.5053682327270508,5.5091829299926758,5.5129952430725098,5.5168056488037109,5.5206131935119629,5.524418830871582,5.5282225608825684,5.5320234298706055,5.5358223915100098,5.5396194458007812,5.5434136390686035,5.5472064018249512,5.5509967803955078,5.5547847747802734,5.558570384979248,5.5623540878295898,5.5661354064941406,5.5699148178100586,5.5736918449401855,5.5774669647216797,5.5812397003173828,5.5850100517272949,5.5887784957885742,5.5925450325012207,5.5963091850280762,5.6000714302062988,5.6038308143615723,5.6075887680053711,5.6113443374633789,5.6150975227355957,5.6188488006591797,5.6225981712341309,5.626345157623291,5.6300902366638184,5.6338334083557129,5.6375741958618164,5.6413125991821289,5.6450490951538086,5.6487836837768555,5.6525158882141113,5.6562461853027344,5.6599740982055664,5.6637001037597656,5.667424201965332,5.6711459159851074,5.6748661994934082,5.6785836219787598,5.6822996139526367,5.6860132217407227,5.6897244453430176,5.6934342384338379,5.6971416473388672,5.7008466720581055,5.7045502662658691,5.7082514762878418,5.7119507789611816,5.7156481742858887,5.7193431854248047,5.7230362892150879,5.7267274856567383,5.7304167747497559,5.7341036796569824,5.7377886772155762,5.7414717674255371,5.7451529502868652,5.7488317489624023,5.7525086402893066,5.7561841011047363,5.759857177734375,5.7635278701782227,5.7671971321105957,5.7708640098571777,5.774528980255127,5.7781920433044434,5.781853199005127,5.7855124473571777,5.7891693115234375,5.7928252220153809,5.796478271484375,5.8001294136047363,5.8037786483764648,5.8074259757995605,5.8110713958740234,5.8147149085998535,5.8183565139770508,5.821995735168457,5.8256335258483887,5.8292689323425293,5.8329029083251953,5.8365349769592285,5.8401646614074707,5.8437924385070801,5.8474187850952148,5.8510427474975586,5.8546648025512695,5.8582849502563477,5.8619036674499512,5.8655200004577637,5.8691344261169434,5.8727474212646484,5.8763580322265625,5.879967212677002,5.8835740089416504,5.887178897857666,5.890782356262207,5.894383430480957,5.8979830741882324,5.9015803337097168,5.9051761627197266,5.9087700843811035,5.9123620986938477,5.915952205657959,5.9195404052734375,5.9231266975402832,5.9267110824584961,5.9302940368652344,5.9338746070861816,5.9374537467956543,5.9410305023193359,5.944605827331543,5.9481792449951172,5.9517512321472168,5.9553208351135254,5.9588885307312012,5.9624547958374023,5.9660191535949707,5.9695816040039062,5.973142147064209,5.9767007827758789,5.9802579879760742,5.9838128089904785,5.9873661994934082,5.9909181594848633,5.9944677352905273,5.9980158805847168,6.0015621185302734,6.0051064491271973,6.0086488723754883,6.0121893882751465,6.0157284736633301,6.0192656517028809,6.022801399230957,6.0263347625732422,6.0298671722412109,6.0333971977233887,6.0369253158569336,6.0404520034790039,6.0439767837524414,6.0474996566772461,6.0510210990905762,6.0545406341552734,6.0580582618713379,6.0615739822387695,6.0650882720947266,6.068601131439209,6.0721120834350586,6.0756211280822754,6.0791282653808594,6.0826334953308105,6.0861372947692871,6.0896396636962891,6.0931401252746582,6.0966386795043945,6.100135326385498,6.103630542755127,6.1071243286132812,6.1106162071228027,6.1141061782836914,6.1175942420959473,6.1210808753967285,6.124565601348877,6.1280488967895508,6.1315302848815918,6.1350102424621582,6.1384882926940918,6.1419649124145508,6.145439624786377,6.1489129066467285,6.1523838043212891,6.1558537483215332,6.1593217849731445,6.162787914276123,6.166252613067627,6.169715404510498,6.1731767654418945,6.1766362190246582,6.1800942420959473,6.1835508346557617,6.1870055198669434,6.1904582977294922,6.1939096450805664,6.1973590850830078,6.2008070945739746,6.2042536735534668,6.2076983451843262,6.2111411094665527,6.2145824432373047,6.218022346496582,6.2214608192443848,6.2248969078063965,6.2283320426940918,6.2317652702331543,6.235196590423584,6.2386264801025391,6.2420549392700195,6.2454814910888672,6.2489066123962402,6.2523303031921387,6.2557525634765625,6.2591724395751953,6.2625913619995117,6.2660083770751953,6.2694234848022461,6.2728376388549805,6.276249885559082,6.2796602249145508,6.2830691337585449,6.2864766120910645,6.2898826599121094,6.2932868003845215,6.296689510345459,6.3000907897949219,6.303490161895752,6.3068881034851074,6.3102846145629883,6.3136792182922363,6.3170723915100098,6.3204636573791504,6.3238539695739746,6.327242374420166,6.3306293487548828,6.334014892578125,6.3373985290527344,6.3407807350158691,6.3441615104675293,6.3475403785705566,6.3509178161621094,6.3542938232421875,6.357668399810791,6.3610410690307617,6.364412784576416,6.3677825927734375,6.3711509704589844,6.3745174407958984,6.3778829574584961,6.3812465667724609,6.3846087455749512,6.3879690170288086,6.3913283348083496,6.3946857452392578,6.3980417251586914,6.4013962745666504,6.4047493934631348,6.4081010818481445,6.4114508628845215,6.4147992134094238,6.4181461334228516,6.4214916229248047,6.4248356819152832,6.4281778335571289,6.4315185546875,6.4348583221435547,6.4381961822509766,6.4415326118469238,6.4448676109313965,6.4482007026672363,6.4515328407287598,6.4548630714416504,6.4581923484802246,6.461519718170166,6.4648456573486328,6.468170166015625,6.4714932441711426,6.4748144149780273,6.4781346321105957,6.4814534187316895,6.4847702980041504,6.4880862236022949,6.4914002418518066,6.4947128295898438,6.4980244636535645,6.5013341903686523,6.5046424865722656,6.5079493522644043,6.5112547874450684,6.5145587921142578,6.5178613662719727,6.5211625099182129,6.5244617462158203,6.5277600288391113,6.5310568809509277,6.5343518257141113,6.5376458168029785,6.5409383773803711,6.5442290306091309,6.5475187301635742,6.550806999206543,6.5540938377380371,6.5573787689208984,6.5606627464294434,6.5639448165893555,6.5672259330749512,6.5705056190490723,6.5737833976745605,6.5770602226257324,6.5803356170654297,6.5836095809936523,6.5868821144104004,6.5901532173156738,6.5934228897094727,6.5966911315917969,6.5999579429626465,6.6032233238220215,6.6064872741699219,6.6097497940063477,6.6130108833312988,6.6162705421447754,6.6195292472839355,6.6227865219116211,6.6260418891906738,6.6292963027954102,6.6325492858886719,6.6358003616333008,6.6390504837036133,6.6422991752624512,6.6455464363098145,6.6487927436828613,6.6520371437072754,6.655280590057373,6.6585226058959961,6.6617627143859863,6.6650018692016602,6.6682395935058594,6.671475887298584,6.674710750579834,6.6779446601867676,6.6811766624450684,6.6844077110290527,6.6876373291015625,6.6908655166625977,6.6940922737121582,6.6973180770874023,6.7005419731140137,6.7037649154663086,6.7069864273071289,6.7102065086364746,6.7134251594543457,6.7166423797607422,6.7198586463928223,6.7230730056762695,6.7262868881225586,6.7294988632202148,6.7327094078063965,6.7359189987182617,6.7391266822814941,6.7423334121704102,6.7455391883850098,6.7487430572509766,6.751945972442627,6.7551469802856445,6.7583470344543457,6.7615461349487305,6.7647438049316406,6.7679400444030762,6.7711348533630371,6.7743282318115234,6.7775201797485352,6.7807111740112305,6.7839007377624512,6.7870888710021973,6.790276050567627,6.793461799621582,6.7966461181640625,6.7998294830322266,6.8030109405517578,6.8061914443969727,6.8093705177307129,6.8125486373901367,6.8157253265380859,6.8189005851745605,6.8220744132995605,6.8252472877502441,6.8284187316894531,6.8315892219543457,6.8347578048706055,6.8379254341125488,6.8410916328430176,6.8442568778991699,6.8474206924438477,6.8505830764770508,6.8537440299987793,6.8569040298461914,6.8600625991821289,6.86322021484375,6.8663763999938965,6.8695311546325684,6.8726849555969238,6.8758373260498047,6.8789882659912109,6.8821382522583008,6.885286808013916,6.8884339332580566,6.8915801048278809,6.8947248458862305,6.8978686332702637,6.9010109901428223,6.9041519165039062,6.9072914123535156,6.9104299545288086,6.9135675430297852,6.9167037010192871,6.9198384284973145,6.9229717254638672,6.9261040687561035,6.9292354583740234,6.9323654174804688,6.9354939460754395,6.9386215209960938,6.9417476654052734,6.9448723793029785,6.9479961395263672,6.9511184692382812,6.9542398452758789,6.957359790802002,6.9604787826538086,6.9635963439941406,6.9667129516601562,6.9698281288146973,6.9729418754577637,6.9760546684265137,6.9791660308837891,6.982276439666748,6.9853854179382324,6.9884934425354004,6.9916000366210938,6.9947052001953125,6.9978094100952148,7.0009126663208008,7.0040149688720703,7.007115364074707,7.0102148056030273,7.0133123397827148,7.0164098739624023,7.019505500793457,7.0226011276245117,7.0256938934326172,7.0287866592407227,7.0318765640258789,7.0349674224853516,7.0380563735961914,7.0411434173583984,7.0442295074462891,7.0473146438598633,7.0503988265991211,7.0534820556640625,7.0565633773803711,7.0596437454223633,7.0627231597900391,7.065800666809082,7.068878173828125,7.0719537734985352,7.0750284194946289,7.0781011581420898,7.0811738967895508,7.0842447280883789,7.0873146057128906,7.0903835296630859,7.0934514999389648,7.0965175628662109,7.0995826721191406,7.1026468276977539,7.1057100296020508,7.1087713241577148,7.1118316650390625,7.1148910522460938,7.1179494857788086,7.121006965637207,7.1240625381469727,7.1271181106567383,7.1301717758178711,7.1332235336303711,7.1362752914428711,7.1393251419067383,7.1423749923706055,7.1454229354858398,7.1484689712524414,7.151515007019043,7.1545600891113281,7.1576032638549805,7.1606454849243164,7.1636867523193359,7.1667270660400391,7.1697654724121094,7.1728038787841797,7.1758403778076172,7.1788759231567383,7.1819095611572266,7.1849431991577148,7.1879749298095703,7.1910066604614258,7.1940364837646484,7.1970643997192383,7.2000923156738281,7.2031192779541016,7.2061443328857422,7.2091684341430664,7.2121915817260742,7.2152137756347656,7.2182350158691406,7.2212553024291992,7.224273681640625,7.2272911071777344,7.2303075790405273,7.2333230972290039,7.2363376617431641,7.2393512725830078,7.2423629760742188,7.2453737258911133,7.2483835220336914,7.2513923645019531,7.2544002532958984,7.2574071884155273,7.2604122161865234,7.2634172439575195,7.2664203643798828,7.2694225311279297,7.2724237442016602,7.2754240036010742,7.2784223556518555,7.2814207077026367,7.2844181060791016,7.2874135971069336,7.2904081344604492,7.2934017181396484,7.2963943481445312,7.2993850708007812,7.3023757934570312,7.3053646087646484,7.3083534240722656,7.31134033203125,7.314326286315918,7.3173112869262695,7.3202953338623047,7.323277473449707,7.3262596130371094,7.3292398452758789,7.3322200775146484,7.3351984024047852,7.3381757736206055,7.3411521911621094,7.3441276550292969,7.347102165222168,7.3500757217407227,7.3530473709106445,7.3560190200805664,7.3589887619018555,7.3619575500488281,7.3649263381958008,7.3678932189941406,7.3708581924438477,7.3738231658935547,7.3767871856689453,7.3797502517700195,7.3827114105224609,7.3856716156005859,7.3886318206787109,7.3915901184082031,7.3945474624633789,7.3975038528442383,7.4004592895507812,7.4034137725830078,7.406367301940918,7.4093189239501953,7.4122714996337891,7.4152212142944336,7.4181699752807617,7.4211187362670898,7.4240655899047852,7.4270114898681641,7.4299564361572266,7.4329004287719727,7.4358434677124023,7.4387855529785156,7.4417266845703125,7.444666862487793,7.4476051330566406,7.4505434036254883,7.4534797668457031,7.456416130065918,7.4593505859375,7.4622840881347656,7.4652175903320312,7.4681491851806641,7.4710798263549805,7.4740095138549805,7.4769382476806641,7.4798660278320312,7.482792854309082,7.4857187271118164,7.4886436462402344,7.4915666580200195,7.4944896697998047,7.4974117279052734,7.5003318786621094,7.5032520294189453,7.5061702728271484,7.5090875625610352,7.5120048522949219,7.5149202346801758,7.5178346633911133,7.5207490921020508,7.5236616134643555,7.5265731811523438,7.5294837951660156,7.5323934555053711,7.5353021621704102,7.5382099151611328,7.5411167144775391,7.5440225601196289,7.5469274520874023,7.5498313903808594,7.5527334213256836,7.5556354522705078,7.5585365295410156,7.5614356994628906,7.5643348693847656,7.5672330856323242,7.57012939453125,7.5730257034301758,7.5759201049804688,7.5788145065307617,7.5817070007324219,7.584599494934082,7.5874900817871094,7.5903806686401367,7.5932693481445312,7.5961570739746094,7.5990447998046875,7.6019306182861328,7.6048164367675781,7.6077003479003906,7.6105833053588867,7.6134662628173828,7.6163473129272461,7.619227409362793,7.6221065521240234,7.6249856948852539,7.6278629302978516,7.6307392120361328,7.6336145401000977,7.6364898681640625,7.6393632888793945,7.6422357559204102,7.6451072692871094,7.6479787826538086,7.650848388671875,7.653717041015625,7.6565847396850586,7.6594514846801758,7.662318229675293,7.6651830673217773,7.6680479049682617,7.6709108352661133,7.6737728118896484,7.6766338348388672,7.6794948577880859,7.6823539733886719,7.6852121353149414,7.6880702972412109,7.6909265518188477,7.693781852722168,7.6966371536254883,7.6994905471801758,7.7023429870605469,7.705195426940918,7.7080459594726562,7.7108964920043945,7.7137451171875,7.7165937423706055,7.7194404602050781,7.7222871780395508,7.725132942199707,7.7279777526855469,7.7308206558227539,7.7336635589599609,7.7365055084228516,7.7393455505371094,7.7421855926513672,7.7450246810913086,7.7478628158569336,7.7506999969482422,7.7535362243652344,7.7563714981079102,7.7592058181762695,7.7620391845703125,7.7648715972900391,7.7677030563354492,7.770533561706543,7.7733631134033203,7.7761917114257812,7.7790203094482422,7.7818470001220703,7.784672737121582,7.7874984741210938,7.7903232574462891,7.7931461334228516,7.7959690093994141,7.7987899780273438,7.8016109466552734,7.8044309616088867,7.8072490692138672,7.8100671768188477,7.8128843307495117,7.8157005310058594,7.8185157775878906,7.8213300704956055,7.8241434097290039,7.8269557952880859,7.829768180847168,7.8325786590576172,7.83538818359375,7.8381977081298828,7.8410053253173828,7.8438129425048828,7.84661865234375,7.8494243621826172,7.852229118347168,7.8550329208374023,7.8578357696533203,7.8606376647949219,7.863438606262207,7.8662385940551758,7.8690376281738281,7.8718357086181641,7.8746337890625,7.8774299621582031,7.8802251815795898,7.8830204010009766,7.8858146667480469,7.8886070251464844,7.8913993835449219,7.894190788269043,7.8969812393188477,7.8997707366943359,7.9025592803955078,7.9053468704223633,7.9081335067749023,7.9109201431274414,7.9137058258056641,7.9164896011352539,7.9192733764648438,7.9220561981201172,7.9248371124267578,7.9276180267333984,7.9303979873657227,7.9331769943237305,7.9359560012817383,7.9387331008911133,7.9415092468261719,7.9442853927612305,7.9470596313476562,7.949833869934082,7.9526071548461914,7.9553794860839844,7.9581508636474609,7.9609212875366211,7.9636907577514648,7.9664592742919922,7.9692268371582031,7.9719944000244141,7.9747610092163086,7.9775266647338867,7.980290412902832,7.9830541610717773,7.9858169555664062,7.9885787963867188,7.9913406372070312,7.9941005706787109,7.9968595504760742,7.9996185302734375,8.0023765563964844,8.0051326751708984,8.0078887939453125,8.0106439590454102,8.0133991241455078,8.0161523818969727,8.0189046859741211,8.0216569900512695,8.0244073867797852,8.0271577835083008,8.0299072265625,8.0326557159423828,8.0354032516479492,8.0381507873535156,8.0408964157104492,8.0436410903930664,8.0463857650756836,8.0491294860839844,8.0518722534179688,8.0546140670776367,8.0573549270629883,8.0600948333740234,8.0628337860107422,8.0655727386474609,8.0683107376098633,8.0710468292236328,8.0737829208374023,8.0765180587768555,8.0792531967163086,8.0819864273071289,8.0847187042236328,8.0874509811401367,8.0901823043823242,8.0929126739501953,8.09564208984375,8.0983705520629883,8.1010980606079102,8.103825569152832,8.1065521240234375,8.1092767715454102,8.1120014190673828,8.1147251129150391,8.1174478530883789,8.1201705932617188,8.1228914260864258,8.1256122589111328,8.128331184387207,8.1310501098632812,8.1337680816650391,8.1364860534667969,8.1392021179199219,8.1419181823730469,8.1446323394775391,8.1473464965820312,8.150059700012207,8.1527729034423828,8.1554841995239258,8.1581945419311523,8.1609048843383789,8.1636142730712891,8.1663227081298828,8.1690301895141602,8.1717367172241211,8.174443244934082,8.1771478652954102,8.1798524856567383,8.18255615234375,8.1852588653564453,8.1879606246948242,8.1906623840332031,8.1933622360229492,8.1960620880126953,8.198760986328125,8.2014589309692383,8.2041559219360352,8.206852912902832,8.2095489501953125,8.2122440338134766,8.2149381637573242,8.2176313400268555,8.2203235626220703,8.2230148315429688,8.2257061004638672,8.2283964157104492,8.2310857772827148,8.2337741851806641,8.2364625930786133,8.2391490936279297,8.2418355941772461,8.2445211410522461,8.2472057342529297,8.2498893737792969,8.2525730133056641,8.2552547454833984,8.2579364776611328,8.2606172561645508,8.2632970809936523,8.2659769058227539,8.2686557769775391,8.2713327407836914,8.2740097045898438,8.2766866683959961,8.2793617248535156,8.2820358276367188,8.2847099304199219,8.2873830795288086,8.2900552749633789,8.2927265167236328,8.2953977584838867,8.2980680465698242,8.3007373809814453,8.30340576171875,8.3060731887817383,8.3087396621704102,8.311406135559082,8.3140716552734375,8.3167362213134766,8.3193998336791992,8.3220634460449219,8.3247261047363281,8.327387809753418,8.3300485610961914,8.3327083587646484,8.3353681564331055,8.3380260467529297,8.3406839370727539,8.3433408737182617,8.3459978103637695,8.3486528396606445,8.3513078689575195,8.3539619445800781,8.3566150665283203,8.3592681884765625,8.3619194030761719,8.3645706176757812,8.3672208786010742,8.3698701858520508,8.3725194931030273,8.3751668930053711,8.3778142929077148,8.3804607391357422,8.3831071853637695,8.3857526779174805,8.3883962631225586,8.3910398483276367,8.3936834335327148,8.3963251113891602,8.3989667892456055,8.401606559753418,8.4042463302612305,8.406886100769043,8.4095239639282227,8.4121618270874023,8.4147987365722656,8.4174346923828125,8.4200706481933594,8.4227046966552734,8.4253387451171875,8.4279718399047852,8.4306049346923828,8.4332361221313477,8.4358673095703125,8.4384975433349609,8.4411277770996094,8.443756103515625,8.4463844299316406,8.4490118026733398,8.4516382217407227,8.4542636871337891,8.4568891525268555,8.4595136642456055,8.4621372222900391,8.4647607803344727,8.4673824310302734,8.4700040817260742,8.4726247787475586,8.4752445220947266,8.4778642654418945,8.4804830551147461,8.4831008911132812,8.4857177734375,8.4883346557617188,8.4909496307373047,8.4935646057128906,8.4961795806884766,8.4987936019897461,8.5014057159423828,8.5040178298950195,8.5066299438476562,8.5092401504516602,8.5118503570556641,8.5144596099853516,8.5170679092407227,8.5196762084960938,8.522282600402832,8.5248889923095703,8.5274953842163086,8.5300998687744141,8.5327043533325195,8.5353078842163086,8.5379104614257812,8.5405130386352539,8.5431146621704102,8.54571533203125,8.5483150482177734,8.5509138107299805,8.5535125732421875,8.5561113357543945,8.5587081909179688,8.561305046081543,8.5639009475708008,8.5664958953857422,8.5690898895263672,8.5716838836669922,8.5742769241333008,8.576869010925293,8.5794601440429688,8.5820512771606445,8.5846414566040039,8.5872306823730469,8.5898199081420898,8.5924072265625,8.5949945449829102,8.5975818634033203,8.6001672744750977,8.602752685546875,8.6053371429443359,8.6079216003417969,8.610504150390625,8.6130876541137695,8.6156692504882812,8.6182498931884766,8.6208305358886719,8.6234102249145508,8.6259889602661133,8.6285676956176758,8.6311454772949219,8.6337223052978516,8.6362981796264648,8.6388740539550781,8.641448974609375,8.6440229415893555,8.6465969085693359,8.6491689682006836,8.6517410278320312,8.6543130874633789,8.6568832397460938,8.6594533920288086,8.6620235443115234,8.6645917892456055,8.6671600341796875,8.6697273254394531,8.6722946166992188,8.6748600006103516,8.6774253845214844,8.6799898147583008,8.6825542449951172,8.6851177215576172,8.6876802444458008,8.690241813659668,8.6928033828735352,8.6953639984130859,8.6979236602783203,8.7004823684692383,8.7030410766601562,8.7055988311767578,8.7081565856933594,8.7107124328613281,8.7132682800292969,8.7158241271972656,8.7183780670166016,8.7209320068359375,8.7234859466552734,8.7260379791259766,8.7285900115966797,8.7311410903930664,8.7336912155151367,8.736241340637207,8.7387905120849609,8.7413387298583984,8.7438869476318359,8.746434211730957,8.7489805221557617,8.75152587890625,8.7540712356567383,8.7566156387329102,8.759160041809082,8.7617025375366211,8.7642450332641602,8.7667865753173828,8.7693281173706055,8.7718687057495117,8.7744083404541016,8.7769479751586914,8.7794866561889648,8.7820243835449219,8.7845621109008789,8.7870979309082031,8.7896337509155273,8.7921695709228516,8.7947044372558594,8.7972383499145508,8.7997713088989258,8.8023033142089844,8.804835319519043,8.8073673248291016,8.8098974227905273,8.8124275207519531,8.8149566650390625,8.8174858093261719,8.8200139999389648,8.8225412368774414,8.8250675201416016,8.8275938034057617,8.8301191329956055,8.8326444625854492,8.8351688385009766,8.8376922607421875,8.840214729309082,8.8427371978759766,8.8452587127685547,8.8477802276611328,8.8502998352050781,8.8528194427490234,8.8553390502929688,8.8578567504882812,8.8603744506835938,8.8628921508789062,8.8654079437255859,8.8679237365722656,8.8704395294189453,8.8729534149169922,8.8754673004150391,8.8779802322387695,8.8804931640625,8.8830051422119141,8.8855161666870117,8.8880271911621094,8.8905372619628906,8.8930463790893555,8.8955554962158203,8.8980636596679688,8.9005708694458008,8.9030780792236328,8.9055843353271484,8.9080896377563477,8.9105949401855469,8.9130992889404297,8.9156026840209961,8.9181060791015625,8.9206085205078125,8.9231100082397461,8.9256105422973633,8.9281110763549805,8.9306116104125977,8.933110237121582,8.9356088638305664,8.9381074905395508,8.9406042098999023,8.9431009292602539,8.9455976486206055,8.9480934143066406,8.9505882263183594,8.9530820846557617,8.9555759429931641,8.95806884765625,8.9605617523193359,8.9630527496337891,8.9655447006225586,8.9680347442626953,8.970524787902832,8.9730138778686523,8.9755029678344727,8.9779901504516602,8.9804782867431641,8.9829645156860352,8.9854507446289062,8.9879360198974609,8.9904212951660156,8.9929056167602539,8.9953889846801758,8.9978723526000977,9.0003547668457031,9.0028371810913086,9.0053186416625977,9.0077991485595703,9.0102787017822266,9.0127582550048828,9.0152368545532227,9.0177154541015625,9.0201921463012695,9.022669792175293,9.0251455307006836,9.0276212692260742,9.0300970077514648,9.0325708389282227,9.0350446701049805,9.0375185012817383,9.0399904251098633,9.0424623489379883,9.0449342727661133,9.0474052429199219,9.0498752593994141]} \ No newline at end of file diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/runner.cpp b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/runner.cpp new file mode 100644 index 000000000000..2ae3fc80b91c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/runner.cpp @@ -0,0 +1,281 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/** +* Generate Boost test fixtures. +* +* ## Notes +* +* - Run this script from the directory in which fixtures should be written. +* +*/ +#include +#include +#include +#include +#include +#include + +using boost::random::uniform_real_distribution; +using boost::random::uniform_int_distribution; +using boost::random::mt19937; + +// Define a new pseudorandom number generator: +mt19937 rng; + +/** +* Generates a linearly spaced numeric array of floats. +* +* ## Notes +* +* - Assumes that the output array has at least 2 elements. +* - Output array is guaranteed to include both the start and end values. +* +* +* @param out output array +* @param len array length +* @param start first value +* @param end last value +*/ +void linspace_f32( float *out, const unsigned int len, const float start, const float end ) { + unsigned int i; + float incr; + + incr = (end-start) / (len-1); + for ( i = 0; i < len-1; i++ ) { + out[ i ] = start + (incr*i); + } + out[ i ] = end; +} + +/** +* Generates a linearly spaced numeric array of integers. +* +* ## Notes +* +* - Assumes that the output array has at least 2 elements. +* - Output array is guaranteed to include both the start and end values. +* +* +* @param out output array +* @param len array length +* @param start first value +* @param end last value +*/ +void linspace_i32( int *out, const unsigned int len, const int start, const int end ) { + unsigned int i; + int incr; + + incr = (end-start) / (len-1); + for ( i = 0; i < len-1; i++ ) { + out[ i ] = start + (incr*i); + } + out[ i ] = end; +} + +/** +* Generates an array of pseudorandom floats drawn from a uniform distribution. +* +* @param out output array +* @param len array length +* @param a lower bound (inclusive) +* @param b upper bound (exclusive) +*/ +void rand_array_f32( float *out, const unsigned int len, const float a, const float b ) { + unsigned int i; + + // Define a uniform distribution for generating pseudorandom numbers: + uniform_real_distribution randu( a, b ); + + for ( i = 0; i < len; i++ ) { + out[ i ] = randu( rng ); + } +} + +/** +* Generates an array of pseudorandom integers drawn from a uniform distribution. +* +* @param out output array +* @param len array length +* @param a lower bound (inclusive) +* @param b upper bound (exclusive) +*/ +void rand_array_i32( int *out, const unsigned int len, const int a, const int b ) { + unsigned int i; + + // Define a uniform distribution for generating pseudorandom numbers: + uniform_int_distribution<> randi( a, b ); + + for ( i = 0; i < len; i++ ) { + out[ i ] = randi( rng ); + } +} + +/** +* Writes an array of floats to a file as a series of comma-separated values. +* +* @param f file to write to +* @param x array of floats +* @param len array length +*/ +void write_array_f32( FILE *f, const float *x, const unsigned int len ) { + unsigned int i; + + for ( i = 0; i < len; i++ ) { + fprintf( f, "%.17g", x[ i ] ); + if ( i < len-1 ) { + fprintf( f, "," ); + } + } +} + +/** +* Writes an array of integers to a file as a series of comma-separated values. +* +* @param f file to write to +* @param x array of integers +* @param len array length +*/ +void write_array_i32( FILE *f, const int *x, const unsigned int len ) { + unsigned int i; + + for ( i = 0; i < len; i++ ) { + fprintf( f, "%d", x[ i ] ); + if ( i < len-1 ) { + fprintf( f, "," ); + } + } +} + +/** +* Writes a named array of floats to a file as JSON. +* +* @param f file to write to +* @param name array name +* @param x data +* @param len array length +*/ +void write_named_array_f32( FILE *f, const char *name, const float *x, const unsigned int len ) { + fprintf( f, "\"%s\":[", name ); + write_array_f32( f, x, len ); + fprintf( f, "]" ); +} + +/** +* Writes a named array of integers to a file as JSON. +* +* @param f file to write to +* @param name array name +* @param x data +* @param len array length +*/ +void write_named_array_i32( FILE *f, const char *name, const int *x, const unsigned int len ) { + fprintf( f, "\"%s\":[", name ); + write_array_i32( f, x, len ); + fprintf( f, "]" ); +} + +/** +* Writes data to a file as JSON. +* +* ## Notes +* +* - This function SHOULD be tailored to the input data (e.g., input types, output types, number of arguments, etc) and may vary from use case to use case. +* +* +* @param f file to write to +* @param x domain +* @param y results +* @param len array length +*/ +void write_data_as_json( FILE *f, const float *x, const float *y, const unsigned int len ) { + fprintf( f, "{" ); + write_named_array_f32( f, "x", x, len ); + fprintf( f, "," ); + write_named_array_f32( f, "expected", y, len ); + fprintf( f, "}" ); +} + +/** +* Generates test fixtures. +* +* @param x domain +* @param len number of values in the domain +* @param name output filename +*/ +void generate( float *x, const unsigned int len, const char *name ) { + unsigned int i; + float *y; + FILE *f; + + // Allocate an output array: + y = (float*) malloc( len * sizeof(float) ); + if ( y == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + + // Generate fixture data: + for ( i = 0; i < len; i++ ) { + y[ i ] = boost::math::sqrt1pm1( x[ i ] ); + } + // Open a new file: + f = fopen( name, "w" ); + if ( f == NULL ) { + printf( "Error opening file.\n" ); + exit( 1 ); + } + // Write data as JSON: + write_data_as_json( f, x, y, len ); + + // Close the file: + fclose( f ); + + // Free allocated memory: + free( y ); +} + +/** +* Main execution sequence. +*/ +int main( void ) { + unsigned int len; + float *x; + + // Define the array length: + len = 2000; + + // Allocate an array: + x = (float*) malloc( len * sizeof(float) ); + if ( x == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + + // Generate fixture data: + linspace_f32( x, len, 0.76f, 100.0f ); + generate( x, len, "large.json" ); + + linspace_f32( x, len, -0.75f, 0.75f ); + generate( x, len, "small.json" ); + + // Free allocated memory: + free( x ); + + return 0; +} diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/small.json b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/small.json new file mode 100644 index 000000000000..9f3986623b23 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/fixtures/cpp/small.json @@ -0,0 +1 @@ +{"x":[-0.75,-0.74924963712692261,-0.74849927425384521,-0.74774885177612305,-0.74699848890304565,-0.74624812602996826,-0.74549776315689087,-0.74474740028381348,-0.74399697780609131,-0.74324661493301392,-0.74249625205993652,-0.74174588918685913,-0.74099552631378174,-0.74024510383605957,-0.73949474096298218,-0.73874437808990479,-0.73799401521682739,-0.73724359273910522,-0.73649322986602783,-0.73574286699295044,-0.73499250411987305,-0.73424214124679565,-0.73349171876907349,-0.73274135589599609,-0.7319909930229187,-0.73124063014984131,-0.73049026727676392,-0.72973984479904175,-0.72898948192596436,-0.72823911905288696,-0.72748875617980957,-0.72673839330673218,-0.72598797082901001,-0.72523760795593262,-0.72448724508285522,-0.72373688220977783,-0.72298651933670044,-0.72223609685897827,-0.72148573398590088,-0.72073537111282349,-0.71998500823974609,-0.7192346453666687,-0.71848422288894653,-0.71773386001586914,-0.71698349714279175,-0.71623313426971436,-0.71548271179199219,-0.71473234891891479,-0.7139819860458374,-0.71323162317276001,-0.71248126029968262,-0.71173083782196045,-0.71098047494888306,-0.71023011207580566,-0.70947974920272827,-0.70872938632965088,-0.70797896385192871,-0.70722860097885132,-0.70647823810577393,-0.70572787523269653,-0.70497751235961914,-0.70422708988189697,-0.70347672700881958,-0.70272636413574219,-0.70197600126266479,-0.7012256383895874,-0.70047521591186523,-0.69972485303878784,-0.69897449016571045,-0.69822412729263306,-0.69747376441955566,-0.6967233419418335,-0.6959729790687561,-0.69522261619567871,-0.69447225332260132,-0.69372183084487915,-0.69297146797180176,-0.69222110509872437,-0.69147074222564697,-0.69072037935256958,-0.68996995687484741,-0.68921959400177002,-0.68846923112869263,-0.68771886825561523,-0.68696850538253784,-0.68621808290481567,-0.68546772003173828,-0.68471735715866089,-0.6839669942855835,-0.6832166314125061,-0.68246620893478394,-0.68171584606170654,-0.68096548318862915,-0.68021512031555176,-0.67946475744247437,-0.6787143349647522,-0.6779639720916748,-0.67721360921859741,-0.67646324634552002,-0.67571288347244263,-0.67496246099472046,-0.67421209812164307,-0.67346173524856567,-0.67271137237548828,-0.67196094989776611,-0.67121058702468872,-0.67046022415161133,-0.66970986127853394,-0.66895949840545654,-0.66820907592773438,-0.66745871305465698,-0.66670835018157959,-0.6659579873085022,-0.6652076244354248,-0.66445720195770264,-0.66370683908462524,-0.66295647621154785,-0.66220611333847046,-0.66145575046539307,-0.6607053279876709,-0.65995496511459351,-0.65920460224151611,-0.65845423936843872,-0.65770387649536133,-0.65695345401763916,-0.65620309114456177,-0.65545272827148438,-0.65470236539840698,-0.65395200252532959,-0.65320158004760742,-0.65245121717453003,-0.65170085430145264,-0.65095049142837524,-0.65020006895065308,-0.64944970607757568,-0.64869934320449829,-0.6479489803314209,-0.64719861745834351,-0.64644819498062134,-0.64569783210754395,-0.64494746923446655,-0.64419710636138916,-0.64344674348831177,-0.6426963210105896,-0.64194595813751221,-0.64119559526443481,-0.64044523239135742,-0.63969486951828003,-0.63894444704055786,-0.63819408416748047,-0.63744372129440308,-0.63669335842132568,-0.63594299554824829,-0.63519257307052612,-0.63444221019744873,-0.63369184732437134,-0.63294148445129395,-0.63219106197357178,-0.63144069910049438,-0.63069033622741699,-0.6299399733543396,-0.62918961048126221,-0.62843918800354004,-0.62768882513046265,-0.62693846225738525,-0.62618809938430786,-0.62543773651123047,-0.6246873140335083,-0.62393695116043091,-0.62318658828735352,-0.62243622541427612,-0.62168586254119873,-0.62093544006347656,-0.62018507719039917,-0.61943471431732178,-0.61868435144424438,-0.61793398857116699,-0.61718356609344482,-0.61643320322036743,-0.61568284034729004,-0.61493247747421265,-0.61418211460113525,-0.61343169212341309,-0.61268132925033569,-0.6119309663772583,-0.61118060350418091,-0.61043018102645874,-0.60967981815338135,-0.60892945528030396,-0.60817909240722656,-0.60742872953414917,-0.606678307056427,-0.60592794418334961,-0.60517758131027222,-0.60442721843719482,-0.60367685556411743,-0.60292643308639526,-0.60217607021331787,-0.60142570734024048,-0.60067534446716309,-0.59992498159408569,-0.59917455911636353,-0.59842419624328613,-0.59767383337020874,-0.59692347049713135,-0.59617310762405396,-0.59542268514633179,-0.59467232227325439,-0.593921959400177,-0.59317159652709961,-0.59242123365402222,-0.59167081117630005,-0.59092044830322266,-0.59017008543014526,-0.58941972255706787,-0.5886693000793457,-0.58791893720626831,-0.58716857433319092,-0.58641821146011353,-0.58566784858703613,-0.58491742610931396,-0.58416706323623657,-0.58341670036315918,-0.58266633749008179,-0.58191597461700439,-0.58116555213928223,-0.58041518926620483,-0.57966482639312744,-0.57891446352005005,-0.57816410064697266,-0.57741367816925049,-0.5766633152961731,-0.5759129524230957,-0.57516258955001831,-0.57441222667694092,-0.57366180419921875,-0.57291144132614136,-0.57216107845306396,-0.57141071557998657,-0.57066035270690918,-0.56990993022918701,-0.56915956735610962,-0.56840920448303223,-0.56765884160995483,-0.56690841913223267,-0.56615805625915527,-0.56540769338607788,-0.56465733051300049,-0.5639069676399231,-0.56315654516220093,-0.56240618228912354,-0.56165581941604614,-0.56090545654296875,-0.56015509366989136,-0.55940467119216919,-0.5586543083190918,-0.5579039454460144,-0.55715358257293701,-0.55640321969985962,-0.55565279722213745,-0.55490243434906006,-0.55415207147598267,-0.55340170860290527,-0.55265134572982788,-0.55190092325210571,-0.55115056037902832,-0.55040019750595093,-0.54964983463287354,-0.54889947175979614,-0.54814904928207397,-0.54739868640899658,-0.54664832353591919,-0.5458979606628418,-0.54514753818511963,-0.54439717531204224,-0.54364681243896484,-0.54289644956588745,-0.54214608669281006,-0.54139566421508789,-0.5406453013420105,-0.53989493846893311,-0.53914457559585571,-0.53839421272277832,-0.53764379024505615,-0.53689342737197876,-0.53614306449890137,-0.53539270162582397,-0.53464233875274658,-0.53389191627502441,-0.53314155340194702,-0.53239119052886963,-0.53164082765579224,-0.53089046478271484,-0.53014004230499268,-0.52938967943191528,-0.52863931655883789,-0.5278889536857605,-0.52713859081268311,-0.52638816833496094,-0.52563780546188354,-0.52488744258880615,-0.52413707971572876,-0.52338665723800659,-0.5226362943649292,-0.52188593149185181,-0.52113556861877441,-0.52038520574569702,-0.51963478326797485,-0.51888442039489746,-0.51813405752182007,-0.51738369464874268,-0.51663333177566528,-0.51588290929794312,-0.51513254642486572,-0.51438218355178833,-0.51363182067871094,-0.51288145780563354,-0.51213103532791138,-0.51138067245483398,-0.51063030958175659,-0.5098799467086792,-0.50912958383560181,-0.50837916135787964,-0.50762879848480225,-0.50687843561172485,-0.50612807273864746,-0.50537770986557007,-0.5046272873878479,-0.50387692451477051,-0.50312656164169312,-0.50237619876861572,-0.50162577629089355,-0.50087541341781616,-0.50012505054473877,-0.49937468767166138,-0.4986242949962616,-0.4978739321231842,-0.49712353944778442,-0.49637317657470703,-0.49562281370162964,-0.49487242102622986,-0.49412205815315247,-0.49337166547775269,-0.49262130260467529,-0.4918709397315979,-0.49112054705619812,-0.49037018418312073,-0.48961979150772095,-0.48886942863464355,-0.48811903595924377,-0.48736867308616638,-0.48661831021308899,-0.48586791753768921,-0.48511755466461182,-0.48436716198921204,-0.48361679911613464,-0.48286643624305725,-0.48211604356765747,-0.48136568069458008,-0.4806152880191803,-0.47986492514610291,-0.47911456227302551,-0.47836416959762573,-0.47761380672454834,-0.47686341404914856,-0.47611305117607117,-0.47536265850067139,-0.47461229562759399,-0.4738619327545166,-0.47311154007911682,-0.47236117720603943,-0.47161078453063965,-0.47086042165756226,-0.47011005878448486,-0.46935966610908508,-0.46860930323600769,-0.46785891056060791,-0.46710854768753052,-0.46635815501213074,-0.46560779213905334,-0.46485742926597595,-0.46410703659057617,-0.46335667371749878,-0.462606281042099,-0.46185591816902161,-0.46110555529594421,-0.46035516262054443,-0.45960479974746704,-0.45885440707206726,-0.45810404419898987,-0.45735368132591248,-0.4566032886505127,-0.4558529257774353,-0.45510253310203552,-0.45435217022895813,-0.45360177755355835,-0.45285141468048096,-0.45210105180740356,-0.45135065913200378,-0.45060029625892639,-0.44984990358352661,-0.44909954071044922,-0.44834917783737183,-0.44759878516197205,-0.44684842228889465,-0.44609802961349487,-0.44534766674041748,-0.4445972740650177,-0.44384691119194031,-0.44309654831886292,-0.44234615564346313,-0.44159579277038574,-0.44084540009498596,-0.44009503722190857,-0.43934467434883118,-0.4385942816734314,-0.437843918800354,-0.43709352612495422,-0.43634316325187683,-0.43559280037879944,-0.43484240770339966,-0.43409204483032227,-0.43334165215492249,-0.43259128928184509,-0.43184089660644531,-0.43109053373336792,-0.43034017086029053,-0.42958977818489075,-0.42883941531181335,-0.42808902263641357,-0.42733865976333618,-0.42658829689025879,-0.42583790421485901,-0.42508754134178162,-0.42433714866638184,-0.42358678579330444,-0.42283639311790466,-0.42208603024482727,-0.42133566737174988,-0.4205852746963501,-0.41983491182327271,-0.41908451914787292,-0.41833415627479553,-0.41758379340171814,-0.41683340072631836,-0.41608303785324097,-0.41533264517784119,-0.41458228230476379,-0.41383188962936401,-0.41308152675628662,-0.41233116388320923,-0.41158077120780945,-0.41083040833473206,-0.41008001565933228,-0.40932965278625488,-0.40857928991317749,-0.40782889723777771,-0.40707853436470032,-0.40632814168930054,-0.40557777881622314,-0.40482741594314575,-0.40407702326774597,-0.40332666039466858,-0.4025762677192688,-0.40182590484619141,-0.40107551217079163,-0.40032514929771423,-0.39957478642463684,-0.39882439374923706,-0.39807403087615967,-0.39732363820075989,-0.3965732753276825,-0.3958229124546051,-0.39507251977920532,-0.39432215690612793,-0.39357176423072815,-0.39282140135765076,-0.39207100868225098,-0.39132064580917358,-0.39057028293609619,-0.38981989026069641,-0.38906952738761902,-0.38831913471221924,-0.38756877183914185,-0.38681840896606445,-0.38606801629066467,-0.38531765341758728,-0.3845672607421875,-0.38381689786911011,-0.38306653499603271,-0.38231614232063293,-0.38156577944755554,-0.38081538677215576,-0.38006502389907837,-0.37931463122367859,-0.3785642683506012,-0.3778139054775238,-0.37706351280212402,-0.37631314992904663,-0.37556275725364685,-0.37481239438056946,-0.37406203150749207,-0.37331163883209229,-0.37256127595901489,-0.37181088328361511,-0.37106052041053772,-0.37031012773513794,-0.36955976486206055,-0.36880940198898315,-0.36805900931358337,-0.36730864644050598,-0.3665582537651062,-0.36580789089202881,-0.36505752801895142,-0.36430713534355164,-0.36355677247047424,-0.36280637979507446,-0.36205601692199707,-0.36130565404891968,-0.3605552613735199,-0.3598048985004425,-0.35905450582504272,-0.35830414295196533,-0.35755375027656555,-0.35680338740348816,-0.35605302453041077,-0.35530263185501099,-0.35455226898193359,-0.35380187630653381,-0.35305151343345642,-0.35230115056037903,-0.35155075788497925,-0.35080039501190186,-0.35005000233650208,-0.34929963946342468,-0.3485492467880249,-0.34779888391494751,-0.34704852104187012,-0.34629812836647034,-0.34554776549339294,-0.34479737281799316,-0.34404700994491577,-0.34329664707183838,-0.3425462543964386,-0.34179589152336121,-0.34104549884796143,-0.34029513597488403,-0.33954477310180664,-0.33879438042640686,-0.33804401755332947,-0.33729362487792969,-0.33654326200485229,-0.33579286932945251,-0.33504250645637512,-0.33429214358329773,-0.33354175090789795,-0.33279138803482056,-0.33204099535942078,-0.33129063248634338,-0.33054026961326599,-0.32978987693786621,-0.32903951406478882,-0.32828912138938904,-0.32753875851631165,-0.32678836584091187,-0.32603800296783447,-0.32528764009475708,-0.3245372474193573,-0.32378688454627991,-0.32303649187088013,-0.32228612899780273,-0.32153576612472534,-0.32078537344932556,-0.32003501057624817,-0.31928461790084839,-0.318534255027771,-0.3177838921546936,-0.31703349947929382,-0.31628313660621643,-0.31553274393081665,-0.31478238105773926,-0.31403198838233948,-0.31328162550926208,-0.31253126263618469,-0.31178086996078491,-0.31103050708770752,-0.31028011441230774,-0.30952975153923035,-0.30877938866615295,-0.30802899599075317,-0.30727863311767578,-0.306528240442276,-0.30577787756919861,-0.30502748489379883,-0.30427712202072144,-0.30352675914764404,-0.30277636647224426,-0.30202600359916687,-0.30127561092376709,-0.3005252480506897,-0.2997748851776123,-0.29902449250221252,-0.29827412962913513,-0.29752373695373535,-0.29677337408065796,-0.29602298140525818,-0.29527261853218079,-0.29452225565910339,-0.29377186298370361,-0.29302150011062622,-0.29227110743522644,-0.29152074456214905,-0.29077038168907166,-0.29001998901367188,-0.28926962614059448,-0.2885192334651947,-0.28776887059211731,-0.28701850771903992,-0.28626811504364014,-0.28551775217056274,-0.28476735949516296,-0.28401699662208557,-0.28326660394668579,-0.2825162410736084,-0.28176587820053101,-0.28101548552513123,-0.28026512265205383,-0.27951472997665405,-0.27876436710357666,-0.27801400423049927,-0.27726361155509949,-0.27651324868202209,-0.27576285600662231,-0.27501249313354492,-0.27426210045814514,-0.27351173758506775,-0.27276137471199036,-0.27201098203659058,-0.27126061916351318,-0.2705102264881134,-0.26975986361503601,-0.26900950074195862,-0.26825910806655884,-0.26750874519348145,-0.26675835251808167,-0.26600798964500427,-0.26525762677192688,-0.2645072340965271,-0.26375687122344971,-0.26300647854804993,-0.26225611567497253,-0.26150572299957275,-0.26075536012649536,-0.26000499725341797,-0.25925460457801819,-0.2585042417049408,-0.25775384902954102,-0.25700348615646362,-0.25625312328338623,-0.25550273060798645,-0.25475236773490906,-0.25400197505950928,-0.25325161218643188,-0.2525012195110321,-0.25175085663795471,-0.25100049376487732,-0.25025010108947754,-0.24949973821640015,-0.24874936044216156,-0.24799898266792297,-0.24724860489368439,-0.2464982271194458,-0.24574786424636841,-0.24499748647212982,-0.24424710869789124,-0.24349673092365265,-0.24274635314941406,-0.24199597537517548,-0.24124561250209808,-0.2404952347278595,-0.23974485695362091,-0.23899447917938232,-0.23824410140514374,-0.23749372363090515,-0.23674336075782776,-0.23599298298358917,-0.23524260520935059,-0.234492227435112,-0.23374184966087341,-0.23299147188663483,-0.23224110901355743,-0.23149073123931885,-0.23074035346508026,-0.22998997569084167,-0.22923959791660309,-0.2284892201423645,-0.22773885726928711,-0.22698847949504852,-0.22623810172080994,-0.22548772394657135,-0.22473734617233276,-0.22398696839809418,-0.22323660552501678,-0.2224862277507782,-0.22173584997653961,-0.22098547220230103,-0.22023509442806244,-0.21948473155498505,-0.21873435378074646,-0.21798397600650787,-0.21723359823226929,-0.2164832204580307,-0.21573284268379211,-0.21498247981071472,-0.21423210203647614,-0.21348172426223755,-0.21273134648799896,-0.21198096871376038,-0.21123059093952179,-0.2104802280664444,-0.20972985029220581,-0.20897947251796722,-0.20822909474372864,-0.20747871696949005,-0.20672833919525146,-0.20597797632217407,-0.20522759854793549,-0.2044772207736969,-0.20372684299945831,-0.20297646522521973,-0.20222608745098114,-0.20147572457790375,-0.20072534680366516,-0.19997496902942657,-0.19922459125518799,-0.1984742134809494,-0.19772383570671082,-0.19697347283363342,-0.19622309505939484,-0.19547271728515625,-0.19472233951091766,-0.19397196173667908,-0.19322159886360168,-0.1924712210893631,-0.19172084331512451,-0.19097046554088593,-0.19022008776664734,-0.18946970999240875,-0.18871934711933136,-0.18796896934509277,-0.18721859157085419,-0.1864682137966156,-0.18571783602237701,-0.18496745824813843,-0.18421709537506104,-0.18346671760082245,-0.18271633982658386,-0.18196596205234528,-0.18121558427810669,-0.1804652065038681,-0.17971484363079071,-0.17896446585655212,-0.17821408808231354,-0.17746371030807495,-0.17671333253383636,-0.17596295475959778,-0.17521259188652039,-0.1744622141122818,-0.17371183633804321,-0.17296145856380463,-0.17221108078956604,-0.17146071791648865,-0.17071034014225006,-0.16995996236801147,-0.16920958459377289,-0.1684592068195343,-0.16770882904529572,-0.16695846617221832,-0.16620808839797974,-0.16545771062374115,-0.16470733284950256,-0.16395695507526398,-0.16320657730102539,-0.162456214427948,-0.16170583665370941,-0.16095545887947083,-0.16020508110523224,-0.15945470333099365,-0.15870432555675507,-0.15795396268367767,-0.15720358490943909,-0.1564532071352005,-0.15570282936096191,-0.15495245158672333,-0.15420207381248474,-0.15345171093940735,-0.15270133316516876,-0.15195095539093018,-0.15120057761669159,-0.150450199842453,-0.14969983696937561,-0.14894945919513702,-0.14819908142089844,-0.14744870364665985,-0.14669832587242126,-0.14594794809818268,-0.14519758522510529,-0.1444472074508667,-0.14369682967662811,-0.14294645190238953,-0.14219607412815094,-0.14144569635391235,-0.14069533348083496,-0.13994495570659637,-0.13919457793235779,-0.1384442001581192,-0.13769382238388062,-0.13694344460964203,-0.13619308173656464,-0.13544270396232605,-0.13469232618808746,-0.13394194841384888,-0.13319157063961029,-0.1324411928653717,-0.13169082999229431,-0.13094045221805573,-0.13019007444381714,-0.12943969666957855,-0.12868931889533997,-0.12793894112110138,-0.12718857824802399,-0.1264382004737854,-0.12568782269954681,-0.12493744492530823,-0.12418707460165024,-0.12343669682741165,-0.12268631905317307,-0.12193594872951508,-0.12118557095527649,-0.1204351931810379,-0.11968482285737991,-0.11893444508314133,-0.11818406730890274,-0.11743369698524475,-0.11668331921100616,-0.11593294143676758,-0.11518257111310959,-0.114432193338871,-0.11368182301521301,-0.11293144524097443,-0.11218106746673584,-0.11143069714307785,-0.11068031936883926,-0.10992994159460068,-0.10917957127094269,-0.1084291934967041,-0.10767881572246552,-0.10692844539880753,-0.10617806762456894,-0.10542768985033035,-0.10467731952667236,-0.10392694175243378,-0.10317656397819519,-0.1024261936545372,-0.10167581588029861,-0.10092543810606003,-0.10017506778240204,-0.099424690008163452,-0.098674312233924866,-0.097923941910266876,-0.09717356413602829,-0.096423186361789703,-0.095672816038131714,-0.094922438263893127,-0.094172060489654541,-0.093421690165996552,-0.092671312391757965,-0.091920934617519379,-0.091170564293861389,-0.090420186519622803,-0.089669808745384216,-0.088919438421726227,-0.08816906064748764,-0.087418690323829651,-0.086668312549591064,-0.085917934775352478,-0.085167564451694489,-0.084417186677455902,-0.083666808903217316,-0.082916438579559326,-0.08216606080532074,-0.081415683031082153,-0.080665312707424164,-0.079914934933185577,-0.079164557158946991,-0.078414186835289001,-0.077663809061050415,-0.076913431286811829,-0.076163060963153839,-0.075412683188915253,-0.074662305414676666,-0.073911935091018677,-0.07316155731678009,-0.072411179542541504,-0.071660809218883514,-0.070910431444644928,-0.070160053670406342,-0.069409683346748352,-0.068659305572509766,-0.067908927798271179,-0.06715855747461319,-0.066408179700374603,-0.065657809376716614,-0.064907431602478027,-0.064157053828239441,-0.063406683504581451,-0.062656305730342865,-0.061905927956104279,-0.061155553907155991,-0.060405179858207703,-0.059654802083969116,-0.058904428035020828,-0.05815405398607254,-0.057403679937124252,-0.056653302162885666,-0.055902928113937378,-0.05515255406498909,-0.054402176290750504,-0.053651802241802216,-0.052901428192853928,-0.052151050418615341,-0.051400676369667053,-0.050650302320718765,-0.049899924546480179,-0.049149550497531891,-0.048399176448583603,-0.047648802399635315,-0.046898424625396729,-0.046148050576448441,-0.045397676527500153,-0.044647298753261566,-0.043896924704313278,-0.04314655065536499,-0.042396172881126404,-0.041645798832178116,-0.040895424783229828,-0.040145047008991241,-0.039394672960042953,-0.038644298911094666,-0.037893921136856079,-0.037143547087907791,-0.036393173038959503,-0.035642795264720917,-0.034892421215772629,-0.034142047166824341,-0.033391673117876053,-0.032641295343637466,-0.031890921294689178,-0.031140545383095741,-0.030390171334147453,-0.029639795422554016,-0.028889419510960579,-0.028139045462012291,-0.027388669550418854,-0.026638295501470566,-0.025887919589877129,-0.025137543678283691,-0.024387169629335403,-0.023636793717741966,-0.022886417806148529,-0.022136043757200241,-0.021385667845606804,-0.020635291934013367,-0.019884917885065079,-0.019134541973471642,-0.018384167924523354,-0.017633792012929916,-0.016883416101336479,-0.016133042052388191,-0.015382666140794754,-0.014632291160523891,-0.013881916180253029,-0.013131540268659592,-0.012381165288388729,-0.011630790308117867,-0.010880415327847004,-0.010130040347576141,-0.0093796644359827042,-0.0086292894557118416,-0.007878914475440979,-0.0071285390295088291,-0.0063781635835766792,-0.0056277886033058167,-0.0048774136230349541,-0.0041270381771028042,-0.003376662964001298,-0.0026262877508997917,-0.0018759125377982855,-0.0011255373246967793,-0.00037516211159527302,0.00037521310150623322,0.0011255883146077394,0.0018759635277092457,0.0026263387408107519,0.0033767139539122581,0.0041270889341831207,0.0048774643801152706,0.0056278398260474205,0.0063782148063182831,0.0071285897865891457,0.0078789647668600082,0.0086293406784534454,0.009379715658724308,0.010130090638995171,0.010880466550588608,0.01163084153085947,0.012381216511130333,0.013131591491401196,0.013881966471672058,0.014632342383265495,0.015382717363536358,0.01613309234380722,0.016883468255400658,0.017633842304348946,0.018384218215942383,0.01913459412753582,0.019884968176484108,0.020635344088077545,0.021385718137025833,0.02213609404861927,0.022886469960212708,0.023636844009160995,0.024387219920754433,0.02513759583234787,0.025887969881296158,0.026638345792889595,0.027388721704483032,0.02813909575343132,0.028889471665024757,0.029639845713973045,0.030390221625566483,0.03114059753715992,0.031890973448753357,0.032641347497701645,0.033391721546649933,0.034142099320888519,0.034892473369836807,0.035642847418785095,0.036393225193023682,0.03714359924197197,0.037893973290920258,0.038644347339868546,0.039394725114107132,0.04014509916305542,0.040895473212003708,0.041645850986242294,0.042396225035190582,0.04314659908413887,0.043896976858377457,0.044647350907325745,0.045397724956274033,0.046148102730512619,0.046898476779460907,0.047648850828409195,0.048399224877357483,0.049149602651596069,0.049899976700544357,0.050650350749492645,0.051400728523731232,0.05215110257267952,0.052901476621627808,0.053651854395866394,0.054402228444814682,0.05515260249376297,0.055902980268001556,0.056653354316949844,0.057403728365898132,0.058154106140136719,0.058904480189085007,0.059654854238033295,0.060405232012271881,0.061155606061220169,0.061905980110168457,0.062656357884407043,0.063406728208065033,0.064157105982303619,0.064907483756542206,0.065657854080200195,0.066408231854438782,0.067158609628677368,0.067908979952335358,0.068659357726573944,0.069409735500812531,0.07016010582447052,0.070910483598709106,0.071660861372947693,0.072411231696605682,0.073161609470844269,0.073911987245082855,0.074662357568740845,0.075412735342979431,0.076163113117218018,0.076913483440876007,0.077663861215114594,0.078414231538772583,0.079164609313011169,0.079914987087249756,0.080665357410907745,0.081415735185146332,0.082166112959384918,0.082916483283042908,0.083666861057281494,0.084417238831520081,0.08516760915517807,0.085917986929416656,0.086668364703655243,0.087418735027313232,0.088169112801551819,0.088919490575790405,0.089669860899448395,0.090420238673686981,0.091170616447925568,0.091920986771583557,0.092671364545822144,0.09342174232006073,0.094172112643718719,0.094922490417957306,0.095672868192195892,0.096423238515853882,0.097173616290092468,0.097923994064331055,0.098674364387989044,0.099424742162227631,0.10017511993646622,0.10092549026012421,0.10167586803436279,0.10242624580860138,0.10317661613225937,0.10392699390649796,0.10467736423015594,0.10542774200439453,0.10617811977863312,0.10692849010229111,0.10767886787652969,0.10842924565076828,0.10917961597442627,0.10992999374866486,0.11068037152290344,0.11143074184656143,0.11218111962080002,0.1129314973950386,0.11368186771869659,0.11443224549293518,0.11518262326717377,0.11593299359083176,0.11668337136507034,0.11743374913930893,0.11818411946296692,0.11893449723720551,0.11968487501144409,0.12043524533510208,0.12118562310934067,0.12193600088357925,0.12268637120723724,0.12343674898147583,0.12418712675571442,0.12493749707937241,0.1256878674030304,0.12643824517726898,0.12718862295150757,0.12793900072574615,0.12868937849998474,0.12943975627422333,0.13019011914730072,0.13094049692153931,0.13169087469577789,0.13244125247001648,0.13319163024425507,0.13394200801849365,0.13469237089157104,0.13544274866580963,0.13619312644004822,0.1369435042142868,0.13769388198852539,0.13844424486160278,0.13919462263584137,0.13994500041007996,0.14069537818431854,0.14144575595855713,0.14219613373279572,0.14294649660587311,0.14369687438011169,0.14444725215435028,0.14519762992858887,0.14594800770282745,0.14669838547706604,0.14744874835014343,0.14819912612438202,0.14894950389862061,0.14969988167285919,0.15045025944709778,0.15120063722133636,0.15195100009441376,0.15270137786865234,0.15345175564289093,0.15420213341712952,0.1549525111913681,0.15570288896560669,0.15645325183868408,0.15720362961292267,0.15795400738716125,0.15870438516139984,0.15945476293563843,0.16020514070987701,0.16095550358295441,0.16170588135719299,0.16245625913143158,0.16320663690567017,0.16395701467990875,0.16470737755298615,0.16545775532722473,0.16620813310146332,0.1669585108757019,0.16770888864994049,0.16845926642417908,0.16920962929725647,0.16996000707149506,0.17071038484573364,0.17146076261997223,0.17221114039421082,0.1729615181684494,0.17371188104152679,0.17446225881576538,0.17521263659000397,0.17596301436424255,0.17671339213848114,0.17746376991271973,0.17821413278579712,0.17896451056003571,0.17971488833427429,0.18046526610851288,0.18121564388275146,0.18196602165699005,0.18271638453006744,0.18346676230430603,0.18421714007854462,0.1849675178527832,0.18571789562702179,0.18646827340126038,0.18721863627433777,0.18796901404857635,0.18871939182281494,0.18946976959705353,0.19022014737129211,0.19097051024436951,0.19172088801860809,0.19247126579284668,0.19322164356708527,0.19397202134132385,0.19472239911556244,0.19547276198863983,0.19622313976287842,0.196973517537117,0.19772389531135559,0.19847427308559418,0.19922465085983276,0.19997501373291016,0.20072539150714874,0.20147576928138733,0.20222614705562592,0.2029765248298645,0.20372690260410309,0.20447726547718048,0.20522764325141907,0.20597802102565765,0.20672839879989624,0.20747877657413483,0.20822915434837341,0.20897951722145081,0.20972989499568939,0.21048027276992798,0.21123065054416656,0.21198102831840515,0.21273139119148254,0.21348176896572113,0.21423214673995972,0.2149825245141983,0.21573290228843689,0.21648328006267548,0.21723364293575287,0.21798402070999146,0.21873439848423004,0.21948477625846863,0.22023515403270721,0.2209855318069458,0.22173589468002319,0.22248627245426178,0.22323665022850037,0.22398702800273895,0.22473740577697754,0.22548778355121613,0.22623814642429352,0.2269885241985321,0.22773890197277069,0.22848927974700928,0.22923965752124786,0.22999003529548645,0.23074039816856384,0.23149077594280243,0.23224115371704102,0.2329915314912796,0.23374190926551819,0.23449227213859558,0.23524264991283417,0.23599302768707275,0.23674340546131134,0.23749378323554993,0.23824416100978851,0.23899452388286591,0.23974490165710449,0.24049527943134308,0.24124565720558167,0.24199603497982025,0.24274641275405884,0.24349677562713623,0.24424715340137482,0.2449975311756134,0.24574790894985199,0.24649828672409058,0.24724866449832916,0.24799902737140656,0.24874940514564514,0.24949978291988373,0.25025016069412231,0.25100052356719971,0.25175091624259949,0.25250127911567688,0.25325167179107666,0.25400203466415405,0.25475239753723145,0.25550279021263123,0.25625315308570862,0.2570035457611084,0.25775390863418579,0.25850427150726318,0.25925466418266296,0.26000502705574036,0.26075541973114014,0.26150578260421753,0.26225617527961731,0.2630065381526947,0.26375690102577209,0.26450729370117188,0.26525765657424927,0.26600804924964905,0.26675841212272644,0.26750877499580383,0.26825916767120361,0.26900953054428101,0.26975992321968079,0.27051028609275818,0.27126067876815796,0.27201104164123535,0.27276140451431274,0.27351179718971252,0.27426216006278992,0.2750125527381897,0.27576291561126709,0.27651327848434448,0.27726367115974426,0.27801403403282166,0.27876442670822144,0.27951478958129883,0.28026518225669861,0.281015545129776,0.28176590800285339,0.28251630067825317,0.28326666355133057,0.28401705622673035,0.28476741909980774,0.28551778197288513,0.28626817464828491,0.2870185375213623,0.28776893019676208,0.28851929306983948,0.28926965594291687,0.29002004861831665,0.29077041149139404,0.29152080416679382,0.29227116703987122,0.293021559715271,0.29377192258834839,0.29452228546142578,0.29527267813682556,0.29602304100990295,0.29677343368530273,0.29752379655838013,0.29827415943145752,0.2990245521068573,0.29977491497993469,0.30052530765533447,0.30127567052841187,0.30202606320381165,0.30277642607688904,0.30352678894996643,0.30427718162536621,0.3050275444984436,0.30577793717384338,0.30652830004692078,0.30727866291999817,0.30802905559539795,0.30877941846847534,0.30952981114387512,0.31028017401695251,0.31103053689002991,0.31178092956542969,0.31253129243850708,0.31328168511390686,0.31403204798698425,0.31478244066238403,0.31553280353546143,0.31628316640853882,0.3170335590839386,0.31778392195701599,0.31853431463241577,0.31928467750549316,0.32003504037857056,0.32078543305397034,0.32153579592704773,0.32228618860244751,0.3230365514755249,0.32378694415092468,0.32453730702400208,0.32528766989707947,0.32603806257247925,0.32678842544555664,0.32753881812095642,0.32828918099403381,0.32903954386711121,0.32978993654251099,0.33054029941558838,0.33129069209098816,0.33204105496406555,0.33279141783714294,0.33354181051254272,0.33429217338562012,0.3350425660610199,0.33579292893409729,0.33654332160949707,0.33729368448257446,0.33804404735565186,0.33879444003105164,0.33954480290412903,0.34029519557952881,0.3410455584526062,0.34179592132568359,0.34254631400108337,0.34329667687416077,0.34404706954956055,0.34479743242263794,0.34554782509803772,0.34629818797111511,0.3470485508441925,0.34779894351959229,0.34854930639266968,0.34929969906806946,0.35005006194114685,0.35080042481422424,0.35155081748962402,0.35230118036270142,0.3530515730381012,0.35380193591117859,0.35455232858657837,0.35530269145965576,0.35605305433273315,0.35680344700813293,0.35755380988121033,0.35830420255661011,0.3590545654296875,0.35980492830276489,0.36055532097816467,0.36130568385124207,0.36205607652664185,0.36280643939971924,0.36355680227279663,0.36430719494819641,0.3650575578212738,0.36580795049667358,0.36655831336975098,0.36730870604515076,0.36805906891822815,0.36880943179130554,0.36955982446670532,0.37031018733978271,0.3710605800151825,0.37181094288825989,0.37256130576133728,0.37331169843673706,0.37406206130981445,0.37481245398521423,0.37556281685829163,0.37631320953369141,0.3770635724067688,0.37781393527984619,0.37856432795524597,0.37931469082832336,0.38006508350372314,0.38081544637680054,0.38156580924987793,0.38231620192527771,0.3830665647983551,0.38381695747375488,0.38456732034683228,0.38531768321990967,0.38606807589530945,0.38681843876838684,0.38756883144378662,0.38831919431686401,0.38906958699226379,0.38981994986534119,0.39057031273841858,0.39132070541381836,0.39207106828689575,0.39282146096229553,0.39357182383537292,0.39432218670845032,0.3950725793838501,0.39582294225692749,0.39657333493232727,0.39732369780540466,0.39807409048080444,0.39882445335388184,0.39957481622695923,0.40032520890235901,0.4010755717754364,0.40182596445083618,0.40257632732391357,0.40332669019699097,0.40407708287239075,0.40482744574546814,0.40557783842086792,0.40632820129394531,0.40707856416702271,0.40782895684242249,0.40857931971549988,0.40932971239089966,0.41008007526397705,0.41083046793937683,0.41158083081245422,0.41233119368553162,0.4130815863609314,0.41383194923400879,0.41458234190940857,0.41533270478248596,0.41608306765556335,0.41683346033096313,0.41758382320404053,0.41833421587944031,0.4190845787525177,0.41983497142791748,0.42058533430099487,0.42133569717407227,0.42208608984947205,0.42283645272254944,0.42358684539794922,0.42433720827102661,0.425087571144104,0.42583796381950378,0.42658832669258118,0.42733871936798096,0.42808908224105835,0.42883944511413574,0.42958983778953552,0.43034020066261292,0.4310905933380127,0.43184095621109009,0.43259134888648987,0.43334171175956726,0.43409207463264465,0.43484246730804443,0.43559283018112183,0.43634322285652161,0.437093585729599,0.43784394860267639,0.43859434127807617,0.43934470415115356,0.44009509682655334,0.44084545969963074,0.44159585237503052,0.44234621524810791,0.4430965781211853,0.44384697079658508,0.44459733366966248,0.44534772634506226,0.44609808921813965,0.44684845209121704,0.44759884476661682,0.44834920763969421,0.44909960031509399,0.44984996318817139,0.45060032606124878,0.45135071873664856,0.45210108160972595,0.45285147428512573,0.45360183715820312,0.45435222983360291,0.4551025927066803,0.45585295557975769,0.45660334825515747,0.45735371112823486,0.45810410380363464,0.45885446667671204,0.45960482954978943,0.46035522222518921,0.4611055850982666,0.46185597777366638,0.46260634064674377,0.46335673332214355,0.46410709619522095,0.46485745906829834,0.46560785174369812,0.46635821461677551,0.46710860729217529,0.46785897016525269,0.46860933303833008,0.46935972571372986,0.47011008858680725,0.47086048126220703,0.47161084413528442,0.4723612368106842,0.4731115996837616,0.47386196255683899,0.47461235523223877,0.47536271810531616,0.47611311078071594,0.47686347365379333,0.47761383652687073,0.47836422920227051,0.4791145920753479,0.47986498475074768,0.48061534762382507,0.48136571049690247,0.48211610317230225,0.48286646604537964,0.48361685872077942,0.48436722159385681,0.48511761426925659,0.48586797714233398,0.48661834001541138,0.48736873269081116,0.48811909556388855,0.48886948823928833,0.48961985111236572,0.49037021398544312,0.4911206066608429,0.49187096953392029,0.49262136220932007,0.49337172508239746,0.49412211775779724,0.49487248063087463,0.49562284350395203,0.49637323617935181,0.4971235990524292,0.49787399172782898,0.49862435460090637,0.49937471747398376,0.50012511014938354,0.50087547302246094,0.50162583589553833,0.5023762583732605,0.50312662124633789,0.50387698411941528,0.50462734699249268,0.50537770986557007,0.50612813234329224,0.50687849521636963,0.50762885808944702,0.50837922096252441,0.50912958383560181,0.50988000631332397,0.51063036918640137,0.51138073205947876,0.51213109493255615,0.51288145780563354,0.51363188028335571,0.51438224315643311,0.5151326060295105,0.51588296890258789,0.51663333177566528,0.51738375425338745,0.51813411712646484,0.51888447999954224,0.51963484287261963,0.5203852653503418,0.52113562822341919,0.52188599109649658,0.52263635396957397,0.52338671684265137,0.52413713932037354,0.52488750219345093,0.52563786506652832,0.52638822793960571,0.52713859081268311,0.52788901329040527,0.52863937616348267,0.52938973903656006,0.53014010190963745,0.53089046478271484,0.53164088726043701,0.5323912501335144,0.5331416130065918,0.53389197587966919,0.53464233875274658,0.53539276123046875,0.53614312410354614,0.53689348697662354,0.53764384984970093,0.53839421272277832,0.53914463520050049,0.53989499807357788,0.54064536094665527,0.54139572381973267,0.54214614629745483,0.54289650917053223,0.54364687204360962,0.54439723491668701,0.5451475977897644,0.54589802026748657,0.54664838314056396,0.54739874601364136,0.54814910888671875,0.54889947175979614,0.54964989423751831,0.5504002571105957,0.5511506199836731,0.55190098285675049,0.55265134572982788,0.55340176820755005,0.55415213108062744,0.55490249395370483,0.55565285682678223,0.55640321969985962,0.55715364217758179,0.55790400505065918,0.55865436792373657,0.55940473079681396,0.56015509366989136,0.56090551614761353,0.56165587902069092,0.56240624189376831,0.5631566047668457,0.56390702724456787,0.56465739011764526,0.56540775299072266,0.56615811586380005,0.56690847873687744,0.56765890121459961,0.568409264087677,0.56915962696075439,0.56990998983383179,0.57066035270690918,0.57141077518463135,0.57216113805770874,0.57291150093078613,0.57366186380386353,0.57441222667694092,0.57516264915466309,0.57591301202774048,0.57666337490081787,0.57741373777389526,0.57816410064697266,0.57891452312469482,0.57966488599777222,0.58041524887084961,0.581165611743927,0.58191597461700439,0.58266639709472656,0.58341675996780396,0.58416712284088135,0.58491748571395874,0.58566790819168091,0.5864182710647583,0.58716863393783569,0.58791899681091309,0.58866935968399048,0.58941978216171265,0.59017014503479004,0.59092050790786743,0.59167087078094482,0.59242123365402222,0.59317165613174438,0.59392201900482178,0.59467238187789917,0.59542274475097656,0.59617310762405396,0.59692353010177612,0.59767389297485352,0.59842425584793091,0.5991746187210083,0.59992498159408569,0.60067540407180786,0.60142576694488525,0.60217612981796265,0.60292649269104004,0.60367685556411743,0.6044272780418396,0.60517764091491699,0.60592800378799438,0.60667836666107178,0.60742878913879395,0.60817915201187134,0.60892951488494873,0.60967987775802612,0.61043024063110352,0.61118066310882568,0.61193102598190308,0.61268138885498047,0.61343175172805786,0.61418211460113525,0.61493253707885742,0.61568289995193481,0.61643326282501221,0.6171836256980896,0.61793398857116699,0.61868441104888916,0.61943477392196655,0.62018513679504395,0.62093549966812134,0.62168586254119873,0.6224362850189209,0.62318664789199829,0.62393701076507568,0.62468737363815308,0.62543773651123047,0.62618815898895264,0.62693852186203003,0.62768888473510742,0.62843924760818481,0.62918967008590698,0.62994003295898438,0.63069039583206177,0.63144075870513916,0.63219112157821655,0.63294154405593872,0.63369190692901611,0.63444226980209351,0.6351926326751709,0.63594299554824829,0.63669341802597046,0.63744378089904785,0.63819414377212524,0.63894450664520264,0.63969486951828003,0.6404452919960022,0.64119565486907959,0.64194601774215698,0.64269638061523438,0.64344674348831177,0.64419716596603394,0.64494752883911133,0.64569789171218872,0.64644825458526611,0.64719861745834351,0.64794903993606567,0.64869940280914307,0.64944976568222046,0.65020012855529785,0.65095055103302002,0.65170091390609741,0.6524512767791748,0.6532016396522522,0.65395200252532959,0.65470242500305176,0.65545278787612915,0.65620315074920654,0.65695351362228394,0.65770387649536133,0.6584542989730835,0.65920466184616089,0.65995502471923828,0.66070538759231567,0.66145575046539307,0.66220617294311523,0.66295653581619263,0.66370689868927002,0.66445726156234741,0.6652076244354248,0.66595804691314697,0.66670840978622437,0.66745877265930176,0.66820913553237915,0.66895949840545654,0.66970992088317871,0.6704602837562561,0.6712106466293335,0.67196100950241089,0.67271143198013306,0.67346179485321045,0.67421215772628784,0.67496252059936523,0.67571288347244263,0.67646330595016479,0.67721366882324219,0.67796403169631958,0.67871439456939697,0.67946475744247437,0.68021517992019653,0.68096554279327393,0.68171590566635132,0.68246626853942871,0.6832166314125061,0.68396705389022827,0.68471741676330566,0.68546777963638306,0.68621814250946045,0.68696850538253784,0.68771892786026001,0.6884692907333374,0.68921965360641479,0.68997001647949219,0.69072043895721436,0.69147080183029175,0.69222116470336914,0.69297152757644653,0.69372189044952393,0.69447231292724609,0.69522267580032349,0.69597303867340088,0.69672340154647827,0.69747376441955566,0.69822418689727783,0.69897454977035522,0.69972491264343262,0.70047527551651001,0.7012256383895874,0.70197606086730957,0.70272642374038696,0.70347678661346436,0.70422714948654175,0.70497751235961914,0.70572793483734131,0.7064782977104187,0.70722866058349609,0.70797902345657349,0.70872938632965088,0.70947980880737305,0.71023017168045044,0.71098053455352783,0.71173089742660522,0.71248131990432739,0.71323168277740479,0.71398204565048218,0.71473240852355957,0.71548277139663696,0.71623319387435913,0.71698355674743652,0.71773391962051392,0.71848428249359131,0.7192346453666687,0.71998506784439087,0.72073543071746826,0.72148579359054565,0.72223615646362305,0.72298651933670044,0.72373694181442261,0.7244873046875,0.72523766756057739,0.72598803043365479,0.72673839330673218,0.72748881578445435,0.72823917865753174,0.72898954153060913,0.72973990440368652,0.73049026727676392,0.73124068975448608,0.73199105262756348,0.73274141550064087,0.73349177837371826,0.73424220085144043,0.73499256372451782,0.73574292659759521,0.73649328947067261,0.73724365234375,0.73799407482147217,0.73874443769454956,0.73949480056762695,0.74024516344070435,0.74099552631378174,0.74174594879150391,0.7424963116645813,0.74324667453765869,0.74399703741073608,0.74474740028381348,0.74549782276153564,0.74624818563461304,0.74699854850769043,0.74774891138076782,0.74849927425384521,0.74924969673156738,0.75],"expected":[-0.5,-0.49925020337104797,-0.49850153923034668,-0.49775388836860657,-0.49700745940208435,-0.49626210331916809,-0.49551784992218018,-0.49477469921112061,-0.4940325915813446,-0.49329161643981934,-0.49255174398422241,-0.49181291460990906,-0.49107518792152405,-0.49033847451210022,-0.48960283398628235,-0.48886829614639282,-0.48813480138778687,-0.48740231990814209,-0.48667088150978088,-0.48594054579734802,-0.48521122336387634,-0.48448291420936584,-0.48375558853149414,-0.48302936553955078,-0.48230412602424622,-0.48157992959022522,-0.48085674643516541,-0.48013448715209961,-0.47941330075263977,-0.47869309782981873,-0.47797390818595886,-0.47725570201873779,-0.47653841972351074,-0.47582215070724487,-0.47510692477226257,-0.47439262270927429,-0.4736793041229248,-0.47296687960624695,-0.47225549817085266,-0.47154504060745239,-0.47083556652069092,-0.47012704610824585,-0.46941938996315002,-0.46871274709701538,-0.46800705790519714,-0.46730229258537292,-0.46659836173057556,-0.46589547395706177,-0.4651934802532196,-0.46449241042137146,-0.46379226446151733,-0.46309295296669006,-0.46239462494850159,-0.46169722080230713,-0.46100068092346191,-0.46030506491661072,-0.45961031317710876,-0.45891645550727844,-0.45822352170944214,-0.45753145217895508,-0.45684027671813965,-0.45614993572235107,-0.45546048879623413,-0.45477193593978882,-0.45408427715301514,-0.45339742302894592,-0.45271140336990356,-0.45202633738517761,-0.45134207606315613,-0.45065867900848389,-0.44997614622116089,-0.44929441809654236,-0.44861352443695068,-0.44793352484703064,-0.44725435972213745,-0.44657593965530396,-0.44589844346046448,-0.44522175192832947,-0.44454589486122131,-0.44387084245681763,-0.44319659471511841,-0.44252318143844604,-0.44185057282447815,-0.44117879867553711,-0.44050782918930054,-0.43983757495880127,-0.43916821479797363,-0.43849965929985046,-0.43783187866210938,-0.43716487288475037,-0.43649864196777344,-0.43583321571350098,-0.43516859412193298,-0.43450474739074707,-0.43384167551994324,-0.43317931890487671,-0.43251779675483704,-0.43185704946517944,-0.43119707703590393,-0.4305378794670105,-0.42987936735153198,-0.42922165989875793,-0.42856472730636597,-0.42790853977203369,-0.42725306749343872,-0.42659839987754822,-0.42594444751739502,-0.42529124021530151,-0.42463880777359009,-0.42398706078529358,-0.42333605885505676,-0.42268583178520203,-0.42203631997108459,-0.42138755321502686,-0.42073944211006165,-0.42009210586547852,-0.41944551467895508,-0.41879960894584656,-0.41815444827079773,-0.41750994324684143,-0.41686618328094482,-0.41622316837310791,-0.41558083891868591,-0.41493922472000122,-0.41429826617240906,-0.4136580228805542,-0.41301849484443665,-0.4123796820640564,-0.41174158453941345,-0.41110405325889587,-0.41046729683876038,-0.40983125567436218,-0.40919587016105652,-0.40856114029884338,-0.40792709589004517,-0.40729379653930664,-0.40666112303733826,-0.40602916479110718,-0.40539780259132385,-0.40476712584495544,-0.40413716435432434,-0.40350782871246338,-0.40287920832633972,-0.40225115418434143,-0.40162384510040283,-0.40099716186523438,-0.40037113428115845,-0.39974579215049744,-0.39912101626396179,-0.39849695563316345,-0.39787355065345764,-0.39725077152252197,-0.39662861824035645,-0.39600709080696106,-0.3953862190246582,-0.39476603269577026,-0.39414644241333008,-0.39352747797966003,-0.39290913939476013,-0.39229145646095276,-0.39167442917823792,-0.39105796813964844,-0.3904421329498291,-0.38982692360877991,-0.38921234011650085,-0.38859841227531433,-0.38798508048057556,-0.38737231492996216,-0.38676020503044128,-0.38614869117736816,-0.38553780317306519,-0.38492754101753235,-0.38431781530380249,-0.38370871543884277,-0.38310027122497559,-0.38249239325523376,-0.3818851113319397,-0.381278395652771,-0.38067230582237244,-0.38006681203842163,-0.37946191430091858,-0.37885761260986328,-0.37825381755828857,-0.3776506781578064,-0.37704810500144958,-0.37644615769386292,-0.37584471702575684,-0.3752439022064209,-0.37464368343353271,-0.37404400110244751,-0.37344491481781006,-0.37284636497497559,-0.37224841117858887,-0.3716510534286499,-0.37105423212051392,-0.3704579770565033,-0.36986225843429565,-0.36926716566085815,-0.36867260932922363,-0.36807858943939209,-0.3674851655960083,-0.3668922483921051,-0.36629989743232727,-0.36570814251899719,-0.36511692404747009,-0.36452624201774597,-0.36393606662750244,-0.36334651708602905,-0.36275747418403625,-0.36216899752616882,-0.36158105731010437,-0.36099359393119812,-0.36040672659873962,-0.35982042551040649,-0.35923460125923157,-0.35864931344985962,-0.35806459188461304,-0.35748040676116943,-0.35689675807952881,-0.35631361603736877,-0.35573098063468933,-0.35514891147613525,-0.35456734895706177,-0.35398632287979126,-0.35340583324432373,-0.35282579064369202,-0.35224634408950806,-0.35166740417480469,-0.35108897089958191,-0.35051104426383972,-0.34993362426757812,-0.34935671091079712,-0.34878033399581909,-0.34820446372032166,-0.34762910008430481,-0.34705421328544617,-0.34647989273071289,-0.34590601921081543,-0.34533268213272095,-0.34475985169410706,-0.34418746829032898,-0.34361562132835388,-0.34304431080818176,-0.34247344732284546,-0.34190306067466736,-0.34133321046829224,-0.34076383709907532,-0.34019497036933899,-0.33962658047676086,-0.33905866742134094,-0.33849126100540161,-0.33792436122894287,-0.33735790848731995,-0.33679196238517761,-0.33622643351554871,-0.33566147089004517,-0.33509695529937744,-0.33453294634819031,-0.33396938443183899,-0.33340626955032349,-0.33284366130828857,-0.33228155970573425,-0.33171990513801575,-0.33115872740745544,-0.33059796690940857,-0.33003774285316467,-0.32947796583175659,-0.32891866564750671,-0.32835984230041504,-0.3278014063835144,-0.32724347710609436,-0.32668605446815491,-0.32612907886505127,-0.32557249069213867,-0.32501640915870667,-0.32446083426475525,-0.32390567660331726,-0.32335096597671509,-0.32279670238494873,-0.32224288582801819,-0.32168954610824585,-0.32113665342330933,-0.32058423757553101,-0.32003217935562134,-0.31948065757751465,-0.31892958283424377,-0.31837892532348633,-0.3178287148475647,-0.31727892160415649,-0.31672960519790649,-0.31618070602416992,-0.31563228368759155,-0.31508427858352661,-0.3145366907119751,-0.3139895498752594,-0.3134428858757019,-0.31289660930633545,-0.3123508095741272,-0.3118053674697876,-0.31126043200492859,-0.31071591377258301,-0.31017181277275085,-0.30962809920310974,-0.30908489227294922,-0.30854207277297974,-0.30799967050552368,-0.30745774507522583,-0.30691614747047424,-0.30637502670288086,-0.30583435297012329,-0.30529409646987915,-0.30475425720214844,-0.30421474575996399,-0.30367574095726013,-0.30313718318939209,-0.3025989830493927,-0.30206120014190674,-0.3015238344669342,-0.3009868860244751,-0.30045035481452942,-0.29991424083709717,-0.29937854409217834,-0.29884320497512817,-0.29830834269523621,-0.29777383804321289,-0.29723978042602539,-0.29670611023902893,-0.29617282748222351,-0.29563996195793152,-0.29510748386383057,-0.29457545280456543,-0.29404374957084656,-0.2935124933719635,-0.29298162460327148,-0.29245120286941528,-0.29192110896110535,-0.29139146208763123,-0.29086217284202576,-0.29033330082893372,-0.28980481624603271,-0.28927671909332275,-0.28874903917312622,-0.28822171688079834,-0.28769481182098389,-0.28716829419136047,-0.28664213418960571,-0.28611639142036438,-0.2855910062789917,-0.28506603837013245,-0.28454142808914185,-0.28401723504066467,-0.28349339962005615,-0.28296995162963867,-0.28244692087173462,-0.28192421793937683,-0.28140190243721008,-0.28088000416755676,-0.28035846352577209,-0.27983731031417847,-0.2793164849281311,-0.27879607677459717,-0.27827605605125427,-0.27775639295578003,-0.27723711729049683,-0.27671816945075989,-0.27619963884353638,-0.27568146586418152,-0.2751636803150177,-0.27464622259140015,-0.27412915229797363,-0.27361246943473816,-0.27309614419937134,-0.27258020639419556,-0.27206459641456604,-0.27154934406280518,-0.27103450894355774,-0.27052000164985657,-0.27000585198402405,-0.26949205994606018,-0.26897865533828735,-0.26846560835838318,-0.26795288920402527,-0.2674405574798584,-0.26692855358123779,-0.26641696691513062,-0.2659057080745697,-0.26539477705955505,-0.26488423347473145,-0.2643740177154541,-0.2638641893863678,-0.26335468888282776,-0.26284551620483398,-0.26233673095703125,-0.26182830333709717,-0.26132020354270935,-0.26081246137619019,-0.26030507683753967,-0.25979804992675781,-0.25929132103919983,-0.25878497958183289,-0.25827896595001221,-0.25777330994606018,-0.25726801156997681,-0.25676301121711731,-0.25625839829444885,-0.25575408339500427,-0.25525015592575073,-0.25474655628204346,-0.25424328446388245,-0.25374037027359009,-0.25323775410652161,-0.25273552536964417,-0.2522335946559906,-0.25173202157020569,-0.25123080611228943,-0.25072988867759705,-0.25022929906845093,-0.24972905218601227,-0.24922917783260345,-0.24872960150241852,-0.24823035299777985,-0.24773146212100983,-0.24723286926746368,-0.24673464894294739,-0.24623671174049377,-0.24573913216590881,-0.24524188041687012,-0.2447449117898941,-0.24424833059310913,-0.24375203251838684,-0.2432561069726944,-0.24276047945022583,-0.24226516485214233,-0.2417701780796051,-0.24127550423145294,-0.24078118801116943,-0.24028715491294861,-0.23979346454143524,-0.23930010199546814,-0.23880703747272491,-0.23831431567668915,-0.23782189190387726,-0.23732979595661163,-0.23683802783489227,-0.2363465428352356,-0.23585540056228638,-0.23536457121372223,-0.23487405478954315,-0.23438383638858795,-0.23389394581317902,-0.23340439796447754,-0.23291511833667755,-0.23242618143558502,-0.23193751275539398,-0.2314491868019104,-0.23096118867397308,-0.23047344386577606,-0.22998607158660889,-0.22949895262718201,-0.22901217639446259,-0.22852569818496704,-0.22803953289985657,-0.22755366563796997,-0.22706809639930725,-0.2265828549861908,-0.22609788179397583,-0.22561323642730713,-0.2251289039850235,-0.22464485466480255,-0.22416111826896667,-0.22367767989635468,-0.22319453954696655,-0.2227117121219635,-0.22222915291786194,-0.22174692153930664,-0.22126497328281403,-0.22078333795070648,-0.22030198574066162,-0.21982094645500183,-0.21934020519256592,-0.21885973215103149,-0.21837958693504333,-0.21789970993995667,-0.21742014586925507,-0.21694087982177734,-0.21646188199520111,-0.21598319709300995,-0.21550478041172028,-0.21502669155597687,-0.21454888582229614,-0.21407133340835571,-0.21359410881996155,-0.21311715245246887,-0.21264050900936127,-0.21216411888599396,-0.21168805658817291,-0.21121226251125336,-0.21073673665523529,-0.21026152372360229,-0.20978657901287079,-0.20931193232536316,-0.20883758366107941,-0.20836348831653595,-0.20788970589637756,-0.20741617679595947,-0.20694294571876526,-0.20646998286247253,-0.20599733293056488,-0.20552495121955872,-0.20505283772945404,-0.20458102226257324,-0.20410946011543274,-0.20363821089267731,-0.20316722989082336,-0.20269650220870972,-0.20222608745098114,-0.20175591111183167,-0.20128604769706726,-0.20081645250320435,-0.20034712553024292,-0.19987806677818298,-0.19940929114818573,-0.19894078373908997,-0.19847255945205688,-0.19800460338592529,-0.19753693044185638,-0.19706951081752777,-0.19660238921642303,-0.1961355060338974,-0.19566892087459564,-0.19520260393619537,-0.1947365403175354,-0.19427075982093811,-0.19380523264408112,-0.1933399885892868,-0.19287499785423279,-0.19241030514240265,-0.19194586575031281,-0.19148167967796326,-0.19101777672767639,-0.19055412709712982,-0.19009074568748474,-0.18962764739990234,-0.18916478753089905,-0.18870219588279724,-0.18823987245559692,-0.18777783215045929,-0.18731603026390076,-0.18685449659824371,-0.18639323115348816,-0.18593220412731171,-0.18547146022319794,-0.18501096963882446,-0.18455073237419128,-0.18409077823162079,-0.18363106250762939,-0.18317161500453949,-0.18271240592002869,-0.18225347995758057,-0.18179482221603394,-0.18133638799190521,-0.18087822198867798,-0.18042030930519104,-0.1799626499414444,-0.17950525879859924,-0.17904812097549438,-0.17859123647212982,-0.17813459038734436,-0.17767822742462158,-0.17722207307815552,-0.17676621675491333,-0.17631059885025024,-0.17585521936416626,-0.17540010809898376,-0.17494523525238037,-0.17449061572551727,-0.17403624951839447,-0.17358213663101196,-0.17312826216220856,-0.17267464101314545,-0.17222127318382263,-0.17176814377307892,-0.1713152676820755,-0.17086265981197357,-0.17041026055812836,-0.16995814442634583,-0.16950623691082001,-0.16905461251735687,-0.16860322654247284,-0.16815206408500671,-0.16770115494728088,-0.16725048422813416,-0.16680008172988892,-0.16634988784790039,-0.16589996218681335,-0.16545027494430542,-0.16500082612037659,-0.16455161571502686,-0.16410264372825623,-0.16365392506122589,-0.16320544481277466,-0.16275720298290253,-0.16230921447277069,-0.16186143457889557,-0.16141392290592194,-0.16096661984920502,-0.16051957011222839,-0.16007277369499207,-0.15962618589401245,-0.15917986631393433,-0.15873375535011292,-0.1582878977060318,-0.15784229338169098,-0.15739688277244568,-0.15695174038410187,-0.15650680661201477,-0.15606212615966797,-0.15561768412590027,-0.15517346560955048,-0.15472948551177979,-0.15428571403026581,-0.15384221076965332,-0.15339891612529755,-0.15295587480068207,-0.1525130569934845,-0.15207046270370483,-0.15162809193134308,-0.15118595957756042,-0.15074406564235687,-0.15030241012573242,-0.14986096322536469,-0.14941975474357605,-0.14897876977920532,-0.1485380232334137,-0.14809748530387878,-0.14765720069408417,-0.14721712470054626,-0.14677728712558746,-0.14633767306804657,-0.14589826762676239,-0.14545910060405731,-0.14502017199993134,-0.14458145201206207,-0.14414297044277191,-0.14370469748973846,-0.14326666295528412,-0.14282885193824768,-0.14239126443862915,-0.14195388555526733,-0.14151673018932343,-0.14107982814311981,-0.14064310491085052,-0.14020663499832153,-0.13977037370204926,-0.13933432102203369,-0.13889852166175842,-0.13846291601657867,-0.13802753388881683,-0.13759239017963409,-0.13715744018554688,-0.13672272861003876,-0.13628822565078735,-0.13585394620895386,-0.13541987538337708,-0.13498604297637939,-0.13455243408679962,-0.13411900401115417,-0.13368582725524902,-0.1332528293132782,-0.13282008469104767,-0.13238751888275146,-0.13195519149303436,-0.13152308762073517,-0.13109119236469269,-0.13065950572490692,-0.13022802770137787,-0.12979677319526672,-0.12936574220657349,-0.12893490493297577,-0.12850429117679596,-0.12807390093803406,-0.12764370441436768,-0.12721371650695801,-0.12678395211696625,-0.1263543963432312,-0.12592504918575287,-0.12549591064453125,-0.12506699562072754,-0.12463827431201935,-0.12420976907014847,-0.1237814873456955,-0.12335339188575745,-0.12292551249265671,-0.12249784171581268,-0.12207038700580597,-0.12164313346147537,-0.12121609598398209,-0.12078926712274551,-0.12036262452602386,-0.11993621289730072,-0.1195099949836731,-0.11908397823572159,-0.11865818500518799,-0.11823257803916931,-0.11780719459056854,-0.11738200485706329,-0.11695701628923416,-0.11653225123882294,-0.11610767245292664,-0.11568330228328705,-0.11525913327932358,-0.11483516544103622,-0.11441140621900558,-0.11398785561323166,-0.11356449872255325,-0.11314134299755096,-0.11271838843822479,-0.11229564249515533,-0.1118730902671814,-0.11145074665546417,-0.11102859675884247,-0.11060664802789688,-0.11018490791320801,-0.10976335406303406,-0.10934200882911682,-0.1089208647608757,-0.1084999144077301,-0.10807916522026062,-0.10765860974788666,-0.10723825544118881,-0.10681809484958649,-0.10639814287424088,-0.10597837716341019,-0.10555882006883621,-0.10513944923877716,-0.10472027212381363,-0.10430129617452621,-0.10388252884149551,-0.10346394032239914,-0.10304555296897888,-0.10262735933065414,-0.10220935195684433,-0.10179156064987183,-0.10137394815683365,-0.10095652937889099,-0.10053931176662445,-0.10012228041887283,-0.099705442786216736,-0.099288806319236755,-0.098872356116771698,-0.098456099629402161,-0.098040029406547546,-0.097624152898788452,-0.097208477556705475,-0.096792988479137421,-0.09637768566608429,-0.095962584018707275,-0.095547661185264587,-0.095132924616336823,-0.094718389213085175,-0.094304047524929047,-0.093889884650707245,-0.093475915491580963,-0.093062132596969604,-0.092648543417453766,-0.09223514050245285,-0.091821931302547455,-0.091408900916576385,-0.090996056795120239,-0.090583406388759613,-0.09017094224691391,-0.08975866436958313,-0.08934658020734787,-0.088934667408466339,-0.088522948324680328,-0.088111408054828644,-0.087700061500072479,-0.087288908660411835,-0.086877927184104919,-0.086467139422893524,-0.086056530475616455,-0.085646107792854309,-0.085235863924026489,-0.084825821220874786,-0.084415942430496216,-0.084006249904632568,-0.083596751093864441,-0.083187423646450043,-0.082778282463550568,-0.082369334995746613,-0.081960558891296387,-0.081551969051361084,-0.08114355057477951,-0.08073531836271286,-0.080327272415161133,-0.079919412732124329,-0.079511724412441254,-0.079104214906692505,-0.078696884214878082,-0.078289739787578583,-0.077882781624794006,-0.077475994825363159,-0.077069386839866638,-0.076662950217723846,-0.076256707310676575,-0.075850635766983032,-0.075444743037223816,-0.075039036571979523,-0.074633494019508362,-0.074228137731552124,-0.073822945356369019,-0.073417946696281433,-0.073013126850128174,-0.072608478367328644,-0.072203993797302246,-0.071799702942371368,-0.071395576000213623,-0.070991627871990204,-0.070587866008281708,-0.070184268057346344,-0.069780848920345306,-0.069377601146697998,-0.068974532186985016,-0.068571627140045166,-0.068168915808200836,-0.067766368389129639,-0.067363984882831573,-0.066961787641048431,-0.066559761762619019,-0.066157907247543335,-0.065756231546401978,-0.065354719758033752,-0.064953379333019257,-0.064552217721939087,-0.064151227474212646,-0.063750401139259338,-0.063349761068820953,-0.062949284911155701,-0.06254897266626358,-0.062148831784725189,-0.061748873442411423,-0.06134907528758049,-0.060949452221393585,-0.060549996793270111,-0.060150712728500366,-0.059751596301794052,-0.059352654963731766,-0.058953877538442612,-0.058555271476507187,-0.058156833052635193,-0.057758558541536331,-0.057360459119081497,-0.056962523609399796,-0.056564755737781525,-0.056167159229516983,-0.055769726634025574,-0.055372461676597595,-0.054975368082523346,-0.054578434675931931,-0.054181668907403946,-0.053785074502229691,-0.053388644009828568,-0.052992381155490875,-0.052596282213926315,-0.052200347185134888,-0.051804576069116592,-0.051408976316452026,-0.051013536751270294,-0.050618261098861694,-0.050223153084516525,-0.049828208982944489,-0.049433425068855286,-0.049038812518119812,-0.048644356429576874,-0.048250064253807068,-0.047855939716100693,-0.047461975365877151,-0.047068174928426743,-0.046674538403749466,-0.046281062066555023,-0.045887745916843414,-0.045494597405195236,-0.045101609081029892,-0.04470878466963768,-0.044316112995147705,-0.043923608958721161,-0.043531265109777451,-0.043139081448316574,-0.042747057974338531,-0.04235520213842392,-0.041963499039411545,-0.041571956127882004,-0.041180577129125595,-0.040789354592561722,-0.040398292243480682,-0.040007390081882477,-0.039616644382476807,-0.03922605887055397,-0.038835633546113968,-0.038445364683866501,-0.038055252283811569,-0.03766530379652977,-0.037275508046150208,-0.036885872483253479,-0.036496397107839584,-0.036107074469327927,-0.035717908293008804,-0.035328906029462814,-0.034940056502819061,-0.034551359713077545,-0.034162826836109161,-0.033774446696043015,-0.033386223018169403,-0.032998152077198029,-0.032610241323709488,-0.032222483307123184,-0.031834881752729416,-0.031447436660528183,-0.031060142442584038,-0.030673006549477577,-0.030286021530628204,-0.029899194836616516,-0.029512520879507065,-0.029126001521945,-0.028739634901285172,-0.02835342101752758,-0.027967363595962524,-0.027581457048654556,-0.027195705100893974,-0.02681010402739048,-0.026424657553434372,-0.026039361953735352,-0.025654220953583717,-0.025269230827689171,-0.024884391576051712,-0.024499706923961639,-0.024115173146128654,-0.023730788379907608,-0.023346556350588799,-0.022962477058172226,-0.022578544914722443,-0.022194765508174896,-0.021811138838529587,-0.021427659317851067,-0.021044330671429634,-0.020661152899265289,-0.020278124138712883,-0.019895246252417564,-0.019512519240379333,-0.019129937514662743,-0.018747508525848389,-0.018365228548645973,-0.017983093857765198,-0.01760111004114151,-0.017219275236129761,-0.016837587580084801,-0.016456048935651779,-0.016074657440185547,-0.015693414956331253,-0.015312319621443748,-0.014931370504200459,-0.014550568535923958,-0.014169915579259396,-0.013789408840239048,-0.01340904925018549,-0.013028834946453571,-0.012648767791688442,-0.012268847785890102,-0.011889071203768253,-0.011509442701935768,-0.011129959486424923,-0.010750621557235718,-0.010371428914368153,-0.0099923824891448021,-0.009613480418920517,-0.0092347245663404465,-0.0088561121374368668,-0.0084776431322097778,-0.0080993203446269035,-0.00772114098072052,-0.0073431064374744892,-0.0069652153179049492,-0.0065874676220118999,-0.0062098638154566288,-0.0058324034325778484,-0.0054550864733755589,-0.0050779124721884727,-0.0047008814290165901,-0.0043239928781986237,-0.003947247751057148,-0.0035706441849470139,-0.0031941831111907959,-0.0028178645297884941,-0.0024416877422481775,-0.0020656525157392025,-0.0016897591995075345,-0.0013140072114765644,-0.00093839655164629221,-0.00056292710360139608,-0.00018759866361506283,0.00018758895748760551,0.00056263589067384601,0.00093754229601472616,0.0013123082462698221,0.0016869341488927603,0.0020614196546375751,0.0024357656948268414,0.0028099720366299152,0.0031840382143855095,0.0035579653922468424,0.003931752871721983,0.0043054018169641495,0.0046789119951426983,0.0050522824749350548,0.0054255151189863682,0.0057986085303127766,0.0061715641058981419,0.0065443813800811768,0.0069170603528618813,0.00728960195556283,0.0076620052568614483,0.0080342711880803108,0.0084064006805419922,0.0087783914059400558,0.009150245226919651,0.0095219630748033524,0.0098935430869460106,0.010264987125992775,0.010636293329298496,0.011007464490830898,0.011378499679267406,0.011749397963285446,0.012120161205530167,0.012490787543356419,0.012861278839409351,0.01323163416236639,0.013601855374872684,0.01397193968296051,0.014341890811920166,0.014711705967783928,0.015081386081874371,0.015450933016836643,0.015820344910025597,0.016189621761441231,0.016558762639760971,0.016927774995565414,0.017296649515628815,0.01766538992524147,0.01803399994969368,0.018402474001049995,0.018770813941955566,0.019139023497700691,0.019507098942995071,0.019875040277838707,0.020242849364876747,0.020610528066754341,0.02097807265818119,0.021345485001802444,0.021712766960263252,0.022079912945628166,0.022446930408477783,0.022813815623521805,0.023180568590760231,0.023547189310193062,0.023913679644465446,0.024280039593577385,0.024646269157528877,0.025012364611029625,0.025378335267305374,0.025744169950485229,0.026109876111149788,0.0264754518866539,0.026840897276997566,0.027206212282180786,0.027571398764848709,0.027936452999711037,0.028301380574703217,0.02866617776453495,0.029030844569206238,0.029395382851362228,0.029759794473648071,0.03012407198548317,0.030488224700093269,0.030852247029542923,0.03121614083647728,0.031579907983541489,0.03194354847073555,0.032307054847478867,0.032670438289642334,0.033033691346645355,0.033396817743778229,0.033759813755750656,0.034122690558433533,0.034485429525375366,0.034848049283027649,0.035210538655519485,0.035572901368141174,0.035935141146183014,0.036297250539064407,0.036659229546785355,0.037021089345216751,0.037382818758487701,0.037744421511888504,0.038105897605419159,0.038467250764369965,0.038828477263450623,0.03918958455324173,0.039550554007291794,0.039911404252052307,0.04027213528752327,0.040632732212543488,0.040993209928274155,0.041353560984134674,0.041713785380125046,0.042073886841535568,0.042433865368366241,0.042793717235326767,0.043153446167707443,0.043513055890798569,0.04387253150343895,0.04423188790678978,0.044591125100851059,0.044950231909751892,0.045309219509363174,0.045668084174394608,0.046026822179555893,0.046385440975427628,0.046743936836719513,0.047102306038141251,0.047460556030273438,0.047818683087825775,0.048176683485507965,0.048534568399190903,0.048892330378293991,0.049249965697526932,0.049607481807470322,0.049964878708124161,0.050322148948907852,0.050679299980401993,0.051036328077316284,0.051393236964941025,0.051750026643276215,0.052106689661741257,0.052463237196207047,0.052819665521383286,0.053175963461399078,0.053532149642705917,0.053888212889432907,0.054244156926870346,0.054599981755018234,0.054955683648586273,0.055311262607574463,0.055666729807853699,0.056022074073553085,0.056377299129962921,0.056732401251792908,0.057087387889623642,0.057442255318164825,0.057797003537416458,0.05815163254737854,0.058506138622760773,0.058860529214143753,0.059214800596237183,0.05956895649433136,0.059922993183135986,0.060276910662651062,0.060630705207586288,0.060984384268522263,0.061337947845458984,0.061691399663686752,0.062044728547334671,0.062397938221693039,0.062751032412052155,0.063104003667831421,0.063456863164901733,0.063809603452682495,0.064162231981754303,0.06451474130153656,0.064867131412029266,0.065219402313232422,0.065571561455726624,0.065923601388931274,0.066275529563426971,0.066627338528633118,0.066979028284549713,0.067330606281757355,0.067682065069675446,0.068033412098884583,0.068384647369384766,0.068735763430595398,0.069086760282516479,0.069437645375728607,0.069788418710231781,0.070139072835445404,0.070489607751369476,0.070840038359165192,0.071190342307090759,0.07154054194688797,0.07189062237739563,0.072240583598613739,0.072590440511703491,0.072940178215503693,0.073289796710014343,0.073639318346977234,0.073988713324069977,0.074337996542453766,0.074687168002128601,0.075036227703094482,0.075385160744190216,0.07573399692773819,0.076082713901996613,0.076431326568126678,0.076779812574386597,0.077128194272518158,0.077476449310779572,0.077824607491493225,0.078172646462917328,0.078520581126213074,0.078868389129638672,0.079216092824935913,0.0795636847615242,0.079911164939403534,0.080258533358573914,0.080605797469615936,0.080952949821949005,0.081299975514411926,0.08164689689874649,0.081993706524372101,0.082340404391288757,0.082686997950077057,0.083033479750156403,0.083379842340946198,0.083726100623607635,0.08407224714756012,0.08441828191280365,0.084764204919338226,0.085110023617744446,0.085455723106861115,0.085801325738430023,0.086146809160709381,0.086492180824279785,0.086837448179721832,0.087182603776454926,0.087527647614479065,0.08787257969379425,0.088217414915561676,0.088562130928039551,0.088906742632389069,0.089251242578029633,0.089595630764961243,0.089939914643764496,0.090284086763858795,0.090628147125244141,0.090972110629081726,0.091315947473049164,0.091659687459468842,0.092003330588340759,0.092346854507923126,0.092690266668796539,0.093033574521541595,0.093376770615577698,0.093719862401485443,0.094062849879264832,0.094405733048915863,0.094748497009277344,0.095091164112091064,0.095433712005615234,0.095776155591011047,0.0961185023188591,0.096460729837417603,0.096802867949008942,0.09714488685131073,0.097486793994903564,0.097828604280948639,0.098170310258865356,0.09851190447807312,0.098853394389152527,0.09919477254152298,0.099536046385765076,0.099877223372459412,0.1002182811498642,0.10055924206972122,0.10090009868144989,0.1012408435344696,0.10158148407936096,0.10192202031612396,0.1022624596953392,0.10260277986526489,0.10294301062822342,0.1032831221818924,0.10362313687801361,0.10396304726600647,0.10430284589529037,0.10464254766702652,0.10498214513063431,0.10532162338495255,0.10566101223230362,0.10600029677152634,0.1063394695520401,0.1066785454750061,0.10701751708984375,0.10735637694597244,0.10769513994455338,0.10803380608558655,0.10837235301733017,0.10871081054210663,0.10904915630817413,0.10938739776611328,0.10972553491592407,0.1100635826587677,0.11040151864290237,0.11073935776948929,0.11107707768678665,0.11141470819711685,0.1117522343993187,0.11208965629339218,0.11242697387933731,0.11276420205831528,0.11310131102800369,0.11343832314014435,0.11377523839473724,0.11411204934120178,0.11444875597953796,0.11478536576032639,0.11512187123298645,0.11545827239751816,0.11579456925392151,0.1161307767033577,0.11646687984466553,0.1168028712272644,0.11713877320289612,0.11747457087039948,0.11781026422977448,0.11814585328102112,0.11848134547472,0.11881674826145172,0.11915203183889389,0.11948723345994949,0.11982232332229614,0.12015730887651443,0.12049221247434616,0.12082699686288834,0.12116169929504395,0.12149628251791,0.1218307688832283,0.12216516584157944,0.12249945849180222,0.12283365428447723,0.1231677457690239,0.12350174784660339,0.12383563816547394,0.12416943162679672,0.12450313568115234,0.12483672052621841,0.12517023086547852,0.12550362944602966,0.12583692371845245,0.12617012858390808,0.12650322914123535,0.12683624029159546,0.12716914713382721,0.1275019645690918,0.12783466279506683,0.12816727161407471,0.12849980592727661,0.12883220613002777,0.12916453182697296,0.12949675321578979,0.12982887029647827,0.13016089797019958,0.13049283623695374,0.13082465529441833,0.13115639984607697,0.13148804008960724,0.13181957602500916,0.13215100765228271,0.13248236477375031,0.13281360268592834,0.13314476609230042,0.13347582519054413,0.13380676507949829,0.13413763046264648,0.13446839153766632,0.13479907810688019,0.1351296454668045,0.13546010851860046,0.13579048216342926,0.13612076640129089,0.13645097613334656,0.13678105175495148,0.13711105287075043,0.13744094967842102,0.13777074217796326,0.13810047507286072,0.13843007385730743,0.13875959813594818,0.13908901810646057,0.1394183337688446,0.13974757492542267,0.14007672667503357,0.14040575921535492,0.14073470234870911,0.14106357097625732,0.14139232039451599,0.1417209804058075,0.14204955101013184,0.14237801730632782,0.14270640909671783,0.14303469657897949,0.1433628648519516,0.14369097352027893,0.14401897788047791,0.14434689283370972,0.14467470347881317,0.14500240981578827,0.14533005654811859,0.14565756916999817,0.14598502218723297,0.14631237089633942,0.1466396301984787,0.14696677029132843,0.14729385077953339,0.14762081205844879,0.14794769883155823,0.1482744961977005,0.14860118925571442,0.14892777800559998,0.14925429224967957,0.14958071708679199,0.14990703761577606,0.15023326873779297,0.15055941045284271,0.1508854478597641,0.15121138095855713,0.15153725445270538,0.15186302363872528,0.15218870341777802,0.15251429378986359,0.15283976495265961,0.15316517651081085,0.15349048376083374,0.15381570160388947,0.15414084494113922,0.15446585416793823,0.15479081869125366,0.15511564910411835,0.15544041991233826,0.15576507151126862,0.1560896635055542,0.15641415119171143,0.15673854947090149,0.1570628434419632,0.15738704800605774,0.15771119296550751,0.15803521871566772,0.15835915505886078,0.15868300199508667,0.1590067595243454,0.15933044254779816,0.15965402126312256,0.1599775105714798,0.16030091047286987,0.16062420606613159,0.16094742715358734,0.16127055883407593,0.16159361600875854,0.16191653907299042,0.16223940253257751,0.16256217658519745,0.16288486123085022,0.16320745646953583,0.16352994740009308,0.16385237872600555,0.16417467594146729,0.16449689865112305,0.16481906175613403,0.16514112055301666,0.16546308994293213,0.16578495502471924,0.16610673069953918,0.16642844676971436,0.16675004363059998,0.16707158088684082,0.16739301383495331,0.16771435737609863,0.16803561151027679,0.16835677623748779,0.16867786645889282,0.16899885237216949,0.1693197637796402,0.16964057087898254,0.16996128857135773,0.17028194665908813,0.17060248553752899,0.17092296481132507,0.1712433248758316,0.17156361043453217,0.17188382148742676,0.17220394313335419,0.17252396047115326,0.17284390330314636,0.1731637567281723,0.17348352074623108,0.17380319535732269,0.17412279546260834,0.17444229125976562,0.17476171255111694,0.1750810295343399,0.17540028691291809,0.17571943998336792,0.17603850364685059,0.17635749280452728,0.17667639255523682,0.17699520289897919,0.17731393873691559,0.17763255536556244,0.17795112729072571,0.17826958000659943,0.17858797311782837,0.17890626192092896,0.17922446131706238,0.17954258620738983,0.17986060678958893,0.18017856776714325,0.18049642443656921,0.18081419169902802,0.18113191425800323,0.1814495176076889,0.1817670464515686,0.18208447098731995,0.18240183591842651,0.18271909654140472,0.18303628265857697,0.18335336446762085,0.18367038667201996,0.1839873194694519,0.18430414795875549,0.18462090194225311,0.18493758141994476,0.18525415658950806,0.18557068705558777,0.18588709831237793,0.18620342016220093,0.18651968240737915,0.18683585524559021,0.18715192377567291,0.18746793270111084,0.1877838522195816,0.18809966742992401,0.18841540813446045,0.18873107433319092,0.18904665112495422,0.18936216831207275,0.18967756628990173,0.18999288976192474,0.19030813872814178,0.19062329828739166,0.19093838334083557,0.19125336408615112,0.19156827032566071,0.19188311696052551,0.19219784438610077,0.19251251220703125,0.19282707571983337,0.19314157962799072,0.19345599412918091,0.19377031922340393,0.19408456981182098,0.19439871609210968,0.19471281766891479,0.19502681493759155,0.19534072279930115,0.19565455615520477,0.19596831500530243,0.19628198444843292,0.19659556448459625,0.19690908491611481,0.19722248613834381,0.19753584265708923,0.19784910976886749,0.1981622725725174,0.19847537577152252,0.19878838956356049,0.19910129904747009,0.19941416382789612,0.19972693920135498,0.20003961026668549,0.20035222172737122,0.20066475868225098,0.20097719132900238,0.20128954946994781,0.20160183310508728,0.20191404223442078,0.20222616195678711,0.20253817737102509,0.20285014808177948,0.20316201448440552,0.20347380638122559,0.20378552377223969,0.20409715175628662,0.20440869033336639,0.20472018420696259,0.20503157377243042,0.20534288883209229,0.20565411448478699,0.20596526563167572,0.20627634227275848,0.20658732950687408,0.20689822733402252,0.20720905065536499,0.20751981437206268,0.20783047378063202,0.20814105868339539,0.20845158398151398,0.20876200497150421,0.20907236635684967,0.20938262343406677,0.2096928209066391,0.21000292897224426,0.21031296253204346,0.21062292158603668,0.21093279123306274,0.21124260127544403,0.21155229210853577,0.21186192333698273,0.21217149496078491,0.21248096227645874,0.21279036998748779,0.21309967339038849,0.2134089320898056,0.21371808648109436,0.21402716636657715,0.21433617174625397,0.21464508771896362,0.2149539440870285,0.21526271104812622,0.21557140350341797,0.21588002145290375,0.21618854999542236,0.21649700403213501,0.21680538356304169,0.2171136885881424,0.21742190420627594,0.21773004531860352,0.21803812682628632,0.21834610402584076,0.21865402162075043,0.21896184980869293,0.21926960349082947,0.21957726776599884,0.21988487243652344,0.22019240260124207,0.22049982845783234,0.22080719470977783,0.22111450135707855,0.22142170369625092,0.2217288464307785,0.22203589975833893,0.22234287858009338,0.22264976799488068,0.22295659780502319,0.22326335310935974,0.22357003390789032,0.22387662529945374,0.22418314218521118,0.22448956966400146,0.22479595243930817,0.22510223090648651,0.22540843486785889,0.22571457922458649,0.22602064907550812,0.22632661461830139,0.22663252055644989,0.22693835198879242,0.22724412381649017,0.22754979133605957,0.22785539925098419,0.22816091775894165,0.22846636176109314,0.22877174615859985,0.2290770411491394,0.22938224673271179,0.2296873927116394,0.22999244928359985,0.23029747605323792,0.23060238361358643,0.23090723156929016,0.23121200501918793,0.23151667416095734,0.23182131350040436,0.23212584853172302,0.23243030905723572,0.23273470997810364,0.23303903639316559,0.23334325850009918,0.233647421002388,0.23395150899887085,0.23425553739070892,0.23455949127674103,0.23486334085464478,0.23516714572906494,0.23547086119651794,0.23577448725700378,0.23607806861400604,0.23638156056404114,0.23668497800827026,0.23698832094669342,0.23729157447814941,0.23759479820728302,0.23789791762828827,0.23820094764232635,0.23850393295288086,0.23880681395530701,0.23910966515541077,0.23941239714622498,0.2397150844335556,0.24001768231391907,0.24032020568847656,0.24062266945838928,0.24092505872249603,0.24122735857963562,0.24152959883213043,0.24183177947998047,0.24213384091854095,0.24243585765361786,0.24273779988288879,0.24303966760635376,0.24334147572517395,0.24364319443702698,0.24394483864307404,0.24424639344215393,0.24454790353775024,0.24484933912754059,0.24515070021152496,0.24545198678970337,0.24575318396091461,0.24605432152748108,0.24635538458824158,0.2466563880443573,0.24695728719234467,0.24725814163684845,0.24755890667438507,0.24785962700843811,0.24816025793552399,0.2484607994556427,0.24876128137111664,0.24906168878078461,0.2493620365858078,0.24966230988502502,0.24996249377727509,0.25026261806488037,0.25056266784667969,0.25086265802383423,0.25116255879402161,0.25146239995956421,0.25176215171813965,0.25206184387207031,0.2523614764213562,0.25266101956367493,0.25296047329902649,0.25325989723205566,0.25355923175811768,0.25385850667953491,0.25415769219398499,0.2544567883014679,0.25475585460662842,0.25505483150482178,0.25535374879837036,0.25565257668495178,0.25595134496688843,0.25625002384185791,0.256548672914505,0.25684720277786255,0.25714567303657532,0.25744408369064331,0.25774240493774414,0.25804069638252258,0.25833889842033386,0.25863701105117798,0.25893506407737732,0.25923305749893188,0.25953099131584167,0.25982880592346191,0.26012656092643738,0.26042428612709045,0.26072192192077637,0.2610194981098175,0.26131698489189148,0.26161438226699829,0.26191174983978271,0.26220905780792236,0.26250624656677246,0.26280337572097778,0.26310044527053833,0.2633974552154541,0.26369437575340271,0.26399123668670654,0.2642880380153656,0.2645847499370575,0.264881432056427,0.26517802476882935,0.26547452807426453,0.26577097177505493,0.26606732606887817,0.26636365056037903,0.26665988564491272,0.26695606112480164,0.26725214719772339,0.26754817366600037,0.26784414052963257,0.26814004778862,0.26843586564064026,0.26873159408569336,0.26902729272842407,0.26932293176651001,0.2696184515953064,0.26991391181945801,0.27020934224128723,0.27050468325614929,0.27079996466636658,0.2710951566696167,0.27139028906822205,0.27168533205986023,0.27198034524917603,0.27227529883384705,0.27257013320922852,0.2728649377822876,0.27315965294837952,0.27345430850982666,0.27374890446662903,0.27404341101646423,0.27433785796165466,0.27463224530220032,0.2749265730381012,0.27522081136703491,0.27551499009132385,0.27580910921096802,0.27610316872596741,0.27639713883399963,0.27669104933738708,0.27698487043380737,0.27727866172790527,0.27757236361503601,0.27786600589752197,0.27815958857536316,0.27845308184623718,0.27874651551246643,0.27903985977172852,0.27933317422866821,0.27962642908096313,0.27991959452629089,0.28021267056465149,0.2805057168006897,0.28079870343208313,0.2810916006565094,0.28138440847396851,0.28167718648910522,0.28196987509727478,0.28226253390312195,0.28255507349967957,0.28284755349159241,0.28314000368118286,0.28343236446380615,0.28372466564178467,0.28401690721511841,0.2843090295791626,0.28460115194320679,0.2848932147026062,0.28518515825271606,0.28547704219818115,0.28576889634132385,0.28606066107749939,0.28635236620903015,0.28664401173591614,0.28693556785583496,0.28722706437110901,0.28751850128173828,0.28780987858772278,0.28810116648674011,0.28839242458343506,0.28868359327316284,0.28897470235824585,0.28926575183868408,0.28955674171447754,0.28984761238098145,0.29013845324516296,0.29042923450469971,0.29071995615959167,0.29101061820983887,0.29130122065544128,0.29159173369407654,0.29188212752342224,0.29217255115509033,0.29246285557746887,0.29275313019752502,0.29304331541061401,0.29333344101905823,0.29362353682518005,0.29391351342201233,0.29420340061187744,0.29449328780174255,0.2947830855846405,0.29507285356521606,0.29536250233650208,0.2956521213054657,0.29594168066978455,0.29623112082481384,0.29652056097984314,0.29680991172790527,0.29709917306900024,0.29738840460777283,0.29767757654190063,0.29796665906906128,0.29825568199157715,0.29854461550712585,0.29883351922035217,0.2991223931312561,0.2994111180305481,0.2996998131275177,0.29998844861984253,0.30027705430984497,0.30056557059288025,0.30085402727127075,0.30114239454269409,0.30143073201179504,0.30171898007392883,0.30200716853141785,0.30229529738426208,0.30258336663246155,0.30287134647369385,0.30315929651260376,0.3034471869468689,0.30373498797416687,0.30402272939682007,0.30431041121482849,0.30459803342819214,0.30488559603691101,0.30517309904098511,0.30546054244041443,0.3057478666305542,0.30603519082069397,0.30632242560386658,0.30660960078239441,0.30689671635627747,0.30718374252319336,0.30747076869010925,0.3077576756477356,0.30804455280303955,0.30833134055137634,0.30861806869506836,0.30890476703643799,0.30919137597084045,0.30947792530059814,0.30976441502571106,0.31005081534385681,0.31033718585968018,0.31062346696853638,0.31090971827507019,0.31119590997695923,0.3114820122718811,0.3117680549621582,0.31205403804779053,0.31233996152877808,0.31262582540512085,0.31291162967681885,0.31319737434387207,0.31348299980163574,0.3137686550617218,0.31405419111251831,0.31433969736099243,0.314625084400177,0.31491047143936157,0.31519576907157898,0.31548100709915161,0.31576621532440186,0.31605130434036255,0.31633636355400085,0.31662136316299438,0.31690630316734314,0.31719115376472473,0.31747597455978394,0.31776070594787598,0.31804537773132324,0.31833004951477051,0.31861460208892822,0.31889906525611877,0.31918352842330933,0.31946787238121033,0.31975221633911133,0.32003650069236755,0.32032069563865662,0.32060480117797852,0.32088887691497803,0.32117289304733276,0.32145684957504272,0.32174071669578552,0.32202455401420593,0.32230830192565918,0.32259202003479004,0.32287564873695374]} \ No newline at end of file diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js new file mode 100644 index 000000000000..5d80b5a4a5dc --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js @@ -0,0 +1,117 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnanf = require( '@stdlib/math/base/assert/is-nan' ); +var absf = require( '@stdlib/math/base/special/absf' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var sqrt1pm1f = require( './../lib' ); + + +// FIXTURES // + +var large = require( './fixtures/cpp/large.json' ); +var small = require( './fixtures/cpp/small.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof sqrt1pm1f, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v = sqrt1pm1f( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `+infinity` if provided `+infinity`', function test( t ) { + var v = sqrt1pm1f( PINF ); + t.strictEqual( v, PINF, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `0` if provided `0`', function test( t ) { + var v = sqrt1pm1f( 0.0 ); + t.strictEqual( v, 0.0, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-1` if provided `-1`', function test( t ) { + var v = sqrt1pm1f( -1.0 ); + t.strictEqual( v, -1.0, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided a `x < -1`', function test( t ) { + var v = sqrt1pm1f( -1.5 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + sqrt1pm1f( -2.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + sqrt1pm1f( -3.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function handles large `x` values (|x| > 0.75)', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = large.x; + expected = large.expected; + + for ( i = 0; i < x.length; i++ ) { + v = sqrt1pm1f( x[ i ] ); + delta = absf( v - expected[ i ] ); + tol = 1.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. E: ' + expected[ i ] + '. Δ: ' + delta + '. tol: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function handles small `x` values (|x| <= 0.75)', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = small.x; + expected = small.expected; + + for ( i = 0; i < x.length; i++ ) { + v = sqrt1pm1f( x[ i ] ); + delta = absf( v - expected[ i ] ); + tol = 390.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. E: ' + expected[ i ] + '. Δ: ' + delta + '. tol: ' + tol + '.' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js new file mode 100644 index 000000000000..19f15b3b1c8b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js @@ -0,0 +1,126 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var absf = require( '@stdlib/math/base/special/absf' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var EPS = require( '@stdlib/constants/float32/eps' ); + + +// FIXTURES // + +var large = require( './fixtures/cpp/large.json' ); +var small = require( './fixtures/cpp/small.json' ); + + +// VARIABLES // + +var sqrt1pm1f = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( sqrt1pm1f instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof sqrt1pm1f, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v = sqrt1pm1f( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `+infinity` if provided `+infinity`', opts, function test( t ) { + var v = sqrt1pm1f( PINF ); + t.strictEqual( v, PINF, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `0` if provided `0`', opts, function test( t ) { + var v = sqrt1pm1f( 0.0 ); + t.strictEqual( v, 0.0, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-1` if provided `-1`', opts, function test( t ) { + var v = sqrt1pm1f( -1.0 ); + t.strictEqual( v, -1.0, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided a `x < -1`', opts, function test( t ) { + var v = sqrt1pm1f( -1.5 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + sqrt1pm1f( -2.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + sqrt1pm1f( -3.0 ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function handles large `x` values (|x| > 0.75)', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = large.x; + expected = large.expected; + + for ( i = 0; i < x.length; i++ ) { + v = sqrt1pm1f( x[ i ] ); + delta = absf( v - expected[ i ] ); + tol = 1.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. E: ' + expected[ i ] + '. Δ: ' + delta + '. tol: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function handles small `x` values (|x| <= 0.75)', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = small.x; + expected = small.expected; + + for ( i = 0; i < x.length; i++ ) { + v = sqrt1pm1f( x[ i ] ); + delta = absf( v - expected[ i ] ); + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. E: ' + expected[ i ] + '. Δ: ' + delta + '. tol: ' + tol + '.' ); + } + t.end(); +}); From 5df76ca38908c6c5efa78175bc14b640917a426c Mon Sep 17 00:00:00 2001 From: Shubham Date: Tue, 17 Feb 2026 01:01:24 +0530 Subject: [PATCH 2/5] fix: apply code suggestions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/sqrt1pm1f/README.md | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/test/test.js | 6 +++--- .../@stdlib/math/base/special/sqrt1pm1f/test/test.native.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md index f8fda4b0fd9c..a78b624c5d86 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md @@ -32,7 +32,7 @@ var sqrt1pm1f = require( '@stdlib/math/base/special/sqrt1pm1f' ); #### sqrt1pm1f( x ) -Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for a single-precision floating-point numbe. +Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for a single-precision floating-point number. ```javascript var v = sqrt1pm1f( 3.0 ); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js index 5d80b5a4a5dc..5ae05a9a4666 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.js @@ -21,7 +21,7 @@ // MODULES // var tape = require( 'tape' ); -var isnanf = require( '@stdlib/math/base/assert/is-nan' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var absf = require( '@stdlib/math/base/special/absf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var EPS = require( '@stdlib/constants/float32/eps' ); @@ -69,9 +69,9 @@ tape( 'the function returns `-1` if provided `-1`', function test( t ) { tape( 'the function returns `NaN` if provided a `x < -1`', function test( t ) { var v = sqrt1pm1f( -1.5 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); - sqrt1pm1f( -2.0 ); + v = sqrt1pm1f( -2.0 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); - sqrt1pm1f( -3.0 ); + v = sqrt1pm1f( -3.0 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js index 19f15b3b1c8b..cb51b3387260 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/test/test.native.js @@ -78,9 +78,9 @@ tape( 'the function returns `-1` if provided `-1`', opts, function test( t ) { tape( 'the function returns `NaN` if provided a `x < -1`', opts, function test( t ) { var v = sqrt1pm1f( -1.5 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); - sqrt1pm1f( -2.0 ); + v = sqrt1pm1f( -2.0 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); - sqrt1pm1f( -3.0 ); + v = sqrt1pm1f( -3.0 ); t.strictEqual( isnanf( v ), true, 'returns expected value' ); t.end(); }); From 63d8136a937d89be7465fbf19135a9820ade3b2c Mon Sep 17 00:00:00 2001 From: Shubham Date: Tue, 17 Feb 2026 13:14:07 +0530 Subject: [PATCH 3/5] fix: apply code suggestions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/sqrt1pm1f/README.md | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/lib/main.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md index a78b624c5d86..716fe6ad49ca 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/README.md @@ -109,7 +109,7 @@ logEachMap( 'sqrt(1+%0.4f) - 1 = %0.4f', x, sqrt1pm1f ); #### stdlib_base_sqrt1pm1f( x ) -Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for single-precision floating-point number. +Computes `sqrt( 1 + x ) - 1` more accurately for small `x` for a single-precision floating-point number. ```c float out = stdlib_base_sqrt1pm1f( 3.0f ); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js index 5449f4ff51ac..5923e390d8fc 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js @@ -43,7 +43,7 @@ var f32 = require( '@stdlib/number/float64/base/to-float32' ); // VARIABLES // -var THREE_FORTH = f32( 0.75 ); +var THREE_FOURTHS = f32( 0.75 ); var ONE = f32( 1.0 ); var TWO = f32( 2.0 ); @@ -85,7 +85,7 @@ function sqrt1pm1f( x ) { return NaN; } x = f32( x ); - if ( absf( x ) > THREE_FORTH ) { + if ( absf( x ) > THREE_FOURTHS ) { return sqrtf( ONE + x ) - ONE; } return f32( expm1( log1pf( x ) / TWO ) ); From ff3cab8ecf50c46ecafa5c2fc0fb2fb8b698fb4f Mon Sep 17 00:00:00 2001 From: Shubham Date: Wed, 18 Feb 2026 13:52:17 +0530 Subject: [PATCH 4/5] fix: apply code suggestions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts | 2 +- .../sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/lib/index.js | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/lib/main.js | 2 +- .../@stdlib/math/base/special/sqrt1pm1f/lib/native.js | 2 +- lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt index 65cba159829d..96efa83ae894 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/repl.txt @@ -1,7 +1,7 @@ {{alias}}( x ) Computes the principal square root of `1+x` minus one for a single-precision - floating point number. + floating-point number. This function is more accurate than the obvious approach for small `x`. diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts index 2965ec1c7daa..fb081d942bad 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/docs/types/index.d.ts @@ -19,7 +19,7 @@ // TypeScript Version: 4.1 /** -* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Computes the value of `sqrt(1+x)-1` for a single-precision floating-point number. * * @param x - input value * @returns square root of `1+x` minus one diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h index d063f52b96aa..bad4bc5c5b2d 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/include/stdlib/math/base/special/sqrt1pm1f.h @@ -27,7 +27,7 @@ extern "C" { #endif /** -* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Computes the value of `sqrt(1+x)-1` for a single-precision floating-point number. */ float stdlib_base_sqrt1pm1f( const float x ); diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/index.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/index.js index 2833d6ebd7e9..ede98ab8a4cd 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/index.js @@ -19,7 +19,7 @@ 'use strict'; /** -* Compute the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Compute the value of `sqrt(1+x)-1` for a single-precision floating-point number. * * @module @stdlib/math/base/special/sqrt1pm1f * diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js index 5923e390d8fc..5df8b3e1137a 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js @@ -51,7 +51,7 @@ var TWO = f32( 2.0 ); // MAIN // /** -* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Computes the value of `sqrt(1+x)-1` for a single-precision floating-point number. * * @param {number} x - input value * @returns {number} square root of `1+x` minus one diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js index 321f6e045b52..bec8a61a621e 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/native.js @@ -26,7 +26,7 @@ var addon = require( './../src/addon.node' ); // MAIN // /** -* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Computes the value of `sqrt(1+x)-1` for a single-precision floating-point number. * * @private * @param {number} x - input value diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c index e01543c10ea0..4349af351d56 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/src/main.c @@ -41,7 +41,7 @@ extern float expm1f( float x ); /** -* Computes the value of `sqrt(1+x)-1` for a single-precision floating point number. +* Computes the value of `sqrt(1+x)-1` for a single-precision floating-point number. * * @param x input value * @return output value From 4c6fb17d53402991b572c1320865170a95f21602 Mon Sep 17 00:00:00 2001 From: Shubham Date: Wed, 4 Mar 2026 19:29:20 +0530 Subject: [PATCH 5/5] fix: apply code suggestions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/sqrt1pm1f/lib/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js index 5df8b3e1137a..00c69325bfc0 100644 --- a/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/sqrt1pm1f/lib/main.js @@ -86,7 +86,7 @@ function sqrt1pm1f( x ) { } x = f32( x ); if ( absf( x ) > THREE_FOURTHS ) { - return sqrtf( ONE + x ) - ONE; + return f32( sqrtf( f32( ONE + x ) ) - ONE ); } return f32( expm1( log1pf( x ) / TWO ) ); }