From 9f54aa29f196e47cff59abca0f9e9b71f0ed60ac Mon Sep 17 00:00:00 2001 From: Girish Garg Date: Wed, 19 Mar 2025 15:08:28 +0530 Subject: [PATCH 1/8] feat: add JS and C implementation of kernelSinf function --- .../math/base/special/kernel-sinf/LICENSE | 192 ++++++++++++++ .../math/base/special/kernel-sinf/README.md | 241 ++++++++++++++++++ .../kernel-sinf/benchmark/benchmark.js | 52 ++++ .../kernel-sinf/benchmark/benchmark.native.js | 61 +++++ .../kernel-sinf/benchmark/c/native/Makefile | 146 +++++++++++ .../benchmark/c/native/benchmark.c | 133 ++++++++++ .../math/base/special/kernel-sinf/binding.gyp | 170 ++++++++++++ .../img/equation_double_double_inequality.svg | 37 +++ .../base/special/kernel-sinf/docs/repl.txt | 43 ++++ .../special/kernel-sinf/docs/types/index.d.ts | 62 +++++ .../special/kernel-sinf/docs/types/test.ts | 56 ++++ .../special/kernel-sinf/examples/c/Makefile | 146 +++++++++++ .../special/kernel-sinf/examples/c/example.c | 43 ++++ .../special/kernel-sinf/examples/index.js | 30 +++ .../base/special/kernel-sinf/include.gypi | 53 ++++ .../stdlib/math/base/special/kernel_sinf.h | 38 +++ .../base/special/kernel-sinf/lib/index.js | 55 ++++ .../math/base/special/kernel-sinf/lib/main.js | 146 +++++++++++ .../base/special/kernel-sinf/lib/native.js | 67 +++++ .../base/special/kernel-sinf/manifest.json | 68 +++++ .../base/special/kernel-sinf/package.json | 68 +++++ .../base/special/kernel-sinf/src/Makefile | 70 +++++ .../math/base/special/kernel-sinf/src/addon.c | 23 ++ .../math/base/special/kernel-sinf/src/main.c | 103 ++++++++ .../kernel-sinf/test/fixtures/julia/REQUIRE | 2 + .../test/fixtures/julia/large_negative.json | 1 + .../test/fixtures/julia/large_positive.json | 1 + .../kernel-sinf/test/fixtures/julia/runner.jl | 74 ++++++ .../test/fixtures/julia/small_range.json | 1 + .../base/special/kernel-sinf/test/test.js | 201 +++++++++++++++ .../special/kernel-sinf/test/test.native.js | 201 +++++++++++++++ 31 files changed, 2584 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/LICENSE create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/LICENSE b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/LICENSE new file mode 100644 index 000000000000..a7566ad6f2c3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/LICENSE @@ -0,0 +1,192 @@ + + 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: + +* FreeBSD + +Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md new file mode 100644 index 000000000000..9cccd554f3ad --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -0,0 +1,241 @@ + + +# kernelSinf + +> Compute the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. + +
+ +## Usage + +```javascript +var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); +``` + +#### kernelSinf( x, y ) + +Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. + +```javascript +var v = kernelSinf( 0.0, 0.0 ); +// returns ~0.0 + +v = kernelSinf( 3.14159/6.0, 0.0 ); +// returns ~0.5 + +v = kernelSinf( 0.619, 9.279e-10 ); +// returns ~0.58 + +v = kernelSinf( NaN, 0.0 ); +// returns NaN + +v = kernelSinf( 3.0, NaN ); +// returns NaN + +v = kernelSinf( NaN, NaN ); +// returns NaN +``` + +
+ + + +
+ +## Notes + +- For increased accuracy, the number for which the [sine][sine] should be evaluated can be supplied as a [single-double number][single-arithmetic] (i.e., a non-evaluated sum of two [single-precision floating-point numbers][ieee754] `x` and `y`). + +- As components of a [single-double number][single-arithmetic], the two [single-precision floating-point numbers][ieee754] `x` and `y` must satisfy + + + +
+ Inequality for the two components of a single-double number. +
+
+ + + + where `ulp` stands for [units in the last place][ulp]. + +
+ + + +
+ +## Examples + + + +```javascript +var linspace = require( '@stdlib/array/base/linspace' ); +var PI = require( '@stdlib/constants/float32/pi' ); +var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); + +var x = linspace( -PI/4.0, PI/4.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( 'sine(%d) = %d', x[ i ], kernelSinf( x[ i ], 0.0 ) ); +} +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/kernel_sinf.h" +``` + +#### stdlib_base_kernel_sinf( x, y ) + +Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. + +```c +float out = stdlib_base_kernel_sinf( 0.0f, 0.0f ); +// returns ~0.0f + +out = stdlib_base_kernel_sinf( 0.619f, 9.279e-10f ); +// returns ~0.58f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value (in radians, assumed to be bounded by `~pi/4` in magnitude). +- **y**: `[in] float` tail of `x`. + +```c +float stdlib_base_kernel_sinf( const float x, const float y ); +``` + +
+ + + + + +
+ +### Notes + +- For increased accuracy, the number for which the [sine][sine] should be evaluated can be supplied as a [single-double number][single-arithmetic] (i.e., a non-evaluated sum of two [single-precision floating-point numbers][ieee754] `x` and `y`). + +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/kernel_sinf.h" +#include + +int main( void ) { + const float x[] = { -0.7853982f, -0.6108652f, -0.4363323f, -0.2617994f, -0.08726646f, 0.08726646f, 0.2617994f, 0.4363323f, 0.6108652f, 0.7853982f }; + + float out; + int i; + for ( i = 0; i < 10; i++ ) { + out = stdlib_base_kernel_sinf( x[ i ], 0.0f ); + printf ( "x: %f, y: %f, out: %f\n", x[ i ], 0.0f, out ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js new file mode 100644 index 000000000000..454658c57fcc --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var randu = require( '@stdlib/random/base/randu' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var PI = require( '@stdlib/constants/float32/pi' ); +var pkg = require( './../package.json' ).name; +var kernelSinf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + x = ( randu() * PI/2.0 ) - ( PI/4.0 ); + y = kernelSinf( x, 0.0 ); + 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/kernel-sinf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js new file mode 100644 index 000000000000..90949cbb3311 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js @@ -0,0 +1,61 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var randu = require( '@stdlib/random/base/randu' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var PI = require( '@stdlib/constants/float32/pi' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var kernelSin = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( kernelSin instanceof Error ) +}; + + +// MAIN // + +bench( pkg+'::native', opts, function benchmark( b ) { + var x; + var y; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + x = ( randu() * PI/2.0 ) - ( PI/4.0 ); + y = kernelSin( x, 0.0 ); + 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/kernel-sinf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile new file mode 100644 index 000000000000..d6b58c7f5d3e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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/kernel-sinf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..7f769075cc94 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c @@ -0,0 +1,133 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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/kernel_sinf.h" +#include +#include +#include +#include +#include + +#define NAME "kernel_sin" +#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 double rand_double( void ) { + int r = rand(); + return (double)r / ( (double)RAND_MAX + 1.0 ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + double x; + double z; + double t; + int i; + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + x = ( ( rand_double() * 2.0 ) - 1.0 ) * 0.7853981633974483; + z = stdlib_base_kernel_sinf( x, 0.0 ); + if ( z != z ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( z != z ) { + 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::%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/kernel-sinf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp new file mode 100644 index 000000000000..1058b57bab16 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp @@ -0,0 +1,170 @@ +# @license Apache-2.0 +# +# Copyright (c) 2022 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/kernel-sinf/docs/img/equation_double_double_inequality.svg b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg new file mode 100644 index 000000000000..4242f85d160b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg @@ -0,0 +1,37 @@ + +StartAbsoluteValue y EndAbsoluteValue less-than-or-equal-to one half u l p left-parenthesis x right-parenthesis + + + \ No newline at end of file diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt new file mode 100644 index 000000000000..862f2d75ae02 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt @@ -0,0 +1,43 @@ +{{alias}}( x, y ) + Computes the sine of a single-precision floating-point number on [-π/4,π/4]. + + For increased accuracy, the number for which the sine should be evaluated + can be supplied as a single-double number (i.e., a non-evaluated sum of a + single-precision floating-point number `x` and a single-precision floating-point + number `y`). + + The two numbers must satisfy `|y| < 0.5 * ulp( x )`. + + If either argument is `NaN`, the function returns `NaN`. + + Parameters + ---------- + x: number + Input value (in radians). + + y: number + Tail of `x`. + + Returns + ------- + out: number + Sine. + + Examples + -------- + > var y = {{alias}}( 0.0, 0.0 ) + ~0.0 + > y = {{alias}}( {{alias:@stdlib/constants/float32/pi}}/6.0, 0.0 ) + ~0.5 + > y = {{alias}}( 0.619, 9.279e-10 ) + ~0.58 + > y = {{alias}}( NaN, 0.0 ) + NaN + > y = {{alias}}( 2.0, NaN ) + NaN + > y = {{alias}}( NaN, NaN ) + NaN + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts new file mode 100644 index 000000000000..237be0eebb8d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts @@ -0,0 +1,62 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2019 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 sine of a single-precision floating-point number on `[-π/4, π/4]`. +* +* ## Notes +* +* - For increased accuracy, the number for which the cosine should be evaluated can be supplied as a single-single number (i.e., a non-evaluated sum of two single-precision floating-point numbers `x` and `y`). +* - The two numbers must satisfy `|y| < 0.5 * ulp( x )`. +* +* @param x - input value (in radians, assumed to be bounded by `~pi/4` in magnitude) +* @param y - tail of `x` +* @returns sine +* +* @example +* var v = kernelSinf( 0.0, 0.0 ); +* // returns ~0.0 +* +* @example +* var v = kernelSinf( 3.14159/6.0, 0.0 ); +* // returns ~0.5 +* +* @example +* var v = kernelSinf( 0.619, 9.279e-10 ); +* // returns ~0.58 +* +* @example +* var v = kernelSinf( NaN, 0.0 ); +* // returns NaN +* +* @example +* var v = kernelSinf( 3.0, NaN ); +* // returns NaN +* +* @example +* var v = kernelSinf( NaN, NaN ); +* // returns NaN +*/ +declare function kernelSinf( x: number, y: number ): number; + + +// EXPORTS // + +export = kernelSinf; diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts new file mode 100644 index 000000000000..a359e60c466a --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts @@ -0,0 +1,56 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2019 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 kernelSinf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + kernelSinf( 0.5, 0.2 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided values other than two numbers... +{ + kernelSinf( true, 3 ); // $ExpectError + kernelSinf( false, 2 ); // $ExpectError + kernelSinf( '5', 1 ); // $ExpectError + kernelSinf( [], 1 ); // $ExpectError + kernelSinf( {}, 2 ); // $ExpectError + kernelSinf( ( x: number ): number => x, 2 ); // $ExpectError + + kernelSinf( 9, true ); // $ExpectError + kernelSinf( 9, false ); // $ExpectError + kernelSinf( 5, '5' ); // $ExpectError + kernelSinf( 8, [] ); // $ExpectError + kernelSinf( 9, {} ); // $ExpectError + kernelSinf( 8, ( x: number ): number => x ); // $ExpectError + + kernelSinf( [], true ); // $ExpectError + kernelSinf( {}, false ); // $ExpectError + kernelSinf( false, '5' ); // $ExpectError + kernelSinf( {}, [] ); // $ExpectError + kernelSinf( '5', ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + kernelSinf(); // $ExpectError + kernelSinf( 0 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile new file mode 100644 index 000000000000..91d364d19fc3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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/kernel-sinf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c new file mode 100644 index 000000000000..2949593f5642 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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/kernel_sinf.h" +#include + +int main( void ) { + const float x[] = { + -0.7853982f, + -0.6108652f, + -0.4363323f, + -0.2617994f, + -0.08726646f, + 0.08726646f, + 0.2617994f, + 0.4363323f, + 0.6108652f, + 0.7853982f + }; + + float out; + int i; + for ( i = 0; i < 10; i++ ) { + out = stdlib_base_kernel_sinf( x[ i ], 0.0f ); + printf ( "x: %f, y: %f, out: %f\n", x[ i ], 0.0f, out ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js new file mode 100644 index 000000000000..601bb80ffe50 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var linspace = require( '@stdlib/array/base/linspace' ); +var PI = require( '@stdlib/constants/float32/pi' ); +var kernelSinf = require( './../lib' ); + +var x = linspace( -PI/4.0, PI/4.0, 100 ); + +var i; +for ( i = 0; i < x.length; i++ ) { + console.log( 'sine(%d) = %d', x[ i ], kernelSinf( x[ i ], 0.0 ) ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi new file mode 100644 index 000000000000..3b437d524797 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi @@ -0,0 +1,53 @@ +# @license Apache-2.0 +# +# Copyright (c) 2022 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + '=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "math.sin", + "sin", + "sine", + "kernel", + "trig", + "trigonometry", + "radians", + "angle" + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile new file mode 100644 index 000000000000..f79b87238713 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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/kernel-sinf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c new file mode 100644 index 000000000000..f57ae4e8edc8 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c @@ -0,0 +1,23 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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/kernel_sinf.h" +#include "stdlib/math/base/napi/binary.h" + +// cppcheck-suppress shadowFunction +STDLIB_MATH_BASE_NAPI_MODULE_FF_F( stdlib_base_kernel_sinf ) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c new file mode 100644 index 000000000000..191a6ebccb25 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c @@ -0,0 +1,103 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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 following copyright, license, and long comment were part of the original implementation available as part of [FreeBSD]{@link https://svnweb.freebsd.org/base/release/9.3.0/lib/msun/src/k_sin.c}. The implementation follows the original, but has been modified according to project conventions. +* +* ```text +* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +* +* Developed at SunPro, a Sun Microsystems, Inc. business. +* Permission to use, copy, modify, and distribute this +* software is freely granted, provided that this notice +* is preserved. +* ``` +*/ + +#include "stdlib/math/base/special/kernel_sinf.h" + +static const float S1 = -1.6666667e-01f; // 0xBFC55555 +static const float S2 = 8.3333333e-03f; // 0x3F811111 +static const float S3 = -1.9841270e-04f; // 0xBF2A01A0 +static const float S4 = 2.7557314e-06f; // 0x3EC71DE3 +static const float S5 = -2.5050760e-08f; // 0xBE5AE5E6 +static const float S6 = 1.5896910e-10f; // 0x3DE5D93A + +/** +* Computes the sine on \\( \approx \[-\pi/4, \pi/4] \\) (except on \\(-0\\)), where \\( \pi/4 \approx 0.7854 \\). +* +* ## Method +* +* - Since \\( \sin(-x) = -\sin(x) \\), we need only to consider positive \\(x\\). +* +* - Callers must return \\( \sin(-0) = -0 \\) without calling here since our odd polynomial is not evaluated in a way that preserves \\(-0\\). Callers may do the optimization \\( \sin(x) \approx x \\) for tiny \\(x\\). +* +* - \\( \sin(x) \\) is approximated by a polynomial of degree \\(13\\) on \\( \left\[0,\tfrac{pi}{4}\right] \\) +* +* ```tex +* \sin(x) \approx x + S_1 \cdot x^3 + \ldots + S_6 \cdot x^{13} +* ``` +* +* where +* +* ```tex +* \left| \frac{\sin(x)}{x} \left( 1 + S_1 \cdot x + S_2 \cdot x + S_3 \cdot x + S_4 \cdot x + S_5 \cdot x + S_6 \cdot x \right) \right| \le 2^{-58} +* ``` +* +* - We have +* +* ```tex +* \sin(x+y) = \sin(x) + \sin'(x') \cdot y \approx \sin(x) + (1-x*x/2) \cdot y +* ``` +* +* For better accuracy, let +* +* ```tex +* r = x^3 * \left( S_2 + x^2 \cdot \left( S_3 + x^2 * \left( S_4 + x^2 \cdot ( S_5+x^2 \cdot S_6 ) \right) \right) \right) +* ``` +* +* then +* +* ```tex +* \sin(x) = x + \left( S_1 \cdot x + ( x \cdot (r-y/2) + y ) \right) +* ``` +* +* @param x input value (in radians, assumed to be bounded by `~pi/4` in magnitude) +* @param y tail of `x` +* @return sine +* +* @example +* float out = stdlib_base_kernel_sinf( 3.14159f/6.0f, 0.0f ); +* // returns ~0.5f +*/ +float stdlib_base_kernel_sinf( const float x, const float y ) { + float z; + float r; + float v; + float w; + + z = (float)(x * x); + w = (float)(z * z); + r = (float)(S2 + (float)(z * (float)(S3 + (float)(z*S4)))); + r = (float)(r + (float)(z * w * (float)(S5 + (float)(z*S6)))); + v = (float)(z * x); + if ( y == 0.0f ) { + return (float)(x + (float)(v * (float)(S1 + (float)(z*r)))); + } + return (float)(x - (float)((float)(z*((float)(0.5f*y) - (float)(v*r))) - y - (float)(v*S1))); +} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..308c3be89c85 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json new file mode 100644 index 000000000000..39a4e3aab994 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json @@ -0,0 +1 @@ +{"expected":[-2.9406276e-6,0.12545905,0.2489236,0.36846954,0.4821925,0.5882953,0.68509,0.77107054,0.84486574,0.90530944,0.95144165,0.9825446,0.9981203,0.99792254,0.9819574,0.9504732,0.9039685,0.8431784,0.76907307,0.68280584,0.5857481,0.4794337,0.36555696,0.24588986,0.12233695,-0.0031492736,-0.1285706,-0.25197536,-0.37139812,-0.48493826,-0.5908291,-0.6873829,-0.7730739,-0.8465398,-0.90663743,-0.9524073,-0.98312616,-0.99830765,-0.99771553,-0.9813564,-0.9494887,-0.90262276,-0.8414877,-0.7670545,-0.68049943,-0.5832027,-0.4766784,-0.3626211,-0.24283321,-0.119222954,0.0062861983,0.13169602,0.2550246,0.37430888,0.48769262,0.5933693,0.68965787,0.77505994,0.8482136,0.90796286,0.9533588,0.98369515,0.998486,0.9974976,0.98074865,0.9484997,0.90126145,0.83978045,0.7650381,0.67819744,0.5806392,0.473905,0.35969585,0.23978895,0.11609263,-0.009438319,-0.134805,-0.25805658,-0.37723008,-0.49042884,-0.5958914,-0.6919371,-0.77704793,-0.8498709,-0.9092729,-0.9543056,-0.98425716,-0.99865365,-0.99727094,-0.9801282,-0.9474964,-0.8998978,-0.8380732,-0.7630043,-0.6758776,-0.5780823,-0.47114035,-0.35675284,-0.2367275,-0.11297631,0.012575088,0.13792777,0.26110074,0.38013342,0.4931735,0.5984199,0.6941984,0.77901864,0.8515279,0.9105804,0.9552383,0.9848068,0.9988122,0.99703324,0.9795011,0.9464887,0.8985187,0.8363493,0.76097286,0.6735623,0.57550734,0.46835756,0.35382053,0.23367855,0.10984372,-0.015726991,-0.14103407,-0.2641276,-0.3830471,-0.49591327,-0.6009302,-0.6964639,-0.7809912,-0.8531684,-0.9118725,-0.9561661,-0.98534924,-0.99896014,-0.9967869,-0.9788613,-0.94546664,-0.89713734,-0.8346255,-0.75892395,-0.67122906,-0.5729391,-0.46558362,-0.35087046,-0.23061246,-0.10672521,0.01886348,0.14415407,0.26716655,0.3859429,0.49863487,0.60344684,0.6987224,0.7829465,0.8548085,0.9131619,0.95707995,0.9858794,0.9990989,0.99652946,0.97821486,0.9444402,0.8957404,0.8328851,0.75687754,0.6689005,0.57035273,0.4627916,0.34793124,0.22755891,0.103590466,-0.02201504,-0.14725755,-0.27018818,-0.388849,-0.50136477,-0.6059453,-0.70096314,-0.7849036,-0.85644007,-0.914436,-0.9579888,-0.9864024,-0.9992271,-0.99626344,-0.97755563,-0.9433994,-0.89434135,-0.8311448,-0.7548136,-0.666554,-0.5677732,-0.4600085,-0.34497422,-0.22448827,-0.10046988,0.025151128,0.15037467,0.27322182,0.39173716,0.5040765,0.6084499,0.7032078,0.7868434,0.8580553,0.91570723,0.9588881,0.9869131,0.9993461,0.9959862,0.97688997,0.9423544,0.89292663,0.8293879,0.75275224,0.6642122,0.56517553,0.45720732,0.34202814,0.22143027,0.09733311,-0.028302219,-0.15347521,-0.27623805,-0.3946355,-0.5067964,-0.61093634,-0.7054347,-0.7887849,-0.859666,-0.9169663,-0.9597736,-0.9874165,-0.9994548,-0.99570054,-0.9762113,-0.9412975,-0.89150655,-0.8276313,-0.75067335,-0.6618582,-0.56257856,-0.4544152,-0.33906436,-0.21836266,-0.09420298,0.03143778,0.15658931,0.27925894,0.3975229,0.5094982,0.61342883,0.70765996,0.7907139,0.86126816,0.9182164,0.96065176,0.9879089,0.9995537,0.99540436,0.97552466,0.9402313,0.8900776,0.8258622,0.74859214,0.6594977,0.55997604,0.4516118,0.33610436,0.21529289,0.09107191,-0.034580655,-0.15969433,-0.28227702,-0.4004064,-0.5122015,-0.6159092,-0.7098783,-0.7926351,-0.8628619,-0.9194574,-0.96152043,-0.9883915,-0.99964267,-0.9950975,-0.9748284,-0.9391558,-0.88863987,-0.824085,-0.7465035,-0.6571306,-0.5573679,-0.4488039,-0.33314106,-0.21222097,-0.08793995,0.037723187,0.16279778,0.28529233,0.40328592,0.51489973,0.6183835,0.7120896,0.7945484,0.864447,0.9206892,0.96237963,0.98886436,0.9997218,0.9947816,0.97412246,0.9380684,0.8871934,0.8222996,0.7444074,0.654757,0.5547543,0.4459916,0.33017445,0.20914696,0.084807105,-0.040865347,-0.1658996,-0.28830484,-0.40616143,-0.5175929,-0.62085176,-0.71429384,-0.79645383,-0.86602354,-0.921912,-0.9632293,-0.9893275,-0.999791,-0.9944559,-0.9734069,-0.9369743,-0.8857381,-0.8205061,-0.742304,-0.652377,-0.5521352,-0.44317487,-0.32720459,-0.2060709,-0.081673436,0.044007104,0.16899979,0.29131445,0.40903297,0.52028096,0.6233138,0.71649104,0.79835147,0.86759156,0.9231256,0.9640694,0.9897808,0.9998504,0.9941203,0.97268176,0.93587095,0.884274,0.8187001,0.7401933,0.6499905,0.5495107,0.44035375,0.32423148,0.20299278,0.07853895,-0.047148425,-0.17209831,-0.2943212,-0.41190043,-0.5229638,-0.62576973,-0.71868116,-0.8002411,-0.869151,-0.9243302,-0.9649,-0.9902243,-0.9998998,-0.9937749,-0.97194695,-0.93475837,-0.88280123,-0.81689036,-0.7380752,-0.64759177,-0.5468807,-0.4375283,-0.32125518,-0.19991267,-0.07540369,0.05028928,0.17519513,0.29732504,0.41476384,0.52564156,0.6282194,0.7208642,0.8021229,0.87070185,0.92552555,0.9657211,0.99065804,0.9999394,0.99341965,0.97120255,0.9336365,0.8813197,0.81507254,0.7359499,0.64519244,0.54424536,0.43469852,0.3182757,0.19683057,0.07226768,-0.053429637,-0.17829022,-0.30032596,-0.41762313,-0.52831405,-0.6306629,-0.72304004,-0.80399674,-0.8722441,-0.9267118,-0.9665325,-0.99108195,-0.99996907,-0.99305457,-0.9704485,-0.9325054,-0.87982947,-0.81324667,-0.7338172,-0.64278674,-0.5416046,-0.43185756,-0.31529304,-0.19374652,-0.069130965,0.056569465,0.18138354,0.3033239,0.4204783,0.53098136,0.63310015,0.72520876,0.80586267,0.87377775,0.9278889,0.9673345,0.9914961,0.99998885,0.99267966,0.9696849,0.93136513,0.8783305,0.81141275,0.73167735,0.64037466,0.5389585,0.42901918,0.3123073,0.19065307,0.06599356,-0.059708737,-0.18447506,-0.30631885,-0.42332932,-0.5336434,-0.6355312,-0.7273703,-0.8077206,-0.8753027,-0.92905676,-0.9681269,-0.9919004,-0.99999875,-0.99229497,-0.9689117,-0.93021566,-0.8768229,-0.80957085,-0.7295302,-0.63795626,-0.53630704,-0.42617658,-0.30931845,-0.18756524,-0.062855504,0.06284741,0.18756476,0.30931073,0.42617613,0.5363002,0.6379559,0.7295247,0.80957055,0.876819,0.9302155,0.9689097,0.9922949,0.99999875,0.99190044,0.9681289,0.92905694,0.8753066,0.8077209,0.72737586,0.63553154,0.5336503,0.42332974,0.30632654,0.18447553,0.05971683,-0.065993086,-0.19065261,-0.31229958,-0.42901874,-0.53895164,-0.6403743,-0.7316718,-0.8114125,-0.87832665,-0.93136495,-0.96968293,-0.9926796,-0.9999889,-0.99149615,-0.96733654,-0.92788905,-0.8737817,-0.80586296,-0.72521436,-0.6331005,-0.5309882,-0.42047873,-0.3033316,-0.181384,-0.05657756,0.06913049,0.19373858,0.3152926,0.4318571,0.5415978,0.6427864,0.73381174,0.8132464,0.8798256,0.93250525,0.9704465,0.9930545,0.9999691,0.991082,0.9665346,0.926712,0.87224805,0.80399704,0.72304565,0.6306633,0.52832097,0.41762355,0.3003337,0.17829068,0.053437732,-0.07226721,-0.19682261,-0.3182752,-0.43469122,-0.54423857,-0.6451921,-0.7359444,-0.8150723,-0.8813159,-0.9336363,-0.9712006,-0.9934196,-0.9999395,-0.9906581,-0.96572316,-0.9255257,-0.87070584,-0.8021232,-0.7208698,-0.6282198,-0.5256484,-0.41476426,-0.2973328,-0.17519559,-0.050297376,0.07540321,0.19990472,0.3212547,0.437521,0.5468803,0.6475914,0.7380698,0.8168901,0.8827974,0.9347582,0.97194505,0.99377483,0.9998999,0.99022436,0.9649021,0.92433035,0.86915505,0.8002414,0.7186868,0.6257701,0.52297074,0.41190088,0.29432896,0.17209879,0.04715652,-0.07853848,-0.20298484,-0.32423103,-0.44034648,-0.5495103,-0.64998436,-0.7401878,-0.81869984,-0.88427025,-0.93587077,-0.97267985,-0.99412024,-0.9998505,-0.98978084,-0.9640716,-0.9231258,-0.8675956,-0.7983517,-0.7164967,-0.6233142,-0.5202879,-0.4090334,-0.2913222,-0.16900027,-0.044015203,0.08167296,0.20606296,0.32720414,0.4431676,0.5521349,0.65237087,0.7423037,0.82050145,0.8857343,0.9369741,0.97340506,0.9944558,0.9997912,0.98932755,0.96323144,0.9219122,0.8660276,0.79645413,0.7142995,0.6208521,0.5175998,0.40616187,0.28831258,0.16590008,0.040873446,-0.084806636,-0.20913903,-0.330174,-0.44598433,-0.55475396,-0.6547509,-0.7444071,-0.822295,-0.88719314,-0.9380682,-0.9741207,-0.99478155,-0.999722,-0.9888645,-0.96238184,-0.9206894,-0.86445105,-0.7945487,-0.71209526,-0.61838394,-0.5149067,-0.40328634,-0.2853001,-0.16279824,-0.03773129,0.08793947,0.21221305,0.3331406,0.44879666,0.5573675,0.65712446,0.7465032,0.8240804,0.8886397,0.939153,0.9748266,0.99509746,0.9996429,0.9883916,0.9615227,0.91945755,0.8628659,0.7926354,0.709884,0.61590964,0.51220846,0.4004068,0.2822848,0.1596948,0.034588754,-0.091071434,-0.21528496,-0.33610392,-0.45160455,-0.5599756,-0.6594916,-0.7485918,-0.82585764,-0.8900774,-0.9402285,-0.9755246,-0.9954036,-0.9995539,-0.98790896,-0.960654,-0.9182166,-0.86127037,-0.7907142,-0.707663,-0.6134292,-0.5095019,-0.39752334,-0.27926305,-0.15658979,-0.03144207,0.094198704,0.21835475,0.3390603,0.454408,0.562575,0.6618521,0.75067055,0.8276267,0.8915046,0.9412947,0.9762104,0.99569976,0.999455,0.98741657,0.9597748,0.91696656,0.8596682,0.7887852,0.7054377,0.6109427,0.50679356,0.39463592,0.2762422,0.15348323,0.028298883,-0.09733264,-0.22142237,-0.34201694,-0.4572069,-0.565172,-0.66420615,-0.7527444,-0.8293876,-0.8929247,-0.94235164,-0.9768874,-0.99598616,-0.9993462,-0.9869144,-0.95888716,-0.9157074,-0.8580575,-0.7868484,-0.7032054,-0.60845023,-0.50408024,-0.3917446,-0.2732186,-0.15037514,-0.025155418,0.10046181,0.22449152,0.3449702,0.46000132,0.5677634,0.6665536,0.7548108,0.83114034,0.89433604,0.94339925,0.97755474,0.9962627,0.9992276,0.98640245,0.95799005,0.91443926,0.85643834,0.7849039,0.7009662,0.6059517,0.5013619,0.38884944,0.27019233,0.14726557,0.022011703,-0.10358999,-0.22755474,-0.34792364,-0.46279457,-0.5703492,-0.66889447,-0.75686973,-0.8328848,-0.8957385,-0.9444375,-0.9782124,-0.9965294,-0.9990991,-0.9858808,-0.9570834,-0.91316205,-0.8548107,-0.78295153,-0.69872004,-0.6034472,-0.49863857,-0.3859504,-0.26716334,-0.14415453,-0.018867772,0.10671715,0.2306157,0.35087,0.46557984,0.5729325,0.6712287,0.75892115,0.834621,0.89713204,0.94546646,0.97886044,0.99678624,0.9989607,0.98534936,0.95616734,0.91187584,0.8531747,0.7809915,0.6964669,0.6009367,0.49591038,0.38304755,0.26413175,0.14104208,0.015723653,-0.10984325,-0.23367438,-0.35381296,-0.4683605,-0.5755069,-0.6735591,-0.7609651,-0.836349,-0.8985168,-0.94648606,-0.97949874,-0.99703324,-0.9988124,-0.98480815,-0.9552418,-0.9105806,-0.85153013,-0.7790237,-0.694207,-0.59842026,-0.49317724,-0.3801409,-0.26109752,-0.13792823,-0.01257938,0.11296826,0.23673075,0.3567524,0.47113654,0.5780757,0.6758801,0.763004,0.8380687,0.8998926,0.94749624,0.9801274,0.99727035,0.99865425,0.9842573,0.95430684,0.9092763,0.84987724,0.77704823,0.6919402,0.5958979,0.49043924,0.37723053,0.25806072,0.13481303,0.009434981,-0.11609216,-0.23978479,-0.35968828,-0.47390795,-0.5806388,-0.67819434,-0.7650329,-0.83978224,-0.9012612,-0.9484971,-0.9807463,-0.99749756,-0.9984862,-0.9836966,-0.9533624,-0.90796304,-0.8482159,-0.77506506,-0.6896665,-0.5933697,-0.48769638,-0.3743164,-0.2550214,-0.13169648,-0.00629049,0.11921491,0.24283645,0.36262065,0.47667465,0.58319616,0.6805019,0.7670542,0.8414854,0.90261924,0.9494898,0.98135555,0.997715,0.9983083,0.9831262,0.9524086,0.9066408,0.8465462,0.7730742,0.687386,0.5908356,0.4849487,0.37139857,0.2519795,0.12857863,0.003145936,-0.12233648,-0.2458857,-0.36554942,-0.4794366,-0.5857477,-0.6828027,-0.7690679,-0.8431802,-0.90396833,-0.9504718,-0.9819558,-0.9979225,-0.99812055,-0.98254615,-0.95144534,-0.9053096,-0.84486806,-0.7710757,-0.6850987,-0.58829564,-0.48219624,-0.36847705,-0.24893515,-0.12545952,-1.351065e-6],"x":[-157.07964,-156.95384,-156.82806,-156.70227,-156.57648,-156.45068,-156.3249,-156.19911,-156.07332,-155.94753,-155.82175,-155.69595,-155.57016,-155.44437,-155.31859,-155.1928,-155.067,-154.94121,-154.81543,-154.68964,-154.56384,-154.43805,-154.31227,-154.18648,-154.06068,-153.93489,-153.80911,-153.68332,-153.55753,-153.43175,-153.30595,-153.18016,-153.05437,-152.92859,-152.8028,-152.677,-152.55121,-152.42543,-152.29964,-152.17384,-152.04805,-151.92227,-151.79648,-151.67068,-151.54489,-151.41911,-151.29332,-151.16753,-151.04173,-150.91595,-150.79016,-150.66437,-150.53857,-150.4128,-150.287,-150.16121,-150.03543,-149.90964,-149.78384,-149.65805,-149.53227,-149.40648,-149.28069,-149.15489,-149.02911,-148.90332,-148.77753,-148.65173,-148.52596,-148.40016,-148.27437,-148.14857,-148.0228,-147.897,-147.77121,-147.64542,-147.51964,-147.39384,-147.26805,-147.14227,-147.01648,-146.89069,-146.7649,-146.63911,-146.51332,-146.38753,-146.26173,-146.13596,-146.01016,-145.88437,-145.75858,-145.6328,-145.507,-145.38121,-145.25542,-145.12964,-145.00385,-144.87805,-144.75226,-144.62648,-144.50069,-144.3749,-144.2491,-144.12332,-143.99753,-143.87173,-143.74596,-143.62016,-143.49437,-143.36858,-143.2428,-143.117,-142.99121,-142.86542,-142.73964,-142.61385,-142.48805,-142.36226,-142.23648,-142.11069,-141.9849,-141.8591,-141.73332,-141.60753,-141.48174,-141.35594,-141.23016,-141.10437,-140.97858,-140.85278,-140.727,-140.60121,-140.47542,-140.34964,-140.22385,-140.09805,-139.97226,-139.84648,-139.72069,-139.5949,-139.4691,-139.34332,-139.21753,-139.09174,-138.96594,-138.84016,-138.71437,-138.58858,-138.46278,-138.337,-138.21121,-138.08542,-137.95963,-137.83385,-137.70805,-137.58226,-137.45647,-137.33069,-137.2049,-137.0791,-136.95332,-136.82753,-136.70174,-136.57594,-136.45016,-136.32437,-136.19858,-136.07278,-135.947,-135.82121,-135.69542,-135.56963,-135.44385,-135.31805,-135.19226,-135.06647,-134.94069,-134.8149,-134.6891,-134.56331,-134.43753,-134.31174,-134.18594,-134.06015,-133.93437,-133.80858,-133.68279,-133.557,-133.43121,-133.30542,-133.17963,-133.05385,-132.92805,-132.80226,-132.67647,-132.55069,-132.4249,-132.2991,-132.17331,-132.04753,-131.92174,-131.79594,-131.67015,-131.54437,-131.41858,-131.29279,-131.16699,-131.04121,-130.91542,-130.78963,-130.66383,-130.53806,-130.41226,-130.28647,-130.16069,-130.0349,-129.9091,-129.78331,-129.65753,-129.53174,-129.40594,-129.28015,-129.15437,-129.02858,-128.90279,-128.777,-128.65121,-128.52542,-128.39963,-128.27383,-128.14806,-128.02226,-127.89647,-127.77068,-127.64489,-127.519104,-127.39331,-127.267525,-127.14174,-127.015945,-126.89016,-126.764366,-126.63858,-126.51279,-126.387,-126.26121,-126.13542,-126.00963,-125.88384,-125.75805,-125.63226,-125.50647,-125.380684,-125.25489,-125.129105,-125.00331,-124.877525,-124.75173,-124.625946,-124.50015,-124.37437,-124.24857,-124.12279,-123.997,-123.87121,-123.74542,-123.61963,-123.49384,-123.36805,-123.24226,-123.11647,-122.990685,-122.86489,-122.739105,-122.61331,-122.487526,-122.36173,-122.23595,-122.11015,-121.98437,-121.858574,-121.73279,-121.606995,-121.48121,-121.355415,-121.22963,-121.103836,-120.97805,-120.85226,-120.72647,-120.600685,-120.47489,-120.349106,-120.22331,-120.09753,-119.97173,-119.84595,-119.72015,-119.59437,-119.468575,-119.34279,-119.216995,-119.09121,-118.965416,-118.83963,-118.71384,-118.58805,-118.46226,-118.33647,-118.21068,-118.08489,-117.9591,-117.83331,-117.70752,-117.58173,-117.45594,-117.330154,-117.20437,-117.078575,-116.95279,-116.826996,-116.70121,-116.57542,-116.44963,-116.32384,-116.19805,-116.07226,-115.94647,-115.82068,-115.69489,-115.5691,-115.44331,-115.31752,-115.191734,-115.06594,-114.940155,-114.81436,-114.688576,-114.56278,-114.437,-114.3112,-114.18542,-114.05963,-113.93384,-113.80805,-113.68226,-113.55647,-113.43068,-113.30489,-113.1791,-113.053314,-112.92752,-112.801735,-112.67594,-112.550156,-112.42436,-112.29858,-112.17278,-112.047,-111.9212,-111.79542,-111.669624,-111.54384,-111.418045,-111.29226,-111.166466,-111.04068,-110.91489,-110.7891,-110.663315,-110.53752,-110.411736,-110.28594,-110.16016,-110.03436,-109.90858,-109.78278,-109.657,-109.531204,-109.40542,-109.279625,-109.15384,-109.028046,-108.90226,-108.77647,-108.65068,-108.52489,-108.3991,-108.27331,-108.14752,-108.02173,-107.89594,-107.77015,-107.64436,-107.51857,-107.392784,-107.267,-107.141205,-107.01542,-106.889626,-106.76384,-106.63805,-106.51226,-106.38647,-106.26068,-106.13489,-106.0091,-105.88331,-105.75752,-105.63173,-105.50594,-105.38015,-105.254364,-105.12857,-105.002785,-104.87699,-104.751205,-104.62541,-104.499626,-104.37383,-104.24805,-104.12226,-103.99647,-103.87068,-103.74489,-103.6191,-103.49331,-103.36752,-103.24173,-103.115944,-102.99015,-102.864365,-102.73857,-102.612785,-102.48699,-102.361206,-102.23541,-102.10963,-101.98383,-101.85805,-101.732254,-101.60647,-101.480675,-101.35489,-101.229095,-101.10331,-100.977516,-100.85173,-100.725945,-100.60015,-100.474365,-100.34857,-100.222786,-100.09699,-99.97121,-99.84541,-99.71963,-99.593834,-99.46805,-99.342255,-99.21647,-99.090675,-98.96489,-98.839096,-98.71331,-98.58752,-98.46173,-98.33594,-98.21015,-98.08436,-97.95857,-97.83278,-97.70699,-97.5812,-97.455414,-97.32963,-97.203835,-97.07805,-96.952255,-96.82647,-96.700676,-96.57489,-96.4491,-96.32331,-96.19752,-96.07173,-95.94594,-95.82015,-95.69436,-95.56857,-95.44278,-95.31699,-95.1912,-95.065414,-94.93962,-94.813835,-94.68804,-94.562256,-94.43646,-94.31068,-94.18489,-94.0591,-93.93331,-93.80752,-93.68173,-93.55594,-93.43015,-93.30436,-93.17857,-93.05278,-92.926994,-92.8012,-92.675415,-92.54962,-92.423836,-92.29804,-92.17226,-92.04646,-91.92068,-91.79488,-91.6691,-91.543304,-91.41752,-91.291725,-91.16594,-91.040146,-90.91436,-90.788574,-90.66278,-90.536995,-90.4112,-90.285416,-90.15962,-90.03384,-89.90804,-89.78226,-89.65646,-89.53068,-89.404884,-89.2791,-89.153305,-89.02752,-88.901726,-88.77594,-88.65015,-88.52436,-88.39857,-88.27278,-88.14699,-88.0212,-87.89541,-87.76962,-87.64383,-87.51804,-87.39226,-87.266464,-87.14068,-87.014885,-86.8891,-86.763306,-86.63752,-86.51173,-86.38594,-86.26015,-86.13436,-86.00857,-85.88278,-85.75699,-85.6312,-85.50541,-85.37962,-85.25383,-85.128044,-85.00225,-84.876465,-84.75067,-84.624886,-84.49909,-84.37331,-84.24752,-84.12173,-83.99594,-83.87015,-83.74436,-83.61857,-83.49278,-83.36699,-83.2412,-83.11541,-82.989624,-82.86383,-82.738045,-82.61225,-82.486465,-82.36067,-82.234886,-82.10909,-81.98331,-81.85751,-81.73173,-81.605934,-81.48015,-81.354355,-81.22857,-81.102776,-80.97699,-80.851204,-80.72541,-80.599625,-80.47383,-80.348045,-80.22225,-80.096466,-79.97067,-79.84489,-79.71909,-79.59331,-79.467514,-79.34173,-79.215935,-79.09015,-78.964355,-78.83857,-78.712776,-78.58699,-78.4612,-78.33541,-78.20962,-78.08383,-77.95804,-77.83225,-77.70647,-77.58067,-77.45489,-77.329094,-77.20331,-77.077515,-76.95173,-76.825935,-76.70015,-76.574356,-76.44857,-76.32278,-76.19699,-76.0712,-75.94541,-75.81962,-75.69383,-75.56804,-75.44225,-75.31646,-75.190674,-75.06488,-74.939095,-74.8133,-74.687515,-74.56172,-74.435936,-74.31015,-74.18436,-74.05857,-73.93278,-73.80699,-73.6812,-73.55541,-73.42962,-73.30383,-73.17804,-73.05225,-72.92646,-72.800674,-72.67488,-72.549095,-72.4233,-72.297516,-72.17172,-72.04594,-71.92014,-71.79436,-71.668564,-71.54278,-71.416985,-71.2912,-71.165405,-71.03962,-70.91383,-70.78804,-70.662254,-70.53646,-70.410675,-70.28488,-70.159096,-70.0333,-69.90752,-69.78172,-69.65594,-69.53014,-69.40436,-69.278564,-69.15278,-69.026985,-68.9012,-68.775406,-68.64962,-68.52383,-68.39804,-68.27225,-68.14646,-68.02067,-67.89488,-67.7691,-67.6433,-67.51752,-67.39172,-67.26594,-67.140144,-67.01436,-66.888565,-66.76278,-66.636986,-66.5112,-66.38541,-66.25962,-66.13383,-66.00804,-65.88225,-65.75646,-65.63067,-65.50488,-65.37909,-65.2533,-65.12751,-65.001724,-64.87593,-64.750145,-64.62435,-64.498566,-64.37278,-64.24699,-64.1212,-63.995407,-63.869617,-63.743828,-63.61804,-63.49225,-63.36646,-63.24067,-63.11488,-62.98909,-62.8633,-62.737514,-62.611725,-62.485935,-62.360146,-62.234356,-62.108566,-61.982777,-61.856987,-61.731197,-61.605408,-61.479618,-61.35383,-61.22804,-61.10225,-60.97646,-60.85067,-60.72488,-60.59909,-60.4733,-60.34751,-60.22172,-60.095932,-59.970142,-59.844353,-59.718563,-59.592773,-59.466988,-59.341198,-59.21541,-59.08962,-58.96383,-58.83804,-58.71225,-58.58646,-58.46067,-58.33488,-58.20909,-58.0833,-57.95751,-57.831722,-57.705933,-57.580143,-57.454353,-57.328564,-57.202774,-57.076984,-56.951195,-56.825405,-56.699615,-56.573826,-56.448036,-56.322247,-56.19646,-56.07067,-55.94488,-55.81909,-55.693302,-55.567513,-55.441723,-55.315933,-55.190144,-55.064354,-54.938564,-54.812775,-54.686985,-54.561195,-54.435406,-54.309616,-54.183826,-54.058037,-53.932247,-53.806458,-53.680668,-53.55488,-53.42909,-53.3033,-53.17751,-53.05172,-52.92593,-52.800144,-52.674355,-52.548565,-52.422775,-52.296986,-52.171196,-52.045406,-51.919617,-51.793827,-51.668037,-51.542248,-51.41646,-51.29067,-51.16488,-51.03909,-50.9133,-50.78751,-50.66172,-50.53593,-50.41014,-50.28435,-50.15856,-50.032772,-49.906982,-49.781193,-49.655403,-49.529617,-49.403828,-49.278038,-49.15225,-49.02646,-48.90067,-48.77488,-48.64909,-48.5233,-48.39751,-48.27172,-48.14593,-48.02014,-47.894352,-47.768562,-47.642773,-47.516983,-47.391193,-47.265404,-47.139614,-47.013824,-46.888035,-46.762245,-46.636456,-46.510666,-46.384876,-46.25909,-46.1333,-46.00751,-45.88172,-45.75593,-45.630142,-45.504353,-45.378563,-45.252773,-45.126984,-45.001194,-44.875404,-44.749615,-44.623825,-44.498035,-44.372246,-44.246456,-44.120667,-43.994877,-43.869087,-43.743298,-43.617508,-43.49172,-43.36593,-43.24014,-43.11435,-42.988564,-42.862774,-42.736984,-42.611195,-42.485405,-42.359615,-42.233826,-42.108036,-41.982246,-41.856457,-41.730667,-41.604877,-41.479088,-41.3533,-41.22751,-41.10172,-40.97593,-40.85014,-40.72435,-40.59856,-40.47277,-40.34698,-40.22119,-40.0954,-39.969612,-39.843822,-39.718033,-39.592247,-39.466457,-39.340668,-39.214878,-39.08909,-38.9633,-38.83751,-38.71172,-38.58593,-38.46014,-38.33435,-38.20856,-38.08277,-37.95698,-37.831192,-37.705402,-37.579613,-37.453823,-37.328033,-37.202244,-37.076454,-36.950665,-36.824875,-36.699085,-36.573296,-36.447506,-36.32172,-36.19593,-36.07014,-35.94435,-35.81856,-35.692772,-35.566982,-35.441193,-35.315403,-35.189613,-35.063824,-34.938034,-34.812244,-34.686455,-34.560665,-34.434875,-34.309086,-34.183296,-34.057507,-33.931717,-33.805927,-33.680138,-33.554348,-33.42856,-33.30277,-33.17698,-33.051193,-32.925404,-32.799614,-32.673824,-32.548035,-32.422245,-32.296455,-32.170666,-32.044876,-31.919086,-31.793297,-31.667507,-31.541718,-31.415928]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json new file mode 100644 index 000000000000..138180b7b154 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json @@ -0,0 +1 @@ +{"expected":[1.351065e-6,0.12545952,0.24893515,0.36847705,0.48219624,0.58829564,0.6850987,0.7710757,0.84486806,0.9053096,0.95144534,0.98254615,0.99812055,0.9979225,0.9819558,0.9504718,0.90396833,0.8431802,0.7690679,0.6828027,0.5857477,0.4794366,0.36554942,0.2458857,0.12233648,-0.003145936,-0.12857863,-0.2519795,-0.37139857,-0.4849487,-0.5908356,-0.687386,-0.7730742,-0.8465462,-0.9066408,-0.9524086,-0.9831262,-0.9983083,-0.997715,-0.98135555,-0.9494898,-0.90261924,-0.8414854,-0.7670542,-0.6805019,-0.58319616,-0.47667465,-0.36262065,-0.24283645,-0.11921491,0.00629049,0.13169648,0.2550214,0.3743164,0.48769638,0.5933697,0.6896665,0.77506506,0.8482159,0.90796304,0.9533624,0.9836966,0.9984862,0.99749756,0.9807463,0.9484971,0.9012612,0.83978224,0.7650329,0.67819434,0.5806388,0.47390795,0.35968828,0.23978479,0.11609216,-0.009434981,-0.13481303,-0.25806072,-0.37723053,-0.49043924,-0.5958979,-0.6919402,-0.77704823,-0.84987724,-0.9092763,-0.95430684,-0.9842573,-0.99865425,-0.99727035,-0.9801274,-0.94749624,-0.8998926,-0.8380687,-0.763004,-0.6758801,-0.5780757,-0.47113654,-0.3567524,-0.23673075,-0.11296826,0.01257938,0.13792823,0.26109752,0.3801409,0.49317724,0.59842026,0.694207,0.7790237,0.85153013,0.9105806,0.9552418,0.98480815,0.9988124,0.99703324,0.97949874,0.94648606,0.8985168,0.836349,0.7609651,0.6735591,0.5755069,0.4683605,0.35381296,0.23367438,0.10984325,-0.015723653,-0.14104208,-0.26413175,-0.38304755,-0.49591038,-0.6009367,-0.6964669,-0.7809915,-0.8531747,-0.91187584,-0.95616734,-0.98534936,-0.9989607,-0.99678624,-0.97886044,-0.94546646,-0.89713204,-0.834621,-0.75892115,-0.6712287,-0.5729325,-0.46557984,-0.35087,-0.2306157,-0.10671715,0.018867772,0.14415453,0.26716334,0.3859504,0.49863857,0.6034472,0.69872004,0.78295153,0.8548107,0.91316205,0.9570834,0.9858808,0.9990991,0.9965294,0.9782124,0.9444375,0.8957385,0.8328848,0.75686973,0.66889447,0.5703492,0.46279457,0.34792364,0.22755474,0.10358999,-0.022011703,-0.14726557,-0.27019233,-0.38884944,-0.5013619,-0.6059517,-0.7009662,-0.7849039,-0.85643834,-0.91443926,-0.95799005,-0.98640245,-0.9992276,-0.9962627,-0.97755474,-0.94339925,-0.89433604,-0.83114034,-0.7548108,-0.6665536,-0.5677634,-0.46000132,-0.3449702,-0.22449152,-0.10046181,0.025155418,0.15037514,0.2732186,0.3917446,0.50408024,0.60845023,0.7032054,0.7868484,0.8580575,0.9157074,0.95888716,0.9869144,0.9993462,0.99598616,0.9768874,0.94235164,0.8929247,0.8293876,0.7527444,0.66420615,0.565172,0.4572069,0.34201694,0.22142237,0.09733264,-0.028298883,-0.15348323,-0.2762422,-0.39463592,-0.50679356,-0.6109427,-0.7054377,-0.7887852,-0.8596682,-0.91696656,-0.9597748,-0.98741657,-0.999455,-0.99569976,-0.9762104,-0.9412947,-0.8915046,-0.8276267,-0.75067055,-0.6618521,-0.562575,-0.454408,-0.3390603,-0.21835475,-0.094198704,0.03144207,0.15658979,0.27926305,0.39752334,0.5095019,0.6134292,0.707663,0.7907142,0.86127037,0.9182166,0.960654,0.98790896,0.9995539,0.9954036,0.9755246,0.9402285,0.8900774,0.82585764,0.7485918,0.6594916,0.5599756,0.45160455,0.33610392,0.21528496,0.091071434,-0.034588754,-0.1596948,-0.2822848,-0.4004068,-0.51220846,-0.61590964,-0.709884,-0.7926354,-0.8628659,-0.91945755,-0.9615227,-0.9883916,-0.9996429,-0.99509746,-0.9748266,-0.939153,-0.8886397,-0.8240804,-0.7465032,-0.65712446,-0.5573675,-0.44879666,-0.3331406,-0.21221305,-0.08793947,0.03773129,0.16279824,0.2853001,0.40328634,0.5149067,0.61838394,0.71209526,0.7945487,0.86445105,0.9206894,0.96238184,0.9888645,0.999722,0.99478155,0.9741207,0.9380682,0.88719314,0.822295,0.7444071,0.6547509,0.55475396,0.44598433,0.330174,0.20913903,0.084806636,-0.040873446,-0.16590008,-0.28831258,-0.40616187,-0.5175998,-0.6208521,-0.7142995,-0.79645413,-0.8660276,-0.9219122,-0.96323144,-0.98932755,-0.9997912,-0.9944558,-0.97340506,-0.9369741,-0.8857343,-0.82050145,-0.7423037,-0.65237087,-0.5521349,-0.4431676,-0.32720414,-0.20606296,-0.08167296,0.044015203,0.16900027,0.2913222,0.4090334,0.5202879,0.6233142,0.7164967,0.7983517,0.8675956,0.9231258,0.9640716,0.98978084,0.9998505,0.99412024,0.97267985,0.93587077,0.88427025,0.81869984,0.7401878,0.64998436,0.5495103,0.44034648,0.32423103,0.20298484,0.07853848,-0.04715652,-0.17209879,-0.29432896,-0.41190088,-0.52297074,-0.6257701,-0.7186868,-0.8002414,-0.86915505,-0.92433035,-0.9649021,-0.99022436,-0.9998999,-0.99377483,-0.97194505,-0.9347582,-0.8827974,-0.8168901,-0.7380698,-0.6475914,-0.5468803,-0.437521,-0.3212547,-0.19990472,-0.07540321,0.050297376,0.17519559,0.2973328,0.41476426,0.5256484,0.6282198,0.7208698,0.8021232,0.87070584,0.9255257,0.96572316,0.9906581,0.9999395,0.9934196,0.9712006,0.9336363,0.8813159,0.8150723,0.7359444,0.6451921,0.54423857,0.43469122,0.3182752,0.19682261,0.07226721,-0.053437732,-0.17829068,-0.3003337,-0.41762355,-0.52832097,-0.6306633,-0.72304565,-0.80399704,-0.87224805,-0.926712,-0.9665346,-0.991082,-0.9999691,-0.9930545,-0.9704465,-0.93250525,-0.8798256,-0.8132464,-0.73381174,-0.6427864,-0.5415978,-0.4318571,-0.3152926,-0.19373858,-0.06913049,0.05657756,0.181384,0.3033316,0.42047873,0.5309882,0.6331005,0.72521436,0.80586296,0.8737817,0.92788905,0.96733654,0.99149615,0.9999889,0.9926796,0.96968293,0.93136495,0.87832665,0.8114125,0.7316718,0.6403743,0.53895164,0.42901874,0.31229958,0.19065261,0.065993086,-0.05971683,-0.18447553,-0.30632654,-0.42332974,-0.5336503,-0.63553154,-0.72737586,-0.8077209,-0.8753066,-0.92905694,-0.9681289,-0.99190044,-0.99999875,-0.9922949,-0.9689097,-0.9302155,-0.876819,-0.80957055,-0.7295247,-0.6379559,-0.5363002,-0.42617613,-0.30931073,-0.18756476,-0.06284741,0.062855504,0.18756524,0.30931845,0.42617658,0.53630704,0.63795626,0.7295302,0.80957085,0.8768229,0.93021566,0.9689117,0.99229497,0.99999875,0.9919004,0.9681269,0.92905676,0.8753027,0.8077206,0.7273703,0.6355312,0.5336434,0.42332932,0.30631885,0.18447506,0.059708737,-0.06599356,-0.19065307,-0.3123073,-0.42901918,-0.5389585,-0.64037466,-0.73167735,-0.81141275,-0.8783305,-0.93136513,-0.9696849,-0.99267966,-0.99998885,-0.9914961,-0.9673345,-0.9278889,-0.87377775,-0.80586267,-0.72520876,-0.63310015,-0.53098136,-0.4204783,-0.3033239,-0.18138354,-0.056569465,0.069130965,0.19374652,0.31529304,0.43185756,0.5416046,0.64278674,0.7338172,0.81324667,0.87982947,0.9325054,0.9704485,0.99305457,0.99996907,0.99108195,0.9665325,0.9267118,0.8722441,0.80399674,0.72304004,0.6306629,0.52831405,0.41762313,0.30032596,0.17829022,0.053429637,-0.07226768,-0.19683057,-0.3182757,-0.43469852,-0.54424536,-0.64519244,-0.7359499,-0.81507254,-0.8813197,-0.9336365,-0.97120255,-0.99341965,-0.9999394,-0.99065804,-0.9657211,-0.92552555,-0.87070185,-0.8021229,-0.7208642,-0.6282194,-0.52564156,-0.41476384,-0.29732504,-0.17519513,-0.05028928,0.07540369,0.19991267,0.32125518,0.4375283,0.5468807,0.64759177,0.7380752,0.81689036,0.88280123,0.93475837,0.97194695,0.9937749,0.9998998,0.9902243,0.9649,0.9243302,0.869151,0.8002411,0.71868116,0.62576973,0.5229638,0.41190043,0.2943212,0.17209831,0.047148425,-0.07853895,-0.20299278,-0.32423148,-0.44035375,-0.5495107,-0.6499905,-0.7401933,-0.8187001,-0.884274,-0.93587095,-0.97268176,-0.9941203,-0.9998504,-0.9897808,-0.9640694,-0.9231256,-0.86759156,-0.79835147,-0.71649104,-0.6233138,-0.52028096,-0.40903297,-0.29131445,-0.16899979,-0.044007104,0.081673436,0.2060709,0.32720459,0.44317487,0.5521352,0.652377,0.742304,0.8205061,0.8857381,0.9369743,0.9734069,0.9944559,0.999791,0.9893275,0.9632293,0.921912,0.86602354,0.79645383,0.71429384,0.62085176,0.5175929,0.40616143,0.28830484,0.1658996,0.040865347,-0.084807105,-0.20914696,-0.33017445,-0.4459916,-0.5547543,-0.654757,-0.7444074,-0.8222996,-0.8871934,-0.9380684,-0.97412246,-0.9947816,-0.9997218,-0.98886436,-0.96237963,-0.9206892,-0.864447,-0.7945484,-0.7120896,-0.6183835,-0.51489973,-0.40328592,-0.28529233,-0.16279778,-0.037723187,0.08793995,0.21222097,0.33314106,0.4488039,0.5573679,0.6571306,0.7465035,0.824085,0.88863987,0.9391558,0.9748284,0.9950975,0.99964267,0.9883915,0.96152043,0.9194574,0.8628619,0.7926351,0.7098783,0.6159092,0.5122015,0.4004064,0.28227702,0.15969433,0.034580655,-0.09107191,-0.21529289,-0.33610436,-0.4516118,-0.55997604,-0.6594977,-0.74859214,-0.8258622,-0.8900776,-0.9402313,-0.97552466,-0.99540436,-0.9995537,-0.9879089,-0.96065176,-0.9182164,-0.86126816,-0.7907139,-0.70765996,-0.61342883,-0.5094982,-0.3975229,-0.27925894,-0.15658931,-0.03143778,0.09420298,0.21836266,0.33906436,0.4544152,0.56257856,0.6618582,0.75067335,0.8276313,0.89150655,0.9412975,0.9762113,0.99570054,0.9994548,0.9874165,0.9597736,0.9169663,0.859666,0.7887849,0.7054347,0.61093634,0.5067964,0.3946355,0.27623805,0.15347521,0.028302219,-0.09733311,-0.22143027,-0.34202814,-0.45720732,-0.56517553,-0.6642122,-0.75275224,-0.8293879,-0.89292663,-0.9423544,-0.97688997,-0.9959862,-0.9993461,-0.9869131,-0.9588881,-0.91570723,-0.8580553,-0.7868434,-0.7032078,-0.6084499,-0.5040765,-0.39173716,-0.27322182,-0.15037467,-0.025151128,0.10046988,0.22448827,0.34497422,0.4600085,0.5677732,0.666554,0.7548136,0.8311448,0.89434135,0.9433994,0.97755563,0.99626344,0.9992271,0.9864024,0.9579888,0.914436,0.85644007,0.7849036,0.70096314,0.6059453,0.50136477,0.388849,0.27018818,0.14725755,0.02201504,-0.103590466,-0.22755891,-0.34793124,-0.4627916,-0.57035273,-0.6689005,-0.75687754,-0.8328851,-0.8957404,-0.9444402,-0.97821486,-0.99652946,-0.9990989,-0.9858794,-0.95707995,-0.9131619,-0.8548085,-0.7829465,-0.6987224,-0.60344684,-0.49863487,-0.3859429,-0.26716655,-0.14415407,-0.01886348,0.10672521,0.23061246,0.35087046,0.46558362,0.5729391,0.67122906,0.75892395,0.8346255,0.89713734,0.94546664,0.9788613,0.9967869,0.99896014,0.98534924,0.9561661,0.9118725,0.8531684,0.7809912,0.6964639,0.6009302,0.49591327,0.3830471,0.2641276,0.14103407,0.015726991,-0.10984372,-0.23367855,-0.35382053,-0.46835756,-0.57550734,-0.6735623,-0.76097286,-0.8363493,-0.8985187,-0.9464887,-0.9795011,-0.99703324,-0.9988122,-0.9848068,-0.9552383,-0.9105804,-0.8515279,-0.77901864,-0.6941984,-0.5984199,-0.4931735,-0.38013342,-0.26110074,-0.13792777,-0.012575088,0.11297631,0.2367275,0.35675284,0.47114035,0.5780823,0.6758776,0.7630043,0.8380732,0.8998978,0.9474964,0.9801282,0.99727094,0.99865365,0.98425716,0.9543056,0.9092729,0.8498709,0.77704793,0.6919371,0.5958914,0.49042884,0.37723008,0.25805658,0.134805,0.009438319,-0.11609263,-0.23978895,-0.35969585,-0.473905,-0.5806392,-0.67819744,-0.7650381,-0.83978045,-0.90126145,-0.9484997,-0.98074865,-0.9974976,-0.998486,-0.98369515,-0.9533588,-0.90796286,-0.8482136,-0.77505994,-0.68965787,-0.5933693,-0.48769262,-0.37430888,-0.2550246,-0.13169602,-0.0062861983,0.119222954,0.24283321,0.3626211,0.4766784,0.5832027,0.68049943,0.7670545,0.8414877,0.90262276,0.9494887,0.9813564,0.99771553,0.99830765,0.98312616,0.9524073,0.90663743,0.8465398,0.7730739,0.6873829,0.5908291,0.48493826,0.37139812,0.25197536,0.1285706,0.0031492736,-0.12233695,-0.24588986,-0.36555696,-0.4794337,-0.5857481,-0.68280584,-0.76907307,-0.8431784,-0.9039685,-0.9504732,-0.9819574,-0.99792254,-0.9981203,-0.9825446,-0.95144165,-0.90530944,-0.84486574,-0.77107054,-0.68509,-0.5882953,-0.4821925,-0.36846954,-0.2489236,-0.12545905,2.9406276e-6],"x":[31.415928,31.541718,31.667507,31.793297,31.919086,32.044876,32.170666,32.296455,32.422245,32.548035,32.673824,32.799614,32.925404,33.051193,33.17698,33.30277,33.42856,33.554348,33.680138,33.805927,33.931717,34.057507,34.183296,34.309086,34.434875,34.560665,34.686455,34.812244,34.938034,35.063824,35.189613,35.315403,35.441193,35.566982,35.692772,35.81856,35.94435,36.07014,36.19593,36.32172,36.447506,36.573296,36.699085,36.824875,36.950665,37.076454,37.202244,37.328033,37.453823,37.579613,37.705402,37.831192,37.95698,38.08277,38.20856,38.33435,38.46014,38.58593,38.71172,38.83751,38.9633,39.08909,39.214878,39.340668,39.466457,39.592247,39.718033,39.843822,39.969612,40.0954,40.22119,40.34698,40.47277,40.59856,40.72435,40.85014,40.97593,41.10172,41.22751,41.3533,41.479088,41.604877,41.730667,41.856457,41.982246,42.108036,42.233826,42.359615,42.485405,42.611195,42.736984,42.862774,42.988564,43.11435,43.24014,43.36593,43.49172,43.617508,43.743298,43.869087,43.994877,44.120667,44.246456,44.372246,44.498035,44.623825,44.749615,44.875404,45.001194,45.126984,45.252773,45.378563,45.504353,45.630142,45.75593,45.88172,46.00751,46.1333,46.25909,46.384876,46.510666,46.636456,46.762245,46.888035,47.013824,47.139614,47.265404,47.391193,47.516983,47.642773,47.768562,47.894352,48.02014,48.14593,48.27172,48.39751,48.5233,48.64909,48.77488,48.90067,49.02646,49.15225,49.278038,49.403828,49.529617,49.655403,49.781193,49.906982,50.032772,50.15856,50.28435,50.41014,50.53593,50.66172,50.78751,50.9133,51.03909,51.16488,51.29067,51.41646,51.542248,51.668037,51.793827,51.919617,52.045406,52.171196,52.296986,52.422775,52.548565,52.674355,52.800144,52.92593,53.05172,53.17751,53.3033,53.42909,53.55488,53.680668,53.806458,53.932247,54.058037,54.183826,54.309616,54.435406,54.561195,54.686985,54.812775,54.938564,55.064354,55.190144,55.315933,55.441723,55.567513,55.693302,55.81909,55.94488,56.07067,56.19646,56.322247,56.448036,56.573826,56.699615,56.825405,56.951195,57.076984,57.202774,57.328564,57.454353,57.580143,57.705933,57.831722,57.95751,58.0833,58.20909,58.33488,58.46067,58.58646,58.71225,58.83804,58.96383,59.08962,59.21541,59.341198,59.466988,59.592773,59.718563,59.844353,59.970142,60.095932,60.22172,60.34751,60.4733,60.59909,60.72488,60.85067,60.97646,61.10225,61.22804,61.35383,61.479618,61.605408,61.731197,61.856987,61.982777,62.108566,62.234356,62.360146,62.485935,62.611725,62.737514,62.8633,62.98909,63.11488,63.24067,63.36646,63.49225,63.61804,63.743828,63.869617,63.995407,64.1212,64.24699,64.37278,64.498566,64.62435,64.750145,64.87593,65.001724,65.12751,65.2533,65.37909,65.50488,65.63067,65.75646,65.88225,66.00804,66.13383,66.25962,66.38541,66.5112,66.636986,66.76278,66.888565,67.01436,67.140144,67.26594,67.39172,67.51752,67.6433,67.7691,67.89488,68.02067,68.14646,68.27225,68.39804,68.52383,68.64962,68.775406,68.9012,69.026985,69.15278,69.278564,69.40436,69.53014,69.65594,69.78172,69.90752,70.0333,70.159096,70.28488,70.410675,70.53646,70.662254,70.78804,70.91383,71.03962,71.165405,71.2912,71.416985,71.54278,71.668564,71.79436,71.92014,72.04594,72.17172,72.297516,72.4233,72.549095,72.67488,72.800674,72.92646,73.05225,73.17804,73.30383,73.42962,73.55541,73.6812,73.80699,73.93278,74.05857,74.18436,74.31015,74.435936,74.56172,74.687515,74.8133,74.939095,75.06488,75.190674,75.31646,75.44225,75.56804,75.69383,75.81962,75.94541,76.0712,76.19699,76.32278,76.44857,76.574356,76.70015,76.825935,76.95173,77.077515,77.20331,77.329094,77.45489,77.58067,77.70647,77.83225,77.95804,78.08383,78.20962,78.33541,78.4612,78.58699,78.712776,78.83857,78.964355,79.09015,79.215935,79.34173,79.467514,79.59331,79.71909,79.84489,79.97067,80.096466,80.22225,80.348045,80.47383,80.599625,80.72541,80.851204,80.97699,81.102776,81.22857,81.354355,81.48015,81.605934,81.73173,81.85751,81.98331,82.10909,82.234886,82.36067,82.486465,82.61225,82.738045,82.86383,82.989624,83.11541,83.2412,83.36699,83.49278,83.61857,83.74436,83.87015,83.99594,84.12173,84.24752,84.37331,84.49909,84.624886,84.75067,84.876465,85.00225,85.128044,85.25383,85.37962,85.50541,85.6312,85.75699,85.88278,86.00857,86.13436,86.26015,86.38594,86.51173,86.63752,86.763306,86.8891,87.014885,87.14068,87.266464,87.39226,87.51804,87.64383,87.76962,87.89541,88.0212,88.14699,88.27278,88.39857,88.52436,88.65015,88.77594,88.901726,89.02752,89.153305,89.2791,89.404884,89.53068,89.65646,89.78226,89.90804,90.03384,90.15962,90.285416,90.4112,90.536995,90.66278,90.788574,90.91436,91.040146,91.16594,91.291725,91.41752,91.543304,91.6691,91.79488,91.92068,92.04646,92.17226,92.29804,92.423836,92.54962,92.675415,92.8012,92.926994,93.05278,93.17857,93.30436,93.43015,93.55594,93.68173,93.80752,93.93331,94.0591,94.18489,94.31068,94.43646,94.562256,94.68804,94.813835,94.93962,95.065414,95.1912,95.31699,95.44278,95.56857,95.69436,95.82015,95.94594,96.07173,96.19752,96.32331,96.4491,96.57489,96.700676,96.82647,96.952255,97.07805,97.203835,97.32963,97.455414,97.5812,97.70699,97.83278,97.95857,98.08436,98.21015,98.33594,98.46173,98.58752,98.71331,98.839096,98.96489,99.090675,99.21647,99.342255,99.46805,99.593834,99.71963,99.84541,99.97121,100.09699,100.222786,100.34857,100.474365,100.60015,100.725945,100.85173,100.977516,101.10331,101.229095,101.35489,101.480675,101.60647,101.732254,101.85805,101.98383,102.10963,102.23541,102.361206,102.48699,102.612785,102.73857,102.864365,102.99015,103.115944,103.24173,103.36752,103.49331,103.6191,103.74489,103.87068,103.99647,104.12226,104.24805,104.37383,104.499626,104.62541,104.751205,104.87699,105.002785,105.12857,105.254364,105.38015,105.50594,105.63173,105.75752,105.88331,106.0091,106.13489,106.26068,106.38647,106.51226,106.63805,106.76384,106.889626,107.01542,107.141205,107.267,107.392784,107.51857,107.64436,107.77015,107.89594,108.02173,108.14752,108.27331,108.3991,108.52489,108.65068,108.77647,108.90226,109.028046,109.15384,109.279625,109.40542,109.531204,109.657,109.78278,109.90858,110.03436,110.16016,110.28594,110.411736,110.53752,110.663315,110.7891,110.91489,111.04068,111.166466,111.29226,111.418045,111.54384,111.669624,111.79542,111.9212,112.047,112.17278,112.29858,112.42436,112.550156,112.67594,112.801735,112.92752,113.053314,113.1791,113.30489,113.43068,113.55647,113.68226,113.80805,113.93384,114.05963,114.18542,114.3112,114.437,114.56278,114.688576,114.81436,114.940155,115.06594,115.191734,115.31752,115.44331,115.5691,115.69489,115.82068,115.94647,116.07226,116.19805,116.32384,116.44963,116.57542,116.70121,116.826996,116.95279,117.078575,117.20437,117.330154,117.45594,117.58173,117.70752,117.83331,117.9591,118.08489,118.21068,118.33647,118.46226,118.58805,118.71384,118.83963,118.965416,119.09121,119.216995,119.34279,119.468575,119.59437,119.72015,119.84595,119.97173,120.09753,120.22331,120.349106,120.47489,120.600685,120.72647,120.85226,120.97805,121.103836,121.22963,121.355415,121.48121,121.606995,121.73279,121.858574,121.98437,122.11015,122.23595,122.36173,122.487526,122.61331,122.739105,122.86489,122.990685,123.11647,123.24226,123.36805,123.49384,123.61963,123.74542,123.87121,123.997,124.12279,124.24857,124.37437,124.50015,124.625946,124.75173,124.877525,125.00331,125.129105,125.25489,125.380684,125.50647,125.63226,125.75805,125.88384,126.00963,126.13542,126.26121,126.387,126.51279,126.63858,126.764366,126.89016,127.015945,127.14174,127.267525,127.39331,127.519104,127.64489,127.77068,127.89647,128.02226,128.14806,128.27383,128.39963,128.52542,128.65121,128.777,128.90279,129.02858,129.15437,129.28015,129.40594,129.53174,129.65753,129.78331,129.9091,130.0349,130.16069,130.28647,130.41226,130.53806,130.66383,130.78963,130.91542,131.04121,131.16699,131.29279,131.41858,131.54437,131.67015,131.79594,131.92174,132.04753,132.17331,132.2991,132.4249,132.55069,132.67647,132.80226,132.92805,133.05385,133.17963,133.30542,133.43121,133.557,133.68279,133.80858,133.93437,134.06015,134.18594,134.31174,134.43753,134.56331,134.6891,134.8149,134.94069,135.06647,135.19226,135.31805,135.44385,135.56963,135.69542,135.82121,135.947,136.07278,136.19858,136.32437,136.45016,136.57594,136.70174,136.82753,136.95332,137.0791,137.2049,137.33069,137.45647,137.58226,137.70805,137.83385,137.95963,138.08542,138.21121,138.337,138.46278,138.58858,138.71437,138.84016,138.96594,139.09174,139.21753,139.34332,139.4691,139.5949,139.72069,139.84648,139.97226,140.09805,140.22385,140.34964,140.47542,140.60121,140.727,140.85278,140.97858,141.10437,141.23016,141.35594,141.48174,141.60753,141.73332,141.8591,141.9849,142.11069,142.23648,142.36226,142.48805,142.61385,142.73964,142.86542,142.99121,143.117,143.2428,143.36858,143.49437,143.62016,143.74596,143.87173,143.99753,144.12332,144.2491,144.3749,144.50069,144.62648,144.75226,144.87805,145.00385,145.12964,145.25542,145.38121,145.507,145.6328,145.75858,145.88437,146.01016,146.13596,146.26173,146.38753,146.51332,146.63911,146.7649,146.89069,147.01648,147.14227,147.26805,147.39384,147.51964,147.64542,147.77121,147.897,148.0228,148.14857,148.27437,148.40016,148.52596,148.65173,148.77753,148.90332,149.02911,149.15489,149.28069,149.40648,149.53227,149.65805,149.78384,149.90964,150.03543,150.16121,150.287,150.4128,150.53857,150.66437,150.79016,150.91595,151.04173,151.16753,151.29332,151.41911,151.54489,151.67068,151.79648,151.92227,152.04805,152.17384,152.29964,152.42543,152.55121,152.677,152.8028,152.92859,153.05437,153.18016,153.30595,153.43175,153.55753,153.68332,153.80911,153.93489,154.06068,154.18648,154.31227,154.43805,154.56384,154.68964,154.81543,154.94121,155.067,155.1928,155.31859,155.44437,155.57016,155.69595,155.82175,155.94753,156.07332,156.19911,156.3249,156.45068,156.57648,156.70227,156.82806,156.95384,157.07964]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl new file mode 100644 index 000000000000..4d1654a95c7a --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl @@ -0,0 +1,74 @@ +#!/usr/bin/env julia +# +# @license Apache-2.0 +# +# Copyright (c) 2025 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import JSON + +""" + gen( domain, name ) + +Generate fixture data and write to file. + +# Arguments + +* `domain`: domain +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = range( -1000.0, stop = 1000.0, length = 2001 ); +julia> gen( x, \"data.json\" ); +``` +""" +function gen( domain, name ) + x = collect(Float32, domain ); + y = sin.( x ); + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("expected", y) + ]); + + # Based on the script directory, create an output filepath: + filepath = joinpath( dir, name ); + + # Write the data to the output filepath as JSON: + outfile = open( filepath, "w" ); + write( outfile, JSON.json(data) ); + write( outfile, "\n" ); + close( outfile ); +end + +# Get the filename: +file = @__FILE__; + +# Extract the directory in which this file resides: +dir = dirname( file ); + +# Values within the defined domain: +x = range( -pi/4.0f0, stop = pi/4.0f0 , length = 1000 ) +gen( x, "small_range.json" ); + +# Positive values outside the defined domain: +x = range( 40.0f0*pi/4.0f0, stop = 200.0f0*pi/4.0f0 , length = 1000 ) +gen( x, "large_positive.json" ); + +# Negative values outside the defined domain: +x = range( -200.0f0*pi/4.0f0, stop = -40.0f0*pi/4.0f0, length = 1000 ) +gen( x, "large_negative.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json new file mode 100644 index 000000000000..ebb99a1ef1e2 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json @@ -0,0 +1 @@ +{"expected":[-0.70710677,-0.70599407,-0.70487964,-0.7037634,-0.7026455,-0.7015258,-0.7004044,-0.6992813,-0.6981564,-0.6970298,-0.6959015,-0.69477147,-0.6936397,-0.69250625,-0.6913711,-0.6902342,-0.68909556,-0.68795526,-0.6868133,-0.68566954,-0.6845242,-0.6833771,-0.6822283,-0.68107784,-0.6799257,-0.67877185,-0.67761636,-0.6764592,-0.6753003,-0.67413986,-0.6729776,-0.6718138,-0.6706483,-0.6694811,-0.66831225,-0.6671418,-0.66596967,-0.6647959,-0.6636205,-0.6624434,-0.6612647,-0.66008437,-0.6589024,-0.6577188,-0.6565336,-0.65534675,-0.65415823,-0.65296817,-0.6517765,-0.65058315,-0.64938825,-0.64819175,-0.64699364,-0.64579386,-0.6445926,-0.64338964,-0.64218515,-0.64097905,-0.63977134,-0.6385621,-0.6373513,-0.63613886,-0.6349249,-0.6337094,-0.63249224,-0.63127357,-0.6300533,-0.6288315,-0.6276081,-0.62638324,-0.62515676,-0.6239288,-0.6226992,-0.6214681,-0.6202355,-0.6190013,-0.61776567,-0.61652845,-0.6152897,-0.61404943,-0.61280763,-0.61156434,-0.61031955,-0.6090732,-0.6078254,-0.6065761,-0.6053253,-0.6040729,-0.60281914,-0.6015638,-0.60030705,-0.59904873,-0.597789,-0.59652776,-0.59526503,-0.59400094,-0.5927353,-0.59146816,-0.5901996,-0.58892953,-0.58765805,-0.58638513,-0.5851107,-0.5838349,-0.58255756,-0.58127886,-0.5799987,-0.5787171,-0.57743406,-0.57614964,-0.57486373,-0.57357645,-0.57228774,-0.5709976,-0.569706,-0.5684131,-0.5671187,-0.56582296,-0.5645258,-0.56322724,-0.5619273,-0.560626,-0.55932325,-0.5580191,-0.55671364,-0.55540675,-0.55409855,-0.5527889,-0.551478,-0.55016565,-0.54885197,-0.5475369,-0.54622054,-0.54490274,-0.54358363,-0.5422632,-0.5409414,-0.5396183,-0.53829384,-0.53696805,-0.5356409,-0.5343125,-0.5329827,-0.5316516,-0.5303192,-0.5289855,-0.52765054,-0.5263142,-0.52497655,-0.52363765,-0.52229744,-0.5209559,-0.51961315,-0.51826906,-0.5169237,-0.5155771,-0.5142292,-0.51287997,-0.5115295,-0.5101778,-0.5088248,-0.50747067,-0.50611514,-0.5047584,-0.50340044,-0.50204116,-0.5006807,-0.499319,-0.49795607,-0.49659187,-0.49522647,-0.49385983,-0.492492,-0.49112293,-0.48975265,-0.48838115,-0.48700845,-0.48563454,-0.48425943,-0.48288313,-0.48150563,-0.48012695,-0.47874707,-0.477366,-0.47598377,-0.47460037,-0.4732158,-0.47183004,-0.4704431,-0.46905503,-0.46766576,-0.46627536,-0.4648838,-0.4634911,-0.46209726,-0.46070224,-0.45930612,-0.45790884,-0.45651045,-0.4551109,-0.45371026,-0.45230848,-0.45090562,-0.4495016,-0.44809648,-0.44669026,-0.44528294,-0.44387448,-0.44246495,-0.44105434,-0.4396426,-0.4382298,-0.43681592,-0.43540096,-0.4339849,-0.4325678,-0.4311496,-0.42973036,-0.42831007,-0.4268887,-0.42546627,-0.4240428,-0.42261827,-0.42119268,-0.41976607,-0.41833842,-0.41690972,-0.41548002,-0.41404927,-0.4126175,-0.41118473,-0.4097509,-0.4083161,-0.40688026,-0.40544343,-0.40400562,-0.4025668,-0.40112695,-0.39968613,-0.39824432,-0.39680153,-0.39535776,-0.393913,-0.39246726,-0.39102057,-0.38957292,-0.3881243,-0.3866747,-0.38522416,-0.38377267,-0.38232023,-0.38086686,-0.37941253,-0.37795725,-0.37650105,-0.37504393,-0.37358585,-0.37212688,-0.37066695,-0.36920613,-0.36774442,-0.36628178,-0.36481822,-0.36335376,-0.3618884,-0.36042216,-0.35895503,-0.35748702,-0.35601813,-0.35454834,-0.35307768,-0.35160616,-0.35013375,-0.34866047,-0.34718633,-0.34571135,-0.3442355,-0.3427588,-0.34128127,-0.33980286,-0.33832365,-0.33684358,-0.33536267,-0.33388096,-0.3323984,-0.33091506,-0.32943085,-0.32794586,-0.32646003,-0.3249734,-0.32348597,-0.32199776,-0.32050872,-0.3190189,-0.3175283,-0.3160369,-0.31454474,-0.3130518,-0.31155807,-0.31006357,-0.30856836,-0.3070723,-0.30557555,-0.304078,-0.3025797,-0.30108067,-0.2995809,-0.29808035,-0.29657912,-0.29507712,-0.2935744,-0.29207096,-0.29056677,-0.28906187,-0.2875563,-0.28604996,-0.28454295,-0.28303525,-0.28152683,-0.2800177,-0.2785079,-0.2769974,-0.2754862,-0.27397433,-0.2724618,-0.27094856,-0.2694347,-0.26792014,-0.26640493,-0.26488903,-0.2633725,-0.26185533,-0.2603375,-0.25881904,-0.25729993,-0.2557802,-0.2542598,-0.2527388,-0.25121716,-0.24969491,-0.24817203,-0.24664855,-0.24512446,-0.24359976,-0.24207444,-0.24054854,-0.23902206,-0.23749498,-0.2359673,-0.23443903,-0.2329102,-0.23138078,-0.2298508,-0.22832024,-0.22678913,-0.22525746,-0.22372521,-0.22219242,-0.22065909,-0.2191252,-0.21759078,-0.21605581,-0.21452032,-0.2129843,-0.21144775,-0.20991066,-0.20837305,-0.20683494,-0.20529632,-0.2037572,-0.20221756,-0.20067744,-0.19913681,-0.19759569,-0.19605407,-0.19451196,-0.1929694,-0.19142634,-0.1898828,-0.18833883,-0.18679436,-0.18524943,-0.18370405,-0.18215822,-0.18061192,-0.1790652,-0.17751801,-0.1759704,-0.17442235,-0.17287388,-0.17132497,-0.16977564,-0.16822588,-0.16667572,-0.16512513,-0.16357416,-0.16202275,-0.16047096,-0.15891878,-0.15736619,-0.15581322,-0.15425986,-0.15270612,-0.15115201,-0.14959753,-0.14804266,-0.14648744,-0.14493185,-0.1433759,-0.1418196,-0.14026295,-0.13870597,-0.13714862,-0.13559094,-0.13403292,-0.13247457,-0.1309159,-0.1293569,-0.12779759,-0.12623794,-0.124678016,-0.12311775,-0.1215572,-0.11999634,-0.11843518,-0.11687373,-0.115312,-0.11374998,-0.112187676,-0.110625096,-0.10906225,-0.107499115,-0.10593573,-0.10437208,-0.10280817,-0.101244,-0.09967959,-0.09811493,-0.09655003,-0.09498489,-0.09341951,-0.0918539,-0.09028807,-0.08872201,-0.08715573,-0.08558924,-0.08402254,-0.08245563,-0.08088851,-0.07932119,-0.07775368,-0.07618598,-0.074618086,-0.07305001,-0.07148175,-0.06991332,-0.06834471,-0.06677593,-0.06520699,-0.06363789,-0.06206863,-0.060499217,-0.058929656,-0.057359945,-0.055790097,-0.054220106,-0.052649986,-0.05107973,-0.049509358,-0.047938854,-0.046368238,-0.0447975,-0.043226656,-0.041655704,-0.04008465,-0.038513493,-0.036942247,-0.035370905,-0.03379948,-0.032227967,-0.030656375,-0.029084709,-0.02751297,-0.025941163,-0.024369292,-0.022797361,-0.021225372,-0.019653333,-0.018081244,-0.01650911,-0.014936937,-0.013364726,-0.011792482,-0.010220208,-0.008647909,-0.007075589,-0.0055032517,-0.0039309007,-0.00235854,-0.0007861734,0.0007861952,0.0023585618,0.0039309226,0.0055032736,0.007075611,0.008647931,0.01022023,0.011792503,0.013364747,0.014936958,0.016509132,0.018081266,0.019653356,0.021225395,0.022797383,0.024369314,0.025941186,0.027512992,0.02908473,0.030656397,0.03222799,0.0337995,0.035370927,0.03694227,0.038513515,0.04008467,0.041655727,0.043226678,0.04479752,0.04636826,0.047938876,0.04950938,0.051079754,0.05265001,0.05422013,0.05579012,0.057359967,0.058929678,0.06049924,0.062068652,0.06363791,0.06520701,0.066775955,0.068344735,0.06991334,0.07148177,0.07305003,0.07461811,0.076186,0.0777537,0.07932121,0.08088853,0.08245565,0.08402255,0.08558926,0.08715575,0.088722035,0.09028809,0.091853924,0.09341953,0.09498491,0.096550055,0.09811495,0.09967961,0.101244025,0.10280819,0.1043721,0.10593575,0.10749914,0.10906227,0.11062512,0.1121877,0.11375,0.115312025,0.116873756,0.118435204,0.11999636,0.12155722,0.123117775,0.12467803,0.12623797,0.12779762,0.12935694,0.13091592,0.13247459,0.13403293,0.13559096,0.13714863,0.13870598,0.14026298,0.14181963,0.14337593,0.14493187,0.14648746,0.14804268,0.14959754,0.15115203,0.15270615,0.15425989,0.15581325,0.15736622,0.1589188,0.16047098,0.16202277,0.16357417,0.16512516,0.16667575,0.16822591,0.16977566,0.17132498,0.1728739,0.17442237,0.17597042,0.17751804,0.17906521,0.18061195,0.18215825,0.18370406,0.18524945,0.18679437,0.18833883,0.18988283,0.19142637,0.19296943,0.194512,0.19605409,0.1975957,0.19913682,0.20067745,0.20221758,0.20375723,0.20529635,0.20683497,0.20837308,0.20991068,0.21144776,0.21298431,0.21452034,0.21605584,0.21759081,0.21912523,0.22065912,0.22219244,0.22372523,0.22525747,0.22678915,0.22832027,0.22985083,0.2313808,0.23291023,0.23443905,0.23596731,0.23749499,0.23902208,0.24054857,0.24207447,0.24359979,0.24512449,0.24664856,0.24817206,0.24969494,0.2512172,0.2527388,0.2542598,0.2557802,0.25729993,0.25881904,0.26033753,0.26185536,0.26337254,0.26488906,0.26640496,0.26792017,0.26943472,0.2709486,0.27246183,0.27397436,0.27548623,0.27699742,0.2785079,0.2800177,0.28152683,0.28303525,0.28454298,0.28605,0.28755632,0.2890619,0.2905668,0.29207098,0.29357442,0.29507715,0.29657915,0.29808038,0.29958093,0.3010807,0.3025797,0.304078,0.30557555,0.3070723,0.30856836,0.3100636,0.3115581,0.31305182,0.31454477,0.31603694,0.31752834,0.31901893,0.32050875,0.3219978,0.323486,0.32497343,0.32646006,0.32794586,0.32943085,0.33091506,0.3323984,0.333881,0.3353627,0.3368436,0.33832365,0.3398029,0.3412813,0.34275883,0.34423554,0.34571138,0.34718636,0.3486605,0.35013378,0.35160616,0.35307768,0.35454834,0.35601813,0.35748705,0.35895506,0.3604222,0.36188844,0.3633538,0.36481825,0.36628178,0.36774445,0.36920616,0.37066698,0.3721269,0.37358588,0.37504393,0.37650105,0.37795725,0.37941253,0.38086686,0.38232026,0.3837727,0.3852242,0.38667473,0.38812432,0.38957295,0.3910206,0.3924673,0.39391303,0.3953578,0.39680156,0.39824435,0.39968613,0.40112695,0.4025668,0.40400562,0.40544346,0.4068803,0.4083161,0.40975094,0.41118476,0.41261753,0.4140493,0.41548005,0.41690975,0.41833845,0.4197661,0.4211927,0.42261827,0.4240428,0.42546627,0.4268887,0.42831007,0.4297304,0.43114963,0.43256783,0.43398494,0.435401,0.43681595,0.43822983,0.43964264,0.44105434,0.44246498,0.4438745,0.44528294,0.44669026,0.44809648,0.4495016,0.45090562,0.4523085,0.4537103,0.45511094,0.45651048,0.45790887,0.45930615,0.46070227,0.4620973,0.46349114,0.46488383,0.4662754,0.4676658,0.46905503,0.4704431,0.47183004,0.4732158,0.47460037,0.4759838,0.47736603,0.4787471,0.480127,0.48150563,0.48288313,0.48425943,0.48563454,0.48700845,0.48838115,0.48975265,0.49112293,0.492492,0.49385983,0.49522647,0.49659187,0.49795607,0.499319,0.5006807,0.50204116,0.50340044,0.5047584,0.50611514,0.50747067,0.5088249,0.51017785,0.51152956,0.51288,0.5142292,0.51557714,0.5169237,0.5182691,0.5196132,0.520956,0.5222975,0.5236377,0.52497655,0.5263142,0.52765054,0.5289855,0.5303192,0.5316516,0.5329827,0.5343125,0.5356409,0.53696805,0.53829384,0.5396183,0.5409414,0.5422632,0.54358363,0.54490274,0.54622054,0.5475369,0.54885197,0.55016565,0.551478,0.552789,0.5540986,0.5554068,0.5567137,0.55801916,0.5593233,0.56062603,0.5619273,0.5632273,0.56452584,0.565823,0.56711876,0.5684131,0.569706,0.5709976,0.57228774,0.57357645,0.57486373,0.57614964,0.57743406,0.5787171,0.5799987,0.58127886,0.58255756,0.5838349,0.5851107,0.58638513,0.58765805,0.58892953,0.5901996,0.59146816,0.5927353,0.59400094,0.5952651,0.5965278,0.59778905,0.5990488,0.6003071,0.6015639,0.6028192,0.604073,0.60532534,0.60657614,0.60782546,0.6090733,0.61031955,0.61156434,0.61280763,0.61404943,0.6152897,0.61652845,0.61776567,0.6190013,0.6202355,0.6214681,0.6226992,0.6239288,0.62515676,0.62638324,0.6276081,0.6288315,0.6300533,0.63127357,0.63249224,0.6337094,0.6349249,0.6361389,0.63735133,0.63856214,0.6397714,0.6409791,0.6421852,0.6433897,0.6445926,0.6457939,0.64699364,0.64819175,0.6493883,0.65058315,0.6517765,0.65296817,0.65415823,0.65534675,0.6565336,0.6577188,0.6589024,0.66008437,0.6612647,0.6624434,0.6636205,0.6647959,0.66596967,0.6671418,0.66831225,0.6694811,0.6706483,0.6718138,0.6729776,0.67413986,0.67530036,0.6764592,0.6776164,0.6787719,0.67992574,0.6810779,0.6822283,0.68337715,0.68452424,0.6856696,0.6868133,0.6879553,0.68909556,0.6902342,0.6913711,0.69250625,0.6936397,0.69477147,0.6959015,0.6970298,0.6981564,0.6992813,0.7004044,0.7015258,0.7026455,0.7037634,0.70487964,0.70599407,0.70710677],"x":[-0.7853982,-0.7838258,-0.78225344,-0.7806811,-0.7791087,-0.77753633,-0.77596396,-0.7743916,-0.7728192,-0.77124685,-0.7696745,-0.7681021,-0.76652974,-0.76495737,-0.763385,-0.7618126,-0.76024026,-0.7586679,-0.7570955,-0.75552315,-0.7539508,-0.7523784,-0.75080603,-0.74923366,-0.7476613,-0.7460889,-0.74451655,-0.7429442,-0.7413718,-0.7397995,-0.7382271,-0.73665476,-0.7350824,-0.73351,-0.73193765,-0.7303653,-0.7287929,-0.72722054,-0.72564816,-0.7240758,-0.7225034,-0.72093105,-0.7193587,-0.7177863,-0.71621394,-0.7146416,-0.7130692,-0.71149683,-0.70992446,-0.7083521,-0.7067797,-0.70520735,-0.703635,-0.7020626,-0.70049024,-0.69891787,-0.6973455,-0.6957731,-0.69420075,-0.6926284,-0.691056,-0.68948364,-0.68791133,-0.68633896,-0.6847666,-0.6831942,-0.68162185,-0.6800495,-0.6784771,-0.67690474,-0.67533237,-0.67376,-0.6721876,-0.67061526,-0.6690429,-0.6674705,-0.66589814,-0.6643258,-0.6627534,-0.66118103,-0.65960866,-0.6580363,-0.6564639,-0.65489155,-0.6533192,-0.6517468,-0.65017444,-0.64860207,-0.6470297,-0.6454573,-0.64388496,-0.6423126,-0.6407402,-0.63916785,-0.6375955,-0.63602316,-0.6344508,-0.6328784,-0.63130605,-0.6297337,-0.6281613,-0.62658894,-0.62501657,-0.6234442,-0.6218718,-0.62029946,-0.6187271,-0.6171547,-0.61558235,-0.61401,-0.6124376,-0.61086524,-0.60929286,-0.6077205,-0.6061481,-0.60457575,-0.6030034,-0.601431,-0.59985864,-0.5982863,-0.5967139,-0.59514153,-0.59356916,-0.5919968,-0.5904244,-0.58885205,-0.5872797,-0.5857073,-0.584135,-0.5825626,-0.58099025,-0.5794179,-0.5778455,-0.57627314,-0.5747008,-0.5731284,-0.57155603,-0.56998366,-0.5684113,-0.5668389,-0.56526655,-0.5636942,-0.5621218,-0.56054944,-0.55897707,-0.5574047,-0.5558323,-0.55425996,-0.5526876,-0.5511152,-0.54954284,-0.5479705,-0.5463981,-0.54482573,-0.54325336,-0.541681,-0.5401086,-0.53853625,-0.5369639,-0.5353915,-0.53381914,-0.5322468,-0.53067446,-0.5291021,-0.5275297,-0.52595735,-0.524385,-0.5228126,-0.52124023,-0.51966786,-0.5180955,-0.5165231,-0.51495075,-0.5133784,-0.511806,-0.51023364,-0.50866127,-0.5070889,-0.5055165,-0.50394416,-0.5023718,-0.5007994,-0.49922705,-0.49765468,-0.4960823,-0.49450997,-0.4929376,-0.49136522,-0.48979285,-0.48822048,-0.4866481,-0.48507574,-0.48350337,-0.481931,-0.48035863,-0.47878626,-0.4772139,-0.47564152,-0.47406915,-0.47249678,-0.4709244,-0.46935204,-0.4677797,-0.46620733,-0.46463495,-0.46306258,-0.4614902,-0.45991784,-0.45834547,-0.4567731,-0.45520073,-0.45362836,-0.452056,-0.45048362,-0.44891125,-0.44733888,-0.4457665,-0.44419414,-0.4426218,-0.44104943,-0.43947706,-0.4379047,-0.43633232,-0.43475994,-0.43318757,-0.4316152,-0.43004283,-0.42847046,-0.4268981,-0.42532572,-0.42375335,-0.42218098,-0.4206086,-0.41903624,-0.41746387,-0.41589153,-0.41431916,-0.4127468,-0.41117442,-0.40960205,-0.40802968,-0.4064573,-0.40488493,-0.40331256,-0.4017402,-0.40016782,-0.39859545,-0.39702308,-0.3954507,-0.39387834,-0.39230597,-0.39073363,-0.38916126,-0.3875889,-0.38601652,-0.38444415,-0.38287178,-0.3812994,-0.37972704,-0.37815467,-0.3765823,-0.37500992,-0.37343755,-0.37186518,-0.3702928,-0.36872044,-0.36714807,-0.3655757,-0.36400336,-0.362431,-0.36085862,-0.35928625,-0.35771388,-0.3561415,-0.35456914,-0.35299677,-0.3514244,-0.34985203,-0.34827965,-0.34670728,-0.3451349,-0.34356254,-0.34199017,-0.3404178,-0.33884546,-0.3372731,-0.33570072,-0.33412835,-0.33255598,-0.3309836,-0.32941124,-0.32783887,-0.3262665,-0.32469413,-0.32312176,-0.3215494,-0.31997702,-0.31840464,-0.31683227,-0.3152599,-0.31368756,-0.3121152,-0.31054282,-0.30897045,-0.30739808,-0.3058257,-0.30425334,-0.30268097,-0.3011086,-0.29953623,-0.29796386,-0.2963915,-0.29481912,-0.29324675,-0.29167438,-0.290102,-0.28852963,-0.2869573,-0.28538492,-0.28381255,-0.28224018,-0.2806678,-0.27909544,-0.27752307,-0.2759507,-0.27437833,-0.27280596,-0.2712336,-0.26966122,-0.26808885,-0.26651648,-0.2649441,-0.26337174,-0.2617994,-0.26022702,-0.25865465,-0.25708228,-0.2555099,-0.25393754,-0.25236517,-0.2507928,-0.24922043,-0.24764806,-0.24607569,-0.24450332,-0.24293095,-0.2413586,-0.23978622,-0.23821385,-0.23664148,-0.23506911,-0.23349674,-0.23192437,-0.230352,-0.22877964,-0.22720727,-0.2256349,-0.22406253,-0.22249016,-0.22091779,-0.21934542,-0.21777305,-0.2162007,-0.21462832,-0.21305595,-0.21148358,-0.20991121,-0.20833884,-0.20676647,-0.2051941,-0.20362175,-0.20204937,-0.200477,-0.19890463,-0.19733226,-0.19575989,-0.19418752,-0.19261515,-0.19104278,-0.18947043,-0.18789805,-0.18632568,-0.18475331,-0.18318094,-0.18160857,-0.1800362,-0.17846383,-0.17689148,-0.1753191,-0.17374673,-0.17217436,-0.170602,-0.16902962,-0.16745725,-0.16588488,-0.16431253,-0.16274016,-0.16116779,-0.15959541,-0.15802304,-0.15645067,-0.1548783,-0.15330593,-0.15173358,-0.1501612,-0.14858884,-0.14701647,-0.1454441,-0.14387172,-0.14229935,-0.14072698,-0.13915463,-0.13758226,-0.13600989,-0.13443752,-0.13286515,-0.13129278,-0.1297204,-0.12814803,-0.12657566,-0.12500331,-0.12343093,-0.12185857,-0.1202862,-0.118713826,-0.117141455,-0.11556909,-0.11399672,-0.11242435,-0.11085198,-0.10927962,-0.10770725,-0.10613488,-0.104562506,-0.10299014,-0.10141777,-0.0998454,-0.09827303,-0.09670067,-0.0951283,-0.09355593,-0.09198356,-0.09041119,-0.08883882,-0.08726645,-0.08569408,-0.08412172,-0.08254935,-0.08097698,-0.07940461,-0.07783224,-0.076259874,-0.0746875,-0.07311513,-0.07154276,-0.0699704,-0.06839803,-0.06682566,-0.06525329,-0.063680924,-0.062108554,-0.060536183,-0.058963817,-0.057391446,-0.05581908,-0.05424671,-0.052674342,-0.05110197,-0.049529605,-0.047957234,-0.046384867,-0.044812497,-0.04324013,-0.04166776,-0.040095393,-0.038523022,-0.036950655,-0.035378285,-0.033805918,-0.032233547,-0.030661179,-0.02908881,-0.027516441,-0.025944073,-0.024371704,-0.022799335,-0.021226967,-0.019654598,-0.01808223,-0.01650986,-0.014937492,-0.013365123,-0.011792755,-0.010220386,-0.008648017,-0.0070756483,-0.0055032796,-0.003930911,-0.002358542,-0.00078617345,0.0007861953,0.002358564,0.003930933,0.0055033015,0.00707567,0.008648039,0.0102204075,0.011792776,0.013365145,0.0149375135,0.016509883,0.018082252,0.01965462,0.02122699,0.022799358,0.024371726,0.025944095,0.027516464,0.029088832,0.030661201,0.03223357,0.033805937,0.035378307,0.036950678,0.038523044,0.040095415,0.04166778,0.043240152,0.04481252,0.04638489,0.047957256,0.049529627,0.051101994,0.052674364,0.05424673,0.0558191,0.05739147,0.05896384,0.060536206,0.062108576,0.06368095,0.06525331,0.06682568,0.06839805,0.06997042,0.071542785,0.073115155,0.074687526,0.076259896,0.07783226,0.07940463,0.080977,0.08254937,0.084121734,0.085694104,0.087266475,0.088838845,0.09041121,0.09198358,0.09355595,0.09512832,0.09670069,0.098273054,0.099845424,0.101417795,0.102990165,0.10456253,0.1061349,0.10770727,0.10927964,0.110852,0.11242437,0.113996744,0.115569115,0.11714148,0.11871385,0.12028622,0.12185859,0.12343095,0.12500332,0.1265757,0.12814806,0.12972043,0.1312928,0.13286516,0.13443753,0.1360099,0.13758227,0.13915464,0.14072701,0.14229938,0.14387175,0.14544411,0.14701648,0.14858885,0.15016122,0.15173359,0.15330596,0.15487833,0.1564507,0.15802307,0.15959543,0.1611678,0.16274017,0.16431254,0.16588491,0.16745728,0.16902965,0.17060202,0.17217438,0.17374675,0.17531912,0.17689149,0.17846386,0.18003623,0.1816086,0.18318097,0.18475333,0.1863257,0.18789807,0.18947044,0.19104281,0.19261518,0.19418755,0.19575992,0.19733228,0.19890465,0.20047702,0.20204939,0.20362176,0.20519413,0.2067665,0.20833887,0.20991124,0.2114836,0.21305597,0.21462834,0.21620071,0.21777308,0.21934545,0.22091782,0.22249019,0.22406255,0.22563492,0.22720729,0.22877966,0.23035203,0.2319244,0.23349677,0.23506914,0.2366415,0.23821387,0.23978624,0.24135861,0.24293098,0.24450335,0.24607572,0.24764809,0.24922045,0.25079283,0.2523652,0.25393757,0.2555099,0.25708228,0.25865465,0.26022702,0.2617994,0.26337177,0.26494414,0.2665165,0.26808888,0.26966125,0.27123362,0.272806,0.27437836,0.27595073,0.2775231,0.27909547,0.28066784,0.28224018,0.28381255,0.28538492,0.2869573,0.28852966,0.29010203,0.2916744,0.29324678,0.29481915,0.29639152,0.2979639,0.29953626,0.30110863,0.302681,0.30425337,0.30582574,0.30739808,0.30897045,0.31054282,0.3121152,0.31368756,0.31525993,0.3168323,0.31840467,0.31997705,0.32154942,0.3231218,0.32469416,0.32626653,0.3278389,0.32941127,0.33098364,0.332556,0.33412835,0.33570072,0.3372731,0.33884546,0.34041783,0.3419902,0.34356257,0.34513494,0.3467073,0.34827968,0.34985206,0.35142443,0.3529968,0.35456917,0.35614154,0.3577139,0.35928625,0.36085862,0.362431,0.36400336,0.36557573,0.3671481,0.36872047,0.37029284,0.3718652,0.37343758,0.37500995,0.37658232,0.3781547,0.37972707,0.38129944,0.3828718,0.38444418,0.38601652,0.3875889,0.38916126,0.39073363,0.392306,0.39387837,0.39545074,0.3970231,0.39859548,0.40016785,0.40174022,0.4033126,0.40488496,0.40645733,0.4080297,0.40960208,0.41117442,0.4127468,0.41431916,0.41589153,0.4174639,0.41903627,0.42060864,0.422181,0.42375338,0.42532575,0.42689812,0.4284705,0.43004286,0.43161523,0.4331876,0.43475997,0.43633232,0.4379047,0.43947706,0.44104943,0.4426218,0.44419417,0.44576654,0.4473389,0.44891128,0.45048365,0.45205602,0.4536284,0.45520076,0.45677313,0.4583455,0.45991787,0.46149024,0.46306258,0.46463495,0.46620733,0.4677797,0.46935207,0.47092444,0.4724968,0.47406918,0.47564155,0.47721392,0.4787863,0.48035866,0.48193103,0.4835034,0.48507577,0.48664814,0.48822048,0.48979285,0.49136522,0.4929376,0.49450997,0.49608234,0.4976547,0.49922708,0.5007995,0.5023718,0.50394416,0.5055165,0.5070889,0.50866127,0.51023364,0.511806,0.5133784,0.51495075,0.5165231,0.5180955,0.51966786,0.52124023,0.5228126,0.524385,0.52595735,0.5275297,0.5291021,0.53067446,0.5322468,0.5338192,0.53539157,0.53696394,0.5385363,0.5401087,0.54168105,0.5432534,0.5448258,0.54639816,0.54797053,0.5495429,0.5511153,0.5526876,0.55425996,0.5558323,0.5574047,0.55897707,0.56054944,0.5621218,0.5636942,0.56526655,0.5668389,0.5684113,0.56998366,0.57155603,0.5731284,0.5747008,0.57627314,0.5778455,0.5794179,0.58099025,0.5825626,0.584135,0.58570737,0.58727974,0.5888521,0.5904245,0.59199685,0.5935692,0.5951416,0.59671396,0.59828633,0.5998587,0.6014311,0.60300344,0.60457575,0.6061481,0.6077205,0.60929286,0.61086524,0.6124376,0.61401,0.61558235,0.6171547,0.6187271,0.62029946,0.6218718,0.6234442,0.62501657,0.62658894,0.6281613,0.6297337,0.63130605,0.6328784,0.6344508,0.63602316,0.63759553,0.6391679,0.6407403,0.64231265,0.643885,0.6454574,0.64702976,0.6486021,0.6501745,0.65174687,0.65331924,0.6548916,0.6564639,0.6580363,0.65960866,0.66118103,0.6627534,0.6643258,0.66589814,0.6674705,0.6690429,0.67061526,0.6721876,0.67376,0.67533237,0.67690474,0.6784771,0.6800495,0.68162185,0.6831942,0.6847666,0.68633896,0.68791133,0.6894837,0.6910561,0.69262844,0.6942008,0.6957732,0.69734555,0.6989179,0.7004903,0.70206267,0.70363504,0.7052074,0.7067798,0.7083521,0.70992446,0.71149683,0.7130692,0.7146416,0.71621394,0.7177863,0.7193587,0.72093105,0.7225034,0.7240758,0.72564816,0.72722054,0.7287929,0.7303653,0.73193765,0.73351,0.7350824,0.73665476,0.7382271,0.7397995,0.74137187,0.74294424,0.7445166,0.746089,0.74766135,0.7492337,0.7508061,0.75237846,0.75395083,0.7555232,0.7570956,0.75866795,0.76024026,0.7618126,0.763385,0.76495737,0.76652974,0.7681021,0.7696745,0.77124685,0.7728192,0.7743916,0.77596396,0.77753633,0.7791087,0.7806811,0.78225344,0.7838258,0.7853982]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js new file mode 100644 index 000000000000..6e68cc811ceb --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js @@ -0,0 +1,201 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var rempio2 = require( '@stdlib/math/base/special/rempio2' ); +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); +var absf = require( '@stdlib/math/base/special/absf' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var kernelSinf = require( './../lib' ); + + +// FIXTURES // + +var smallRange = require( './fixtures/julia/small_range.json' ); +var largePositive = require( './fixtures/julia/large_positive.json' ); +var largeNegative = require( './fixtures/julia/large_negative.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof kernelSinf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN` for either parameter', function test( t ) { + var v = kernelSinf( NaN, 0.0 ); + t.equal( isnanf( v ), true, 'returns expected value' ); + + v = kernelSinf( 4.0, NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + + v = kernelSinf( NaN, NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function evaluates the sine for input values on the interval `[-pi/4, pi/4]`', function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var i; + + values = smallRange.x; + expected = smallRange.expected; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + out = kernelSinf( x, 0.0 ); + expected[ i ] = float64ToFloat32( expected[ i ] ); + + if( out === expected[i] ) { + t.strictEqual( out, expected[i], 'returns explected value' ); + } + else { + delta = absf( out - expected[ i ] ); + tol = EPS * absf(expected[ i ]); + + t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); + } + } + t.end(); +}); + +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (positive)', function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var y; + var n; + var i; + + values = largePositive.x; + expected = largePositive.expected; + y = [ 0.0, 0.0 ]; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + n = rempio2( x, y ); + + y[0] = float64ToFloat32(y[0]); + y[1] = float64ToFloat32(y[1]); + + expected[i] = float64ToFloat32(expected[i]); + + switch ( n & 3 ) { + case 0: + out = kernelSinf( y[ 0 ], y[ 1 ] ); + + if ( out === expected[i] ) { + t.strictEqual( out, expected[i], 'returns expected value' ); + } + else { + delta = absf(out - expected[i]); + tol = EPS * absf(expected[i]); + + t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); + } + break; + case 2: + out = -kernelSinf( y[ 0 ], y[ 1 ] ); + out = float64ToFloat32(out); // Ensure single precision + + if ( out === expected[i] ) { + t.strictEqual( out, expected[i], 'returns expected value' ); + } + else { + delta = absf(out - expected[i]); + tol = EPS * absf(expected[i]); + + t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); + } + break; + default: + break; + } + } + t.end(); +}); + +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (negative)', function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var y; + var n; + var i; + + values = largeNegative.x; + expected = largeNegative.expected; + y = [ 0.0, 0.0 ]; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + n = rempio2( x, y ); + + y[0] = float64ToFloat32(y[0]); + y[1] = float64ToFloat32(y[1]); + expected[i] = float64ToFloat32(expected[i]); + + switch ( n & 3 ) { + case 0: + out = kernelSinf( y[ 0 ], y[ 1 ] ); + + if ( out === expected[i] ) { + t.strictEqual( out, expected[i], 'returns expected value' ); + } + else { + delta = absf(out - expected[i]); + tol = EPS * absf(expected[i]); + + t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); + } + break; + case 2: + out = -kernelSinf( y[ 0 ], y[ 1 ] ); + out = float64ToFloat32(out); // Ensure single precision + + if ( out === expected[i] ) { + t.strictEqual( out, expected[i], 'returns expected value' ); + } + else { + delta = absf(out - expected[i]); + tol = EPS * absf(expected[i]); + + t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); + } + break; + default: + break; + } + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js new file mode 100644 index 000000000000..8f14db15a376 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js @@ -0,0 +1,201 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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 rempio2 = require( '@stdlib/math/base/special/rempio2' ); +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); +var absf = require( '@stdlib/math/base/special/absf' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// VARIABLES // + +var kernelSinf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( kernelSinf instanceof Error ) +}; + +// FIXTURES // + +var smallRange = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json' ); +var largePositive = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json' ); +var largeNegative = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json' ); + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof kernelSinf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN` for either parameter', opts, function test( t ) { + var v = kernelSinf( NaN, 0.0 ); + t.equal( isnanf( v ), true, 'returns expected value' ); + + v = kernelSinf( 4.0, NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + + v = kernelSinf( NaN, NaN ); + t.equal( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function evaluates the sine for input values on the interval `[-pi/4, pi/4]`', opts, function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var i; + + values = smallRange.x; + expected = smallRange.expected; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + out = kernelSinf( x, 0.0 ); + expected[ i ] = float64ToFloat32( expected[ i ] ); + if ( out === expected[ i ] ) { + t.strictEqual( out, expected[ i ], 'returns expected value' ); + } else { + delta = absf( out - expected[ i ] ); + + // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + } + t.end(); +}); + +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (positive)', opts, function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var y; + var n; + var i; + + values = largePositive.x; + expected = largePositive.expected; + y = [ 0.0, 0.0 ]; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + n = rempio2( x, y ); + + y[0] = float64ToFloat32(y[0]); + y[1] = float64ToFloat32(y[1]); + expected[i] = float64ToFloat32(expected[i]); + switch ( n & 3 ) { + case 0: + out = kernelSinf( y[ 0 ], y[ 1 ] ); + if ( out === expected[ i ] ) { + t.strictEqual( out, expected[ i ], 'returns expected value' ); + } else { + delta = absf( out - expected[ i ] ); + + // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + break; + case 2: + out = -kernelSinf( y[ 0 ], y[ 1 ] ); + out = float64ToFloat32( out ); + if ( out === expected[ i ] ) { + t.strictEqual( out, expected[ i ], 'returns expected value' ); + } else { + delta = absf( out - expected[ i ] ); + + // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + break; + default: + break; + } + } + t.end(); +}); + +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (negative)', opts, function test( t ) { + var expected; + var values; + var delta; + var tol; + var out; + var x; + var y; + var n; + var i; + + values = largeNegative.x; + expected = largeNegative.expected; + y = [ 0.0, 0.0 ]; + for ( i = 0; i < values.length; i++ ) { + x = float64ToFloat32(values[ i ]); + n = rempio2( x, y ); + + y[0] = float64ToFloat32(y[0]); + y[1] = float64ToFloat32(y[1]); + expected[i] = float64ToFloat32(expected[i]); + switch ( n & 3 ) { + case 0: + out = kernelSinf( y[ 0 ], y[ 1 ] ); + if ( out === expected[ i ] ) { + t.strictEqual( out, expected[ i ], 'returns expected value' ); + } else { + delta = absf( out - expected[ i ] ); + + // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + break; + case 2: + out = -kernelSinf( y[ 0 ], y[ 1 ] ); + out = float64ToFloat32( out ); + if ( out === expected[ i ] ) { + t.strictEqual( out, expected[ i ], 'returns expected value' ); + } else { + delta = absf( out - expected[ i ] ); + + // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 + tol = 2.0 * EPS * absf( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); + } + break; + default: + break; + } + } + t.end(); +}); From c9868cbaf26ef66b8d679f69dec91535891978fb Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Tue, 29 Apr 2025 19:56:13 +0000 Subject: [PATCH 2/8] chore: update copyright years --- .../@stdlib/math/base/special/kernel-sinf/README.md | 2 +- .../math/base/special/kernel-sinf/benchmark/benchmark.js | 2 +- .../math/base/special/kernel-sinf/benchmark/benchmark.native.js | 2 +- .../math/base/special/kernel-sinf/benchmark/c/native/Makefile | 2 +- .../base/special/kernel-sinf/benchmark/c/native/benchmark.c | 2 +- .../@stdlib/math/base/special/kernel-sinf/binding.gyp | 2 +- .../@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts | 2 +- .../@stdlib/math/base/special/kernel-sinf/docs/types/test.ts | 2 +- .../@stdlib/math/base/special/kernel-sinf/examples/c/Makefile | 2 +- .../@stdlib/math/base/special/kernel-sinf/examples/c/example.c | 2 +- .../@stdlib/math/base/special/kernel-sinf/examples/index.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/include.gypi | 2 +- .../kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/index.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/main.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/native.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/src/Makefile | 2 +- .../@stdlib/math/base/special/kernel-sinf/src/addon.c | 2 +- .../@stdlib/math/base/special/kernel-sinf/src/main.c | 2 +- .../@stdlib/math/base/special/kernel-sinf/test/test.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/test/test.native.js | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index 9cccd554f3ad..19cfe0ed9f4a 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2022 The Stdlib Authors. +Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js index 454658c57fcc..84bdc8cc534e 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js index 90949cbb3311..fb28d794b578 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile index d6b58c7f5d3e..a4bd7b38fd74 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c index 7f769075cc94..7c6438f5a897 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp index 1058b57bab16..68a1ca11d160 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/binding.gyp @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts index 237be0eebb8d..2bde442fa9fd 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2019 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts index a359e60c466a..2a1194cf950d 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2019 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile index 91d364d19fc3..25ced822f96a 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c index 2949593f5642..3c7f7987a0d6 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js index 601bb80ffe50..0c392407cea2 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi index 3b437d524797..ecfaf82a3279 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include.gypi @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h index 8bfc79f926d7..d37cb4c082be 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js index e0d86ac220f7..4ac9fe8581d8 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js index 5bf3930538c5..7cd7dbeb382c 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js index c00690266a86..3fa22d004474 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile index f79b87238713..7733b6180cb4 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c index f57ae4e8edc8..0db43cf2bd21 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c index 191a6ebccb25..6852e91e4828 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js index 6e68cc811ceb..4045b855d149 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js index 8f14db15a376..71564a54eac9 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2025 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. From 85195f503c2aaf2fd2a5d497ef1201062978eb6d Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Tue, 3 Jun 2025 18:35:39 -0700 Subject: [PATCH 3/8] feat: add `math/base/special/kernel-sinf` --- 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: 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: passed - task: lint_c_examples status: passed - task: lint_c_benchmarks status: passed - 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/kernel-sinf/README.md | 93 +++---------- .../kernel-sinf/benchmark/benchmark.js | 9 +- .../kernel-sinf/benchmark/benchmark.native.js | 13 +- .../kernel-sinf/benchmark/c/native/Makefile | 28 ++-- .../benchmark/c/native/benchmark.c | 13 +- .../img/equation_double_double_inequality.svg | 37 ----- .../base/special/kernel-sinf/docs/repl.txt | 31 ++--- .../special/kernel-sinf/docs/types/index.d.ts | 28 ++-- .../special/kernel-sinf/docs/types/test.ts | 32 ++--- .../special/kernel-sinf/examples/c/example.c | 17 +-- .../special/kernel-sinf/examples/index.js | 8 +- .../stdlib/math/base/special/kernel_sinf.h | 2 +- .../base/special/kernel-sinf/lib/index.js | 18 +-- .../math/base/special/kernel-sinf/lib/main.js | 100 +++----------- .../base/special/kernel-sinf/lib/native.js | 27 ++-- .../special/kernel-sinf/lib/polyval_s12.js | 47 +++++++ .../special/kernel-sinf/lib/polyval_s34.js | 47 +++++++ .../base/special/kernel-sinf/manifest.json | 2 +- .../special/kernel-sinf/scripts/evalpoly.js | 130 ++++++++++++++++++ .../math/base/special/kernel-sinf/src/addon.c | 5 +- .../math/base/special/kernel-sinf/src/main.c | 97 +++++++------ .../test/fixtures/julia/large_negative.json | 2 +- .../test/fixtures/julia/large_positive.json | 2 +- .../kernel-sinf/test/fixtures/julia/runner.jl | 8 +- .../test/fixtures/julia/small_range.json | 2 +- .../base/special/kernel-sinf/test/test.js | 122 ++++------------ .../special/kernel-sinf/test/test.native.js | 121 ++++------------ 27 files changed, 459 insertions(+), 582 deletions(-) delete mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s12.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s34.js create mode 100644 lib/node_modules/@stdlib/math/base/special/kernel-sinf/scripts/evalpoly.js mode change 100644 => 100755 lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index 19cfe0ed9f4a..2e715379d72a 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -8,7 +8,7 @@ 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 + 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, @@ -35,22 +35,16 @@ var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. ```javascript -var v = kernelSinf( 0.0, 0.0 ); +var v = kernelSinf( 0.0 ); // returns ~0.0 -v = kernelSinf( 3.14159/6.0, 0.0 ); +v = kernelSinf( 3.141592653589793/6.0 ); // returns ~0.5 -v = kernelSinf( 0.619, 9.279e-10 ); -// returns ~0.58 +v = kernelSinf( 0.619 ); +// returns ~0.580 -v = kernelSinf( NaN, 0.0 ); -// returns NaN - -v = kernelSinf( 3.0, NaN ); -// returns NaN - -v = kernelSinf( NaN, NaN ); +v = kernelSinf( NaN ); // returns NaN ``` @@ -58,29 +52,6 @@ v = kernelSinf( NaN, NaN ); -
- -## Notes - -- For increased accuracy, the number for which the [sine][sine] should be evaluated can be supplied as a [single-double number][single-arithmetic] (i.e., a non-evaluated sum of two [single-precision floating-point numbers][ieee754] `x` and `y`). - -- As components of a [single-double number][single-arithmetic], the two [single-precision floating-point numbers][ieee754] `x` and `y` must satisfy - - - -
- Inequality for the two components of a single-double number. -
-
- - - - where `ulp` stands for [units in the last place][ulp]. - -
- - -
## Examples @@ -89,15 +60,13 @@ v = kernelSinf( NaN, NaN ); ```javascript var linspace = require( '@stdlib/array/base/linspace' ); -var PI = require( '@stdlib/constants/float32/pi' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var PI = require( '@stdlib/constants/float64/pi' ); var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); var x = linspace( -PI/4.0, PI/4.0, 100 ); -var i; -for ( i = 0; i < x.length; i++ ) { - console.log( 'sine(%d) = %d', x[ i ], kernelSinf( x[ i ], 0.0 ) ); -} +logEachMap( 'kernelSinf(%0.4f) = %0.4f', x, kernelSinf ); ```
@@ -130,25 +99,24 @@ for ( i = 0; i < x.length; i++ ) { #include "stdlib/math/base/special/kernel_sinf.h" ``` -#### stdlib_base_kernel_sinf( x, y ) +#### stdlib_base_kernel_sinf( x ) Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. ```c -float out = stdlib_base_kernel_sinf( 0.0f, 0.0f ); +float v = stdlib_base_kernel_sinf( 0.0 ); // returns ~0.0f -out = stdlib_base_kernel_sinf( 0.619f, 9.279e-10f ); -// returns ~0.58f +v = stdlib_base_kernel_sinf( 3.141592653589793/6.0 ); +// returns ~0.5f ``` The function accepts the following arguments: -- **x**: `[in] float` input value (in radians, assumed to be bounded by `~pi/4` in magnitude). -- **y**: `[in] float` tail of `x`. +- **x**: `[in] double` input value (in radians, assumed to be bounded by `~pi/4` in magnitude). ```c -float stdlib_base_kernel_sinf( const float x, const float y ); +float stdlib_base_kernel_sinf( const double x ); ``` @@ -159,10 +127,6 @@ float stdlib_base_kernel_sinf( const float x, const float y );
-### Notes - -- For increased accuracy, the number for which the [sine][sine] should be evaluated can be supplied as a [single-double number][single-arithmetic] (i.e., a non-evaluated sum of two [single-precision floating-point numbers][ieee754] `x` and `y`). -
@@ -178,13 +142,13 @@ float stdlib_base_kernel_sinf( const float x, const float y ); #include int main( void ) { - const float x[] = { -0.7853982f, -0.6108652f, -0.4363323f, -0.2617994f, -0.08726646f, 0.08726646f, 0.2617994f, 0.4363323f, 0.6108652f, 0.7853982f }; + const double x[] = { -0.7853981633974483, -0.6108652381980153, -0.4363323129985824, -0.26179938779914946, -0.08726646259971649, 0.08726646259971649, 0.26179938779914935, 0.43633231299858233, 0.6108652381980153, 0.7853981633974483 }; float out; int i; for ( i = 0; i < 10; i++ ) { - out = stdlib_base_kernel_sinf( x[ i ], 0.0f ); - printf ( "x: %f, y: %f, out: %f\n", x[ i ], 0.0f, out ); + out = stdlib_base_kernel_sinf( x[ i ] ); + printf ( "x[ i ]: %lf, out: %f\n", x[ i ], out ); } } ``` @@ -201,15 +165,6 @@ int main( void ) { @@ -220,20 +175,8 @@ int main( void ) { [sine]: https://en.wikipedia.org/wiki/Sine -[single-arithmetic]: https://en.wikipedia.org/wiki/Single-precision_floating-point_format - -[ieee754]: https://en.wikipedia.org/wiki/IEEE_floating_point - -[ulp]: https://en.wikipedia.org/wiki/Unit_in_the_last_place - -[@stdlib/math/base/special/kernel-cos]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/math/base/special/kernel-cos - -[@stdlib/math/base/special/kernel-tan]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/math/base/special/kernel-tan - -[@stdlib/math/base/special/sin]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/math/base/special/sin - diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js index 84bdc8cc534e..ce283c93124c 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.js @@ -21,9 +21,9 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var PI = require( '@stdlib/constants/float32/pi' ); +var PI = require( '@stdlib/constants/float64/pi' ); var pkg = require( './../package.json' ).name; var kernelSinf = require( './../lib' ); @@ -35,10 +35,11 @@ bench( pkg, function benchmark( b ) { var y; var i; + x = uniform( 100, -PI/4.0, PI/4.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu() * PI/2.0 ) - ( PI/4.0 ); - y = kernelSinf( x, 0.0 ); + y = kernelSinf( x[ i%x.length ] ); if ( isnanf( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js index fb28d794b578..4a9ede087ffa 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/benchmark.native.js @@ -22,18 +22,18 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var PI = require( '@stdlib/constants/float32/pi' ); +var PI = require( '@stdlib/constants/float64/pi' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; // VARIABLES // -var kernelSin = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var kernelSinf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); var opts = { - 'skip': ( kernelSin instanceof Error ) + 'skip': ( kernelSinf instanceof Error ) }; @@ -44,10 +44,11 @@ bench( pkg+'::native', opts, function benchmark( b ) { var y; var i; + x = uniform( 100, -PI/4.0, PI/4.0 ); + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu() * PI/2.0 ) - ( PI/4.0 ); - y = kernelSin( x, 0.0 ); + y = kernelSinf( x[ i%x.length ] ); if ( isnanf( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile index a4bd7b38fd74..5d7e79f50788 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/Makefile @@ -88,15 +88,15 @@ c_targets := benchmark.out # RULES # #/ -# Compiles source files. +# Compiles C 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} SOURCE_FILES - list of C source files +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lpthread -lblas`) # @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`) +# @param {string} [C_COMPILER] - C compiler +# @param {string} [CFLAGS] - C compiler flags +# @param {(string|void)} [fPIC] - compiler flag indicating whether to generate position independent code # # @example # make @@ -112,13 +112,13 @@ all: $(c_targets) # 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`) +# @param {string} SOURCE_FILES - list of C source files +# @param {(string|void)} INCLUDE - list of includes (e.g., `-I /foo/bar -I /beep/boop`) +# @param {(string|void)} LIBRARIES - list of libraries (e.g., `-lpthread -lblas`) +# @param {(string|void)} LIBPATH - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} CC - C compiler +# @param {string} CFLAGS - C compiler flags +# @param {(string|void)} fPIC - compiler flag indicating whether to generate position independent code #/ $(c_targets): %.out: %.c $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c index 7c6438f5a897..e143aca8fc79 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/benchmark/c/native/benchmark.c @@ -23,7 +23,7 @@ #include #include -#define NAME "kernel_sin" +#define NAME "kernel_sinf" #define ITERATIONS 1000000 #define REPEATS 3 @@ -91,15 +91,18 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double x; - double z; + double x[ 100 ]; double t; + float z; int i; + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( ( rand_double()*2.0 ) - 1.0 ) * 0.7853981633974483; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( ( rand_double() * 2.0 ) - 1.0 ) * 0.7853981633974483; - z = stdlib_base_kernel_sinf( x, 0.0 ); + z = stdlib_base_kernel_sinf( x[ i%100 ] ); if ( z != z ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg deleted file mode 100644 index 4242f85d160b..000000000000 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/img/equation_double_double_inequality.svg +++ /dev/null @@ -1,37 +0,0 @@ - -StartAbsoluteValue y EndAbsoluteValue less-than-or-equal-to one half u l p left-parenthesis x right-parenthesis - - - \ No newline at end of file diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt index 862f2d75ae02..425c8310e741 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt @@ -1,23 +1,15 @@ -{{alias}}( x, y ) - Computes the sine of a single-precision floating-point number on [-π/4,π/4]. - For increased accuracy, the number for which the sine should be evaluated - can be supplied as a single-double number (i.e., a non-evaluated sum of a - single-precision floating-point number `x` and a single-precision floating-point - number `y`). +{{alias}}( x ) + Computes the sine of a single-precision floating-point number on the + interval [-π/4, π/4]. - The two numbers must satisfy `|y| < 0.5 * ulp( x )`. - - If either argument is `NaN`, the function returns `NaN`. + If provided `NaN`, the function returns `NaN`. Parameters ---------- x: number Input value (in radians). - y: number - Tail of `x`. - Returns ------- out: number @@ -25,19 +17,14 @@ Examples -------- - > var y = {{alias}}( 0.0, 0.0 ) + > var out = {{alias}}( 0.0 ) ~0.0 - > y = {{alias}}( {{alias:@stdlib/constants/float32/pi}}/6.0, 0.0 ) + > out = {{alias}}( {{alias:@stdlib/constants/float64/pi}}/6.0 ) ~0.5 - > y = {{alias}}( 0.619, 9.279e-10 ) - ~0.58 - > y = {{alias}}( NaN, 0.0 ) - NaN - > y = {{alias}}( 2.0, NaN ) - NaN - > y = {{alias}}( NaN, NaN ) + > out = {{alias}}( 0.619 ) + ~0.580 + > out = {{alias}}( NaN ) NaN See Also -------- - diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts index 2bde442fa9fd..4ce7246a7ebc 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts @@ -19,42 +19,32 @@ // TypeScript Version: 4.1 /** -* Computes the sine of a single-precision floating-point number on `[-π/4, π/4]`. +* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). * * ## Notes * -* - For increased accuracy, the number for which the cosine should be evaluated can be supplied as a single-single number (i.e., a non-evaluated sum of two single-precision floating-point numbers `x` and `y`). -* - The two numbers must satisfy `|y| < 0.5 * ulp( x )`. +* - \\( | \sin(x) - s(x) | < 2^{-37.5} \\), where \\( 2^{-37.5} \approx \[ -4.89 \times 10^{-12}, 4.824 \times 10^{-12} \] \\). * -* @param x - input value (in radians, assumed to be bounded by `~pi/4` in magnitude) -* @param y - tail of `x` +* @param x - input value (in radians, assumed to be bounded by ~pi/4 in magnitude) * @returns sine * * @example -* var v = kernelSinf( 0.0, 0.0 ); +* var v = kernelSinf( 0.0 ); * // returns ~0.0 * * @example -* var v = kernelSinf( 3.14159/6.0, 0.0 ); +* var v = kernelSinf( 3.141592653589793/6.0 ); * // returns ~0.5 * * @example -* var v = kernelSinf( 0.619, 9.279e-10 ); -* // returns ~0.58 +* var v = kernelSinf( 0.619 ); +* // returns ~0.580 * * @example -* var v = kernelSinf( NaN, 0.0 ); -* // returns NaN -* -* @example -* var v = kernelSinf( 3.0, NaN ); -* // returns NaN -* -* @example -* var v = kernelSinf( NaN, NaN ); +* var v = kernelSinf( NaN ); * // returns NaN */ -declare function kernelSinf( x: number, y: number ): number; +declare function kernelSinf( x: number ): number; // EXPORTS // diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts index 2a1194cf950d..063e6a0a82e0 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/test.ts @@ -23,34 +23,22 @@ import kernelSinf = require( './index' ); // The function returns a number... { - kernelSinf( 0.5, 0.2 ); // $ExpectType number + kernelSinf( 0.5 ); // $ExpectType number } -// The compiler throws an error if the function is provided values other than two numbers... +// The compiler throws an error if the function is provided a value other than a number... { - kernelSinf( true, 3 ); // $ExpectError - kernelSinf( false, 2 ); // $ExpectError - kernelSinf( '5', 1 ); // $ExpectError - kernelSinf( [], 1 ); // $ExpectError - kernelSinf( {}, 2 ); // $ExpectError - kernelSinf( ( x: number ): number => x, 2 ); // $ExpectError - - kernelSinf( 9, true ); // $ExpectError - kernelSinf( 9, false ); // $ExpectError - kernelSinf( 5, '5' ); // $ExpectError - kernelSinf( 8, [] ); // $ExpectError - kernelSinf( 9, {} ); // $ExpectError - kernelSinf( 8, ( x: number ): number => x ); // $ExpectError - - kernelSinf( [], true ); // $ExpectError - kernelSinf( {}, false ); // $ExpectError - kernelSinf( false, '5' ); // $ExpectError - kernelSinf( {}, [] ); // $ExpectError - kernelSinf( '5', ( x: number ): number => x ); // $ExpectError + kernelSinf( true ); // $ExpectError + kernelSinf( false ); // $ExpectError + kernelSinf( null ); // $ExpectError + kernelSinf( undefined ); // $ExpectError + kernelSinf( '5' ); // $ExpectError + kernelSinf( [] ); // $ExpectError + kernelSinf( {} ); // $ExpectError + kernelSinf( ( x: number ): number => x ); // $ExpectError } // The compiler throws an error if the function is provided insufficient arguments... { kernelSinf(); // $ExpectError - kernelSinf( 0 ); // $ExpectError } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c index 3c7f7987a0d6..63b8de930194 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c @@ -21,23 +21,12 @@ #include int main( void ) { - const float x[] = { - -0.7853982f, - -0.6108652f, - -0.4363323f, - -0.2617994f, - -0.08726646f, - 0.08726646f, - 0.2617994f, - 0.4363323f, - 0.6108652f, - 0.7853982f - }; + const double x[] = { -0.7853981633974483, -0.6108652381980153, -0.4363323129985824, -0.26179938779914946, -0.08726646259971649, 0.08726646259971649, 0.26179938779914935, 0.43633231299858233, 0.6108652381980153, 0.7853981633974483 }; float out; int i; for ( i = 0; i < 10; i++ ) { - out = stdlib_base_kernel_sinf( x[ i ], 0.0f ); - printf ( "x: %f, y: %f, out: %f\n", x[ i ], 0.0f, out ); + out = stdlib_base_kernel_sinf( x[ i ] ); + printf ( "x[ i ]: %lf, out: %f\n", x[ i ], out ); } } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js index 0c392407cea2..fe0fc45b31c4 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/index.js @@ -19,12 +19,10 @@ 'use strict'; var linspace = require( '@stdlib/array/base/linspace' ); -var PI = require( '@stdlib/constants/float32/pi' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var PI = require( '@stdlib/constants/float64/pi' ); var kernelSinf = require( './../lib' ); var x = linspace( -PI/4.0, PI/4.0, 100 ); -var i; -for ( i = 0; i < x.length; i++ ) { - console.log( 'sine(%d) = %d', x[ i ], kernelSinf( x[ i ], 0.0 ) ); -} +logEachMap( 'kernelSinf(%0.4f) = %0.4f', x, kernelSinf ); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h index d37cb4c082be..6dbedfed0385 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h @@ -29,7 +29,7 @@ extern "C" { /** * Computes the sine of a single-precision floating-point number on [-π/4, π/4]. */ -float stdlib_base_kernel_sinf( const float x, const float y ); +float stdlib_base_kernel_sinf( const double x ); #ifdef __cplusplus } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js index 4ac9fe8581d8..28644cb4344e 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js @@ -19,29 +19,23 @@ 'use strict'; /** -* Compute the sine of a number on `[-π/4, π/4]`. +* Compute the sine of a single-precision floating-point number on `[-π/4, π/4]`. * * @module @stdlib/math/base/special/kernel-sinf * * @example * var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); * -* var v = kernelSinf( 0.0, 0.0 ); +* var v = kernelSinf( 0.0 ); * // returns ~0.0 * -* v = kernelSinf( 3.14159/6.0, 0.0 ); +* v = kernelSinf( 3.141592653589793/6.0 ); * // returns ~0.5 * -* v = kernelSinf( 0.619, 9.279e-10 ); -* // returns ~0.581 +* v = kernelSinf( 0.619 ); +* // returns ~0.580 * -* v = kernelSinf( NaN, 0.0 ); -* // returns NaN -* -* v = kernelSinf( 3.0, NaN ); -* // returns NaN -* -* v = kernelSinf( NaN, NaN ); +* v = kernelSinf( NaN ); * // returns NaN */ diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js index 7cd7dbeb382c..ba9fc734fecb 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js @@ -18,7 +18,7 @@ * * ## Notice * -* The following copyright, license, and long comment were part of the original implementation available as part of [FreeBSD]{@link https://svnweb.freebsd.org/base/release/9.3.0/lib/msun/src/k_sin.c}. The implementation follows the original, but has been modified for JavaScript. +* The following copyright, license, and long comment were part of the original implementation available as part of [FreeBSD]{@link https://svnweb.freebsd.org/base/release/12.2.0/lib/msun/src/k_sinf.c}. The implementation follows the original, but has been modified according to project conventions. * * ```text * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -34,110 +34,50 @@ // MODULES // -var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); - -// VARIABLES // - -var S1 = -1.6666667e-01; // 0xBFC55555 -var S2 = 8.3333333e-03; // 0x3F811111 -var S3 = -1.9841270e-04; // 0xBF2A01A0 -var S4 = 2.7557314e-06; // 0x3EC71DE3 -var S5 = -2.5050760e-08; // 0xBE5AE5E6 -var S6 = 1.5896910e-10; // 0x3DE5D93A +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var polyval12 = require( './polyval_s12.js' ); +var polyval34 = require( './polyval_s34.js' ); // MAIN // /** -* Computes the sine on \\( \approx \[-\pi/4, \pi/4] \\) (except on \\(-0\\)), where \\( \pi/4 \approx 0.7854 \\) in single precision. -* -* ## Method -* -* - Since \\( \sin(-x) = -\sin(x) \\), we need only to consider positive \\(x\\). -* -* - Callers must return \\( \sin(-0) = -0 \\) without calling here since our odd polynomial is not evaluated in a way that preserves \\(-0\\). Callers may do the optimization \\( \sin(x) \approx x \\) for tiny \\(x\\). -* -* - \\( \sin(x) \\) is approximated by a polynomial of degree \\(13\\) on \\( \left\[0,\tfrac{pi}{4}\right] \\) -* -* ```tex -* \sin(x) \approx x + S_1 \cdot x^3 + \ldots + S_6 \cdot x^{13} -* ``` -* -* where -* -* ```tex -* \left| \frac{\sin(x)}{x} \left( 1 + S_1 \cdot x + S_2 \cdot x + S_3 \cdot x + S_4 \cdot x + S_5 \cdot x + S_6 \cdot x \right) \right| \le 2^{-58} -* ``` -* -* - We have -* -* ```tex -* \sin(x+y) = \sin(x) + \sin'(x') \cdot y \approx \sin(x) + (1-x*x/2) \cdot y -* ``` +* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). * -* For better accuracy, let +* ## Notes * -* ```tex -* r = x^3 * \left( S_2 + x^2 \cdot \left( S_3 + x^2 * \left( S_4 + x^2 \cdot ( S_5+x^2 \cdot S_6 ) \right) \right) \right) -* ``` +* - \\( | \sin(x) - s(x) | < 2^{-37.5} \\), where \\( 2^{-37.5} \approx \[ -4.89 \times 10^{-12}, 4.824 \times 10^{-12} \] \\). * -* then -* -* ```tex -* \sin(x) = x + \left( S_1 \cdot x + ( x \cdot (r-y/2) + y ) \right) -* ``` -* -* @param {number} x - input value (in radians, assumed to be bounded by `~pi/4` in magnitude) -* @param {number} y - tail of `x` +* @param {number} x - input value (in radians, assumed to be bounded by ~pi/4 in magnitude) * @returns {number} sine * * @example -* var v = kernelSinf( 0.0, 0.0 ); +* var v = kernelSinf( 0.0 ); * // returns ~0.0 * * @example -* var v = kernelSinf( 3.14159/6.0, 0.0 ); +* var v = kernelSinf( 3.141592653589793/6.0 ); * // returns ~0.5 * * @example -* var v = kernelSinf( 0.619, 9.279e-10 ); -* // returns ~0.58 -* -* @example -* var v = kernelSinf( NaN, 0.0 ); -* // returns NaN +* var v = kernelSinf( 0.619 ); +* // returns ~0.580 * * @example -* var v = kernelSinf( 3.0, NaN ); -* // returns NaN -* -* @example -* var v = kernelSinf( NaN, NaN ); +* var v = kernelSinf( NaN ); * // returns NaN */ -function kernelSinf( x, y ) { +function kernelSinf( x ) { var r; - var v; + var s; var w; var z; - z = float64ToFloat32(x * x); - w = float64ToFloat32(z * z); - r = float64ToFloat32(S2 + float64ToFloat32(z * float64ToFloat32(S3 + float64ToFloat32(z*S4)))); - r = float64ToFloat32(r + float64ToFloat32(z * w * float64ToFloat32(S5 + float64ToFloat32(z*S6)))); - v = float64ToFloat32(z * x); - - if ( y === 0.0 ) { - return float64ToFloat32(x + float64ToFloat32(v * float64ToFloat32(S1 + float64ToFloat32(z*r)))); - } - - var temp1 = float64ToFloat32(0.5*y); - var temp2 = float64ToFloat32(v*r); - var temp3 = float64ToFloat32(z*(temp1 - temp2)); - var temp4 = float64ToFloat32(v*S1); - var temp5 = float64ToFloat32((temp3 - y) - temp4); - - return float64ToFloat32(x - temp5); + z = x * x; + w = z * z; + r = polyval34( z ); + s = z * x; + return f32( ( x + ( s * polyval12( z ) ) ) + ( s*w*r ) ); } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js index 3fa22d004474..c0992a35e738 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js @@ -26,39 +26,30 @@ var addon = require( './../src/addon.node' ); // MAIN // /** -* Computes the sine on \\( \approx \[-\pi/4, \pi/4] \\) (except on \\(-0\\)), where \\( \pi/4 \approx 0.7854 \\). +* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). * * @private -* @param {number} x - input value (in radians, assumed to be bounded by `~pi/4` in magnitude) -* @param {number} y - tail of `x` +* @param {number} x - input value (in radians, assumed to be bounded by ~pi/4 in magnitude) * @returns {number} sine * * @example -* var v = kernelSinf( 0.0, 0.0 ); +* var v = kernelSinf( 0.0 ); * // returns ~0.0 * * @example -* var v = kernelSinf( 3.141592653589793/6.0, 0.0 ); +* var v = kernelSinf( 3.141592653589793/6.0 ); * // returns ~0.5 * * @example -* var v = kernelSinf( 0.619, 9.279e-18 ); -* // returns ~0.58 +* var v = kernelSinf( 0.619 ); +* // returns ~0.580 * * @example -* var v = kernelSinf( NaN, 0.0 ); -* // returns NaN -* -* @example -* var v = kernelSinf( 3.0, NaN ); -* // returns NaN -* -* @example -* var v = kernelSinf( NaN, NaN ); +* var v = kernelSinf( NaN ); * // returns NaN */ -function kernelSinf( x, y ) { - return addon( x, y ); +function kernelSinf( x ) { + return addon( x ); } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s12.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s12.js new file mode 100644 index 000000000000..ff40c8d98afd --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s12.js @@ -0,0 +1,47 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 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. +*/ + +/* This is a generated file. Do not edit directly. */ +'use strict'; + +// MAIN // + +/** +* Evaluates a polynomial. +* +* ## Notes +* +* - The implementation uses [Horner's rule][horners-method] for efficient computation. +* +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method +* +* @private +* @param {number} x - value at which to evaluate the polynomial +* @returns {number} evaluated polynomial +*/ +function evalpoly( x ) { + if ( x === 0.0 ) { + return -0.16666666641626524; + } + return -0.16666666641626524 + (x * 0.008333329385889463); +} + + +// EXPORTS // + +module.exports = evalpoly; diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s34.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s34.js new file mode 100644 index 000000000000..44e142f6bec5 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/polyval_s34.js @@ -0,0 +1,47 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 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. +*/ + +/* This is a generated file. Do not edit directly. */ +'use strict'; + +// MAIN // + +/** +* Evaluates a polynomial. +* +* ## Notes +* +* - The implementation uses [Horner's rule][horners-method] for efficient computation. +* +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method +* +* @private +* @param {number} x - value at which to evaluate the polynomial +* @returns {number} evaluated polynomial +*/ +function evalpoly( x ) { + if ( x === 0.0 ) { + return -0.00019839334836096632; + } + return -0.00019839334836096632 + (x * 0.000002718311493989822); +} + + +// EXPORTS // + +module.exports = evalpoly; diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/manifest.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/manifest.json index 1ab1a964ca74..b87acf0506aa 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/manifest.json @@ -36,7 +36,7 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/napi/binary" + "@stdlib/math/base/napi/unary" ] }, { diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/scripts/evalpoly.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/scripts/evalpoly.js new file mode 100644 index 000000000000..a88416e21e13 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/scripts/evalpoly.js @@ -0,0 +1,130 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 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. +*/ + +/* +* This script compiles modules for evaluating polynomial functions. If any polynomial coefficients change, this script should be rerun to update the compiled files. +*/ +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var readFileSync = require( '@stdlib/fs/read-file' ).sync; +var writeFileSync = require( '@stdlib/fs/write-file' ).sync; +var currentYear = require( '@stdlib/time/current-year' ); +var substringBefore = require( '@stdlib/string/substring-before' ); +var substringAfter = require( '@stdlib/string/substring-after' ); +var format = require( '@stdlib/string/format' ); +var licenseHeader = require( '@stdlib/_tools/licenses/header' ); +var compile = require( '@stdlib/math/base/tools/evalpoly-compile' ); +var compileC = require( '@stdlib/math/base/tools/evalpoly-compile-c' ); + + +// VARIABLES // + +// Polynomial coefficients ordered in ascending degree... +var S12 = [ + -0.166666666416265235595, // -0x15555554cbac77.0p-55 + 0.0083333293858894631756 // 0x111110896efbb2.0p-59 +]; +var S34 = [ + -0.000198393348360966317347, // -0x1a00f9e2cae774.0p-65 + 0.0000027183114939898219064 // 0x16cd878c3b46a7.0p-71 +]; + +// Header to add to output files: +var header = licenseHeader( 'Apache-2.0', 'js', { + 'year': currentYear(), + 'copyright': 'The Stdlib Authors' +}); +header += '\n/* This is a generated file. Do not edit directly. */\n'; + + +// FUNCTIONS // + +/** +* Inserts a compiled function into file content. +* +* @private +* @param {string} text - source content +* @param {string} id - function identifier +* @param {string} str - function string +* @returns {string} updated content +*/ +function insert( text, id, str ) { + var before; + var after; + var begin; + var end; + + begin = '// BEGIN: '+id; + end = '// END: '+id; + + before = substringBefore( text, begin ); + after = substringAfter( text, end ); + + return format( '%s// BEGIN: %s\n\n%s\n%s%s', before, id, str, end, after ); +} + + +// MAIN // + +/** +* Main execution sequence. +* +* @private +*/ +function main() { + var fpath; + var copts; + var opts; + var file; + var str; + + opts = { + 'encoding': 'utf8' + }; + + fpath = resolve( __dirname, '..', 'lib', 'polyval_s12.js' ); + str = header + compile( S12 ); + writeFileSync( fpath, str, opts ); + + fpath = resolve( __dirname, '..', 'lib', 'polyval_s34.js' ); + str = header + compile( S34 ); + writeFileSync( fpath, str, opts ); + + copts = { + 'dtype': 'double', + 'name': '' + }; + + fpath = resolve( __dirname, '..', 'src', 'main.c' ); + file = readFileSync( fpath, opts ); + + copts.name = 'polyval_s12'; + str = compileC( S12, copts ); + file = insert( file, copts.name, str ); + + copts.name = 'polyval_s34'; + str = compileC( S34, copts ); + file = insert( file, copts.name, str ); + + writeFileSync( fpath, file, opts ); +} + +main(); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c index 0db43cf2bd21..1ad01567dcdc 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/addon.c @@ -17,7 +17,6 @@ */ #include "stdlib/math/base/special/kernel_sinf.h" -#include "stdlib/math/base/napi/binary.h" +#include "stdlib/math/base/napi/unary.h" -// cppcheck-suppress shadowFunction -STDLIB_MATH_BASE_NAPI_MODULE_FF_F( stdlib_base_kernel_sinf ) +STDLIB_MATH_BASE_NAPI_MODULE_D_F( stdlib_base_kernel_sinf ) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c index 6852e91e4828..59328076aeaa 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c @@ -15,9 +15,10 @@ * See the License for the specific language governing permissions and * limitations under the License. * +* * ## Notice * -* The following copyright, license, and long comment were part of the original implementation available as part of [FreeBSD]{@link https://svnweb.freebsd.org/base/release/9.3.0/lib/msun/src/k_sin.c}. The implementation follows the original, but has been modified according to project conventions. +* The following copyright, license, and long comment were part of the original implementation available as part of [FreeBSD]{@link https://svnweb.freebsd.org/base/release/12.2.0/lib/msun/src/k_sinf.c}. The implementation follows the original, but has been modified according to project conventions. * * ```text * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. @@ -31,73 +32,69 @@ #include "stdlib/math/base/special/kernel_sinf.h" -static const float S1 = -1.6666667e-01f; // 0xBFC55555 -static const float S2 = 8.3333333e-03f; // 0x3F811111 -static const float S3 = -1.9841270e-04f; // 0xBF2A01A0 -static const float S4 = 2.7557314e-06f; // 0x3EC71DE3 -static const float S5 = -2.5050760e-08f; // 0xBE5AE5E6 -static const float S6 = 1.5896910e-10f; // 0x3DE5D93A +// BEGIN: polyval_s12 /** -* Computes the sine on \\( \approx \[-\pi/4, \pi/4] \\) (except on \\(-0\\)), where \\( \pi/4 \approx 0.7854 \\). -* -* ## Method -* -* - Since \\( \sin(-x) = -\sin(x) \\), we need only to consider positive \\(x\\). -* -* - Callers must return \\( \sin(-0) = -0 \\) without calling here since our odd polynomial is not evaluated in a way that preserves \\(-0\\). Callers may do the optimization \\( \sin(x) \approx x \\) for tiny \\(x\\). +* Evaluates a polynomial. * -* - \\( \sin(x) \\) is approximated by a polynomial of degree \\(13\\) on \\( \left\[0,\tfrac{pi}{4}\right] \\) +* ## Notes * -* ```tex -* \sin(x) \approx x + S_1 \cdot x^3 + \ldots + S_6 \cdot x^{13} -* ``` +* - The implementation uses [Horner's rule][horners-method] for efficient computation. * -* where +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method * -* ```tex -* \left| \frac{\sin(x)}{x} \left( 1 + S_1 \cdot x + S_2 \cdot x + S_3 \cdot x + S_4 \cdot x + S_5 \cdot x + S_6 \cdot x \right) \right| \le 2^{-58} -* ``` +* @param x value at which to evaluate the polynomial +* @return evaluated polynomial +*/ +static double polyval_s12( const double x ) { + return -0.16666666641626524 + (x * 0.008333329385889463); +} + +// END: polyval_s12 + +// BEGIN: polyval_s34 + +/** +* Evaluates a polynomial. * -* - We have +* ## Notes * -* ```tex -* \sin(x+y) = \sin(x) + \sin'(x') \cdot y \approx \sin(x) + (1-x*x/2) \cdot y -* ``` +* - The implementation uses [Horner's rule][horners-method] for efficient computation. * -* For better accuracy, let +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method * -* ```tex -* r = x^3 * \left( S_2 + x^2 \cdot \left( S_3 + x^2 * \left( S_4 + x^2 \cdot ( S_5+x^2 \cdot S_6 ) \right) \right) \right) -* ``` +* @param x value at which to evaluate the polynomial +* @return evaluated polynomial +*/ +static double polyval_s34( const double x ) { + return -0.00019839334836096632 + (x * 0.000002718311493989822); +} + +// END: polyval_s34 + +/** +* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). * -* then +* ## Notes * -* ```tex -* \sin(x) = x + \left( S_1 \cdot x + ( x \cdot (r-y/2) + y ) \right) -* ``` +* - \\( | \sin(x) - s(x) | < 2^{-37.5} \\), where \\( 2^{-37.5} \approx \[ -4.89 \times 10^{-12}, 4.824 \times 10^{-12} \] \\). * * @param x input value (in radians, assumed to be bounded by `~pi/4` in magnitude) -* @param y tail of `x` * @return sine * * @example -* float out = stdlib_base_kernel_sinf( 3.14159f/6.0f, 0.0f ); +* float out = stdlib_base_kernel_sinf( 3.141592653589793/6.0 ); * // returns ~0.5f */ -float stdlib_base_kernel_sinf( const float x, const float y ) { - float z; - float r; - float v; - float w; +float stdlib_base_kernel_sinf( const double x ) { + double r; + double s; + double w; + double z; - z = (float)(x * x); - w = (float)(z * z); - r = (float)(S2 + (float)(z * (float)(S3 + (float)(z*S4)))); - r = (float)(r + (float)(z * w * (float)(S5 + (float)(z*S6)))); - v = (float)(z * x); - if ( y == 0.0f ) { - return (float)(x + (float)(v * (float)(S1 + (float)(z*r)))); - } - return (float)(x - (float)((float)(z*((float)(0.5f*y) - (float)(v*r))) - y - (float)(v*S1))); + z = x * x; + w = z * z; + r = polyval_s34( z ); + s = z * x; + return ( x + ( s * polyval_s12( z ) ) ) + ( s*w*r ); } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json index 39a4e3aab994..62f71b62120e 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json @@ -1 +1 @@ -{"expected":[-2.9406276e-6,0.12545905,0.2489236,0.36846954,0.4821925,0.5882953,0.68509,0.77107054,0.84486574,0.90530944,0.95144165,0.9825446,0.9981203,0.99792254,0.9819574,0.9504732,0.9039685,0.8431784,0.76907307,0.68280584,0.5857481,0.4794337,0.36555696,0.24588986,0.12233695,-0.0031492736,-0.1285706,-0.25197536,-0.37139812,-0.48493826,-0.5908291,-0.6873829,-0.7730739,-0.8465398,-0.90663743,-0.9524073,-0.98312616,-0.99830765,-0.99771553,-0.9813564,-0.9494887,-0.90262276,-0.8414877,-0.7670545,-0.68049943,-0.5832027,-0.4766784,-0.3626211,-0.24283321,-0.119222954,0.0062861983,0.13169602,0.2550246,0.37430888,0.48769262,0.5933693,0.68965787,0.77505994,0.8482136,0.90796286,0.9533588,0.98369515,0.998486,0.9974976,0.98074865,0.9484997,0.90126145,0.83978045,0.7650381,0.67819744,0.5806392,0.473905,0.35969585,0.23978895,0.11609263,-0.009438319,-0.134805,-0.25805658,-0.37723008,-0.49042884,-0.5958914,-0.6919371,-0.77704793,-0.8498709,-0.9092729,-0.9543056,-0.98425716,-0.99865365,-0.99727094,-0.9801282,-0.9474964,-0.8998978,-0.8380732,-0.7630043,-0.6758776,-0.5780823,-0.47114035,-0.35675284,-0.2367275,-0.11297631,0.012575088,0.13792777,0.26110074,0.38013342,0.4931735,0.5984199,0.6941984,0.77901864,0.8515279,0.9105804,0.9552383,0.9848068,0.9988122,0.99703324,0.9795011,0.9464887,0.8985187,0.8363493,0.76097286,0.6735623,0.57550734,0.46835756,0.35382053,0.23367855,0.10984372,-0.015726991,-0.14103407,-0.2641276,-0.3830471,-0.49591327,-0.6009302,-0.6964639,-0.7809912,-0.8531684,-0.9118725,-0.9561661,-0.98534924,-0.99896014,-0.9967869,-0.9788613,-0.94546664,-0.89713734,-0.8346255,-0.75892395,-0.67122906,-0.5729391,-0.46558362,-0.35087046,-0.23061246,-0.10672521,0.01886348,0.14415407,0.26716655,0.3859429,0.49863487,0.60344684,0.6987224,0.7829465,0.8548085,0.9131619,0.95707995,0.9858794,0.9990989,0.99652946,0.97821486,0.9444402,0.8957404,0.8328851,0.75687754,0.6689005,0.57035273,0.4627916,0.34793124,0.22755891,0.103590466,-0.02201504,-0.14725755,-0.27018818,-0.388849,-0.50136477,-0.6059453,-0.70096314,-0.7849036,-0.85644007,-0.914436,-0.9579888,-0.9864024,-0.9992271,-0.99626344,-0.97755563,-0.9433994,-0.89434135,-0.8311448,-0.7548136,-0.666554,-0.5677732,-0.4600085,-0.34497422,-0.22448827,-0.10046988,0.025151128,0.15037467,0.27322182,0.39173716,0.5040765,0.6084499,0.7032078,0.7868434,0.8580553,0.91570723,0.9588881,0.9869131,0.9993461,0.9959862,0.97688997,0.9423544,0.89292663,0.8293879,0.75275224,0.6642122,0.56517553,0.45720732,0.34202814,0.22143027,0.09733311,-0.028302219,-0.15347521,-0.27623805,-0.3946355,-0.5067964,-0.61093634,-0.7054347,-0.7887849,-0.859666,-0.9169663,-0.9597736,-0.9874165,-0.9994548,-0.99570054,-0.9762113,-0.9412975,-0.89150655,-0.8276313,-0.75067335,-0.6618582,-0.56257856,-0.4544152,-0.33906436,-0.21836266,-0.09420298,0.03143778,0.15658931,0.27925894,0.3975229,0.5094982,0.61342883,0.70765996,0.7907139,0.86126816,0.9182164,0.96065176,0.9879089,0.9995537,0.99540436,0.97552466,0.9402313,0.8900776,0.8258622,0.74859214,0.6594977,0.55997604,0.4516118,0.33610436,0.21529289,0.09107191,-0.034580655,-0.15969433,-0.28227702,-0.4004064,-0.5122015,-0.6159092,-0.7098783,-0.7926351,-0.8628619,-0.9194574,-0.96152043,-0.9883915,-0.99964267,-0.9950975,-0.9748284,-0.9391558,-0.88863987,-0.824085,-0.7465035,-0.6571306,-0.5573679,-0.4488039,-0.33314106,-0.21222097,-0.08793995,0.037723187,0.16279778,0.28529233,0.40328592,0.51489973,0.6183835,0.7120896,0.7945484,0.864447,0.9206892,0.96237963,0.98886436,0.9997218,0.9947816,0.97412246,0.9380684,0.8871934,0.8222996,0.7444074,0.654757,0.5547543,0.4459916,0.33017445,0.20914696,0.084807105,-0.040865347,-0.1658996,-0.28830484,-0.40616143,-0.5175929,-0.62085176,-0.71429384,-0.79645383,-0.86602354,-0.921912,-0.9632293,-0.9893275,-0.999791,-0.9944559,-0.9734069,-0.9369743,-0.8857381,-0.8205061,-0.742304,-0.652377,-0.5521352,-0.44317487,-0.32720459,-0.2060709,-0.081673436,0.044007104,0.16899979,0.29131445,0.40903297,0.52028096,0.6233138,0.71649104,0.79835147,0.86759156,0.9231256,0.9640694,0.9897808,0.9998504,0.9941203,0.97268176,0.93587095,0.884274,0.8187001,0.7401933,0.6499905,0.5495107,0.44035375,0.32423148,0.20299278,0.07853895,-0.047148425,-0.17209831,-0.2943212,-0.41190043,-0.5229638,-0.62576973,-0.71868116,-0.8002411,-0.869151,-0.9243302,-0.9649,-0.9902243,-0.9998998,-0.9937749,-0.97194695,-0.93475837,-0.88280123,-0.81689036,-0.7380752,-0.64759177,-0.5468807,-0.4375283,-0.32125518,-0.19991267,-0.07540369,0.05028928,0.17519513,0.29732504,0.41476384,0.52564156,0.6282194,0.7208642,0.8021229,0.87070185,0.92552555,0.9657211,0.99065804,0.9999394,0.99341965,0.97120255,0.9336365,0.8813197,0.81507254,0.7359499,0.64519244,0.54424536,0.43469852,0.3182757,0.19683057,0.07226768,-0.053429637,-0.17829022,-0.30032596,-0.41762313,-0.52831405,-0.6306629,-0.72304004,-0.80399674,-0.8722441,-0.9267118,-0.9665325,-0.99108195,-0.99996907,-0.99305457,-0.9704485,-0.9325054,-0.87982947,-0.81324667,-0.7338172,-0.64278674,-0.5416046,-0.43185756,-0.31529304,-0.19374652,-0.069130965,0.056569465,0.18138354,0.3033239,0.4204783,0.53098136,0.63310015,0.72520876,0.80586267,0.87377775,0.9278889,0.9673345,0.9914961,0.99998885,0.99267966,0.9696849,0.93136513,0.8783305,0.81141275,0.73167735,0.64037466,0.5389585,0.42901918,0.3123073,0.19065307,0.06599356,-0.059708737,-0.18447506,-0.30631885,-0.42332932,-0.5336434,-0.6355312,-0.7273703,-0.8077206,-0.8753027,-0.92905676,-0.9681269,-0.9919004,-0.99999875,-0.99229497,-0.9689117,-0.93021566,-0.8768229,-0.80957085,-0.7295302,-0.63795626,-0.53630704,-0.42617658,-0.30931845,-0.18756524,-0.062855504,0.06284741,0.18756476,0.30931073,0.42617613,0.5363002,0.6379559,0.7295247,0.80957055,0.876819,0.9302155,0.9689097,0.9922949,0.99999875,0.99190044,0.9681289,0.92905694,0.8753066,0.8077209,0.72737586,0.63553154,0.5336503,0.42332974,0.30632654,0.18447553,0.05971683,-0.065993086,-0.19065261,-0.31229958,-0.42901874,-0.53895164,-0.6403743,-0.7316718,-0.8114125,-0.87832665,-0.93136495,-0.96968293,-0.9926796,-0.9999889,-0.99149615,-0.96733654,-0.92788905,-0.8737817,-0.80586296,-0.72521436,-0.6331005,-0.5309882,-0.42047873,-0.3033316,-0.181384,-0.05657756,0.06913049,0.19373858,0.3152926,0.4318571,0.5415978,0.6427864,0.73381174,0.8132464,0.8798256,0.93250525,0.9704465,0.9930545,0.9999691,0.991082,0.9665346,0.926712,0.87224805,0.80399704,0.72304565,0.6306633,0.52832097,0.41762355,0.3003337,0.17829068,0.053437732,-0.07226721,-0.19682261,-0.3182752,-0.43469122,-0.54423857,-0.6451921,-0.7359444,-0.8150723,-0.8813159,-0.9336363,-0.9712006,-0.9934196,-0.9999395,-0.9906581,-0.96572316,-0.9255257,-0.87070584,-0.8021232,-0.7208698,-0.6282198,-0.5256484,-0.41476426,-0.2973328,-0.17519559,-0.050297376,0.07540321,0.19990472,0.3212547,0.437521,0.5468803,0.6475914,0.7380698,0.8168901,0.8827974,0.9347582,0.97194505,0.99377483,0.9998999,0.99022436,0.9649021,0.92433035,0.86915505,0.8002414,0.7186868,0.6257701,0.52297074,0.41190088,0.29432896,0.17209879,0.04715652,-0.07853848,-0.20298484,-0.32423103,-0.44034648,-0.5495103,-0.64998436,-0.7401878,-0.81869984,-0.88427025,-0.93587077,-0.97267985,-0.99412024,-0.9998505,-0.98978084,-0.9640716,-0.9231258,-0.8675956,-0.7983517,-0.7164967,-0.6233142,-0.5202879,-0.4090334,-0.2913222,-0.16900027,-0.044015203,0.08167296,0.20606296,0.32720414,0.4431676,0.5521349,0.65237087,0.7423037,0.82050145,0.8857343,0.9369741,0.97340506,0.9944558,0.9997912,0.98932755,0.96323144,0.9219122,0.8660276,0.79645413,0.7142995,0.6208521,0.5175998,0.40616187,0.28831258,0.16590008,0.040873446,-0.084806636,-0.20913903,-0.330174,-0.44598433,-0.55475396,-0.6547509,-0.7444071,-0.822295,-0.88719314,-0.9380682,-0.9741207,-0.99478155,-0.999722,-0.9888645,-0.96238184,-0.9206894,-0.86445105,-0.7945487,-0.71209526,-0.61838394,-0.5149067,-0.40328634,-0.2853001,-0.16279824,-0.03773129,0.08793947,0.21221305,0.3331406,0.44879666,0.5573675,0.65712446,0.7465032,0.8240804,0.8886397,0.939153,0.9748266,0.99509746,0.9996429,0.9883916,0.9615227,0.91945755,0.8628659,0.7926354,0.709884,0.61590964,0.51220846,0.4004068,0.2822848,0.1596948,0.034588754,-0.091071434,-0.21528496,-0.33610392,-0.45160455,-0.5599756,-0.6594916,-0.7485918,-0.82585764,-0.8900774,-0.9402285,-0.9755246,-0.9954036,-0.9995539,-0.98790896,-0.960654,-0.9182166,-0.86127037,-0.7907142,-0.707663,-0.6134292,-0.5095019,-0.39752334,-0.27926305,-0.15658979,-0.03144207,0.094198704,0.21835475,0.3390603,0.454408,0.562575,0.6618521,0.75067055,0.8276267,0.8915046,0.9412947,0.9762104,0.99569976,0.999455,0.98741657,0.9597748,0.91696656,0.8596682,0.7887852,0.7054377,0.6109427,0.50679356,0.39463592,0.2762422,0.15348323,0.028298883,-0.09733264,-0.22142237,-0.34201694,-0.4572069,-0.565172,-0.66420615,-0.7527444,-0.8293876,-0.8929247,-0.94235164,-0.9768874,-0.99598616,-0.9993462,-0.9869144,-0.95888716,-0.9157074,-0.8580575,-0.7868484,-0.7032054,-0.60845023,-0.50408024,-0.3917446,-0.2732186,-0.15037514,-0.025155418,0.10046181,0.22449152,0.3449702,0.46000132,0.5677634,0.6665536,0.7548108,0.83114034,0.89433604,0.94339925,0.97755474,0.9962627,0.9992276,0.98640245,0.95799005,0.91443926,0.85643834,0.7849039,0.7009662,0.6059517,0.5013619,0.38884944,0.27019233,0.14726557,0.022011703,-0.10358999,-0.22755474,-0.34792364,-0.46279457,-0.5703492,-0.66889447,-0.75686973,-0.8328848,-0.8957385,-0.9444375,-0.9782124,-0.9965294,-0.9990991,-0.9858808,-0.9570834,-0.91316205,-0.8548107,-0.78295153,-0.69872004,-0.6034472,-0.49863857,-0.3859504,-0.26716334,-0.14415453,-0.018867772,0.10671715,0.2306157,0.35087,0.46557984,0.5729325,0.6712287,0.75892115,0.834621,0.89713204,0.94546646,0.97886044,0.99678624,0.9989607,0.98534936,0.95616734,0.91187584,0.8531747,0.7809915,0.6964669,0.6009367,0.49591038,0.38304755,0.26413175,0.14104208,0.015723653,-0.10984325,-0.23367438,-0.35381296,-0.4683605,-0.5755069,-0.6735591,-0.7609651,-0.836349,-0.8985168,-0.94648606,-0.97949874,-0.99703324,-0.9988124,-0.98480815,-0.9552418,-0.9105806,-0.85153013,-0.7790237,-0.694207,-0.59842026,-0.49317724,-0.3801409,-0.26109752,-0.13792823,-0.01257938,0.11296826,0.23673075,0.3567524,0.47113654,0.5780757,0.6758801,0.763004,0.8380687,0.8998926,0.94749624,0.9801274,0.99727035,0.99865425,0.9842573,0.95430684,0.9092763,0.84987724,0.77704823,0.6919402,0.5958979,0.49043924,0.37723053,0.25806072,0.13481303,0.009434981,-0.11609216,-0.23978479,-0.35968828,-0.47390795,-0.5806388,-0.67819434,-0.7650329,-0.83978224,-0.9012612,-0.9484971,-0.9807463,-0.99749756,-0.9984862,-0.9836966,-0.9533624,-0.90796304,-0.8482159,-0.77506506,-0.6896665,-0.5933697,-0.48769638,-0.3743164,-0.2550214,-0.13169648,-0.00629049,0.11921491,0.24283645,0.36262065,0.47667465,0.58319616,0.6805019,0.7670542,0.8414854,0.90261924,0.9494898,0.98135555,0.997715,0.9983083,0.9831262,0.9524086,0.9066408,0.8465462,0.7730742,0.687386,0.5908356,0.4849487,0.37139857,0.2519795,0.12857863,0.003145936,-0.12233648,-0.2458857,-0.36554942,-0.4794366,-0.5857477,-0.6828027,-0.7690679,-0.8431802,-0.90396833,-0.9504718,-0.9819558,-0.9979225,-0.99812055,-0.98254615,-0.95144534,-0.9053096,-0.84486806,-0.7710757,-0.6850987,-0.58829564,-0.48219624,-0.36847705,-0.24893515,-0.12545952,-1.351065e-6],"x":[-157.07964,-156.95384,-156.82806,-156.70227,-156.57648,-156.45068,-156.3249,-156.19911,-156.07332,-155.94753,-155.82175,-155.69595,-155.57016,-155.44437,-155.31859,-155.1928,-155.067,-154.94121,-154.81543,-154.68964,-154.56384,-154.43805,-154.31227,-154.18648,-154.06068,-153.93489,-153.80911,-153.68332,-153.55753,-153.43175,-153.30595,-153.18016,-153.05437,-152.92859,-152.8028,-152.677,-152.55121,-152.42543,-152.29964,-152.17384,-152.04805,-151.92227,-151.79648,-151.67068,-151.54489,-151.41911,-151.29332,-151.16753,-151.04173,-150.91595,-150.79016,-150.66437,-150.53857,-150.4128,-150.287,-150.16121,-150.03543,-149.90964,-149.78384,-149.65805,-149.53227,-149.40648,-149.28069,-149.15489,-149.02911,-148.90332,-148.77753,-148.65173,-148.52596,-148.40016,-148.27437,-148.14857,-148.0228,-147.897,-147.77121,-147.64542,-147.51964,-147.39384,-147.26805,-147.14227,-147.01648,-146.89069,-146.7649,-146.63911,-146.51332,-146.38753,-146.26173,-146.13596,-146.01016,-145.88437,-145.75858,-145.6328,-145.507,-145.38121,-145.25542,-145.12964,-145.00385,-144.87805,-144.75226,-144.62648,-144.50069,-144.3749,-144.2491,-144.12332,-143.99753,-143.87173,-143.74596,-143.62016,-143.49437,-143.36858,-143.2428,-143.117,-142.99121,-142.86542,-142.73964,-142.61385,-142.48805,-142.36226,-142.23648,-142.11069,-141.9849,-141.8591,-141.73332,-141.60753,-141.48174,-141.35594,-141.23016,-141.10437,-140.97858,-140.85278,-140.727,-140.60121,-140.47542,-140.34964,-140.22385,-140.09805,-139.97226,-139.84648,-139.72069,-139.5949,-139.4691,-139.34332,-139.21753,-139.09174,-138.96594,-138.84016,-138.71437,-138.58858,-138.46278,-138.337,-138.21121,-138.08542,-137.95963,-137.83385,-137.70805,-137.58226,-137.45647,-137.33069,-137.2049,-137.0791,-136.95332,-136.82753,-136.70174,-136.57594,-136.45016,-136.32437,-136.19858,-136.07278,-135.947,-135.82121,-135.69542,-135.56963,-135.44385,-135.31805,-135.19226,-135.06647,-134.94069,-134.8149,-134.6891,-134.56331,-134.43753,-134.31174,-134.18594,-134.06015,-133.93437,-133.80858,-133.68279,-133.557,-133.43121,-133.30542,-133.17963,-133.05385,-132.92805,-132.80226,-132.67647,-132.55069,-132.4249,-132.2991,-132.17331,-132.04753,-131.92174,-131.79594,-131.67015,-131.54437,-131.41858,-131.29279,-131.16699,-131.04121,-130.91542,-130.78963,-130.66383,-130.53806,-130.41226,-130.28647,-130.16069,-130.0349,-129.9091,-129.78331,-129.65753,-129.53174,-129.40594,-129.28015,-129.15437,-129.02858,-128.90279,-128.777,-128.65121,-128.52542,-128.39963,-128.27383,-128.14806,-128.02226,-127.89647,-127.77068,-127.64489,-127.519104,-127.39331,-127.267525,-127.14174,-127.015945,-126.89016,-126.764366,-126.63858,-126.51279,-126.387,-126.26121,-126.13542,-126.00963,-125.88384,-125.75805,-125.63226,-125.50647,-125.380684,-125.25489,-125.129105,-125.00331,-124.877525,-124.75173,-124.625946,-124.50015,-124.37437,-124.24857,-124.12279,-123.997,-123.87121,-123.74542,-123.61963,-123.49384,-123.36805,-123.24226,-123.11647,-122.990685,-122.86489,-122.739105,-122.61331,-122.487526,-122.36173,-122.23595,-122.11015,-121.98437,-121.858574,-121.73279,-121.606995,-121.48121,-121.355415,-121.22963,-121.103836,-120.97805,-120.85226,-120.72647,-120.600685,-120.47489,-120.349106,-120.22331,-120.09753,-119.97173,-119.84595,-119.72015,-119.59437,-119.468575,-119.34279,-119.216995,-119.09121,-118.965416,-118.83963,-118.71384,-118.58805,-118.46226,-118.33647,-118.21068,-118.08489,-117.9591,-117.83331,-117.70752,-117.58173,-117.45594,-117.330154,-117.20437,-117.078575,-116.95279,-116.826996,-116.70121,-116.57542,-116.44963,-116.32384,-116.19805,-116.07226,-115.94647,-115.82068,-115.69489,-115.5691,-115.44331,-115.31752,-115.191734,-115.06594,-114.940155,-114.81436,-114.688576,-114.56278,-114.437,-114.3112,-114.18542,-114.05963,-113.93384,-113.80805,-113.68226,-113.55647,-113.43068,-113.30489,-113.1791,-113.053314,-112.92752,-112.801735,-112.67594,-112.550156,-112.42436,-112.29858,-112.17278,-112.047,-111.9212,-111.79542,-111.669624,-111.54384,-111.418045,-111.29226,-111.166466,-111.04068,-110.91489,-110.7891,-110.663315,-110.53752,-110.411736,-110.28594,-110.16016,-110.03436,-109.90858,-109.78278,-109.657,-109.531204,-109.40542,-109.279625,-109.15384,-109.028046,-108.90226,-108.77647,-108.65068,-108.52489,-108.3991,-108.27331,-108.14752,-108.02173,-107.89594,-107.77015,-107.64436,-107.51857,-107.392784,-107.267,-107.141205,-107.01542,-106.889626,-106.76384,-106.63805,-106.51226,-106.38647,-106.26068,-106.13489,-106.0091,-105.88331,-105.75752,-105.63173,-105.50594,-105.38015,-105.254364,-105.12857,-105.002785,-104.87699,-104.751205,-104.62541,-104.499626,-104.37383,-104.24805,-104.12226,-103.99647,-103.87068,-103.74489,-103.6191,-103.49331,-103.36752,-103.24173,-103.115944,-102.99015,-102.864365,-102.73857,-102.612785,-102.48699,-102.361206,-102.23541,-102.10963,-101.98383,-101.85805,-101.732254,-101.60647,-101.480675,-101.35489,-101.229095,-101.10331,-100.977516,-100.85173,-100.725945,-100.60015,-100.474365,-100.34857,-100.222786,-100.09699,-99.97121,-99.84541,-99.71963,-99.593834,-99.46805,-99.342255,-99.21647,-99.090675,-98.96489,-98.839096,-98.71331,-98.58752,-98.46173,-98.33594,-98.21015,-98.08436,-97.95857,-97.83278,-97.70699,-97.5812,-97.455414,-97.32963,-97.203835,-97.07805,-96.952255,-96.82647,-96.700676,-96.57489,-96.4491,-96.32331,-96.19752,-96.07173,-95.94594,-95.82015,-95.69436,-95.56857,-95.44278,-95.31699,-95.1912,-95.065414,-94.93962,-94.813835,-94.68804,-94.562256,-94.43646,-94.31068,-94.18489,-94.0591,-93.93331,-93.80752,-93.68173,-93.55594,-93.43015,-93.30436,-93.17857,-93.05278,-92.926994,-92.8012,-92.675415,-92.54962,-92.423836,-92.29804,-92.17226,-92.04646,-91.92068,-91.79488,-91.6691,-91.543304,-91.41752,-91.291725,-91.16594,-91.040146,-90.91436,-90.788574,-90.66278,-90.536995,-90.4112,-90.285416,-90.15962,-90.03384,-89.90804,-89.78226,-89.65646,-89.53068,-89.404884,-89.2791,-89.153305,-89.02752,-88.901726,-88.77594,-88.65015,-88.52436,-88.39857,-88.27278,-88.14699,-88.0212,-87.89541,-87.76962,-87.64383,-87.51804,-87.39226,-87.266464,-87.14068,-87.014885,-86.8891,-86.763306,-86.63752,-86.51173,-86.38594,-86.26015,-86.13436,-86.00857,-85.88278,-85.75699,-85.6312,-85.50541,-85.37962,-85.25383,-85.128044,-85.00225,-84.876465,-84.75067,-84.624886,-84.49909,-84.37331,-84.24752,-84.12173,-83.99594,-83.87015,-83.74436,-83.61857,-83.49278,-83.36699,-83.2412,-83.11541,-82.989624,-82.86383,-82.738045,-82.61225,-82.486465,-82.36067,-82.234886,-82.10909,-81.98331,-81.85751,-81.73173,-81.605934,-81.48015,-81.354355,-81.22857,-81.102776,-80.97699,-80.851204,-80.72541,-80.599625,-80.47383,-80.348045,-80.22225,-80.096466,-79.97067,-79.84489,-79.71909,-79.59331,-79.467514,-79.34173,-79.215935,-79.09015,-78.964355,-78.83857,-78.712776,-78.58699,-78.4612,-78.33541,-78.20962,-78.08383,-77.95804,-77.83225,-77.70647,-77.58067,-77.45489,-77.329094,-77.20331,-77.077515,-76.95173,-76.825935,-76.70015,-76.574356,-76.44857,-76.32278,-76.19699,-76.0712,-75.94541,-75.81962,-75.69383,-75.56804,-75.44225,-75.31646,-75.190674,-75.06488,-74.939095,-74.8133,-74.687515,-74.56172,-74.435936,-74.31015,-74.18436,-74.05857,-73.93278,-73.80699,-73.6812,-73.55541,-73.42962,-73.30383,-73.17804,-73.05225,-72.92646,-72.800674,-72.67488,-72.549095,-72.4233,-72.297516,-72.17172,-72.04594,-71.92014,-71.79436,-71.668564,-71.54278,-71.416985,-71.2912,-71.165405,-71.03962,-70.91383,-70.78804,-70.662254,-70.53646,-70.410675,-70.28488,-70.159096,-70.0333,-69.90752,-69.78172,-69.65594,-69.53014,-69.40436,-69.278564,-69.15278,-69.026985,-68.9012,-68.775406,-68.64962,-68.52383,-68.39804,-68.27225,-68.14646,-68.02067,-67.89488,-67.7691,-67.6433,-67.51752,-67.39172,-67.26594,-67.140144,-67.01436,-66.888565,-66.76278,-66.636986,-66.5112,-66.38541,-66.25962,-66.13383,-66.00804,-65.88225,-65.75646,-65.63067,-65.50488,-65.37909,-65.2533,-65.12751,-65.001724,-64.87593,-64.750145,-64.62435,-64.498566,-64.37278,-64.24699,-64.1212,-63.995407,-63.869617,-63.743828,-63.61804,-63.49225,-63.36646,-63.24067,-63.11488,-62.98909,-62.8633,-62.737514,-62.611725,-62.485935,-62.360146,-62.234356,-62.108566,-61.982777,-61.856987,-61.731197,-61.605408,-61.479618,-61.35383,-61.22804,-61.10225,-60.97646,-60.85067,-60.72488,-60.59909,-60.4733,-60.34751,-60.22172,-60.095932,-59.970142,-59.844353,-59.718563,-59.592773,-59.466988,-59.341198,-59.21541,-59.08962,-58.96383,-58.83804,-58.71225,-58.58646,-58.46067,-58.33488,-58.20909,-58.0833,-57.95751,-57.831722,-57.705933,-57.580143,-57.454353,-57.328564,-57.202774,-57.076984,-56.951195,-56.825405,-56.699615,-56.573826,-56.448036,-56.322247,-56.19646,-56.07067,-55.94488,-55.81909,-55.693302,-55.567513,-55.441723,-55.315933,-55.190144,-55.064354,-54.938564,-54.812775,-54.686985,-54.561195,-54.435406,-54.309616,-54.183826,-54.058037,-53.932247,-53.806458,-53.680668,-53.55488,-53.42909,-53.3033,-53.17751,-53.05172,-52.92593,-52.800144,-52.674355,-52.548565,-52.422775,-52.296986,-52.171196,-52.045406,-51.919617,-51.793827,-51.668037,-51.542248,-51.41646,-51.29067,-51.16488,-51.03909,-50.9133,-50.78751,-50.66172,-50.53593,-50.41014,-50.28435,-50.15856,-50.032772,-49.906982,-49.781193,-49.655403,-49.529617,-49.403828,-49.278038,-49.15225,-49.02646,-48.90067,-48.77488,-48.64909,-48.5233,-48.39751,-48.27172,-48.14593,-48.02014,-47.894352,-47.768562,-47.642773,-47.516983,-47.391193,-47.265404,-47.139614,-47.013824,-46.888035,-46.762245,-46.636456,-46.510666,-46.384876,-46.25909,-46.1333,-46.00751,-45.88172,-45.75593,-45.630142,-45.504353,-45.378563,-45.252773,-45.126984,-45.001194,-44.875404,-44.749615,-44.623825,-44.498035,-44.372246,-44.246456,-44.120667,-43.994877,-43.869087,-43.743298,-43.617508,-43.49172,-43.36593,-43.24014,-43.11435,-42.988564,-42.862774,-42.736984,-42.611195,-42.485405,-42.359615,-42.233826,-42.108036,-41.982246,-41.856457,-41.730667,-41.604877,-41.479088,-41.3533,-41.22751,-41.10172,-40.97593,-40.85014,-40.72435,-40.59856,-40.47277,-40.34698,-40.22119,-40.0954,-39.969612,-39.843822,-39.718033,-39.592247,-39.466457,-39.340668,-39.214878,-39.08909,-38.9633,-38.83751,-38.71172,-38.58593,-38.46014,-38.33435,-38.20856,-38.08277,-37.95698,-37.831192,-37.705402,-37.579613,-37.453823,-37.328033,-37.202244,-37.076454,-36.950665,-36.824875,-36.699085,-36.573296,-36.447506,-36.32172,-36.19593,-36.07014,-35.94435,-35.81856,-35.692772,-35.566982,-35.441193,-35.315403,-35.189613,-35.063824,-34.938034,-34.812244,-34.686455,-34.560665,-34.434875,-34.309086,-34.183296,-34.057507,-33.931717,-33.805927,-33.680138,-33.554348,-33.42856,-33.30277,-33.17698,-33.051193,-32.925404,-32.799614,-32.673824,-32.548035,-32.422245,-32.296455,-32.170666,-32.044876,-31.919086,-31.793297,-31.667507,-31.541718,-31.415928]} +{"expected":[-2.9406276e-6,0.12545905,0.24893838,0.36846954,0.4821925,0.5882953,0.68510115,0.77107054,0.84486574,0.90530944,0.95144635,0.9825446,0.9981203,0.99792254,0.98195446,0.9504732,0.9039685,0.8431784,0.7690633,0.68280584,0.5857481,0.4794337,0.36555696,0.24588986,0.12233695,-0.0031492736,-0.1285706,-0.25197536,-0.37139812,-0.48495162,-0.5908291,-0.6873829,-0.7730739,-0.84654796,-0.90663743,-0.9524073,-0.98312616,-0.99830854,-0.99771553,-0.9813564,-0.9494887,-0.90261614,-0.8414877,-0.7670545,-0.68049943,-0.5831903,-0.4766784,-0.3626211,-0.24283321,-0.119222954,0.0062861983,0.13169602,0.2550246,0.37430888,0.48769262,0.5933693,0.6896689,0.77505994,0.8482136,0.90796286,0.9533634,0.98369515,0.998486,0.9974976,0.9807457,0.9484997,0.90126145,0.83978045,0.76502824,0.67819744,0.5806392,0.473905,0.3596816,0.23978895,0.11609263,-0.009438319,-0.134805,-0.25805658,-0.37723008,-0.49044213,-0.5958914,-0.6919371,-0.77704793,-0.84987897,-0.9092729,-0.9543056,-0.98425716,-0.9986544,-0.99727094,-0.9801282,-0.9474964,-0.8998912,-0.8380732,-0.7630043,-0.6758776,-0.5780699,-0.47114035,-0.35675284,-0.2367275,-0.11297631,0.012575088,0.13792777,0.26110074,0.38013342,0.4931735,0.5984199,0.6942094,0.77901864,0.8515279,0.9105804,0.9552428,0.9848068,0.9988122,0.99703324,0.9794981,0.9464887,0.8985187,0.8363493,0.76096296,0.6735623,0.57550734,0.46835756,0.35380626,0.23367855,0.10984372,-0.015726991,-0.14103407,-0.2641276,-0.3830471,-0.49591327,-0.6009302,-0.6964639,-0.7809912,-0.8531764,-0.9118725,-0.9561661,-0.98534924,-0.9989608,-0.9967869,-0.9788613,-0.94546664,-0.8971306,-0.8346255,-0.75892395,-0.67122906,-0.57292664,-0.46558362,-0.35087046,-0.23061246,-0.10671003,0.01886348,0.14415407,0.26716655,0.3859429,0.49863487,0.60344684,0.6987224,0.7829465,0.8548085,0.9131619,0.95708436,0.9858794,0.9990989,0.99652946,0.9782117,0.9444402,0.8957404,0.8328851,0.7568675,0.6689005,0.57035273,0.4627916,0.34791693,0.22755891,0.103590466,-0.02201504,-0.14727265,-0.27018818,-0.388849,-0.50136477,-0.6059453,-0.70096314,-0.7849036,-0.85644007,-0.914436,-0.9579888,-0.9864024,-0.9992277,-0.99626344,-0.97755563,-0.9433994,-0.89433455,-0.8311448,-0.7548136,-0.666554,-0.56776065,-0.4600085,-0.34497422,-0.22448827,-0.100454696,0.025151128,0.15037467,0.27322182,0.39173716,0.5040765,0.6084499,0.7032078,0.7868434,0.8580553,0.91570723,0.9588881,0.9869131,0.9993461,0.9959862,0.9768867,0.9423544,0.89292663,0.8293879,0.7527422,0.6642122,0.56517553,0.45720732,0.3420138,0.22143027,0.09733311,-0.028302219,-0.15349029,-0.27623805,-0.3946355,-0.5067964,-0.61093634,-0.7054347,-0.7887849,-0.859666,-0.9169663,-0.9597736,-0.9874165,-0.9994548,-0.9956998,-0.9762113,-0.9412949,-0.89150655,-0.827627,-0.75067335,-0.6618525,-0.56257856,-0.4544084,-0.33906436,-0.21835521,-0.09420298,0.031445406,0.15658931,0.27926624,0.3975229,0.5095048,0.61342883,0.70765996,0.7907139,0.86126816,0.9182164,0.96065176,0.9879089,0.9995537,0.9954036,0.97552466,0.9402287,0.8900776,0.82585794,0.74859214,0.65949196,0.55997604,0.451605,0.33610436,0.21528544,0.09107191,-0.034588277,-0.15969433,-0.28228435,-0.4004064,-0.51220804,-0.6159092,-0.7098783,-0.7926351,-0.8628619,-0.9194574,-0.96152043,-0.9883915,-0.99964267,-0.9950975,-0.9748284,-0.9391532,-0.88863987,-0.82408065,-0.7465035,-0.6571248,-0.5573679,-0.4487971,-0.33314106,-0.21221352,-0.08793995,0.037730813,0.16279778,0.28529966,0.40328592,0.5149063,0.6183835,0.71209496,0.7945484,0.864447,0.9206892,0.96237963,0.98886436,0.9997218,0.9947816,0.97412246,0.9380684,0.8871934,0.82229525,0.7444074,0.65475124,0.5547543,0.44598478,0.33017445,0.20913951,0.084807105,-0.040872972,-0.1658996,-0.28831214,-0.40616143,-0.51759946,-0.62085176,-0.7142992,-0.79645383,-0.86602354,-0.921912,-0.9632293,-0.9893275,-0.999791,-0.9944559,-0.9734069,-0.9369743,-0.8857381,-0.82050174,-0.742304,-0.6523712,-0.5521352,-0.44316804,-0.32720459,-0.20606343,-0.081673436,0.044014726,0.16899979,0.29132175,0.40903297,0.52028745,0.6233138,0.71649635,0.79835147,0.8675954,0.9231256,0.9640694,0.9897808,0.9998504,0.9941203,0.97268176,0.93587095,0.884274,0.8187001,0.7401933,0.6499847,0.5495107,0.44034693,0.32423148,0.20298532,0.07853895,-0.047156047,-0.17209831,-0.2943285,-0.41190043,-0.5229703,-0.62576973,-0.71868646,-0.8002411,-0.8691548,-0.9243302,-0.9649,-0.9902243,-0.9998998,-0.9937749,-0.97194695,-0.93475837,-0.88280123,-0.81689036,-0.7380752,-0.64759177,-0.5468807,-0.43752143,-0.32125518,-0.19990519,-0.07540369,0.0502969,0.17519513,0.29733235,0.41476384,0.52564806,0.6282194,0.7208694,0.8021229,0.8707056,0.92552555,0.96572304,0.99065804,0.9999394,0.99341965,0.97120255,0.9336365,0.8813197,0.81507254,0.7359499,0.64519244,0.54424536,0.43469164,0.3182757,0.19682309,0.07226768,-0.053437255,-0.17829022,-0.30033323,-0.41762313,-0.52832055,-0.6306629,-0.7230453,-0.80399674,-0.8722478,-0.9267118,-0.9665345,-0.99108195,-0.99996907,-0.99305457,-0.9704485,-0.9325054,-0.87982947,-0.81324667,-0.7338172,-0.64278674,-0.5416046,-0.43185756,-0.31529304,-0.19373904,-0.069130965,0.056577083,0.18138354,0.30333117,0.4204783,0.5309878,0.63310015,0.725214,0.80586267,0.87378144,0.9278889,0.9673364,0.9914961,0.9999889,0.99267966,0.9696849,0.93136513,0.8783305,0.81141275,0.73167735,0.64037466,0.5389585,0.42901918,0.3123073,0.19065307,0.06599356,-0.05971635,-0.18447506,-0.3063261,-0.42332932,-0.53364986,-0.6355312,-0.72737557,-0.8077206,-0.87530637,-0.92905676,-0.9681288,-0.9919004,-0.99999875,-0.99229497,-0.9689117,-0.93021566,-0.8768229,-0.80957085,-0.7295302,-0.63795626,-0.53630704,-0.42617658,-0.30931845,-0.18756524,-0.062855504,0.06285503,0.18756476,0.309318,0.42617613,0.5363066,0.6379559,0.72952986,0.80957055,0.87682265,0.9302155,0.9689116,0.9922949,0.99999875,0.99190044,0.968127,0.92905694,0.8753066,0.8077209,0.72737586,0.63553154,0.5336503,0.42332974,0.30632654,0.18447553,0.05971683,-0.065993086,-0.19065261,-0.31230685,-0.42901874,-0.5389581,-0.6403743,-0.731677,-0.8114125,-0.8783303,-0.93136495,-0.9696848,-0.9926796,-0.99998885,-0.99149615,-0.9673346,-0.92788905,-0.8737817,-0.80586296,-0.72521436,-0.6331005,-0.5309882,-0.42047873,-0.3033316,-0.181384,-0.05657756,0.06913049,0.19373858,0.3152926,0.4318571,0.54160416,0.6427864,0.7338169,0.8132464,0.8798292,0.93250525,0.9704484,0.9930545,0.99996907,0.991082,0.9665327,0.926712,0.87224436,0.80399704,0.72304565,0.6306633,0.52832097,0.41762355,0.3003337,0.17829068,0.053437732,-0.07226721,-0.19682261,-0.3182752,-0.43469122,-0.54424495,-0.6451921,-0.7359495,-0.8150723,-0.88131946,-0.9336363,-0.97120243,-0.9934196,-0.9999394,-0.9906581,-0.9657212,-0.9255257,-0.8707021,-0.8021232,-0.7208698,-0.6282198,-0.5256484,-0.41476426,-0.2973328,-0.17519559,-0.050297376,0.07540321,0.19990472,0.3212547,0.437521,0.5468803,0.6475914,0.7380749,0.8168901,0.882801,0.9347582,0.97194684,0.99377483,0.9998998,0.99022436,0.96490014,0.92433035,0.86915123,0.8002414,0.7186815,0.6257701,0.52297074,0.41190088,0.29432896,0.17209879,0.04715652,-0.07853848,-0.20298484,-0.32423103,-0.44034648,-0.5495103,-0.64998436,-0.74019295,-0.81869984,-0.8842738,-0.93587077,-0.97268164,-0.99412024,-0.9998504,-0.98978084,-0.96406955,-0.9231258,-0.8675918,-0.7983517,-0.7164914,-0.6233142,-0.5202879,-0.4090334,-0.2913222,-0.16900027,-0.044015203,0.08167296,0.20606296,0.32720414,0.4431676,0.5521349,0.65237087,0.7423037,0.82050145,0.88573784,0.9369741,0.9734068,0.9944558,0.999791,0.98932755,0.9632294,0.9219122,0.8660238,0.79645413,0.7142942,0.6208521,0.5175933,0.40616187,0.28831258,0.16590008,0.040873446,-0.084806636,-0.20913903,-0.330174,-0.44598433,-0.55475396,-0.6547509,-0.7444071,-0.822295,-0.88719314,-0.9380682,-0.97412235,-0.99478155,-0.9997218,-0.9888645,-0.96237975,-0.9206894,-0.86444724,-0.7945487,-0.71208996,-0.61838394,-0.51490015,-0.40328634,-0.2853001,-0.16279824,-0.03773129,0.08793947,0.21221305,0.3331406,0.44879666,0.5573675,0.65712446,0.7465032,0.8240804,0.8886397,0.939153,0.9748283,0.99509746,0.9996427,0.9883916,0.9615206,0.91945755,0.8628621,0.7926354,0.7098786,0.61590964,0.5122019,0.4004068,0.2822775,0.1596948,0.034588754,-0.091071434,-0.21528496,-0.33610392,-0.45160455,-0.5599756,-0.6594916,-0.7485918,-0.82585764,-0.8900774,-0.9402285,-0.9755246,-0.9954036,-0.9995537,-0.98790896,-0.96065193,-0.9182166,-0.86127037,-0.7907142,-0.707663,-0.6134292,-0.5095019,-0.39752334,-0.27926305,-0.15658979,-0.03144207,0.0942025,0.21835847,0.3390639,0.4544114,0.56257814,0.661855,0.75067306,0.82762885,0.8915063,0.94129604,0.97621125,0.9957001,0.999455,0.98741657,0.9597748,0.91696656,0.8596682,0.7887852,0.7054377,0.6109427,0.50679356,0.39463592,0.2762422,0.15348323,0.028298883,-0.09733264,-0.2214261,-0.34202054,-0.4572103,-0.5651752,-0.664209,-0.7527469,-0.82938975,-0.89292645,-0.94235295,-0.97688824,-0.9959865,-0.9993461,-0.9869144,-0.95888716,-0.9157074,-0.8580575,-0.7868484,-0.7032054,-0.60845023,-0.50408024,-0.3917446,-0.2732186,-0.15037514,-0.025155418,0.10046181,0.22449152,0.34497377,0.46000472,0.56776655,0.6665564,0.7548133,0.8311424,0.8943377,0.9434005,0.9775555,0.996263,0.9992274,0.98640186,0.95799005,0.91443926,0.85643834,0.7849039,0.7009662,0.6059517,0.5013619,0.38884944,0.27019233,0.14726557,0.022011703,-0.10358999,-0.22755474,-0.34792364,-0.46279457,-0.5703523,-0.6688973,-0.75687224,-0.83288693,-0.89574015,-0.94443876,-0.9782132,-0.9965297,-0.9990989,-0.98588014,-0.95708233,-0.91316205,-0.8548107,-0.78295153,-0.69872004,-0.6034472,-0.49863857,-0.3859504,-0.26716334,-0.14415453,-0.018867772,0.10671715,0.2306157,0.35087,0.46557984,0.5729325,0.6712315,0.75892365,0.83462316,0.89713377,0.9454677,0.9788612,0.99678653,0.9989605,0.9853487,0.9561662,0.91187423,0.8531747,0.7809915,0.6964669,0.6009367,0.49591038,0.38304755,0.26413175,0.14104208,0.015723653,-0.10984325,-0.23367438,-0.35381296,-0.4683605,-0.5755069,-0.6735591,-0.7609676,-0.8363511,-0.89851844,-0.94648725,-0.9794995,-0.99703354,-0.9988122,-0.9848075,-0.95524067,-0.91057897,-0.85152817,-0.7790237,-0.694207,-0.59842026,-0.49317724,-0.3801409,-0.26109752,-0.13792823,-0.01257938,0.11296826,0.23673075,0.3567524,0.47113654,0.5780757,0.6758801,0.763004,0.8380708,0.8998943,0.9474975,0.9801281,0.9972706,0.99865407,0.98425657,0.9543057,0.9092747,0.8498752,0.77704585,0.6919402,0.5958979,0.49043924,0.37723053,0.25806072,0.13481303,0.009434981,-0.11609216,-0.23978479,-0.35968828,-0.47390795,-0.5806388,-0.67819434,-0.7650329,-0.83978224,-0.9012612,-0.9484983,-0.98074704,-0.99749786,-0.99848604,-0.9836959,-0.9533613,-0.9079614,-0.84821385,-0.7750626,-0.6896637,-0.5933697,-0.48769638,-0.3743164,-0.2550214,-0.13169648,-0.00629049,0.11921491,0.24283645,0.36262065,0.47667465,0.58319616,0.6805019,0.7670542,0.8414854,0.90261924,0.9494898,0.98135626,0.99771523,0.9983081,0.9831255,0.9524074,0.9066392,0.84654415,0.77307177,0.68738323,0.59083253,0.4849487,0.37139857,0.2519795,0.12857863,0.003145936,-0.12233648,-0.2458857,-0.36554942,-0.4794366,-0.5857477,-0.6828027,-0.7690679,-0.8431802,-0.90396833,-0.9504718,-0.9819558,-0.9979228,-0.9981203,-0.98254544,-0.95144415,-0.905308,-0.84486604,-0.7710733,-0.68509597,-0.58829254,-0.48219457,-0.3684753,-0.2489333,-0.12545763,5.562837e-7],"x":[-157.07964,-156.95384,-156.82805,-156.70227,-156.57648,-156.45068,-156.32489,-156.19911,-156.07332,-155.94753,-155.82173,-155.69595,-155.57016,-155.44437,-155.31857,-155.1928,-155.067,-154.94121,-154.81541,-154.68964,-154.56384,-154.43805,-154.31227,-154.18648,-154.06068,-153.93489,-153.80911,-153.68332,-153.55753,-153.43173,-153.30595,-153.18016,-153.05437,-152.92857,-152.8028,-152.677,-152.55121,-152.42542,-152.29964,-152.17384,-152.04805,-151.92226,-151.79648,-151.67068,-151.54489,-151.4191,-151.29332,-151.16753,-151.04173,-150.91595,-150.79016,-150.66437,-150.53857,-150.4128,-150.287,-150.16121,-150.03542,-149.90964,-149.78384,-149.65805,-149.53226,-149.40648,-149.28069,-149.15489,-149.0291,-148.90332,-148.77753,-148.65173,-148.52594,-148.40016,-148.27437,-148.14857,-148.02278,-147.897,-147.77121,-147.64542,-147.51964,-147.39384,-147.26805,-147.14226,-147.01648,-146.89069,-146.7649,-146.6391,-146.51332,-146.38753,-146.26173,-146.13594,-146.01016,-145.88437,-145.75858,-145.63278,-145.507,-145.38121,-145.25542,-145.12962,-145.00385,-144.87805,-144.75226,-144.62648,-144.50069,-144.3749,-144.2491,-144.12332,-143.99753,-143.87173,-143.74594,-143.62016,-143.49437,-143.36858,-143.24278,-143.117,-142.99121,-142.86542,-142.73962,-142.61385,-142.48805,-142.36226,-142.23647,-142.11069,-141.9849,-141.8591,-141.7333,-141.60753,-141.48174,-141.35594,-141.23016,-141.10437,-140.97858,-140.85278,-140.727,-140.60121,-140.47542,-140.34962,-140.22385,-140.09805,-139.97226,-139.84647,-139.72069,-139.5949,-139.4691,-139.3433,-139.21753,-139.09174,-138.96594,-138.84015,-138.71437,-138.58858,-138.46278,-138.33699,-138.21121,-138.08542,-137.95963,-137.83385,-137.70805,-137.58226,-137.45647,-137.33069,-137.2049,-137.0791,-136.95331,-136.82753,-136.70174,-136.57594,-136.45015,-136.32437,-136.19858,-136.07278,-135.94699,-135.82121,-135.69542,-135.56963,-135.44383,-135.31805,-135.19226,-135.06647,-134.94067,-134.8149,-134.6891,-134.56331,-134.43753,-134.31174,-134.18594,-134.06015,-133.93437,-133.80858,-133.68279,-133.55699,-133.43121,-133.30542,-133.17963,-133.05383,-132.92805,-132.80226,-132.67647,-132.55067,-132.4249,-132.2991,-132.17331,-132.04752,-131.92174,-131.79594,-131.67015,-131.54437,-131.41858,-131.29279,-131.16699,-131.04121,-130.91542,-130.78963,-130.66383,-130.53806,-130.41226,-130.28647,-130.16068,-130.0349,-129.9091,-129.78331,-129.65752,-129.53174,-129.40594,-129.28015,-129.15436,-129.02858,-128.90279,-128.777,-128.6512,-128.52542,-128.39963,-128.27383,-128.14806,-128.02226,-127.89647,-127.77068,-127.64489,-127.519104,-127.39331,-127.267525,-127.14173,-127.015945,-126.89015,-126.764366,-126.63857,-126.51279,-126.38699,-126.26121,-126.135414,-126.00963,-125.883835,-125.75805,-125.632256,-125.50647,-125.38068,-125.25489,-125.1291,-125.00331,-124.877525,-124.75173,-124.625946,-124.50015,-124.37437,-124.24857,-124.12279,-123.996994,-123.87121,-123.745415,-123.61963,-123.493835,-123.36805,-123.242256,-123.11647,-122.99068,-122.86489,-122.7391,-122.61331,-122.48752,-122.36173,-122.23594,-122.11015,-121.98436,-121.858574,-121.73279,-121.606995,-121.48121,-121.355415,-121.22963,-121.103836,-120.97805,-120.85226,-120.72647,-120.60068,-120.47489,-120.3491,-120.22331,-120.09752,-119.97173,-119.84594,-119.72015,-119.59436,-119.468575,-119.34278,-119.216995,-119.0912,-118.965416,-118.83962,-118.71384,-118.58804,-118.46226,-118.33647,-118.21068,-118.08489,-117.9591,-117.83331,-117.70752,-117.58173,-117.45594,-117.330154,-117.20436,-117.078575,-116.95278,-116.826996,-116.7012,-116.57542,-116.44962,-116.32384,-116.198044,-116.07226,-115.946465,-115.82068,-115.694885,-115.5691,-115.443306,-115.31752,-115.191734,-115.06594,-114.940155,-114.81436,-114.688576,-114.56278,-114.437,-114.3112,-114.18542,-114.05962,-113.93384,-113.808044,-113.68226,-113.556465,-113.43068,-113.304886,-113.1791,-113.05331,-112.92752,-112.80173,-112.67594,-112.55015,-112.42436,-112.29857,-112.17278,-112.04699,-111.9212,-111.79542,-111.669624,-111.54384,-111.418045,-111.29226,-111.166466,-111.04068,-110.91489,-110.7891,-110.66331,-110.53752,-110.41173,-110.28594,-110.16015,-110.03436,-109.90857,-109.78278,-109.65699,-109.531204,-109.40541,-109.279625,-109.15383,-109.028046,-108.90225,-108.77647,-108.65068,-108.52489,-108.3991,-108.27331,-108.14752,-108.02173,-107.89594,-107.77015,-107.64436,-107.51857,-107.392784,-107.26699,-107.141205,-107.01541,-106.889626,-106.76383,-106.63805,-106.51225,-106.38647,-106.26067,-106.13489,-106.009094,-105.88331,-105.757515,-105.63173,-105.505936,-105.38015,-105.254364,-105.12857,-105.002785,-104.87699,-104.751205,-104.62541,-104.499626,-104.37383,-104.24805,-104.12225,-103.99647,-103.870674,-103.74489,-103.619095,-103.49331,-103.367516,-103.24173,-103.11594,-102.99015,-102.86436,-102.73857,-102.61278,-102.48699,-102.3612,-102.23541,-102.10963,-101.98383,-101.85805,-101.732254,-101.60647,-101.480675,-101.35489,-101.229095,-101.10331,-100.977516,-100.85173,-100.72594,-100.60015,-100.47436,-100.34857,-100.22278,-100.09699,-99.9712,-99.84541,-99.71962,-99.593834,-99.46804,-99.342255,-99.21646,-99.090675,-98.96488,-98.839096,-98.71331,-98.58752,-98.46173,-98.33594,-98.21015,-98.08436,-97.95857,-97.83278,-97.70699,-97.5812,-97.455414,-97.32962,-97.203835,-97.07804,-96.952255,-96.82646,-96.700676,-96.57488,-96.4491,-96.3233,-96.19752,-96.071724,-95.94594,-95.820145,-95.69436,-95.56857,-95.44278,-95.31699,-95.1912,-95.065414,-94.93962,-94.813835,-94.68804,-94.562256,-94.43646,-94.31068,-94.18488,-94.0591,-93.933304,-93.80752,-93.681725,-93.55594,-93.430145,-93.30436,-93.178566,-93.05278,-92.92699,-92.8012,-92.67541,-92.54962,-92.42383,-92.29804,-92.17226,-92.04646,-91.92068,-91.79488,-91.6691,-91.543304,-91.41752,-91.291725,-91.16594,-91.040146,-90.91436,-90.78857,-90.66278,-90.53699,-90.4112,-90.28541,-90.15962,-90.03383,-89.90804,-89.78225,-89.65646,-89.53067,-89.404884,-89.27909,-89.153305,-89.02752,-88.901726,-88.77594,-88.65015,-88.52436,-88.39857,-88.27278,-88.14699,-88.0212,-87.89541,-87.76962,-87.64383,-87.51804,-87.39225,-87.266464,-87.14067,-87.014885,-86.88909,-86.763306,-86.63751,-86.51173,-86.38593,-86.26015,-86.13435,-86.00857,-85.882774,-85.75699,-85.6312,-85.50541,-85.37962,-85.25383,-85.128044,-85.00225,-84.876465,-84.75067,-84.624886,-84.49909,-84.37331,-84.24751,-84.12173,-83.99593,-83.87015,-83.744354,-83.61857,-83.492775,-83.36699,-83.241196,-83.11541,-82.98962,-82.86383,-82.73804,-82.61225,-82.486465,-82.36067,-82.234886,-82.10909,-81.98331,-81.85751,-81.73173,-81.605934,-81.48015,-81.354355,-81.22857,-81.102776,-80.97699,-80.8512,-80.72541,-80.59962,-80.47383,-80.34804,-80.22225,-80.09646,-79.97067,-79.84488,-79.71909,-79.5933,-79.467514,-79.34172,-79.215935,-79.09015,-78.964355,-78.83857,-78.712776,-78.58699,-78.4612,-78.33541,-78.20962,-78.08383,-77.95804,-77.83225,-77.70646,-77.58067,-77.45488,-77.329094,-77.2033,-77.077515,-76.95172,-76.825935,-76.70014,-76.574356,-76.44856,-76.32278,-76.19698,-76.0712,-75.94541,-75.81962,-75.69383,-75.56804,-75.44225,-75.31646,-75.190674,-75.06488,-74.939095,-74.8133,-74.687515,-74.56172,-74.435936,-74.31014,-74.18436,-74.05856,-73.93278,-73.806984,-73.6812,-73.555405,-73.42962,-73.303825,-73.17804,-73.052246,-72.92646,-72.80067,-72.67488,-72.549095,-72.4233,-72.297516,-72.17172,-72.04594,-71.92014,-71.79436,-71.668564,-71.54278,-71.416985,-71.2912,-71.165405,-71.03962,-70.913826,-70.78804,-70.66225,-70.53646,-70.41067,-70.28488,-70.15909,-70.0333,-69.90751,-69.78172,-69.65593,-69.53014,-69.40436,-69.278564,-69.15278,-69.026985,-68.9012,-68.775406,-68.64962,-68.52383,-68.39804,-68.27225,-68.14646,-68.02067,-67.89488,-67.76909,-67.6433,-67.51751,-67.39172,-67.26593,-67.140144,-67.01435,-66.888565,-66.76277,-66.636986,-66.51119,-66.38541,-66.25961,-66.13383,-66.00804,-65.88225,-65.75646,-65.63067,-65.50488,-65.37909,-65.2533,-65.12751,-65.001724,-64.87593,-64.750145,-64.62435,-64.498566,-64.37277,-64.24699,-64.12119,-63.995407,-63.869617,-63.743828,-63.61804,-63.49225,-63.36646,-63.24067,-63.11488,-62.98909,-62.8633,-62.73751,-62.61172,-62.48593,-62.36014,-62.234352,-62.108562,-61.982773,-61.856983,-61.731194,-61.605404,-61.479614,-61.353825,-61.22804,-61.10225,-60.97646,-60.85067,-60.72488,-60.59909,-60.4733,-60.34751,-60.22172,-60.095932,-59.970142,-59.844353,-59.718563,-59.592773,-59.466984,-59.341194,-59.215405,-59.089615,-58.963825,-58.838036,-58.712246,-58.586456,-58.460667,-58.334877,-58.209087,-58.083298,-57.95751,-57.831722,-57.705933,-57.580143,-57.454353,-57.328564,-57.202774,-57.076984,-56.951195,-56.825405,-56.699615,-56.573826,-56.448036,-56.322247,-56.196457,-56.070667,-55.944878,-55.819088,-55.6933,-55.56751,-55.44172,-55.31593,-55.19014,-55.06435,-54.93856,-54.81277,-54.686985,-54.561195,-54.435406,-54.309616,-54.183826,-54.058037,-53.932247,-53.806458,-53.680668,-53.55488,-53.42909,-53.3033,-53.17751,-53.05172,-52.92593,-52.80014,-52.67435,-52.54856,-52.42277,-52.29698,-52.171192,-52.045403,-51.919613,-51.793823,-51.668034,-51.542244,-51.41646,-51.29067,-51.16488,-51.03909,-50.9133,-50.78751,-50.66172,-50.53593,-50.41014,-50.28435,-50.15856,-50.032772,-49.906982,-49.781193,-49.655403,-49.529613,-49.403824,-49.278034,-49.152245,-49.026455,-48.900665,-48.774876,-48.649086,-48.523296,-48.397507,-48.271717,-48.14593,-48.02014,-47.894352,-47.768562,-47.642773,-47.516983,-47.391193,-47.265404,-47.139614,-47.013824,-46.888035,-46.762245,-46.636456,-46.510666,-46.384876,-46.259087,-46.133297,-46.007507,-45.881718,-45.755928,-45.63014,-45.50435,-45.37856,-45.25277,-45.12698,-45.00119,-44.875404,-44.749615,-44.623825,-44.498035,-44.372246,-44.246456,-44.120667,-43.994877,-43.869087,-43.743298,-43.617508,-43.49172,-43.36593,-43.24014,-43.11435,-42.98856,-42.86277,-42.73698,-42.61119,-42.4854,-42.35961,-42.23382,-42.108032,-41.982243,-41.856453,-41.730663,-41.604877,-41.479088,-41.3533,-41.22751,-41.10172,-40.97593,-40.85014,-40.72435,-40.59856,-40.47277,-40.34698,-40.22119,-40.0954,-39.969612,-39.843822,-39.718033,-39.592243,-39.466454,-39.340664,-39.214874,-39.089085,-38.963295,-38.837505,-38.711716,-38.585926,-38.460136,-38.33435,-38.20856,-38.08277,-37.95698,-37.831192,-37.705402,-37.579613,-37.453823,-37.328033,-37.202244,-37.076454,-36.950665,-36.824875,-36.699085,-36.573296,-36.447506,-36.321716,-36.195927,-36.070137,-35.944347,-35.818558,-35.69277,-35.56698,-35.44119,-35.3154,-35.18961,-35.063824,-34.938034,-34.812244,-34.686455,-34.560665,-34.434875,-34.309086,-34.183296,-34.057507,-33.931717,-33.805927,-33.680138,-33.554348,-33.42856,-33.30277,-33.17698,-33.05119,-32.9254,-32.79961,-32.67382,-32.54803,-32.42224,-32.29645,-32.170662,-32.044872,-31.919085,-31.793295,-31.667505,-31.541716,-31.415926]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json index 138180b7b154..61ceb2740678 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json @@ -1 +1 @@ -{"expected":[1.351065e-6,0.12545952,0.24893515,0.36847705,0.48219624,0.58829564,0.6850987,0.7710757,0.84486806,0.9053096,0.95144534,0.98254615,0.99812055,0.9979225,0.9819558,0.9504718,0.90396833,0.8431802,0.7690679,0.6828027,0.5857477,0.4794366,0.36554942,0.2458857,0.12233648,-0.003145936,-0.12857863,-0.2519795,-0.37139857,-0.4849487,-0.5908356,-0.687386,-0.7730742,-0.8465462,-0.9066408,-0.9524086,-0.9831262,-0.9983083,-0.997715,-0.98135555,-0.9494898,-0.90261924,-0.8414854,-0.7670542,-0.6805019,-0.58319616,-0.47667465,-0.36262065,-0.24283645,-0.11921491,0.00629049,0.13169648,0.2550214,0.3743164,0.48769638,0.5933697,0.6896665,0.77506506,0.8482159,0.90796304,0.9533624,0.9836966,0.9984862,0.99749756,0.9807463,0.9484971,0.9012612,0.83978224,0.7650329,0.67819434,0.5806388,0.47390795,0.35968828,0.23978479,0.11609216,-0.009434981,-0.13481303,-0.25806072,-0.37723053,-0.49043924,-0.5958979,-0.6919402,-0.77704823,-0.84987724,-0.9092763,-0.95430684,-0.9842573,-0.99865425,-0.99727035,-0.9801274,-0.94749624,-0.8998926,-0.8380687,-0.763004,-0.6758801,-0.5780757,-0.47113654,-0.3567524,-0.23673075,-0.11296826,0.01257938,0.13792823,0.26109752,0.3801409,0.49317724,0.59842026,0.694207,0.7790237,0.85153013,0.9105806,0.9552418,0.98480815,0.9988124,0.99703324,0.97949874,0.94648606,0.8985168,0.836349,0.7609651,0.6735591,0.5755069,0.4683605,0.35381296,0.23367438,0.10984325,-0.015723653,-0.14104208,-0.26413175,-0.38304755,-0.49591038,-0.6009367,-0.6964669,-0.7809915,-0.8531747,-0.91187584,-0.95616734,-0.98534936,-0.9989607,-0.99678624,-0.97886044,-0.94546646,-0.89713204,-0.834621,-0.75892115,-0.6712287,-0.5729325,-0.46557984,-0.35087,-0.2306157,-0.10671715,0.018867772,0.14415453,0.26716334,0.3859504,0.49863857,0.6034472,0.69872004,0.78295153,0.8548107,0.91316205,0.9570834,0.9858808,0.9990991,0.9965294,0.9782124,0.9444375,0.8957385,0.8328848,0.75686973,0.66889447,0.5703492,0.46279457,0.34792364,0.22755474,0.10358999,-0.022011703,-0.14726557,-0.27019233,-0.38884944,-0.5013619,-0.6059517,-0.7009662,-0.7849039,-0.85643834,-0.91443926,-0.95799005,-0.98640245,-0.9992276,-0.9962627,-0.97755474,-0.94339925,-0.89433604,-0.83114034,-0.7548108,-0.6665536,-0.5677634,-0.46000132,-0.3449702,-0.22449152,-0.10046181,0.025155418,0.15037514,0.2732186,0.3917446,0.50408024,0.60845023,0.7032054,0.7868484,0.8580575,0.9157074,0.95888716,0.9869144,0.9993462,0.99598616,0.9768874,0.94235164,0.8929247,0.8293876,0.7527444,0.66420615,0.565172,0.4572069,0.34201694,0.22142237,0.09733264,-0.028298883,-0.15348323,-0.2762422,-0.39463592,-0.50679356,-0.6109427,-0.7054377,-0.7887852,-0.8596682,-0.91696656,-0.9597748,-0.98741657,-0.999455,-0.99569976,-0.9762104,-0.9412947,-0.8915046,-0.8276267,-0.75067055,-0.6618521,-0.562575,-0.454408,-0.3390603,-0.21835475,-0.094198704,0.03144207,0.15658979,0.27926305,0.39752334,0.5095019,0.6134292,0.707663,0.7907142,0.86127037,0.9182166,0.960654,0.98790896,0.9995539,0.9954036,0.9755246,0.9402285,0.8900774,0.82585764,0.7485918,0.6594916,0.5599756,0.45160455,0.33610392,0.21528496,0.091071434,-0.034588754,-0.1596948,-0.2822848,-0.4004068,-0.51220846,-0.61590964,-0.709884,-0.7926354,-0.8628659,-0.91945755,-0.9615227,-0.9883916,-0.9996429,-0.99509746,-0.9748266,-0.939153,-0.8886397,-0.8240804,-0.7465032,-0.65712446,-0.5573675,-0.44879666,-0.3331406,-0.21221305,-0.08793947,0.03773129,0.16279824,0.2853001,0.40328634,0.5149067,0.61838394,0.71209526,0.7945487,0.86445105,0.9206894,0.96238184,0.9888645,0.999722,0.99478155,0.9741207,0.9380682,0.88719314,0.822295,0.7444071,0.6547509,0.55475396,0.44598433,0.330174,0.20913903,0.084806636,-0.040873446,-0.16590008,-0.28831258,-0.40616187,-0.5175998,-0.6208521,-0.7142995,-0.79645413,-0.8660276,-0.9219122,-0.96323144,-0.98932755,-0.9997912,-0.9944558,-0.97340506,-0.9369741,-0.8857343,-0.82050145,-0.7423037,-0.65237087,-0.5521349,-0.4431676,-0.32720414,-0.20606296,-0.08167296,0.044015203,0.16900027,0.2913222,0.4090334,0.5202879,0.6233142,0.7164967,0.7983517,0.8675956,0.9231258,0.9640716,0.98978084,0.9998505,0.99412024,0.97267985,0.93587077,0.88427025,0.81869984,0.7401878,0.64998436,0.5495103,0.44034648,0.32423103,0.20298484,0.07853848,-0.04715652,-0.17209879,-0.29432896,-0.41190088,-0.52297074,-0.6257701,-0.7186868,-0.8002414,-0.86915505,-0.92433035,-0.9649021,-0.99022436,-0.9998999,-0.99377483,-0.97194505,-0.9347582,-0.8827974,-0.8168901,-0.7380698,-0.6475914,-0.5468803,-0.437521,-0.3212547,-0.19990472,-0.07540321,0.050297376,0.17519559,0.2973328,0.41476426,0.5256484,0.6282198,0.7208698,0.8021232,0.87070584,0.9255257,0.96572316,0.9906581,0.9999395,0.9934196,0.9712006,0.9336363,0.8813159,0.8150723,0.7359444,0.6451921,0.54423857,0.43469122,0.3182752,0.19682261,0.07226721,-0.053437732,-0.17829068,-0.3003337,-0.41762355,-0.52832097,-0.6306633,-0.72304565,-0.80399704,-0.87224805,-0.926712,-0.9665346,-0.991082,-0.9999691,-0.9930545,-0.9704465,-0.93250525,-0.8798256,-0.8132464,-0.73381174,-0.6427864,-0.5415978,-0.4318571,-0.3152926,-0.19373858,-0.06913049,0.05657756,0.181384,0.3033316,0.42047873,0.5309882,0.6331005,0.72521436,0.80586296,0.8737817,0.92788905,0.96733654,0.99149615,0.9999889,0.9926796,0.96968293,0.93136495,0.87832665,0.8114125,0.7316718,0.6403743,0.53895164,0.42901874,0.31229958,0.19065261,0.065993086,-0.05971683,-0.18447553,-0.30632654,-0.42332974,-0.5336503,-0.63553154,-0.72737586,-0.8077209,-0.8753066,-0.92905694,-0.9681289,-0.99190044,-0.99999875,-0.9922949,-0.9689097,-0.9302155,-0.876819,-0.80957055,-0.7295247,-0.6379559,-0.5363002,-0.42617613,-0.30931073,-0.18756476,-0.06284741,0.062855504,0.18756524,0.30931845,0.42617658,0.53630704,0.63795626,0.7295302,0.80957085,0.8768229,0.93021566,0.9689117,0.99229497,0.99999875,0.9919004,0.9681269,0.92905676,0.8753027,0.8077206,0.7273703,0.6355312,0.5336434,0.42332932,0.30631885,0.18447506,0.059708737,-0.06599356,-0.19065307,-0.3123073,-0.42901918,-0.5389585,-0.64037466,-0.73167735,-0.81141275,-0.8783305,-0.93136513,-0.9696849,-0.99267966,-0.99998885,-0.9914961,-0.9673345,-0.9278889,-0.87377775,-0.80586267,-0.72520876,-0.63310015,-0.53098136,-0.4204783,-0.3033239,-0.18138354,-0.056569465,0.069130965,0.19374652,0.31529304,0.43185756,0.5416046,0.64278674,0.7338172,0.81324667,0.87982947,0.9325054,0.9704485,0.99305457,0.99996907,0.99108195,0.9665325,0.9267118,0.8722441,0.80399674,0.72304004,0.6306629,0.52831405,0.41762313,0.30032596,0.17829022,0.053429637,-0.07226768,-0.19683057,-0.3182757,-0.43469852,-0.54424536,-0.64519244,-0.7359499,-0.81507254,-0.8813197,-0.9336365,-0.97120255,-0.99341965,-0.9999394,-0.99065804,-0.9657211,-0.92552555,-0.87070185,-0.8021229,-0.7208642,-0.6282194,-0.52564156,-0.41476384,-0.29732504,-0.17519513,-0.05028928,0.07540369,0.19991267,0.32125518,0.4375283,0.5468807,0.64759177,0.7380752,0.81689036,0.88280123,0.93475837,0.97194695,0.9937749,0.9998998,0.9902243,0.9649,0.9243302,0.869151,0.8002411,0.71868116,0.62576973,0.5229638,0.41190043,0.2943212,0.17209831,0.047148425,-0.07853895,-0.20299278,-0.32423148,-0.44035375,-0.5495107,-0.6499905,-0.7401933,-0.8187001,-0.884274,-0.93587095,-0.97268176,-0.9941203,-0.9998504,-0.9897808,-0.9640694,-0.9231256,-0.86759156,-0.79835147,-0.71649104,-0.6233138,-0.52028096,-0.40903297,-0.29131445,-0.16899979,-0.044007104,0.081673436,0.2060709,0.32720459,0.44317487,0.5521352,0.652377,0.742304,0.8205061,0.8857381,0.9369743,0.9734069,0.9944559,0.999791,0.9893275,0.9632293,0.921912,0.86602354,0.79645383,0.71429384,0.62085176,0.5175929,0.40616143,0.28830484,0.1658996,0.040865347,-0.084807105,-0.20914696,-0.33017445,-0.4459916,-0.5547543,-0.654757,-0.7444074,-0.8222996,-0.8871934,-0.9380684,-0.97412246,-0.9947816,-0.9997218,-0.98886436,-0.96237963,-0.9206892,-0.864447,-0.7945484,-0.7120896,-0.6183835,-0.51489973,-0.40328592,-0.28529233,-0.16279778,-0.037723187,0.08793995,0.21222097,0.33314106,0.4488039,0.5573679,0.6571306,0.7465035,0.824085,0.88863987,0.9391558,0.9748284,0.9950975,0.99964267,0.9883915,0.96152043,0.9194574,0.8628619,0.7926351,0.7098783,0.6159092,0.5122015,0.4004064,0.28227702,0.15969433,0.034580655,-0.09107191,-0.21529289,-0.33610436,-0.4516118,-0.55997604,-0.6594977,-0.74859214,-0.8258622,-0.8900776,-0.9402313,-0.97552466,-0.99540436,-0.9995537,-0.9879089,-0.96065176,-0.9182164,-0.86126816,-0.7907139,-0.70765996,-0.61342883,-0.5094982,-0.3975229,-0.27925894,-0.15658931,-0.03143778,0.09420298,0.21836266,0.33906436,0.4544152,0.56257856,0.6618582,0.75067335,0.8276313,0.89150655,0.9412975,0.9762113,0.99570054,0.9994548,0.9874165,0.9597736,0.9169663,0.859666,0.7887849,0.7054347,0.61093634,0.5067964,0.3946355,0.27623805,0.15347521,0.028302219,-0.09733311,-0.22143027,-0.34202814,-0.45720732,-0.56517553,-0.6642122,-0.75275224,-0.8293879,-0.89292663,-0.9423544,-0.97688997,-0.9959862,-0.9993461,-0.9869131,-0.9588881,-0.91570723,-0.8580553,-0.7868434,-0.7032078,-0.6084499,-0.5040765,-0.39173716,-0.27322182,-0.15037467,-0.025151128,0.10046988,0.22448827,0.34497422,0.4600085,0.5677732,0.666554,0.7548136,0.8311448,0.89434135,0.9433994,0.97755563,0.99626344,0.9992271,0.9864024,0.9579888,0.914436,0.85644007,0.7849036,0.70096314,0.6059453,0.50136477,0.388849,0.27018818,0.14725755,0.02201504,-0.103590466,-0.22755891,-0.34793124,-0.4627916,-0.57035273,-0.6689005,-0.75687754,-0.8328851,-0.8957404,-0.9444402,-0.97821486,-0.99652946,-0.9990989,-0.9858794,-0.95707995,-0.9131619,-0.8548085,-0.7829465,-0.6987224,-0.60344684,-0.49863487,-0.3859429,-0.26716655,-0.14415407,-0.01886348,0.10672521,0.23061246,0.35087046,0.46558362,0.5729391,0.67122906,0.75892395,0.8346255,0.89713734,0.94546664,0.9788613,0.9967869,0.99896014,0.98534924,0.9561661,0.9118725,0.8531684,0.7809912,0.6964639,0.6009302,0.49591327,0.3830471,0.2641276,0.14103407,0.015726991,-0.10984372,-0.23367855,-0.35382053,-0.46835756,-0.57550734,-0.6735623,-0.76097286,-0.8363493,-0.8985187,-0.9464887,-0.9795011,-0.99703324,-0.9988122,-0.9848068,-0.9552383,-0.9105804,-0.8515279,-0.77901864,-0.6941984,-0.5984199,-0.4931735,-0.38013342,-0.26110074,-0.13792777,-0.012575088,0.11297631,0.2367275,0.35675284,0.47114035,0.5780823,0.6758776,0.7630043,0.8380732,0.8998978,0.9474964,0.9801282,0.99727094,0.99865365,0.98425716,0.9543056,0.9092729,0.8498709,0.77704793,0.6919371,0.5958914,0.49042884,0.37723008,0.25805658,0.134805,0.009438319,-0.11609263,-0.23978895,-0.35969585,-0.473905,-0.5806392,-0.67819744,-0.7650381,-0.83978045,-0.90126145,-0.9484997,-0.98074865,-0.9974976,-0.998486,-0.98369515,-0.9533588,-0.90796286,-0.8482136,-0.77505994,-0.68965787,-0.5933693,-0.48769262,-0.37430888,-0.2550246,-0.13169602,-0.0062861983,0.119222954,0.24283321,0.3626211,0.4766784,0.5832027,0.68049943,0.7670545,0.8414877,0.90262276,0.9494887,0.9813564,0.99771553,0.99830765,0.98312616,0.9524073,0.90663743,0.8465398,0.7730739,0.6873829,0.5908291,0.48493826,0.37139812,0.25197536,0.1285706,0.0031492736,-0.12233695,-0.24588986,-0.36555696,-0.4794337,-0.5857481,-0.68280584,-0.76907307,-0.8431784,-0.9039685,-0.9504732,-0.9819574,-0.99792254,-0.9981203,-0.9825446,-0.95144165,-0.90530944,-0.84486574,-0.77107054,-0.68509,-0.5882953,-0.4821925,-0.36846954,-0.2489236,-0.12545905,2.9406276e-6],"x":[31.415928,31.541718,31.667507,31.793297,31.919086,32.044876,32.170666,32.296455,32.422245,32.548035,32.673824,32.799614,32.925404,33.051193,33.17698,33.30277,33.42856,33.554348,33.680138,33.805927,33.931717,34.057507,34.183296,34.309086,34.434875,34.560665,34.686455,34.812244,34.938034,35.063824,35.189613,35.315403,35.441193,35.566982,35.692772,35.81856,35.94435,36.07014,36.19593,36.32172,36.447506,36.573296,36.699085,36.824875,36.950665,37.076454,37.202244,37.328033,37.453823,37.579613,37.705402,37.831192,37.95698,38.08277,38.20856,38.33435,38.46014,38.58593,38.71172,38.83751,38.9633,39.08909,39.214878,39.340668,39.466457,39.592247,39.718033,39.843822,39.969612,40.0954,40.22119,40.34698,40.47277,40.59856,40.72435,40.85014,40.97593,41.10172,41.22751,41.3533,41.479088,41.604877,41.730667,41.856457,41.982246,42.108036,42.233826,42.359615,42.485405,42.611195,42.736984,42.862774,42.988564,43.11435,43.24014,43.36593,43.49172,43.617508,43.743298,43.869087,43.994877,44.120667,44.246456,44.372246,44.498035,44.623825,44.749615,44.875404,45.001194,45.126984,45.252773,45.378563,45.504353,45.630142,45.75593,45.88172,46.00751,46.1333,46.25909,46.384876,46.510666,46.636456,46.762245,46.888035,47.013824,47.139614,47.265404,47.391193,47.516983,47.642773,47.768562,47.894352,48.02014,48.14593,48.27172,48.39751,48.5233,48.64909,48.77488,48.90067,49.02646,49.15225,49.278038,49.403828,49.529617,49.655403,49.781193,49.906982,50.032772,50.15856,50.28435,50.41014,50.53593,50.66172,50.78751,50.9133,51.03909,51.16488,51.29067,51.41646,51.542248,51.668037,51.793827,51.919617,52.045406,52.171196,52.296986,52.422775,52.548565,52.674355,52.800144,52.92593,53.05172,53.17751,53.3033,53.42909,53.55488,53.680668,53.806458,53.932247,54.058037,54.183826,54.309616,54.435406,54.561195,54.686985,54.812775,54.938564,55.064354,55.190144,55.315933,55.441723,55.567513,55.693302,55.81909,55.94488,56.07067,56.19646,56.322247,56.448036,56.573826,56.699615,56.825405,56.951195,57.076984,57.202774,57.328564,57.454353,57.580143,57.705933,57.831722,57.95751,58.0833,58.20909,58.33488,58.46067,58.58646,58.71225,58.83804,58.96383,59.08962,59.21541,59.341198,59.466988,59.592773,59.718563,59.844353,59.970142,60.095932,60.22172,60.34751,60.4733,60.59909,60.72488,60.85067,60.97646,61.10225,61.22804,61.35383,61.479618,61.605408,61.731197,61.856987,61.982777,62.108566,62.234356,62.360146,62.485935,62.611725,62.737514,62.8633,62.98909,63.11488,63.24067,63.36646,63.49225,63.61804,63.743828,63.869617,63.995407,64.1212,64.24699,64.37278,64.498566,64.62435,64.750145,64.87593,65.001724,65.12751,65.2533,65.37909,65.50488,65.63067,65.75646,65.88225,66.00804,66.13383,66.25962,66.38541,66.5112,66.636986,66.76278,66.888565,67.01436,67.140144,67.26594,67.39172,67.51752,67.6433,67.7691,67.89488,68.02067,68.14646,68.27225,68.39804,68.52383,68.64962,68.775406,68.9012,69.026985,69.15278,69.278564,69.40436,69.53014,69.65594,69.78172,69.90752,70.0333,70.159096,70.28488,70.410675,70.53646,70.662254,70.78804,70.91383,71.03962,71.165405,71.2912,71.416985,71.54278,71.668564,71.79436,71.92014,72.04594,72.17172,72.297516,72.4233,72.549095,72.67488,72.800674,72.92646,73.05225,73.17804,73.30383,73.42962,73.55541,73.6812,73.80699,73.93278,74.05857,74.18436,74.31015,74.435936,74.56172,74.687515,74.8133,74.939095,75.06488,75.190674,75.31646,75.44225,75.56804,75.69383,75.81962,75.94541,76.0712,76.19699,76.32278,76.44857,76.574356,76.70015,76.825935,76.95173,77.077515,77.20331,77.329094,77.45489,77.58067,77.70647,77.83225,77.95804,78.08383,78.20962,78.33541,78.4612,78.58699,78.712776,78.83857,78.964355,79.09015,79.215935,79.34173,79.467514,79.59331,79.71909,79.84489,79.97067,80.096466,80.22225,80.348045,80.47383,80.599625,80.72541,80.851204,80.97699,81.102776,81.22857,81.354355,81.48015,81.605934,81.73173,81.85751,81.98331,82.10909,82.234886,82.36067,82.486465,82.61225,82.738045,82.86383,82.989624,83.11541,83.2412,83.36699,83.49278,83.61857,83.74436,83.87015,83.99594,84.12173,84.24752,84.37331,84.49909,84.624886,84.75067,84.876465,85.00225,85.128044,85.25383,85.37962,85.50541,85.6312,85.75699,85.88278,86.00857,86.13436,86.26015,86.38594,86.51173,86.63752,86.763306,86.8891,87.014885,87.14068,87.266464,87.39226,87.51804,87.64383,87.76962,87.89541,88.0212,88.14699,88.27278,88.39857,88.52436,88.65015,88.77594,88.901726,89.02752,89.153305,89.2791,89.404884,89.53068,89.65646,89.78226,89.90804,90.03384,90.15962,90.285416,90.4112,90.536995,90.66278,90.788574,90.91436,91.040146,91.16594,91.291725,91.41752,91.543304,91.6691,91.79488,91.92068,92.04646,92.17226,92.29804,92.423836,92.54962,92.675415,92.8012,92.926994,93.05278,93.17857,93.30436,93.43015,93.55594,93.68173,93.80752,93.93331,94.0591,94.18489,94.31068,94.43646,94.562256,94.68804,94.813835,94.93962,95.065414,95.1912,95.31699,95.44278,95.56857,95.69436,95.82015,95.94594,96.07173,96.19752,96.32331,96.4491,96.57489,96.700676,96.82647,96.952255,97.07805,97.203835,97.32963,97.455414,97.5812,97.70699,97.83278,97.95857,98.08436,98.21015,98.33594,98.46173,98.58752,98.71331,98.839096,98.96489,99.090675,99.21647,99.342255,99.46805,99.593834,99.71963,99.84541,99.97121,100.09699,100.222786,100.34857,100.474365,100.60015,100.725945,100.85173,100.977516,101.10331,101.229095,101.35489,101.480675,101.60647,101.732254,101.85805,101.98383,102.10963,102.23541,102.361206,102.48699,102.612785,102.73857,102.864365,102.99015,103.115944,103.24173,103.36752,103.49331,103.6191,103.74489,103.87068,103.99647,104.12226,104.24805,104.37383,104.499626,104.62541,104.751205,104.87699,105.002785,105.12857,105.254364,105.38015,105.50594,105.63173,105.75752,105.88331,106.0091,106.13489,106.26068,106.38647,106.51226,106.63805,106.76384,106.889626,107.01542,107.141205,107.267,107.392784,107.51857,107.64436,107.77015,107.89594,108.02173,108.14752,108.27331,108.3991,108.52489,108.65068,108.77647,108.90226,109.028046,109.15384,109.279625,109.40542,109.531204,109.657,109.78278,109.90858,110.03436,110.16016,110.28594,110.411736,110.53752,110.663315,110.7891,110.91489,111.04068,111.166466,111.29226,111.418045,111.54384,111.669624,111.79542,111.9212,112.047,112.17278,112.29858,112.42436,112.550156,112.67594,112.801735,112.92752,113.053314,113.1791,113.30489,113.43068,113.55647,113.68226,113.80805,113.93384,114.05963,114.18542,114.3112,114.437,114.56278,114.688576,114.81436,114.940155,115.06594,115.191734,115.31752,115.44331,115.5691,115.69489,115.82068,115.94647,116.07226,116.19805,116.32384,116.44963,116.57542,116.70121,116.826996,116.95279,117.078575,117.20437,117.330154,117.45594,117.58173,117.70752,117.83331,117.9591,118.08489,118.21068,118.33647,118.46226,118.58805,118.71384,118.83963,118.965416,119.09121,119.216995,119.34279,119.468575,119.59437,119.72015,119.84595,119.97173,120.09753,120.22331,120.349106,120.47489,120.600685,120.72647,120.85226,120.97805,121.103836,121.22963,121.355415,121.48121,121.606995,121.73279,121.858574,121.98437,122.11015,122.23595,122.36173,122.487526,122.61331,122.739105,122.86489,122.990685,123.11647,123.24226,123.36805,123.49384,123.61963,123.74542,123.87121,123.997,124.12279,124.24857,124.37437,124.50015,124.625946,124.75173,124.877525,125.00331,125.129105,125.25489,125.380684,125.50647,125.63226,125.75805,125.88384,126.00963,126.13542,126.26121,126.387,126.51279,126.63858,126.764366,126.89016,127.015945,127.14174,127.267525,127.39331,127.519104,127.64489,127.77068,127.89647,128.02226,128.14806,128.27383,128.39963,128.52542,128.65121,128.777,128.90279,129.02858,129.15437,129.28015,129.40594,129.53174,129.65753,129.78331,129.9091,130.0349,130.16069,130.28647,130.41226,130.53806,130.66383,130.78963,130.91542,131.04121,131.16699,131.29279,131.41858,131.54437,131.67015,131.79594,131.92174,132.04753,132.17331,132.2991,132.4249,132.55069,132.67647,132.80226,132.92805,133.05385,133.17963,133.30542,133.43121,133.557,133.68279,133.80858,133.93437,134.06015,134.18594,134.31174,134.43753,134.56331,134.6891,134.8149,134.94069,135.06647,135.19226,135.31805,135.44385,135.56963,135.69542,135.82121,135.947,136.07278,136.19858,136.32437,136.45016,136.57594,136.70174,136.82753,136.95332,137.0791,137.2049,137.33069,137.45647,137.58226,137.70805,137.83385,137.95963,138.08542,138.21121,138.337,138.46278,138.58858,138.71437,138.84016,138.96594,139.09174,139.21753,139.34332,139.4691,139.5949,139.72069,139.84648,139.97226,140.09805,140.22385,140.34964,140.47542,140.60121,140.727,140.85278,140.97858,141.10437,141.23016,141.35594,141.48174,141.60753,141.73332,141.8591,141.9849,142.11069,142.23648,142.36226,142.48805,142.61385,142.73964,142.86542,142.99121,143.117,143.2428,143.36858,143.49437,143.62016,143.74596,143.87173,143.99753,144.12332,144.2491,144.3749,144.50069,144.62648,144.75226,144.87805,145.00385,145.12964,145.25542,145.38121,145.507,145.6328,145.75858,145.88437,146.01016,146.13596,146.26173,146.38753,146.51332,146.63911,146.7649,146.89069,147.01648,147.14227,147.26805,147.39384,147.51964,147.64542,147.77121,147.897,148.0228,148.14857,148.27437,148.40016,148.52596,148.65173,148.77753,148.90332,149.02911,149.15489,149.28069,149.40648,149.53227,149.65805,149.78384,149.90964,150.03543,150.16121,150.287,150.4128,150.53857,150.66437,150.79016,150.91595,151.04173,151.16753,151.29332,151.41911,151.54489,151.67068,151.79648,151.92227,152.04805,152.17384,152.29964,152.42543,152.55121,152.677,152.8028,152.92859,153.05437,153.18016,153.30595,153.43175,153.55753,153.68332,153.80911,153.93489,154.06068,154.18648,154.31227,154.43805,154.56384,154.68964,154.81543,154.94121,155.067,155.1928,155.31859,155.44437,155.57016,155.69595,155.82175,155.94753,156.07332,156.19911,156.3249,156.45068,156.57648,156.70227,156.82806,156.95384,157.07964]} +{"expected":[-5.562837e-7,0.12545763,0.2489333,0.3684753,0.48219457,0.58829254,0.68509597,0.7710733,0.84486604,0.905308,0.95144415,0.98254544,0.9981203,0.9979228,0.9819558,0.9504718,0.90396833,0.8431802,0.7690679,0.6828027,0.5857477,0.4794366,0.36554942,0.2458857,0.12233648,-0.003145936,-0.12857863,-0.2519795,-0.37139857,-0.4849487,-0.59083253,-0.68738323,-0.77307177,-0.84654415,-0.9066392,-0.9524074,-0.9831255,-0.9983081,-0.99771523,-0.98135626,-0.9494898,-0.90261924,-0.8414854,-0.7670542,-0.6805019,-0.58319616,-0.47667465,-0.36262065,-0.24283645,-0.11921491,0.00629049,0.13169648,0.2550214,0.3743164,0.48769638,0.5933697,0.6896637,0.7750626,0.84821385,0.9079614,0.9533613,0.9836959,0.99848604,0.99749786,0.98074704,0.9484983,0.9012612,0.83978224,0.7650329,0.67819434,0.5806388,0.47390795,0.35968828,0.23978479,0.11609216,-0.009434981,-0.13481303,-0.25806072,-0.37723053,-0.49043924,-0.5958979,-0.6919402,-0.77704585,-0.8498752,-0.9092747,-0.9543057,-0.98425657,-0.99865407,-0.9972706,-0.9801281,-0.9474975,-0.8998943,-0.8380708,-0.763004,-0.6758801,-0.5780757,-0.47113654,-0.3567524,-0.23673075,-0.11296826,0.01257938,0.13792823,0.26109752,0.3801409,0.49317724,0.59842026,0.694207,0.7790237,0.85152817,0.91057897,0.95524067,0.9848075,0.9988122,0.99703354,0.9794995,0.94648725,0.89851844,0.8363511,0.7609676,0.6735591,0.5755069,0.4683605,0.35381296,0.23367438,0.10984325,-0.015723653,-0.14104208,-0.26413175,-0.38304755,-0.49591038,-0.6009367,-0.6964669,-0.7809915,-0.8531747,-0.91187423,-0.9561662,-0.9853487,-0.9989605,-0.99678653,-0.9788612,-0.9454677,-0.89713377,-0.83462316,-0.75892365,-0.6712315,-0.5729325,-0.46557984,-0.35087,-0.2306157,-0.10671715,0.018867772,0.14415453,0.26716334,0.3859504,0.49863857,0.6034472,0.69872004,0.78295153,0.8548107,0.91316205,0.95708233,0.98588014,0.9990989,0.9965297,0.9782132,0.94443876,0.89574015,0.83288693,0.75687224,0.6688973,0.5703523,0.46279457,0.34792364,0.22755474,0.10358999,-0.022011703,-0.14726557,-0.27019233,-0.38884944,-0.5013619,-0.6059517,-0.7009662,-0.7849039,-0.85643834,-0.91443926,-0.95799005,-0.98640186,-0.9992274,-0.996263,-0.9775555,-0.9434005,-0.8943377,-0.8311424,-0.7548133,-0.6665564,-0.56776655,-0.46000472,-0.34497377,-0.22449152,-0.10046181,0.025155418,0.15037514,0.2732186,0.3917446,0.50408024,0.60845023,0.7032054,0.7868484,0.8580575,0.9157074,0.95888716,0.9869144,0.9993461,0.9959865,0.97688824,0.94235295,0.89292645,0.82938975,0.7527469,0.664209,0.5651752,0.4572103,0.34202054,0.2214261,0.09733264,-0.028298883,-0.15348323,-0.2762422,-0.39463592,-0.50679356,-0.6109427,-0.7054377,-0.7887852,-0.8596682,-0.91696656,-0.9597748,-0.98741657,-0.999455,-0.9957001,-0.97621125,-0.94129604,-0.8915063,-0.82762885,-0.75067306,-0.661855,-0.56257814,-0.4544114,-0.3390639,-0.21835847,-0.0942025,0.03144207,0.15658979,0.27926305,0.39752334,0.5095019,0.6134292,0.707663,0.7907142,0.86127037,0.9182166,0.96065193,0.98790896,0.9995537,0.9954036,0.9755246,0.9402285,0.8900774,0.82585764,0.7485918,0.6594916,0.5599756,0.45160455,0.33610392,0.21528496,0.091071434,-0.034588754,-0.1596948,-0.2822775,-0.4004068,-0.5122019,-0.61590964,-0.7098786,-0.7926354,-0.8628621,-0.91945755,-0.9615206,-0.9883916,-0.9996427,-0.99509746,-0.9748283,-0.939153,-0.8886397,-0.8240804,-0.7465032,-0.65712446,-0.5573675,-0.44879666,-0.3331406,-0.21221305,-0.08793947,0.03773129,0.16279824,0.2853001,0.40328634,0.51490015,0.61838394,0.71208996,0.7945487,0.86444724,0.9206894,0.96237975,0.9888645,0.9997218,0.99478155,0.97412235,0.9380682,0.88719314,0.822295,0.7444071,0.6547509,0.55475396,0.44598433,0.330174,0.20913903,0.084806636,-0.040873446,-0.16590008,-0.28831258,-0.40616187,-0.5175933,-0.6208521,-0.7142942,-0.79645413,-0.8660238,-0.9219122,-0.9632294,-0.98932755,-0.999791,-0.9944558,-0.9734068,-0.9369741,-0.88573784,-0.82050145,-0.7423037,-0.65237087,-0.5521349,-0.4431676,-0.32720414,-0.20606296,-0.08167296,0.044015203,0.16900027,0.2913222,0.4090334,0.5202879,0.6233142,0.7164914,0.7983517,0.8675918,0.9231258,0.96406955,0.98978084,0.9998504,0.99412024,0.97268164,0.93587077,0.8842738,0.81869984,0.74019295,0.64998436,0.5495103,0.44034648,0.32423103,0.20298484,0.07853848,-0.04715652,-0.17209879,-0.29432896,-0.41190088,-0.52297074,-0.6257701,-0.7186815,-0.8002414,-0.86915123,-0.92433035,-0.96490014,-0.99022436,-0.9998998,-0.99377483,-0.97194684,-0.9347582,-0.882801,-0.8168901,-0.7380749,-0.6475914,-0.5468803,-0.437521,-0.3212547,-0.19990472,-0.07540321,0.050297376,0.17519559,0.2973328,0.41476426,0.5256484,0.6282198,0.7208698,0.8021232,0.8707021,0.9255257,0.9657212,0.9906581,0.9999394,0.9934196,0.97120243,0.9336363,0.88131946,0.8150723,0.7359495,0.6451921,0.54424495,0.43469122,0.3182752,0.19682261,0.07226721,-0.053437732,-0.17829068,-0.3003337,-0.41762355,-0.52832097,-0.6306633,-0.72304565,-0.80399704,-0.87224436,-0.926712,-0.9665327,-0.991082,-0.99996907,-0.9930545,-0.9704484,-0.93250525,-0.8798292,-0.8132464,-0.7338169,-0.6427864,-0.54160416,-0.4318571,-0.3152926,-0.19373858,-0.06913049,0.05657756,0.181384,0.3033316,0.42047873,0.5309882,0.6331005,0.72521436,0.80586296,0.8737817,0.92788905,0.9673346,0.99149615,0.99998885,0.9926796,0.9696848,0.93136495,0.8783303,0.8114125,0.731677,0.6403743,0.5389581,0.42901874,0.31230685,0.19065261,0.065993086,-0.05971683,-0.18447553,-0.30632654,-0.42332974,-0.5336503,-0.63553154,-0.72737586,-0.8077209,-0.8753066,-0.92905694,-0.968127,-0.99190044,-0.99999875,-0.9922949,-0.9689116,-0.9302155,-0.87682265,-0.80957055,-0.72952986,-0.6379559,-0.5363066,-0.42617613,-0.309318,-0.18756476,-0.06285503,0.062855504,0.18756524,0.30931845,0.42617658,0.53630704,0.63795626,0.7295302,0.80957085,0.8768229,0.93021566,0.9689117,0.99229497,0.99999875,0.9919004,0.9681288,0.92905676,0.87530637,0.8077206,0.72737557,0.6355312,0.53364986,0.42332932,0.3063261,0.18447506,0.05971635,-0.06599356,-0.19065307,-0.3123073,-0.42901918,-0.5389585,-0.64037466,-0.73167735,-0.81141275,-0.8783305,-0.93136513,-0.9696849,-0.99267966,-0.9999889,-0.9914961,-0.9673364,-0.9278889,-0.87378144,-0.80586267,-0.725214,-0.63310015,-0.5309878,-0.4204783,-0.30333117,-0.18138354,-0.056577083,0.069130965,0.19373904,0.31529304,0.43185756,0.5416046,0.64278674,0.7338172,0.81324667,0.87982947,0.9325054,0.9704485,0.99305457,0.99996907,0.99108195,0.9665345,0.9267118,0.8722478,0.80399674,0.7230453,0.6306629,0.52832055,0.41762313,0.30033323,0.17829022,0.053437255,-0.07226768,-0.19682309,-0.3182757,-0.43469164,-0.54424536,-0.64519244,-0.7359499,-0.81507254,-0.8813197,-0.9336365,-0.97120255,-0.99341965,-0.9999394,-0.99065804,-0.96572304,-0.92552555,-0.8707056,-0.8021229,-0.7208694,-0.6282194,-0.52564806,-0.41476384,-0.29733235,-0.17519513,-0.0502969,0.07540369,0.19990519,0.32125518,0.43752143,0.5468807,0.64759177,0.7380752,0.81689036,0.88280123,0.93475837,0.97194695,0.9937749,0.9998998,0.9902243,0.9649,0.9243302,0.8691548,0.8002411,0.71868646,0.62576973,0.5229703,0.41190043,0.2943285,0.17209831,0.047156047,-0.07853895,-0.20298532,-0.32423148,-0.44034693,-0.5495107,-0.6499847,-0.7401933,-0.8187001,-0.884274,-0.93587095,-0.97268176,-0.9941203,-0.9998504,-0.9897808,-0.9640694,-0.9231256,-0.8675954,-0.79835147,-0.71649635,-0.6233138,-0.52028745,-0.40903297,-0.29132175,-0.16899979,-0.044014726,0.081673436,0.20606343,0.32720459,0.44316804,0.5521352,0.6523712,0.742304,0.82050174,0.8857381,0.9369743,0.9734069,0.9944559,0.999791,0.9893275,0.9632293,0.921912,0.86602354,0.79645383,0.7142992,0.62085176,0.51759946,0.40616143,0.28831214,0.1658996,0.040872972,-0.084807105,-0.20913951,-0.33017445,-0.44598478,-0.5547543,-0.65475124,-0.7444074,-0.82229525,-0.8871934,-0.9380684,-0.97412246,-0.9947816,-0.9997218,-0.98886436,-0.96237963,-0.9206892,-0.864447,-0.7945484,-0.71209496,-0.6183835,-0.5149063,-0.40328592,-0.28529966,-0.16279778,-0.037730813,0.08793995,0.21221352,0.33314106,0.4487971,0.5573679,0.6571248,0.7465035,0.82408065,0.88863987,0.9391532,0.9748284,0.9950975,0.99964267,0.9883915,0.96152043,0.9194574,0.8628619,0.7926351,0.7098783,0.6159092,0.51220804,0.4004064,0.28228435,0.15969433,0.034588277,-0.09107191,-0.21528544,-0.33610436,-0.451605,-0.55997604,-0.65949196,-0.74859214,-0.82585794,-0.8900776,-0.9402287,-0.97552466,-0.9954036,-0.9995537,-0.9879089,-0.96065176,-0.9182164,-0.86126816,-0.7907139,-0.70765996,-0.61342883,-0.5095048,-0.3975229,-0.27926624,-0.15658931,-0.031445406,0.09420298,0.21835521,0.33906436,0.4544084,0.56257856,0.6618525,0.75067335,0.827627,0.89150655,0.9412949,0.9762113,0.9956998,0.9994548,0.9874165,0.9597736,0.9169663,0.859666,0.7887849,0.7054347,0.61093634,0.5067964,0.3946355,0.27623805,0.15349029,0.028302219,-0.09733311,-0.22143027,-0.3420138,-0.45720732,-0.56517553,-0.6642122,-0.7527422,-0.8293879,-0.89292663,-0.9423544,-0.9768867,-0.9959862,-0.9993461,-0.9869131,-0.9588881,-0.91570723,-0.8580553,-0.7868434,-0.7032078,-0.6084499,-0.5040765,-0.39173716,-0.27322182,-0.15037467,-0.025151128,0.100454696,0.22448827,0.34497422,0.4600085,0.56776065,0.666554,0.7548136,0.8311448,0.89433455,0.9433994,0.97755563,0.99626344,0.9992277,0.9864024,0.9579888,0.914436,0.85644007,0.7849036,0.70096314,0.6059453,0.50136477,0.388849,0.27018818,0.14727265,0.02201504,-0.103590466,-0.22755891,-0.34791693,-0.4627916,-0.57035273,-0.6689005,-0.7568675,-0.8328851,-0.8957404,-0.9444402,-0.9782117,-0.99652946,-0.9990989,-0.9858794,-0.95708436,-0.9131619,-0.8548085,-0.7829465,-0.6987224,-0.60344684,-0.49863487,-0.3859429,-0.26716655,-0.14415407,-0.01886348,0.10671003,0.23061246,0.35087046,0.46558362,0.57292664,0.67122906,0.75892395,0.8346255,0.8971306,0.94546664,0.9788613,0.9967869,0.9989608,0.98534924,0.9561661,0.9118725,0.8531764,0.7809912,0.6964639,0.6009302,0.49591327,0.3830471,0.2641276,0.14103407,0.015726991,-0.10984372,-0.23367855,-0.35380626,-0.46835756,-0.57550734,-0.6735623,-0.76096296,-0.8363493,-0.8985187,-0.9464887,-0.9794981,-0.99703324,-0.9988122,-0.9848068,-0.9552428,-0.9105804,-0.8515279,-0.77901864,-0.6942094,-0.5984199,-0.4931735,-0.38013342,-0.26110074,-0.13792777,-0.012575088,0.11297631,0.2367275,0.35675284,0.47114035,0.5780699,0.6758776,0.7630043,0.8380732,0.8998912,0.9474964,0.9801282,0.99727094,0.9986544,0.98425716,0.9543056,0.9092729,0.84987897,0.77704793,0.6919371,0.5958914,0.49044213,0.37723008,0.25805658,0.134805,0.009438319,-0.11609263,-0.23978895,-0.3596816,-0.473905,-0.5806392,-0.67819744,-0.76502824,-0.83978045,-0.90126145,-0.9484997,-0.9807457,-0.9974976,-0.998486,-0.98369515,-0.9533634,-0.90796286,-0.8482136,-0.77505994,-0.6896689,-0.5933693,-0.48769262,-0.37430888,-0.2550246,-0.13169602,-0.0062861983,0.119222954,0.24283321,0.3626211,0.4766784,0.5831903,0.68049943,0.7670545,0.8414877,0.90261614,0.9494887,0.9813564,0.99771553,0.99830854,0.98312616,0.9524073,0.90663743,0.84654796,0.7730739,0.6873829,0.5908291,0.48495162,0.37139812,0.25197536,0.1285706,0.0031492736,-0.12233695,-0.24588986,-0.36555696,-0.4794337,-0.5857481,-0.68280584,-0.7690633,-0.8431784,-0.9039685,-0.9504732,-0.98195446,-0.99792254,-0.9981203,-0.9825446,-0.95144635,-0.90530944,-0.84486574,-0.77107054,-0.68510115,-0.5882953,-0.4821925,-0.36846954,-0.24893838,-0.12545905,2.9406276e-6],"x":[31.415926,31.541716,31.667505,31.793295,31.919085,32.044872,32.170662,32.29645,32.42224,32.54803,32.67382,32.79961,32.9254,33.05119,33.17698,33.30277,33.42856,33.554348,33.680138,33.805927,33.931717,34.057507,34.183296,34.309086,34.434875,34.560665,34.686455,34.812244,34.938034,35.063824,35.18961,35.3154,35.44119,35.56698,35.69277,35.818558,35.944347,36.070137,36.195927,36.321716,36.447506,36.573296,36.699085,36.824875,36.950665,37.076454,37.202244,37.328033,37.453823,37.579613,37.705402,37.831192,37.95698,38.08277,38.20856,38.33435,38.460136,38.585926,38.711716,38.837505,38.963295,39.089085,39.214874,39.340664,39.466454,39.592243,39.718033,39.843822,39.969612,40.0954,40.22119,40.34698,40.47277,40.59856,40.72435,40.85014,40.97593,41.10172,41.22751,41.3533,41.479088,41.604877,41.730663,41.856453,41.982243,42.108032,42.23382,42.35961,42.4854,42.61119,42.73698,42.86277,42.98856,43.11435,43.24014,43.36593,43.49172,43.617508,43.743298,43.869087,43.994877,44.120667,44.246456,44.372246,44.498035,44.623825,44.749615,44.875404,45.00119,45.12698,45.25277,45.37856,45.50435,45.63014,45.755928,45.881718,46.007507,46.133297,46.259087,46.384876,46.510666,46.636456,46.762245,46.888035,47.013824,47.139614,47.265404,47.391193,47.516983,47.642773,47.768562,47.894352,48.02014,48.14593,48.271717,48.397507,48.523296,48.649086,48.774876,48.900665,49.026455,49.152245,49.278034,49.403824,49.529613,49.655403,49.781193,49.906982,50.032772,50.15856,50.28435,50.41014,50.53593,50.66172,50.78751,50.9133,51.03909,51.16488,51.29067,51.41646,51.542244,51.668034,51.793823,51.919613,52.045403,52.171192,52.29698,52.42277,52.54856,52.67435,52.80014,52.92593,53.05172,53.17751,53.3033,53.42909,53.55488,53.680668,53.806458,53.932247,54.058037,54.183826,54.309616,54.435406,54.561195,54.686985,54.81277,54.93856,55.06435,55.19014,55.31593,55.44172,55.56751,55.6933,55.819088,55.944878,56.070667,56.196457,56.322247,56.448036,56.573826,56.699615,56.825405,56.951195,57.076984,57.202774,57.328564,57.454353,57.580143,57.705933,57.831722,57.95751,58.083298,58.209087,58.334877,58.460667,58.586456,58.712246,58.838036,58.963825,59.089615,59.215405,59.341194,59.466984,59.592773,59.718563,59.844353,59.970142,60.095932,60.22172,60.34751,60.4733,60.59909,60.72488,60.85067,60.97646,61.10225,61.22804,61.353825,61.479614,61.605404,61.731194,61.856983,61.982773,62.108562,62.234352,62.36014,62.48593,62.61172,62.73751,62.8633,62.98909,63.11488,63.24067,63.36646,63.49225,63.61804,63.743828,63.869617,63.995407,64.12119,64.24699,64.37277,64.498566,64.62435,64.750145,64.87593,65.001724,65.12751,65.2533,65.37909,65.50488,65.63067,65.75646,65.88225,66.00804,66.13383,66.25961,66.38541,66.51119,66.636986,66.76277,66.888565,67.01435,67.140144,67.26593,67.39172,67.51751,67.6433,67.76909,67.89488,68.02067,68.14646,68.27225,68.39804,68.52383,68.64962,68.775406,68.9012,69.026985,69.15278,69.278564,69.40436,69.53014,69.65593,69.78172,69.90751,70.0333,70.15909,70.28488,70.41067,70.53646,70.66225,70.78804,70.913826,71.03962,71.165405,71.2912,71.416985,71.54278,71.668564,71.79436,71.92014,72.04594,72.17172,72.297516,72.4233,72.549095,72.67488,72.80067,72.92646,73.052246,73.17804,73.303825,73.42962,73.555405,73.6812,73.806984,73.93278,74.05856,74.18436,74.31014,74.435936,74.56172,74.687515,74.8133,74.939095,75.06488,75.190674,75.31646,75.44225,75.56804,75.69383,75.81962,75.94541,76.0712,76.19698,76.32278,76.44856,76.574356,76.70014,76.825935,76.95172,77.077515,77.2033,77.329094,77.45488,77.58067,77.70646,77.83225,77.95804,78.08383,78.20962,78.33541,78.4612,78.58699,78.712776,78.83857,78.964355,79.09015,79.215935,79.34172,79.467514,79.5933,79.71909,79.84488,79.97067,80.09646,80.22225,80.34804,80.47383,80.59962,80.72541,80.8512,80.97699,81.102776,81.22857,81.354355,81.48015,81.605934,81.73173,81.85751,81.98331,82.10909,82.234886,82.36067,82.486465,82.61225,82.73804,82.86383,82.98962,83.11541,83.241196,83.36699,83.492775,83.61857,83.744354,83.87015,83.99593,84.12173,84.24751,84.37331,84.49909,84.624886,84.75067,84.876465,85.00225,85.128044,85.25383,85.37962,85.50541,85.6312,85.75699,85.882774,86.00857,86.13435,86.26015,86.38593,86.51173,86.63751,86.763306,86.88909,87.014885,87.14067,87.266464,87.39225,87.51804,87.64383,87.76962,87.89541,88.0212,88.14699,88.27278,88.39857,88.52436,88.65015,88.77594,88.901726,89.02752,89.153305,89.27909,89.404884,89.53067,89.65646,89.78225,89.90804,90.03383,90.15962,90.28541,90.4112,90.53699,90.66278,90.78857,90.91436,91.040146,91.16594,91.291725,91.41752,91.543304,91.6691,91.79488,91.92068,92.04646,92.17226,92.29804,92.42383,92.54962,92.67541,92.8012,92.92699,93.05278,93.178566,93.30436,93.430145,93.55594,93.681725,93.80752,93.933304,94.0591,94.18488,94.31068,94.43646,94.562256,94.68804,94.813835,94.93962,95.065414,95.1912,95.31699,95.44278,95.56857,95.69436,95.820145,95.94594,96.071724,96.19752,96.3233,96.4491,96.57488,96.700676,96.82646,96.952255,97.07804,97.203835,97.32962,97.455414,97.5812,97.70699,97.83278,97.95857,98.08436,98.21015,98.33594,98.46173,98.58752,98.71331,98.839096,98.96488,99.090675,99.21646,99.342255,99.46804,99.593834,99.71962,99.84541,99.9712,100.09699,100.22278,100.34857,100.47436,100.60015,100.72594,100.85173,100.977516,101.10331,101.229095,101.35489,101.480675,101.60647,101.732254,101.85805,101.98383,102.10963,102.23541,102.3612,102.48699,102.61278,102.73857,102.86436,102.99015,103.11594,103.24173,103.367516,103.49331,103.619095,103.74489,103.870674,103.99647,104.12225,104.24805,104.37383,104.499626,104.62541,104.751205,104.87699,105.002785,105.12857,105.254364,105.38015,105.505936,105.63173,105.757515,105.88331,106.009094,106.13489,106.26067,106.38647,106.51225,106.63805,106.76383,106.889626,107.01541,107.141205,107.26699,107.392784,107.51857,107.64436,107.77015,107.89594,108.02173,108.14752,108.27331,108.3991,108.52489,108.65068,108.77647,108.90225,109.028046,109.15383,109.279625,109.40541,109.531204,109.65699,109.78278,109.90857,110.03436,110.16015,110.28594,110.41173,110.53752,110.66331,110.7891,110.91489,111.04068,111.166466,111.29226,111.418045,111.54384,111.669624,111.79542,111.9212,112.04699,112.17278,112.29857,112.42436,112.55015,112.67594,112.80173,112.92752,113.05331,113.1791,113.304886,113.43068,113.556465,113.68226,113.808044,113.93384,114.05962,114.18542,114.3112,114.437,114.56278,114.688576,114.81436,114.940155,115.06594,115.191734,115.31752,115.443306,115.5691,115.694885,115.82068,115.946465,116.07226,116.198044,116.32384,116.44962,116.57542,116.7012,116.826996,116.95278,117.078575,117.20436,117.330154,117.45594,117.58173,117.70752,117.83331,117.9591,118.08489,118.21068,118.33647,118.46226,118.58804,118.71384,118.83962,118.965416,119.0912,119.216995,119.34278,119.468575,119.59436,119.72015,119.84594,119.97173,120.09752,120.22331,120.3491,120.47489,120.60068,120.72647,120.85226,120.97805,121.103836,121.22963,121.355415,121.48121,121.606995,121.73279,121.858574,121.98436,122.11015,122.23594,122.36173,122.48752,122.61331,122.7391,122.86489,122.99068,123.11647,123.242256,123.36805,123.493835,123.61963,123.745415,123.87121,123.996994,124.12279,124.24857,124.37437,124.50015,124.625946,124.75173,124.877525,125.00331,125.1291,125.25489,125.38068,125.50647,125.632256,125.75805,125.883835,126.00963,126.135414,126.26121,126.38699,126.51279,126.63857,126.764366,126.89015,127.015945,127.14173,127.267525,127.39331,127.519104,127.64489,127.77068,127.89647,128.02226,128.14806,128.27383,128.39963,128.52542,128.6512,128.777,128.90279,129.02858,129.15436,129.28015,129.40594,129.53174,129.65752,129.78331,129.9091,130.0349,130.16068,130.28647,130.41226,130.53806,130.66383,130.78963,130.91542,131.04121,131.16699,131.29279,131.41858,131.54437,131.67015,131.79594,131.92174,132.04752,132.17331,132.2991,132.4249,132.55067,132.67647,132.80226,132.92805,133.05383,133.17963,133.30542,133.43121,133.55699,133.68279,133.80858,133.93437,134.06015,134.18594,134.31174,134.43753,134.56331,134.6891,134.8149,134.94067,135.06647,135.19226,135.31805,135.44383,135.56963,135.69542,135.82121,135.94699,136.07278,136.19858,136.32437,136.45015,136.57594,136.70174,136.82753,136.95331,137.0791,137.2049,137.33069,137.45647,137.58226,137.70805,137.83385,137.95963,138.08542,138.21121,138.33699,138.46278,138.58858,138.71437,138.84015,138.96594,139.09174,139.21753,139.3433,139.4691,139.5949,139.72069,139.84647,139.97226,140.09805,140.22385,140.34962,140.47542,140.60121,140.727,140.85278,140.97858,141.10437,141.23016,141.35594,141.48174,141.60753,141.7333,141.8591,141.9849,142.11069,142.23647,142.36226,142.48805,142.61385,142.73962,142.86542,142.99121,143.117,143.24278,143.36858,143.49437,143.62016,143.74594,143.87173,143.99753,144.12332,144.2491,144.3749,144.50069,144.62648,144.75226,144.87805,145.00385,145.12962,145.25542,145.38121,145.507,145.63278,145.75858,145.88437,146.01016,146.13594,146.26173,146.38753,146.51332,146.6391,146.7649,146.89069,147.01648,147.14226,147.26805,147.39384,147.51964,147.64542,147.77121,147.897,148.02278,148.14857,148.27437,148.40016,148.52594,148.65173,148.77753,148.90332,149.0291,149.15489,149.28069,149.40648,149.53226,149.65805,149.78384,149.90964,150.03542,150.16121,150.287,150.4128,150.53857,150.66437,150.79016,150.91595,151.04173,151.16753,151.29332,151.4191,151.54489,151.67068,151.79648,151.92226,152.04805,152.17384,152.29964,152.42542,152.55121,152.677,152.8028,152.92857,153.05437,153.18016,153.30595,153.43173,153.55753,153.68332,153.80911,153.93489,154.06068,154.18648,154.31227,154.43805,154.56384,154.68964,154.81541,154.94121,155.067,155.1928,155.31857,155.44437,155.57016,155.69595,155.82173,155.94753,156.07332,156.19911,156.32489,156.45068,156.57648,156.70227,156.82805,156.95384,157.07964]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl old mode 100644 new mode 100755 index 4d1654a95c7a..a51eaaff22f3 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/runner.jl @@ -36,7 +36,7 @@ julia> gen( x, \"data.json\" ); ``` """ function gen( domain, name ) - x = collect(Float32, domain ); + x = collect( domain ); y = sin.( x ); # Store data to be written to file as a collection: @@ -62,13 +62,13 @@ file = @__FILE__; dir = dirname( file ); # Values within the defined domain: -x = range( -pi/4.0f0, stop = pi/4.0f0 , length = 1000 ) +x = Float32.( range( -pi/4.0, stop = pi/4.0, length = 1000 ) ); gen( x, "small_range.json" ); # Positive values outside the defined domain: -x = range( 40.0f0*pi/4.0f0, stop = 200.0f0*pi/4.0f0 , length = 1000 ) +x = Float32.( range( 40.0*pi/4.0, stop = 200*pi/4.0, length = 1000 ) ); gen( x, "large_positive.json" ); # Negative values outside the defined domain: -x = range( -200.0f0*pi/4.0f0, stop = -40.0f0*pi/4.0f0, length = 1000 ) +x = Float32.( range( -200*pi/4.0, stop = -40*pi/4.0, length = 1000 ) ); gen( x, "large_negative.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json index ebb99a1ef1e2..4a24db4dfb29 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json @@ -1 +1 @@ -{"expected":[-0.70710677,-0.70599407,-0.70487964,-0.7037634,-0.7026455,-0.7015258,-0.7004044,-0.6992813,-0.6981564,-0.6970298,-0.6959015,-0.69477147,-0.6936397,-0.69250625,-0.6913711,-0.6902342,-0.68909556,-0.68795526,-0.6868133,-0.68566954,-0.6845242,-0.6833771,-0.6822283,-0.68107784,-0.6799257,-0.67877185,-0.67761636,-0.6764592,-0.6753003,-0.67413986,-0.6729776,-0.6718138,-0.6706483,-0.6694811,-0.66831225,-0.6671418,-0.66596967,-0.6647959,-0.6636205,-0.6624434,-0.6612647,-0.66008437,-0.6589024,-0.6577188,-0.6565336,-0.65534675,-0.65415823,-0.65296817,-0.6517765,-0.65058315,-0.64938825,-0.64819175,-0.64699364,-0.64579386,-0.6445926,-0.64338964,-0.64218515,-0.64097905,-0.63977134,-0.6385621,-0.6373513,-0.63613886,-0.6349249,-0.6337094,-0.63249224,-0.63127357,-0.6300533,-0.6288315,-0.6276081,-0.62638324,-0.62515676,-0.6239288,-0.6226992,-0.6214681,-0.6202355,-0.6190013,-0.61776567,-0.61652845,-0.6152897,-0.61404943,-0.61280763,-0.61156434,-0.61031955,-0.6090732,-0.6078254,-0.6065761,-0.6053253,-0.6040729,-0.60281914,-0.6015638,-0.60030705,-0.59904873,-0.597789,-0.59652776,-0.59526503,-0.59400094,-0.5927353,-0.59146816,-0.5901996,-0.58892953,-0.58765805,-0.58638513,-0.5851107,-0.5838349,-0.58255756,-0.58127886,-0.5799987,-0.5787171,-0.57743406,-0.57614964,-0.57486373,-0.57357645,-0.57228774,-0.5709976,-0.569706,-0.5684131,-0.5671187,-0.56582296,-0.5645258,-0.56322724,-0.5619273,-0.560626,-0.55932325,-0.5580191,-0.55671364,-0.55540675,-0.55409855,-0.5527889,-0.551478,-0.55016565,-0.54885197,-0.5475369,-0.54622054,-0.54490274,-0.54358363,-0.5422632,-0.5409414,-0.5396183,-0.53829384,-0.53696805,-0.5356409,-0.5343125,-0.5329827,-0.5316516,-0.5303192,-0.5289855,-0.52765054,-0.5263142,-0.52497655,-0.52363765,-0.52229744,-0.5209559,-0.51961315,-0.51826906,-0.5169237,-0.5155771,-0.5142292,-0.51287997,-0.5115295,-0.5101778,-0.5088248,-0.50747067,-0.50611514,-0.5047584,-0.50340044,-0.50204116,-0.5006807,-0.499319,-0.49795607,-0.49659187,-0.49522647,-0.49385983,-0.492492,-0.49112293,-0.48975265,-0.48838115,-0.48700845,-0.48563454,-0.48425943,-0.48288313,-0.48150563,-0.48012695,-0.47874707,-0.477366,-0.47598377,-0.47460037,-0.4732158,-0.47183004,-0.4704431,-0.46905503,-0.46766576,-0.46627536,-0.4648838,-0.4634911,-0.46209726,-0.46070224,-0.45930612,-0.45790884,-0.45651045,-0.4551109,-0.45371026,-0.45230848,-0.45090562,-0.4495016,-0.44809648,-0.44669026,-0.44528294,-0.44387448,-0.44246495,-0.44105434,-0.4396426,-0.4382298,-0.43681592,-0.43540096,-0.4339849,-0.4325678,-0.4311496,-0.42973036,-0.42831007,-0.4268887,-0.42546627,-0.4240428,-0.42261827,-0.42119268,-0.41976607,-0.41833842,-0.41690972,-0.41548002,-0.41404927,-0.4126175,-0.41118473,-0.4097509,-0.4083161,-0.40688026,-0.40544343,-0.40400562,-0.4025668,-0.40112695,-0.39968613,-0.39824432,-0.39680153,-0.39535776,-0.393913,-0.39246726,-0.39102057,-0.38957292,-0.3881243,-0.3866747,-0.38522416,-0.38377267,-0.38232023,-0.38086686,-0.37941253,-0.37795725,-0.37650105,-0.37504393,-0.37358585,-0.37212688,-0.37066695,-0.36920613,-0.36774442,-0.36628178,-0.36481822,-0.36335376,-0.3618884,-0.36042216,-0.35895503,-0.35748702,-0.35601813,-0.35454834,-0.35307768,-0.35160616,-0.35013375,-0.34866047,-0.34718633,-0.34571135,-0.3442355,-0.3427588,-0.34128127,-0.33980286,-0.33832365,-0.33684358,-0.33536267,-0.33388096,-0.3323984,-0.33091506,-0.32943085,-0.32794586,-0.32646003,-0.3249734,-0.32348597,-0.32199776,-0.32050872,-0.3190189,-0.3175283,-0.3160369,-0.31454474,-0.3130518,-0.31155807,-0.31006357,-0.30856836,-0.3070723,-0.30557555,-0.304078,-0.3025797,-0.30108067,-0.2995809,-0.29808035,-0.29657912,-0.29507712,-0.2935744,-0.29207096,-0.29056677,-0.28906187,-0.2875563,-0.28604996,-0.28454295,-0.28303525,-0.28152683,-0.2800177,-0.2785079,-0.2769974,-0.2754862,-0.27397433,-0.2724618,-0.27094856,-0.2694347,-0.26792014,-0.26640493,-0.26488903,-0.2633725,-0.26185533,-0.2603375,-0.25881904,-0.25729993,-0.2557802,-0.2542598,-0.2527388,-0.25121716,-0.24969491,-0.24817203,-0.24664855,-0.24512446,-0.24359976,-0.24207444,-0.24054854,-0.23902206,-0.23749498,-0.2359673,-0.23443903,-0.2329102,-0.23138078,-0.2298508,-0.22832024,-0.22678913,-0.22525746,-0.22372521,-0.22219242,-0.22065909,-0.2191252,-0.21759078,-0.21605581,-0.21452032,-0.2129843,-0.21144775,-0.20991066,-0.20837305,-0.20683494,-0.20529632,-0.2037572,-0.20221756,-0.20067744,-0.19913681,-0.19759569,-0.19605407,-0.19451196,-0.1929694,-0.19142634,-0.1898828,-0.18833883,-0.18679436,-0.18524943,-0.18370405,-0.18215822,-0.18061192,-0.1790652,-0.17751801,-0.1759704,-0.17442235,-0.17287388,-0.17132497,-0.16977564,-0.16822588,-0.16667572,-0.16512513,-0.16357416,-0.16202275,-0.16047096,-0.15891878,-0.15736619,-0.15581322,-0.15425986,-0.15270612,-0.15115201,-0.14959753,-0.14804266,-0.14648744,-0.14493185,-0.1433759,-0.1418196,-0.14026295,-0.13870597,-0.13714862,-0.13559094,-0.13403292,-0.13247457,-0.1309159,-0.1293569,-0.12779759,-0.12623794,-0.124678016,-0.12311775,-0.1215572,-0.11999634,-0.11843518,-0.11687373,-0.115312,-0.11374998,-0.112187676,-0.110625096,-0.10906225,-0.107499115,-0.10593573,-0.10437208,-0.10280817,-0.101244,-0.09967959,-0.09811493,-0.09655003,-0.09498489,-0.09341951,-0.0918539,-0.09028807,-0.08872201,-0.08715573,-0.08558924,-0.08402254,-0.08245563,-0.08088851,-0.07932119,-0.07775368,-0.07618598,-0.074618086,-0.07305001,-0.07148175,-0.06991332,-0.06834471,-0.06677593,-0.06520699,-0.06363789,-0.06206863,-0.060499217,-0.058929656,-0.057359945,-0.055790097,-0.054220106,-0.052649986,-0.05107973,-0.049509358,-0.047938854,-0.046368238,-0.0447975,-0.043226656,-0.041655704,-0.04008465,-0.038513493,-0.036942247,-0.035370905,-0.03379948,-0.032227967,-0.030656375,-0.029084709,-0.02751297,-0.025941163,-0.024369292,-0.022797361,-0.021225372,-0.019653333,-0.018081244,-0.01650911,-0.014936937,-0.013364726,-0.011792482,-0.010220208,-0.008647909,-0.007075589,-0.0055032517,-0.0039309007,-0.00235854,-0.0007861734,0.0007861952,0.0023585618,0.0039309226,0.0055032736,0.007075611,0.008647931,0.01022023,0.011792503,0.013364747,0.014936958,0.016509132,0.018081266,0.019653356,0.021225395,0.022797383,0.024369314,0.025941186,0.027512992,0.02908473,0.030656397,0.03222799,0.0337995,0.035370927,0.03694227,0.038513515,0.04008467,0.041655727,0.043226678,0.04479752,0.04636826,0.047938876,0.04950938,0.051079754,0.05265001,0.05422013,0.05579012,0.057359967,0.058929678,0.06049924,0.062068652,0.06363791,0.06520701,0.066775955,0.068344735,0.06991334,0.07148177,0.07305003,0.07461811,0.076186,0.0777537,0.07932121,0.08088853,0.08245565,0.08402255,0.08558926,0.08715575,0.088722035,0.09028809,0.091853924,0.09341953,0.09498491,0.096550055,0.09811495,0.09967961,0.101244025,0.10280819,0.1043721,0.10593575,0.10749914,0.10906227,0.11062512,0.1121877,0.11375,0.115312025,0.116873756,0.118435204,0.11999636,0.12155722,0.123117775,0.12467803,0.12623797,0.12779762,0.12935694,0.13091592,0.13247459,0.13403293,0.13559096,0.13714863,0.13870598,0.14026298,0.14181963,0.14337593,0.14493187,0.14648746,0.14804268,0.14959754,0.15115203,0.15270615,0.15425989,0.15581325,0.15736622,0.1589188,0.16047098,0.16202277,0.16357417,0.16512516,0.16667575,0.16822591,0.16977566,0.17132498,0.1728739,0.17442237,0.17597042,0.17751804,0.17906521,0.18061195,0.18215825,0.18370406,0.18524945,0.18679437,0.18833883,0.18988283,0.19142637,0.19296943,0.194512,0.19605409,0.1975957,0.19913682,0.20067745,0.20221758,0.20375723,0.20529635,0.20683497,0.20837308,0.20991068,0.21144776,0.21298431,0.21452034,0.21605584,0.21759081,0.21912523,0.22065912,0.22219244,0.22372523,0.22525747,0.22678915,0.22832027,0.22985083,0.2313808,0.23291023,0.23443905,0.23596731,0.23749499,0.23902208,0.24054857,0.24207447,0.24359979,0.24512449,0.24664856,0.24817206,0.24969494,0.2512172,0.2527388,0.2542598,0.2557802,0.25729993,0.25881904,0.26033753,0.26185536,0.26337254,0.26488906,0.26640496,0.26792017,0.26943472,0.2709486,0.27246183,0.27397436,0.27548623,0.27699742,0.2785079,0.2800177,0.28152683,0.28303525,0.28454298,0.28605,0.28755632,0.2890619,0.2905668,0.29207098,0.29357442,0.29507715,0.29657915,0.29808038,0.29958093,0.3010807,0.3025797,0.304078,0.30557555,0.3070723,0.30856836,0.3100636,0.3115581,0.31305182,0.31454477,0.31603694,0.31752834,0.31901893,0.32050875,0.3219978,0.323486,0.32497343,0.32646006,0.32794586,0.32943085,0.33091506,0.3323984,0.333881,0.3353627,0.3368436,0.33832365,0.3398029,0.3412813,0.34275883,0.34423554,0.34571138,0.34718636,0.3486605,0.35013378,0.35160616,0.35307768,0.35454834,0.35601813,0.35748705,0.35895506,0.3604222,0.36188844,0.3633538,0.36481825,0.36628178,0.36774445,0.36920616,0.37066698,0.3721269,0.37358588,0.37504393,0.37650105,0.37795725,0.37941253,0.38086686,0.38232026,0.3837727,0.3852242,0.38667473,0.38812432,0.38957295,0.3910206,0.3924673,0.39391303,0.3953578,0.39680156,0.39824435,0.39968613,0.40112695,0.4025668,0.40400562,0.40544346,0.4068803,0.4083161,0.40975094,0.41118476,0.41261753,0.4140493,0.41548005,0.41690975,0.41833845,0.4197661,0.4211927,0.42261827,0.4240428,0.42546627,0.4268887,0.42831007,0.4297304,0.43114963,0.43256783,0.43398494,0.435401,0.43681595,0.43822983,0.43964264,0.44105434,0.44246498,0.4438745,0.44528294,0.44669026,0.44809648,0.4495016,0.45090562,0.4523085,0.4537103,0.45511094,0.45651048,0.45790887,0.45930615,0.46070227,0.4620973,0.46349114,0.46488383,0.4662754,0.4676658,0.46905503,0.4704431,0.47183004,0.4732158,0.47460037,0.4759838,0.47736603,0.4787471,0.480127,0.48150563,0.48288313,0.48425943,0.48563454,0.48700845,0.48838115,0.48975265,0.49112293,0.492492,0.49385983,0.49522647,0.49659187,0.49795607,0.499319,0.5006807,0.50204116,0.50340044,0.5047584,0.50611514,0.50747067,0.5088249,0.51017785,0.51152956,0.51288,0.5142292,0.51557714,0.5169237,0.5182691,0.5196132,0.520956,0.5222975,0.5236377,0.52497655,0.5263142,0.52765054,0.5289855,0.5303192,0.5316516,0.5329827,0.5343125,0.5356409,0.53696805,0.53829384,0.5396183,0.5409414,0.5422632,0.54358363,0.54490274,0.54622054,0.5475369,0.54885197,0.55016565,0.551478,0.552789,0.5540986,0.5554068,0.5567137,0.55801916,0.5593233,0.56062603,0.5619273,0.5632273,0.56452584,0.565823,0.56711876,0.5684131,0.569706,0.5709976,0.57228774,0.57357645,0.57486373,0.57614964,0.57743406,0.5787171,0.5799987,0.58127886,0.58255756,0.5838349,0.5851107,0.58638513,0.58765805,0.58892953,0.5901996,0.59146816,0.5927353,0.59400094,0.5952651,0.5965278,0.59778905,0.5990488,0.6003071,0.6015639,0.6028192,0.604073,0.60532534,0.60657614,0.60782546,0.6090733,0.61031955,0.61156434,0.61280763,0.61404943,0.6152897,0.61652845,0.61776567,0.6190013,0.6202355,0.6214681,0.6226992,0.6239288,0.62515676,0.62638324,0.6276081,0.6288315,0.6300533,0.63127357,0.63249224,0.6337094,0.6349249,0.6361389,0.63735133,0.63856214,0.6397714,0.6409791,0.6421852,0.6433897,0.6445926,0.6457939,0.64699364,0.64819175,0.6493883,0.65058315,0.6517765,0.65296817,0.65415823,0.65534675,0.6565336,0.6577188,0.6589024,0.66008437,0.6612647,0.6624434,0.6636205,0.6647959,0.66596967,0.6671418,0.66831225,0.6694811,0.6706483,0.6718138,0.6729776,0.67413986,0.67530036,0.6764592,0.6776164,0.6787719,0.67992574,0.6810779,0.6822283,0.68337715,0.68452424,0.6856696,0.6868133,0.6879553,0.68909556,0.6902342,0.6913711,0.69250625,0.6936397,0.69477147,0.6959015,0.6970298,0.6981564,0.6992813,0.7004044,0.7015258,0.7026455,0.7037634,0.70487964,0.70599407,0.70710677],"x":[-0.7853982,-0.7838258,-0.78225344,-0.7806811,-0.7791087,-0.77753633,-0.77596396,-0.7743916,-0.7728192,-0.77124685,-0.7696745,-0.7681021,-0.76652974,-0.76495737,-0.763385,-0.7618126,-0.76024026,-0.7586679,-0.7570955,-0.75552315,-0.7539508,-0.7523784,-0.75080603,-0.74923366,-0.7476613,-0.7460889,-0.74451655,-0.7429442,-0.7413718,-0.7397995,-0.7382271,-0.73665476,-0.7350824,-0.73351,-0.73193765,-0.7303653,-0.7287929,-0.72722054,-0.72564816,-0.7240758,-0.7225034,-0.72093105,-0.7193587,-0.7177863,-0.71621394,-0.7146416,-0.7130692,-0.71149683,-0.70992446,-0.7083521,-0.7067797,-0.70520735,-0.703635,-0.7020626,-0.70049024,-0.69891787,-0.6973455,-0.6957731,-0.69420075,-0.6926284,-0.691056,-0.68948364,-0.68791133,-0.68633896,-0.6847666,-0.6831942,-0.68162185,-0.6800495,-0.6784771,-0.67690474,-0.67533237,-0.67376,-0.6721876,-0.67061526,-0.6690429,-0.6674705,-0.66589814,-0.6643258,-0.6627534,-0.66118103,-0.65960866,-0.6580363,-0.6564639,-0.65489155,-0.6533192,-0.6517468,-0.65017444,-0.64860207,-0.6470297,-0.6454573,-0.64388496,-0.6423126,-0.6407402,-0.63916785,-0.6375955,-0.63602316,-0.6344508,-0.6328784,-0.63130605,-0.6297337,-0.6281613,-0.62658894,-0.62501657,-0.6234442,-0.6218718,-0.62029946,-0.6187271,-0.6171547,-0.61558235,-0.61401,-0.6124376,-0.61086524,-0.60929286,-0.6077205,-0.6061481,-0.60457575,-0.6030034,-0.601431,-0.59985864,-0.5982863,-0.5967139,-0.59514153,-0.59356916,-0.5919968,-0.5904244,-0.58885205,-0.5872797,-0.5857073,-0.584135,-0.5825626,-0.58099025,-0.5794179,-0.5778455,-0.57627314,-0.5747008,-0.5731284,-0.57155603,-0.56998366,-0.5684113,-0.5668389,-0.56526655,-0.5636942,-0.5621218,-0.56054944,-0.55897707,-0.5574047,-0.5558323,-0.55425996,-0.5526876,-0.5511152,-0.54954284,-0.5479705,-0.5463981,-0.54482573,-0.54325336,-0.541681,-0.5401086,-0.53853625,-0.5369639,-0.5353915,-0.53381914,-0.5322468,-0.53067446,-0.5291021,-0.5275297,-0.52595735,-0.524385,-0.5228126,-0.52124023,-0.51966786,-0.5180955,-0.5165231,-0.51495075,-0.5133784,-0.511806,-0.51023364,-0.50866127,-0.5070889,-0.5055165,-0.50394416,-0.5023718,-0.5007994,-0.49922705,-0.49765468,-0.4960823,-0.49450997,-0.4929376,-0.49136522,-0.48979285,-0.48822048,-0.4866481,-0.48507574,-0.48350337,-0.481931,-0.48035863,-0.47878626,-0.4772139,-0.47564152,-0.47406915,-0.47249678,-0.4709244,-0.46935204,-0.4677797,-0.46620733,-0.46463495,-0.46306258,-0.4614902,-0.45991784,-0.45834547,-0.4567731,-0.45520073,-0.45362836,-0.452056,-0.45048362,-0.44891125,-0.44733888,-0.4457665,-0.44419414,-0.4426218,-0.44104943,-0.43947706,-0.4379047,-0.43633232,-0.43475994,-0.43318757,-0.4316152,-0.43004283,-0.42847046,-0.4268981,-0.42532572,-0.42375335,-0.42218098,-0.4206086,-0.41903624,-0.41746387,-0.41589153,-0.41431916,-0.4127468,-0.41117442,-0.40960205,-0.40802968,-0.4064573,-0.40488493,-0.40331256,-0.4017402,-0.40016782,-0.39859545,-0.39702308,-0.3954507,-0.39387834,-0.39230597,-0.39073363,-0.38916126,-0.3875889,-0.38601652,-0.38444415,-0.38287178,-0.3812994,-0.37972704,-0.37815467,-0.3765823,-0.37500992,-0.37343755,-0.37186518,-0.3702928,-0.36872044,-0.36714807,-0.3655757,-0.36400336,-0.362431,-0.36085862,-0.35928625,-0.35771388,-0.3561415,-0.35456914,-0.35299677,-0.3514244,-0.34985203,-0.34827965,-0.34670728,-0.3451349,-0.34356254,-0.34199017,-0.3404178,-0.33884546,-0.3372731,-0.33570072,-0.33412835,-0.33255598,-0.3309836,-0.32941124,-0.32783887,-0.3262665,-0.32469413,-0.32312176,-0.3215494,-0.31997702,-0.31840464,-0.31683227,-0.3152599,-0.31368756,-0.3121152,-0.31054282,-0.30897045,-0.30739808,-0.3058257,-0.30425334,-0.30268097,-0.3011086,-0.29953623,-0.29796386,-0.2963915,-0.29481912,-0.29324675,-0.29167438,-0.290102,-0.28852963,-0.2869573,-0.28538492,-0.28381255,-0.28224018,-0.2806678,-0.27909544,-0.27752307,-0.2759507,-0.27437833,-0.27280596,-0.2712336,-0.26966122,-0.26808885,-0.26651648,-0.2649441,-0.26337174,-0.2617994,-0.26022702,-0.25865465,-0.25708228,-0.2555099,-0.25393754,-0.25236517,-0.2507928,-0.24922043,-0.24764806,-0.24607569,-0.24450332,-0.24293095,-0.2413586,-0.23978622,-0.23821385,-0.23664148,-0.23506911,-0.23349674,-0.23192437,-0.230352,-0.22877964,-0.22720727,-0.2256349,-0.22406253,-0.22249016,-0.22091779,-0.21934542,-0.21777305,-0.2162007,-0.21462832,-0.21305595,-0.21148358,-0.20991121,-0.20833884,-0.20676647,-0.2051941,-0.20362175,-0.20204937,-0.200477,-0.19890463,-0.19733226,-0.19575989,-0.19418752,-0.19261515,-0.19104278,-0.18947043,-0.18789805,-0.18632568,-0.18475331,-0.18318094,-0.18160857,-0.1800362,-0.17846383,-0.17689148,-0.1753191,-0.17374673,-0.17217436,-0.170602,-0.16902962,-0.16745725,-0.16588488,-0.16431253,-0.16274016,-0.16116779,-0.15959541,-0.15802304,-0.15645067,-0.1548783,-0.15330593,-0.15173358,-0.1501612,-0.14858884,-0.14701647,-0.1454441,-0.14387172,-0.14229935,-0.14072698,-0.13915463,-0.13758226,-0.13600989,-0.13443752,-0.13286515,-0.13129278,-0.1297204,-0.12814803,-0.12657566,-0.12500331,-0.12343093,-0.12185857,-0.1202862,-0.118713826,-0.117141455,-0.11556909,-0.11399672,-0.11242435,-0.11085198,-0.10927962,-0.10770725,-0.10613488,-0.104562506,-0.10299014,-0.10141777,-0.0998454,-0.09827303,-0.09670067,-0.0951283,-0.09355593,-0.09198356,-0.09041119,-0.08883882,-0.08726645,-0.08569408,-0.08412172,-0.08254935,-0.08097698,-0.07940461,-0.07783224,-0.076259874,-0.0746875,-0.07311513,-0.07154276,-0.0699704,-0.06839803,-0.06682566,-0.06525329,-0.063680924,-0.062108554,-0.060536183,-0.058963817,-0.057391446,-0.05581908,-0.05424671,-0.052674342,-0.05110197,-0.049529605,-0.047957234,-0.046384867,-0.044812497,-0.04324013,-0.04166776,-0.040095393,-0.038523022,-0.036950655,-0.035378285,-0.033805918,-0.032233547,-0.030661179,-0.02908881,-0.027516441,-0.025944073,-0.024371704,-0.022799335,-0.021226967,-0.019654598,-0.01808223,-0.01650986,-0.014937492,-0.013365123,-0.011792755,-0.010220386,-0.008648017,-0.0070756483,-0.0055032796,-0.003930911,-0.002358542,-0.00078617345,0.0007861953,0.002358564,0.003930933,0.0055033015,0.00707567,0.008648039,0.0102204075,0.011792776,0.013365145,0.0149375135,0.016509883,0.018082252,0.01965462,0.02122699,0.022799358,0.024371726,0.025944095,0.027516464,0.029088832,0.030661201,0.03223357,0.033805937,0.035378307,0.036950678,0.038523044,0.040095415,0.04166778,0.043240152,0.04481252,0.04638489,0.047957256,0.049529627,0.051101994,0.052674364,0.05424673,0.0558191,0.05739147,0.05896384,0.060536206,0.062108576,0.06368095,0.06525331,0.06682568,0.06839805,0.06997042,0.071542785,0.073115155,0.074687526,0.076259896,0.07783226,0.07940463,0.080977,0.08254937,0.084121734,0.085694104,0.087266475,0.088838845,0.09041121,0.09198358,0.09355595,0.09512832,0.09670069,0.098273054,0.099845424,0.101417795,0.102990165,0.10456253,0.1061349,0.10770727,0.10927964,0.110852,0.11242437,0.113996744,0.115569115,0.11714148,0.11871385,0.12028622,0.12185859,0.12343095,0.12500332,0.1265757,0.12814806,0.12972043,0.1312928,0.13286516,0.13443753,0.1360099,0.13758227,0.13915464,0.14072701,0.14229938,0.14387175,0.14544411,0.14701648,0.14858885,0.15016122,0.15173359,0.15330596,0.15487833,0.1564507,0.15802307,0.15959543,0.1611678,0.16274017,0.16431254,0.16588491,0.16745728,0.16902965,0.17060202,0.17217438,0.17374675,0.17531912,0.17689149,0.17846386,0.18003623,0.1816086,0.18318097,0.18475333,0.1863257,0.18789807,0.18947044,0.19104281,0.19261518,0.19418755,0.19575992,0.19733228,0.19890465,0.20047702,0.20204939,0.20362176,0.20519413,0.2067665,0.20833887,0.20991124,0.2114836,0.21305597,0.21462834,0.21620071,0.21777308,0.21934545,0.22091782,0.22249019,0.22406255,0.22563492,0.22720729,0.22877966,0.23035203,0.2319244,0.23349677,0.23506914,0.2366415,0.23821387,0.23978624,0.24135861,0.24293098,0.24450335,0.24607572,0.24764809,0.24922045,0.25079283,0.2523652,0.25393757,0.2555099,0.25708228,0.25865465,0.26022702,0.2617994,0.26337177,0.26494414,0.2665165,0.26808888,0.26966125,0.27123362,0.272806,0.27437836,0.27595073,0.2775231,0.27909547,0.28066784,0.28224018,0.28381255,0.28538492,0.2869573,0.28852966,0.29010203,0.2916744,0.29324678,0.29481915,0.29639152,0.2979639,0.29953626,0.30110863,0.302681,0.30425337,0.30582574,0.30739808,0.30897045,0.31054282,0.3121152,0.31368756,0.31525993,0.3168323,0.31840467,0.31997705,0.32154942,0.3231218,0.32469416,0.32626653,0.3278389,0.32941127,0.33098364,0.332556,0.33412835,0.33570072,0.3372731,0.33884546,0.34041783,0.3419902,0.34356257,0.34513494,0.3467073,0.34827968,0.34985206,0.35142443,0.3529968,0.35456917,0.35614154,0.3577139,0.35928625,0.36085862,0.362431,0.36400336,0.36557573,0.3671481,0.36872047,0.37029284,0.3718652,0.37343758,0.37500995,0.37658232,0.3781547,0.37972707,0.38129944,0.3828718,0.38444418,0.38601652,0.3875889,0.38916126,0.39073363,0.392306,0.39387837,0.39545074,0.3970231,0.39859548,0.40016785,0.40174022,0.4033126,0.40488496,0.40645733,0.4080297,0.40960208,0.41117442,0.4127468,0.41431916,0.41589153,0.4174639,0.41903627,0.42060864,0.422181,0.42375338,0.42532575,0.42689812,0.4284705,0.43004286,0.43161523,0.4331876,0.43475997,0.43633232,0.4379047,0.43947706,0.44104943,0.4426218,0.44419417,0.44576654,0.4473389,0.44891128,0.45048365,0.45205602,0.4536284,0.45520076,0.45677313,0.4583455,0.45991787,0.46149024,0.46306258,0.46463495,0.46620733,0.4677797,0.46935207,0.47092444,0.4724968,0.47406918,0.47564155,0.47721392,0.4787863,0.48035866,0.48193103,0.4835034,0.48507577,0.48664814,0.48822048,0.48979285,0.49136522,0.4929376,0.49450997,0.49608234,0.4976547,0.49922708,0.5007995,0.5023718,0.50394416,0.5055165,0.5070889,0.50866127,0.51023364,0.511806,0.5133784,0.51495075,0.5165231,0.5180955,0.51966786,0.52124023,0.5228126,0.524385,0.52595735,0.5275297,0.5291021,0.53067446,0.5322468,0.5338192,0.53539157,0.53696394,0.5385363,0.5401087,0.54168105,0.5432534,0.5448258,0.54639816,0.54797053,0.5495429,0.5511153,0.5526876,0.55425996,0.5558323,0.5574047,0.55897707,0.56054944,0.5621218,0.5636942,0.56526655,0.5668389,0.5684113,0.56998366,0.57155603,0.5731284,0.5747008,0.57627314,0.5778455,0.5794179,0.58099025,0.5825626,0.584135,0.58570737,0.58727974,0.5888521,0.5904245,0.59199685,0.5935692,0.5951416,0.59671396,0.59828633,0.5998587,0.6014311,0.60300344,0.60457575,0.6061481,0.6077205,0.60929286,0.61086524,0.6124376,0.61401,0.61558235,0.6171547,0.6187271,0.62029946,0.6218718,0.6234442,0.62501657,0.62658894,0.6281613,0.6297337,0.63130605,0.6328784,0.6344508,0.63602316,0.63759553,0.6391679,0.6407403,0.64231265,0.643885,0.6454574,0.64702976,0.6486021,0.6501745,0.65174687,0.65331924,0.6548916,0.6564639,0.6580363,0.65960866,0.66118103,0.6627534,0.6643258,0.66589814,0.6674705,0.6690429,0.67061526,0.6721876,0.67376,0.67533237,0.67690474,0.6784771,0.6800495,0.68162185,0.6831942,0.6847666,0.68633896,0.68791133,0.6894837,0.6910561,0.69262844,0.6942008,0.6957732,0.69734555,0.6989179,0.7004903,0.70206267,0.70363504,0.7052074,0.7067798,0.7083521,0.70992446,0.71149683,0.7130692,0.7146416,0.71621394,0.7177863,0.7193587,0.72093105,0.7225034,0.7240758,0.72564816,0.72722054,0.7287929,0.7303653,0.73193765,0.73351,0.7350824,0.73665476,0.7382271,0.7397995,0.74137187,0.74294424,0.7445166,0.746089,0.74766135,0.7492337,0.7508061,0.75237846,0.75395083,0.7555232,0.7570956,0.75866795,0.76024026,0.7618126,0.763385,0.76495737,0.76652974,0.7681021,0.7696745,0.77124685,0.7728192,0.7743916,0.77596396,0.77753633,0.7791087,0.7806811,0.78225344,0.7838258,0.7853982]} +{"expected":[-0.70710677,-0.70599407,-0.70487964,-0.7037634,-0.7026455,-0.7015258,-0.7004044,-0.6992813,-0.6981564,-0.6970298,-0.6959015,-0.69477147,-0.6936397,-0.69250625,-0.6913711,-0.6902342,-0.68909556,-0.68795526,-0.6868133,-0.68566954,-0.6845242,-0.6833771,-0.6822283,-0.68107784,-0.6799257,-0.67877185,-0.67761636,-0.6764592,-0.6753003,-0.67413986,-0.6729776,-0.6718138,-0.6706483,-0.6694811,-0.66831225,-0.6671418,-0.66596967,-0.6647959,-0.6636205,-0.6624434,-0.6612647,-0.66008437,-0.6589024,-0.6577188,-0.6565336,-0.65534675,-0.65415823,-0.65296817,-0.6517765,-0.65058315,-0.64938825,-0.64819175,-0.64699364,-0.64579386,-0.6445926,-0.64338964,-0.64218515,-0.64097905,-0.63977134,-0.6385621,-0.6373513,-0.6361389,-0.6349249,-0.6337094,-0.63249224,-0.63127357,-0.6300533,-0.6288315,-0.6276081,-0.62638324,-0.62515676,-0.6239288,-0.6226992,-0.6214681,-0.6202355,-0.6190013,-0.61776567,-0.61652845,-0.6152897,-0.61404943,-0.61280763,-0.61156434,-0.61031955,-0.6090732,-0.6078254,-0.6065761,-0.6053253,-0.6040729,-0.60281914,-0.6015638,-0.60030705,-0.59904873,-0.597789,-0.59652776,-0.5952651,-0.59400094,-0.5927353,-0.59146816,-0.5901996,-0.58892953,-0.58765805,-0.58638513,-0.5851107,-0.5838349,-0.58255756,-0.58127886,-0.5799987,-0.5787171,-0.57743406,-0.57614964,-0.57486373,-0.57357645,-0.57228774,-0.5709976,-0.569706,-0.5684131,-0.5671187,-0.56582296,-0.5645258,-0.56322724,-0.5619273,-0.560626,-0.55932325,-0.5580191,-0.55671364,-0.55540675,-0.5540986,-0.552789,-0.551478,-0.55016565,-0.54885197,-0.5475369,-0.54622054,-0.54490274,-0.54358363,-0.5422632,-0.5409414,-0.5396183,-0.53829384,-0.53696805,-0.5356409,-0.5343125,-0.5329827,-0.5316516,-0.5303192,-0.5289855,-0.52765054,-0.5263142,-0.52497655,-0.52363765,-0.52229744,-0.5209559,-0.51961315,-0.51826906,-0.5169237,-0.5155771,-0.5142292,-0.51287997,-0.5115295,-0.51017785,-0.5088249,-0.50747067,-0.50611514,-0.5047584,-0.50340044,-0.50204116,-0.5006807,-0.499319,-0.49795607,-0.49659187,-0.49522647,-0.49385983,-0.492492,-0.49112293,-0.48975265,-0.48838115,-0.48700845,-0.48563454,-0.48425943,-0.48288313,-0.48150563,-0.48012695,-0.47874707,-0.47736603,-0.4759838,-0.47460037,-0.4732158,-0.47183004,-0.4704431,-0.46905503,-0.46766576,-0.46627536,-0.4648838,-0.4634911,-0.46209726,-0.46070224,-0.45930612,-0.45790884,-0.45651045,-0.45511094,-0.4537103,-0.4523085,-0.45090562,-0.4495016,-0.44809648,-0.44669026,-0.44528294,-0.44387448,-0.44246495,-0.44105434,-0.4396426,-0.4382298,-0.43681592,-0.43540096,-0.4339849,-0.4325678,-0.43114963,-0.4297304,-0.42831007,-0.4268887,-0.42546627,-0.4240428,-0.42261827,-0.42119268,-0.41976607,-0.41833842,-0.41690972,-0.41548002,-0.41404927,-0.4126175,-0.41118473,-0.4097509,-0.4083161,-0.4068803,-0.40544346,-0.40400562,-0.4025668,-0.40112695,-0.39968613,-0.39824432,-0.39680153,-0.39535776,-0.393913,-0.39246726,-0.39102057,-0.38957292,-0.3881243,-0.3866747,-0.3852242,-0.3837727,-0.38232026,-0.38086686,-0.37941253,-0.37795725,-0.37650105,-0.37504393,-0.37358585,-0.37212688,-0.37066695,-0.36920613,-0.36774442,-0.36628178,-0.36481822,-0.36335376,-0.36188844,-0.3604222,-0.35895506,-0.35748705,-0.35601813,-0.35454834,-0.35307768,-0.35160616,-0.35013375,-0.34866047,-0.34718633,-0.34571135,-0.3442355,-0.3427588,-0.34128127,-0.33980286,-0.33832365,-0.3368436,-0.3353627,-0.333881,-0.3323984,-0.33091506,-0.32943085,-0.32794586,-0.32646003,-0.3249734,-0.32348597,-0.32199776,-0.32050872,-0.3190189,-0.3175283,-0.3160369,-0.31454474,-0.31305182,-0.3115581,-0.3100636,-0.30856836,-0.3070723,-0.30557555,-0.304078,-0.3025797,-0.30108067,-0.2995809,-0.29808035,-0.29657912,-0.29507712,-0.2935744,-0.29207096,-0.29056677,-0.2890619,-0.28755632,-0.28605,-0.28454298,-0.28303525,-0.28152683,-0.2800177,-0.2785079,-0.2769974,-0.2754862,-0.27397433,-0.2724618,-0.27094856,-0.2694347,-0.26792014,-0.26640493,-0.26488906,-0.26337254,-0.26185536,-0.26033753,-0.25881904,-0.25729993,-0.2557802,-0.2542598,-0.2527388,-0.25121716,-0.24969491,-0.24817203,-0.24664855,-0.24512447,-0.24359977,-0.24207446,-0.24054855,-0.23902206,-0.23749498,-0.2359673,-0.23443903,-0.23291022,-0.23138079,-0.22985081,-0.22832026,-0.22678913,-0.22525746,-0.22372521,-0.22219242,-0.2206591,-0.21912521,-0.2175908,-0.21605583,-0.21452032,-0.2129843,-0.21144775,-0.20991066,-0.20837307,-0.20683496,-0.20529634,-0.20375721,-0.20221756,-0.20067744,-0.19913681,-0.19759569,-0.19605409,-0.19451198,-0.19296941,-0.19142635,-0.18988281,-0.18833883,-0.18679436,-0.18524943,-0.18370406,-0.18215823,-0.18061194,-0.1790652,-0.17751803,-0.1759704,-0.17442235,-0.17287388,-0.17132498,-0.16977565,-0.1682259,-0.16667573,-0.16512515,-0.16357416,-0.16202275,-0.16047096,-0.1589188,-0.1573662,-0.15581323,-0.15425988,-0.15270613,-0.15115201,-0.14959753,-0.14804266,-0.14648744,-0.14493187,-0.14337592,-0.14181961,-0.14026296,-0.13870597,-0.13714862,-0.13559094,-0.13403292,-0.13247459,-0.13091591,-0.12935692,-0.1277976,-0.12623796,-0.124678016,-0.12311777,-0.121557206,-0.11999635,-0.11843519,-0.11687375,-0.11531201,-0.11374999,-0.11218768,-0.11062511,-0.109062254,-0.10749912,-0.10593574,-0.10437209,-0.10280818,-0.10124401,-0.0996796,-0.098114945,-0.09655004,-0.0949849,-0.093419515,-0.09185392,-0.09028808,-0.08872202,-0.08715574,-0.08558925,-0.084022544,-0.082455635,-0.08088852,-0.079321206,-0.07775369,-0.07618599,-0.07461809,-0.07305002,-0.071481764,-0.06991333,-0.06834472,-0.06677595,-0.065207005,-0.0636379,-0.06206864,-0.06049923,-0.058929667,-0.057359956,-0.055790108,-0.054220118,-0.052649997,-0.051079743,-0.049509365,-0.047938865,-0.046368245,-0.04479751,-0.043226663,-0.041655716,-0.040084656,-0.038513504,-0.036942255,-0.035370916,-0.033799488,-0.032227978,-0.030656386,-0.02908472,-0.02751298,-0.025941174,-0.024369303,-0.022797372,-0.021225384,-0.019653345,-0.018081255,-0.016509121,-0.014936947,-0.013364736,-0.011792492,-0.010220218,-0.00864792,-0.0070756,-0.0055032624,-0.0039309114,-0.002358551,-0.0007861843,0.0007861843,0.002358551,0.0039309114,0.0055032624,0.0070756,0.00864792,0.010220218,0.011792492,0.013364736,0.014936947,0.016509121,0.018081255,0.019653345,0.021225384,0.022797372,0.024369303,0.025941174,0.02751298,0.02908472,0.030656386,0.032227978,0.033799488,0.035370916,0.036942255,0.038513504,0.040084656,0.041655716,0.043226663,0.04479751,0.046368245,0.047938865,0.049509365,0.051079743,0.052649997,0.054220118,0.055790108,0.057359956,0.058929667,0.06049923,0.06206864,0.0636379,0.065207005,0.06677595,0.06834472,0.06991333,0.071481764,0.07305002,0.07461809,0.07618599,0.07775369,0.079321206,0.08088852,0.082455635,0.084022544,0.08558925,0.08715574,0.08872202,0.09028808,0.09185392,0.093419515,0.0949849,0.09655004,0.098114945,0.0996796,0.10124401,0.10280818,0.10437209,0.10593574,0.10749912,0.109062254,0.11062511,0.11218768,0.11374999,0.11531201,0.11687375,0.11843519,0.11999635,0.121557206,0.12311777,0.124678016,0.12623796,0.1277976,0.12935692,0.13091591,0.13247459,0.13403292,0.13559094,0.13714862,0.13870597,0.14026296,0.14181961,0.14337592,0.14493187,0.14648744,0.14804266,0.14959753,0.15115201,0.15270613,0.15425988,0.15581323,0.1573662,0.1589188,0.16047096,0.16202275,0.16357416,0.16512515,0.16667573,0.1682259,0.16977565,0.17132498,0.17287388,0.17442235,0.1759704,0.17751803,0.1790652,0.18061194,0.18215823,0.18370406,0.18524943,0.18679436,0.18833883,0.18988281,0.19142635,0.19296941,0.19451198,0.19605409,0.19759569,0.19913681,0.20067744,0.20221756,0.20375721,0.20529634,0.20683496,0.20837307,0.20991066,0.21144775,0.2129843,0.21452032,0.21605583,0.2175908,0.21912521,0.2206591,0.22219242,0.22372521,0.22525746,0.22678913,0.22832026,0.22985081,0.23138079,0.23291022,0.23443903,0.2359673,0.23749498,0.23902206,0.24054855,0.24207446,0.24359977,0.24512447,0.24664855,0.24817203,0.24969491,0.25121716,0.2527388,0.2542598,0.2557802,0.25729993,0.25881904,0.26033753,0.26185536,0.26337254,0.26488906,0.26640493,0.26792014,0.2694347,0.27094856,0.2724618,0.27397433,0.2754862,0.2769974,0.2785079,0.2800177,0.28152683,0.28303525,0.28454298,0.28605,0.28755632,0.2890619,0.29056677,0.29207096,0.2935744,0.29507712,0.29657912,0.29808035,0.2995809,0.30108067,0.3025797,0.304078,0.30557555,0.3070723,0.30856836,0.3100636,0.3115581,0.31305182,0.31454474,0.3160369,0.3175283,0.3190189,0.32050872,0.32199776,0.32348597,0.3249734,0.32646003,0.32794586,0.32943085,0.33091506,0.3323984,0.333881,0.3353627,0.3368436,0.33832365,0.33980286,0.34128127,0.3427588,0.3442355,0.34571135,0.34718633,0.34866047,0.35013375,0.35160616,0.35307768,0.35454834,0.35601813,0.35748705,0.35895506,0.3604222,0.36188844,0.36335376,0.36481822,0.36628178,0.36774442,0.36920613,0.37066695,0.37212688,0.37358585,0.37504393,0.37650105,0.37795725,0.37941253,0.38086686,0.38232026,0.3837727,0.3852242,0.3866747,0.3881243,0.38957292,0.39102057,0.39246726,0.393913,0.39535776,0.39680153,0.39824432,0.39968613,0.40112695,0.4025668,0.40400562,0.40544346,0.4068803,0.4083161,0.4097509,0.41118473,0.4126175,0.41404927,0.41548002,0.41690972,0.41833842,0.41976607,0.42119268,0.42261827,0.4240428,0.42546627,0.4268887,0.42831007,0.4297304,0.43114963,0.4325678,0.4339849,0.43540096,0.43681592,0.4382298,0.4396426,0.44105434,0.44246495,0.44387448,0.44528294,0.44669026,0.44809648,0.4495016,0.45090562,0.4523085,0.4537103,0.45511094,0.45651045,0.45790884,0.45930612,0.46070224,0.46209726,0.4634911,0.4648838,0.46627536,0.46766576,0.46905503,0.4704431,0.47183004,0.4732158,0.47460037,0.4759838,0.47736603,0.47874707,0.48012695,0.48150563,0.48288313,0.48425943,0.48563454,0.48700845,0.48838115,0.48975265,0.49112293,0.492492,0.49385983,0.49522647,0.49659187,0.49795607,0.499319,0.5006807,0.50204116,0.50340044,0.5047584,0.50611514,0.50747067,0.5088249,0.51017785,0.5115295,0.51287997,0.5142292,0.5155771,0.5169237,0.51826906,0.51961315,0.5209559,0.52229744,0.52363765,0.52497655,0.5263142,0.52765054,0.5289855,0.5303192,0.5316516,0.5329827,0.5343125,0.5356409,0.53696805,0.53829384,0.5396183,0.5409414,0.5422632,0.54358363,0.54490274,0.54622054,0.5475369,0.54885197,0.55016565,0.551478,0.552789,0.5540986,0.55540675,0.55671364,0.5580191,0.55932325,0.560626,0.5619273,0.56322724,0.5645258,0.56582296,0.5671187,0.5684131,0.569706,0.5709976,0.57228774,0.57357645,0.57486373,0.57614964,0.57743406,0.5787171,0.5799987,0.58127886,0.58255756,0.5838349,0.5851107,0.58638513,0.58765805,0.58892953,0.5901996,0.59146816,0.5927353,0.59400094,0.5952651,0.59652776,0.597789,0.59904873,0.60030705,0.6015638,0.60281914,0.6040729,0.6053253,0.6065761,0.6078254,0.6090732,0.61031955,0.61156434,0.61280763,0.61404943,0.6152897,0.61652845,0.61776567,0.6190013,0.6202355,0.6214681,0.6226992,0.6239288,0.62515676,0.62638324,0.6276081,0.6288315,0.6300533,0.63127357,0.63249224,0.6337094,0.6349249,0.6361389,0.6373513,0.6385621,0.63977134,0.64097905,0.64218515,0.64338964,0.6445926,0.64579386,0.64699364,0.64819175,0.64938825,0.65058315,0.6517765,0.65296817,0.65415823,0.65534675,0.6565336,0.6577188,0.6589024,0.66008437,0.6612647,0.6624434,0.6636205,0.6647959,0.66596967,0.6671418,0.66831225,0.6694811,0.6706483,0.6718138,0.6729776,0.67413986,0.6753003,0.6764592,0.67761636,0.67877185,0.6799257,0.68107784,0.6822283,0.6833771,0.6845242,0.68566954,0.6868133,0.68795526,0.68909556,0.6902342,0.6913711,0.69250625,0.6936397,0.69477147,0.6959015,0.6970298,0.6981564,0.6992813,0.7004044,0.7015258,0.7026455,0.7037634,0.70487964,0.70599407,0.70710677],"x":[-0.7853982,-0.7838258,-0.78225344,-0.7806811,-0.7791087,-0.77753633,-0.77596396,-0.7743916,-0.7728192,-0.77124685,-0.7696745,-0.7681021,-0.76652974,-0.76495737,-0.763385,-0.7618126,-0.76024026,-0.7586679,-0.7570955,-0.75552315,-0.7539508,-0.7523784,-0.75080603,-0.74923366,-0.7476613,-0.7460889,-0.74451655,-0.7429442,-0.7413718,-0.7397995,-0.7382271,-0.73665476,-0.7350824,-0.73351,-0.73193765,-0.7303653,-0.7287929,-0.72722054,-0.72564816,-0.7240758,-0.7225034,-0.72093105,-0.7193587,-0.7177863,-0.71621394,-0.7146416,-0.7130692,-0.71149683,-0.70992446,-0.7083521,-0.7067797,-0.70520735,-0.703635,-0.7020626,-0.70049024,-0.69891787,-0.6973455,-0.6957731,-0.69420075,-0.6926284,-0.691056,-0.6894837,-0.68791133,-0.68633896,-0.6847666,-0.6831942,-0.68162185,-0.6800495,-0.6784771,-0.67690474,-0.67533237,-0.67376,-0.6721876,-0.67061526,-0.6690429,-0.6674705,-0.66589814,-0.6643258,-0.6627534,-0.66118103,-0.65960866,-0.6580363,-0.6564639,-0.65489155,-0.6533192,-0.6517468,-0.65017444,-0.64860207,-0.6470297,-0.6454573,-0.64388496,-0.6423126,-0.6407402,-0.63916785,-0.63759553,-0.63602316,-0.6344508,-0.6328784,-0.63130605,-0.6297337,-0.6281613,-0.62658894,-0.62501657,-0.6234442,-0.6218718,-0.62029946,-0.6187271,-0.6171547,-0.61558235,-0.61401,-0.6124376,-0.61086524,-0.60929286,-0.6077205,-0.6061481,-0.60457575,-0.6030034,-0.601431,-0.59985864,-0.5982863,-0.5967139,-0.59514153,-0.59356916,-0.5919968,-0.5904244,-0.58885205,-0.58727974,-0.58570737,-0.584135,-0.5825626,-0.58099025,-0.5794179,-0.5778455,-0.57627314,-0.5747008,-0.5731284,-0.57155603,-0.56998366,-0.5684113,-0.5668389,-0.56526655,-0.5636942,-0.5621218,-0.56054944,-0.55897707,-0.5574047,-0.5558323,-0.55425996,-0.5526876,-0.5511152,-0.54954284,-0.5479705,-0.5463981,-0.54482573,-0.54325336,-0.541681,-0.5401086,-0.53853625,-0.5369639,-0.53539157,-0.5338192,-0.5322468,-0.53067446,-0.5291021,-0.5275297,-0.52595735,-0.524385,-0.5228126,-0.52124023,-0.51966786,-0.5180955,-0.5165231,-0.51495075,-0.5133784,-0.511806,-0.51023364,-0.50866127,-0.5070889,-0.5055165,-0.50394416,-0.5023718,-0.5007994,-0.49922705,-0.4976547,-0.49608234,-0.49450997,-0.4929376,-0.49136522,-0.48979285,-0.48822048,-0.4866481,-0.48507574,-0.48350337,-0.481931,-0.48035863,-0.47878626,-0.4772139,-0.47564152,-0.47406915,-0.4724968,-0.47092444,-0.46935207,-0.4677797,-0.46620733,-0.46463495,-0.46306258,-0.4614902,-0.45991784,-0.45834547,-0.4567731,-0.45520073,-0.45362836,-0.452056,-0.45048362,-0.44891125,-0.44733888,-0.44576654,-0.44419417,-0.4426218,-0.44104943,-0.43947706,-0.4379047,-0.43633232,-0.43475994,-0.43318757,-0.4316152,-0.43004283,-0.42847046,-0.4268981,-0.42532572,-0.42375335,-0.42218098,-0.42060864,-0.41903627,-0.4174639,-0.41589153,-0.41431916,-0.4127468,-0.41117442,-0.40960205,-0.40802968,-0.4064573,-0.40488493,-0.40331256,-0.4017402,-0.40016782,-0.39859545,-0.39702308,-0.39545074,-0.39387837,-0.392306,-0.39073363,-0.38916126,-0.3875889,-0.38601652,-0.38444415,-0.38287178,-0.3812994,-0.37972704,-0.37815467,-0.3765823,-0.37500992,-0.37343755,-0.37186518,-0.37029284,-0.36872047,-0.3671481,-0.36557573,-0.36400336,-0.362431,-0.36085862,-0.35928625,-0.35771388,-0.3561415,-0.35456914,-0.35299677,-0.3514244,-0.34985203,-0.34827965,-0.34670728,-0.3451349,-0.34356257,-0.3419902,-0.34041783,-0.33884546,-0.3372731,-0.33570072,-0.33412835,-0.33255598,-0.3309836,-0.32941124,-0.32783887,-0.3262665,-0.32469413,-0.32312176,-0.3215494,-0.31997702,-0.31840467,-0.3168323,-0.31525993,-0.31368756,-0.3121152,-0.31054282,-0.30897045,-0.30739808,-0.3058257,-0.30425334,-0.30268097,-0.3011086,-0.29953623,-0.29796386,-0.2963915,-0.29481912,-0.29324678,-0.2916744,-0.29010203,-0.28852966,-0.2869573,-0.28538492,-0.28381255,-0.28224018,-0.2806678,-0.27909544,-0.27752307,-0.2759507,-0.27437833,-0.27280596,-0.2712336,-0.26966122,-0.26808888,-0.2665165,-0.26494414,-0.26337177,-0.2617994,-0.26022702,-0.25865465,-0.25708228,-0.2555099,-0.25393754,-0.25236517,-0.2507928,-0.24922043,-0.24764808,-0.2460757,-0.24450333,-0.24293096,-0.2413586,-0.23978622,-0.23821385,-0.23664148,-0.23506913,-0.23349676,-0.23192438,-0.23035201,-0.22877964,-0.22720727,-0.2256349,-0.22406253,-0.22249018,-0.2209178,-0.21934544,-0.21777306,-0.2162007,-0.21462832,-0.21305595,-0.21148358,-0.20991123,-0.20833886,-0.20676649,-0.20519412,-0.20362175,-0.20204937,-0.200477,-0.19890463,-0.19733228,-0.1957599,-0.19418754,-0.19261517,-0.1910428,-0.18947043,-0.18789805,-0.18632568,-0.18475333,-0.18318096,-0.18160859,-0.18003622,-0.17846385,-0.17689148,-0.1753191,-0.17374673,-0.17217438,-0.17060201,-0.16902964,-0.16745727,-0.1658849,-0.16431253,-0.16274016,-0.16116779,-0.15959543,-0.15802306,-0.15645069,-0.15487832,-0.15330595,-0.15173358,-0.1501612,-0.14858884,-0.14701647,-0.14544411,-0.14387174,-0.14229937,-0.140727,-0.13915463,-0.13758226,-0.13600989,-0.13443752,-0.13286516,-0.13129279,-0.12972042,-0.12814805,-0.12657568,-0.12500331,-0.123430945,-0.121858574,-0.120286204,-0.11871383,-0.11714147,-0.1155691,-0.11399673,-0.11242436,-0.110851996,-0.109279625,-0.107707255,-0.106134884,-0.10456252,-0.10299015,-0.10141778,-0.09984541,-0.09827305,-0.096700676,-0.095128305,-0.093555935,-0.09198357,-0.0904112,-0.08883883,-0.08726646,-0.0856941,-0.08412173,-0.082549356,-0.080976985,-0.07940462,-0.07783225,-0.07625988,-0.07468751,-0.07311515,-0.07154278,-0.06997041,-0.068398036,-0.06682567,-0.0652533,-0.06368093,-0.062108565,-0.060536195,-0.058963828,-0.057391457,-0.05581909,-0.05424672,-0.052674353,-0.051101983,-0.049529612,-0.047957245,-0.046384875,-0.044812508,-0.043240137,-0.04166777,-0.0400954,-0.038523033,-0.036950663,-0.035378296,-0.033805925,-0.03223356,-0.03066119,-0.029088821,-0.027516453,-0.025944084,-0.024371715,-0.022799347,-0.021226978,-0.01965461,-0.01808224,-0.016509872,-0.014937502,-0.013365134,-0.011792765,-0.010220396,-0.008648028,-0.007075659,-0.0055032903,-0.0039309217,-0.002358553,-0.00078618433,0.00078618433,0.002358553,0.0039309217,0.0055032903,0.007075659,0.008648028,0.010220396,0.011792765,0.013365134,0.014937502,0.016509872,0.01808224,0.01965461,0.021226978,0.022799347,0.024371715,0.025944084,0.027516453,0.029088821,0.03066119,0.03223356,0.033805925,0.035378296,0.036950663,0.038523033,0.0400954,0.04166777,0.043240137,0.044812508,0.046384875,0.047957245,0.049529612,0.051101983,0.052674353,0.05424672,0.05581909,0.057391457,0.058963828,0.060536195,0.062108565,0.06368093,0.0652533,0.06682567,0.068398036,0.06997041,0.07154278,0.07311515,0.07468751,0.07625988,0.07783225,0.07940462,0.080976985,0.082549356,0.08412173,0.0856941,0.08726646,0.08883883,0.0904112,0.09198357,0.093555935,0.095128305,0.096700676,0.09827305,0.09984541,0.10141778,0.10299015,0.10456252,0.106134884,0.107707255,0.109279625,0.110851996,0.11242436,0.11399673,0.1155691,0.11714147,0.11871383,0.120286204,0.121858574,0.123430945,0.12500331,0.12657568,0.12814805,0.12972042,0.13129279,0.13286516,0.13443752,0.13600989,0.13758226,0.13915463,0.140727,0.14229937,0.14387174,0.14544411,0.14701647,0.14858884,0.1501612,0.15173358,0.15330595,0.15487832,0.15645069,0.15802306,0.15959543,0.16116779,0.16274016,0.16431253,0.1658849,0.16745727,0.16902964,0.17060201,0.17217438,0.17374673,0.1753191,0.17689148,0.17846385,0.18003622,0.18160859,0.18318096,0.18475333,0.18632568,0.18789805,0.18947043,0.1910428,0.19261517,0.19418754,0.1957599,0.19733228,0.19890463,0.200477,0.20204937,0.20362175,0.20519412,0.20676649,0.20833886,0.20991123,0.21148358,0.21305595,0.21462832,0.2162007,0.21777306,0.21934544,0.2209178,0.22249018,0.22406253,0.2256349,0.22720727,0.22877964,0.23035201,0.23192438,0.23349676,0.23506913,0.23664148,0.23821385,0.23978622,0.2413586,0.24293096,0.24450333,0.2460757,0.24764808,0.24922043,0.2507928,0.25236517,0.25393754,0.2555099,0.25708228,0.25865465,0.26022702,0.2617994,0.26337177,0.26494414,0.2665165,0.26808888,0.26966122,0.2712336,0.27280596,0.27437833,0.2759507,0.27752307,0.27909544,0.2806678,0.28224018,0.28381255,0.28538492,0.2869573,0.28852966,0.29010203,0.2916744,0.29324678,0.29481912,0.2963915,0.29796386,0.29953623,0.3011086,0.30268097,0.30425334,0.3058257,0.30739808,0.30897045,0.31054282,0.3121152,0.31368756,0.31525993,0.3168323,0.31840467,0.31997702,0.3215494,0.32312176,0.32469413,0.3262665,0.32783887,0.32941124,0.3309836,0.33255598,0.33412835,0.33570072,0.3372731,0.33884546,0.34041783,0.3419902,0.34356257,0.3451349,0.34670728,0.34827965,0.34985203,0.3514244,0.35299677,0.35456914,0.3561415,0.35771388,0.35928625,0.36085862,0.362431,0.36400336,0.36557573,0.3671481,0.36872047,0.37029284,0.37186518,0.37343755,0.37500992,0.3765823,0.37815467,0.37972704,0.3812994,0.38287178,0.38444415,0.38601652,0.3875889,0.38916126,0.39073363,0.392306,0.39387837,0.39545074,0.39702308,0.39859545,0.40016782,0.4017402,0.40331256,0.40488493,0.4064573,0.40802968,0.40960205,0.41117442,0.4127468,0.41431916,0.41589153,0.4174639,0.41903627,0.42060864,0.42218098,0.42375335,0.42532572,0.4268981,0.42847046,0.43004283,0.4316152,0.43318757,0.43475994,0.43633232,0.4379047,0.43947706,0.44104943,0.4426218,0.44419417,0.44576654,0.44733888,0.44891125,0.45048362,0.452056,0.45362836,0.45520073,0.4567731,0.45834547,0.45991784,0.4614902,0.46306258,0.46463495,0.46620733,0.4677797,0.46935207,0.47092444,0.4724968,0.47406915,0.47564152,0.4772139,0.47878626,0.48035863,0.481931,0.48350337,0.48507574,0.4866481,0.48822048,0.48979285,0.49136522,0.4929376,0.49450997,0.49608234,0.4976547,0.49922705,0.5007994,0.5023718,0.50394416,0.5055165,0.5070889,0.50866127,0.51023364,0.511806,0.5133784,0.51495075,0.5165231,0.5180955,0.51966786,0.52124023,0.5228126,0.524385,0.52595735,0.5275297,0.5291021,0.53067446,0.5322468,0.5338192,0.53539157,0.5369639,0.53853625,0.5401086,0.541681,0.54325336,0.54482573,0.5463981,0.5479705,0.54954284,0.5511152,0.5526876,0.55425996,0.5558323,0.5574047,0.55897707,0.56054944,0.5621218,0.5636942,0.56526655,0.5668389,0.5684113,0.56998366,0.57155603,0.5731284,0.5747008,0.57627314,0.5778455,0.5794179,0.58099025,0.5825626,0.584135,0.58570737,0.58727974,0.58885205,0.5904244,0.5919968,0.59356916,0.59514153,0.5967139,0.5982863,0.59985864,0.601431,0.6030034,0.60457575,0.6061481,0.6077205,0.60929286,0.61086524,0.6124376,0.61401,0.61558235,0.6171547,0.6187271,0.62029946,0.6218718,0.6234442,0.62501657,0.62658894,0.6281613,0.6297337,0.63130605,0.6328784,0.6344508,0.63602316,0.63759553,0.63916785,0.6407402,0.6423126,0.64388496,0.6454573,0.6470297,0.64860207,0.65017444,0.6517468,0.6533192,0.65489155,0.6564639,0.6580363,0.65960866,0.66118103,0.6627534,0.6643258,0.66589814,0.6674705,0.6690429,0.67061526,0.6721876,0.67376,0.67533237,0.67690474,0.6784771,0.6800495,0.68162185,0.6831942,0.6847666,0.68633896,0.68791133,0.6894837,0.691056,0.6926284,0.69420075,0.6957731,0.6973455,0.69891787,0.70049024,0.7020626,0.703635,0.70520735,0.7067797,0.7083521,0.70992446,0.71149683,0.7130692,0.7146416,0.71621394,0.7177863,0.7193587,0.72093105,0.7225034,0.7240758,0.72564816,0.72722054,0.7287929,0.7303653,0.73193765,0.73351,0.7350824,0.73665476,0.7382271,0.7397995,0.7413718,0.7429442,0.74451655,0.7460889,0.7476613,0.74923366,0.75080603,0.7523784,0.7539508,0.75552315,0.7570955,0.7586679,0.76024026,0.7618126,0.763385,0.76495737,0.76652974,0.7681021,0.7696745,0.77124685,0.7728192,0.7743916,0.77596396,0.77753633,0.7791087,0.7806811,0.78225344,0.7838258,0.7853982]} diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js index 4045b855d149..b226c23a64b2 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.js @@ -22,10 +22,8 @@ var tape = require( 'tape' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var rempio2 = require( '@stdlib/math/base/special/rempio2' ); -var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); -var absf = require( '@stdlib/math/base/special/absf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var rempio2f = require( '@stdlib/math/base/special/rempio2f' ); var kernelSinf = require( './../lib' ); @@ -44,14 +42,8 @@ tape( 'main export is a function', function test( t ) { t.end(); }); -tape( 'the function returns `NaN` if provided `NaN` for either parameter', function test( t ) { - var v = kernelSinf( NaN, 0.0 ); - t.equal( isnanf( v ), true, 'returns expected value' ); - - v = kernelSinf( 4.0, NaN ); - t.equal( isnanf( v ), true, 'returns expected value' ); - - v = kernelSinf( NaN, NaN ); +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v = kernelSinf( NaN ); t.equal( isnanf( v ), true, 'returns expected value' ); t.end(); }); @@ -59,8 +51,6 @@ tape( 'the function returns `NaN` if provided `NaN` for either parameter', funct tape( 'the function evaluates the sine for input values on the interval `[-pi/4, pi/4]`', function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var i; @@ -68,28 +58,17 @@ tape( 'the function evaluates the sine for input values on the interval `[-pi/4, values = smallRange.x; expected = smallRange.expected; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - out = kernelSinf( x, 0.0 ); - expected[ i ] = float64ToFloat32( expected[ i ] ); - - if( out === expected[i] ) { - t.strictEqual( out, expected[i], 'returns explected value' ); - } - else { - delta = absf( out - expected[ i ] ); - tol = EPS * absf(expected[ i ]); - - t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); - } + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + out = kernelSinf( x ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); } t.end(); }); -tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (positive)', function test( t ) { +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2f` (positive)', function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var y; @@ -98,43 +77,19 @@ tape( 'the function can be used to compute the sine for input values outside of values = largePositive.x; expected = largePositive.expected; - y = [ 0.0, 0.0 ]; + y = [ 0.0 ]; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - n = rempio2( x, y ); - - y[0] = float64ToFloat32(y[0]); - y[1] = float64ToFloat32(y[1]); - - expected[i] = float64ToFloat32(expected[i]); - + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + n = rempio2f( x, y ); switch ( n & 3 ) { case 0: - out = kernelSinf( y[ 0 ], y[ 1 ] ); - - if ( out === expected[i] ) { - t.strictEqual( out, expected[i], 'returns expected value' ); - } - else { - delta = absf(out - expected[i]); - tol = EPS * absf(expected[i]); - - t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); - } + out = kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; case 2: - out = -kernelSinf( y[ 0 ], y[ 1 ] ); - out = float64ToFloat32(out); // Ensure single precision - - if ( out === expected[i] ) { - t.strictEqual( out, expected[i], 'returns expected value' ); - } - else { - delta = absf(out - expected[i]); - tol = EPS * absf(expected[i]); - - t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); - } + out = -kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; default: break; @@ -143,11 +98,9 @@ tape( 'the function can be used to compute the sine for input values outside of t.end(); }); -tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (negative)', function test( t ) { +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2f` (negative)', function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var y; @@ -156,42 +109,19 @@ tape( 'the function can be used to compute the sine for input values outside of values = largeNegative.x; expected = largeNegative.expected; - y = [ 0.0, 0.0 ]; + y = [ 0.0 ]; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - n = rempio2( x, y ); - - y[0] = float64ToFloat32(y[0]); - y[1] = float64ToFloat32(y[1]); - expected[i] = float64ToFloat32(expected[i]); - + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + n = rempio2f( x, y ); switch ( n & 3 ) { case 0: - out = kernelSinf( y[ 0 ], y[ 1 ] ); - - if ( out === expected[i] ) { - t.strictEqual( out, expected[i], 'returns expected value' ); - } - else { - delta = absf(out - expected[i]); - tol = EPS * absf(expected[i]); - - t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); - } + out = kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; case 2: - out = -kernelSinf( y[ 0 ], y[ 1 ] ); - out = float64ToFloat32(out); // Ensure single precision - - if ( out === expected[i] ) { - t.strictEqual( out, expected[i], 'returns expected value' ); - } - else { - delta = absf(out - expected[i]); - tol = EPS * absf(expected[i]); - - t.ok( delta <= tol, 'within tolerance. x: ' + x + '. out: ' + out + '. expected: ' + expected[i] + '. delta: ' + delta + '. tol: ' + tol + '.' ); - } + out = -kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; default: break; diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js index 71564a54eac9..fd799b021df7 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/test/test.native.js @@ -23,10 +23,8 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var rempio2 = require( '@stdlib/math/base/special/rempio2' ); -var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); -var absf = require( '@stdlib/math/base/special/absf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var rempio2f = require( '@stdlib/math/base/special/rempio2f' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -37,11 +35,12 @@ var opts = { 'skip': ( kernelSinf instanceof Error ) }; + // FIXTURES // -var smallRange = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/small_range.json' ); -var largePositive = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_positive.json' ); -var largeNegative = require( '@stdlib/math/base/special/kernel-sinf/test/fixtures/julia/large_negative.json' ); +var smallRange = require( './fixtures/julia/small_range.json' ); +var largePositive = require( './fixtures/julia/large_positive.json' ); +var largeNegative = require( './fixtures/julia/large_negative.json' ); // TESTS // @@ -52,14 +51,8 @@ tape( 'main export is a function', opts, function test( t ) { t.end(); }); -tape( 'the function returns `NaN` if provided `NaN` for either parameter', opts, function test( t ) { - var v = kernelSinf( NaN, 0.0 ); - t.equal( isnanf( v ), true, 'returns expected value' ); - - v = kernelSinf( 4.0, NaN ); - t.equal( isnanf( v ), true, 'returns expected value' ); - - v = kernelSinf( NaN, NaN ); +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v = kernelSinf( NaN ); t.equal( isnanf( v ), true, 'returns expected value' ); t.end(); }); @@ -67,8 +60,6 @@ tape( 'the function returns `NaN` if provided `NaN` for either parameter', opts, tape( 'the function evaluates the sine for input values on the interval `[-pi/4, pi/4]`', opts, function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var i; @@ -76,27 +67,17 @@ tape( 'the function evaluates the sine for input values on the interval `[-pi/4, values = smallRange.x; expected = smallRange.expected; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - out = kernelSinf( x, 0.0 ); - expected[ i ] = float64ToFloat32( expected[ i ] ); - if ( out === expected[ i ] ) { - t.strictEqual( out, expected[ i ], 'returns expected value' ); - } else { - delta = absf( out - expected[ i ] ); - - // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 - tol = 2.0 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); - } + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + out = kernelSinf( x ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); } t.end(); }); -tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (positive)', opts, function test( t ) { +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2f` (positive)', opts, function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var y; @@ -105,39 +86,19 @@ tape( 'the function can be used to compute the sine for input values outside of values = largePositive.x; expected = largePositive.expected; - y = [ 0.0, 0.0 ]; + y = [ 0.0 ]; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - n = rempio2( x, y ); - - y[0] = float64ToFloat32(y[0]); - y[1] = float64ToFloat32(y[1]); - expected[i] = float64ToFloat32(expected[i]); + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + n = rempio2f( x, y ); switch ( n & 3 ) { case 0: - out = kernelSinf( y[ 0 ], y[ 1 ] ); - if ( out === expected[ i ] ) { - t.strictEqual( out, expected[ i ], 'returns expected value' ); - } else { - delta = absf( out - expected[ i ] ); - - // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 - tol = 2.0 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); - } + out = kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; case 2: - out = -kernelSinf( y[ 0 ], y[ 1 ] ); - out = float64ToFloat32( out ); - if ( out === expected[ i ] ) { - t.strictEqual( out, expected[ i ], 'returns expected value' ); - } else { - delta = absf( out - expected[ i ] ); - - // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 - tol = 2.0 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); - } + out = -kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; default: break; @@ -146,11 +107,9 @@ tape( 'the function can be used to compute the sine for input values outside of t.end(); }); -tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2` (negative)', opts, function test( t ) { +tape( 'the function can be used to compute the sine for input values outside of `[-pi/4, pi/4]` after argument reduction via `rempio2f` (negative)', opts, function test( t ) { var expected; var values; - var delta; - var tol; var out; var x; var y; @@ -159,39 +118,19 @@ tape( 'the function can be used to compute the sine for input values outside of values = largeNegative.x; expected = largeNegative.expected; - y = [ 0.0, 0.0 ]; + y = [ 0.0 ]; for ( i = 0; i < values.length; i++ ) { - x = float64ToFloat32(values[ i ]); - n = rempio2( x, y ); - - y[0] = float64ToFloat32(y[0]); - y[1] = float64ToFloat32(y[1]); - expected[i] = float64ToFloat32(expected[i]); + x = f32( values[ i ] ); + expected[ i ] = f32( expected[ i ] ); + n = rempio2f( x, y ); switch ( n & 3 ) { case 0: - out = kernelSinf( y[ 0 ], y[ 1 ] ); - if ( out === expected[ i ] ) { - t.strictEqual( out, expected[ i ], 'returns expected value' ); - } else { - delta = absf( out - expected[ i ] ); - - // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 - tol = 2.0 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); - } + out = kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; case 2: - out = -kernelSinf( y[ 0 ], y[ 1 ] ); - out = float64ToFloat32( out ); - if ( out === expected[ i ] ) { - t.strictEqual( out, expected[ i ], 'returns expected value' ); - } else { - delta = absf( out - expected[ i ] ); - - // NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205 - tol = 2.0 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x+'. out: '+out+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' ); - } + out = -kernelSinf( y[ 0 ] ); + t.strictEqual( out, expected[ i ], 'returns expected value' ); break; default: break; From eb143e6689432329c86acf3c4c708569bdb4d07e Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Tue, 3 Jun 2025 18:46:28 -0700 Subject: [PATCH 4/8] chore: update package.json --- 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: passed - 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: 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: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/kernel-sinf/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json index 77ff795b258a..67a8c209c0ee 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json @@ -21,6 +21,7 @@ "example": "./examples", "include": "./include", "lib": "./lib", + "scripts": "./scripts", "src": "./src", "test": "./test" }, From 79678ef1906b84fc9e8b89e6ffa60cad6f482707 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Tue, 3 Jun 2025 18:48:43 -0700 Subject: [PATCH 5/8] docs: update function signature --- 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: 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: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/kernel-sinf/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index 2e715379d72a..bab531d69e79 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -30,7 +30,7 @@ limitations under the License. var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); ``` -#### kernelSinf( x, y ) +#### kernelSinf( x ) Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. From 38f2b0f889dfd387d86b7ad63c6f290e8fe997bf Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Tue, 3 Jun 2025 19:22:09 -0700 Subject: [PATCH 6/8] chore: apply suggestions from review --- 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: 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: passed - 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/kernel-sinf/README.md | 6 +++--- .../@stdlib/math/base/special/kernel-sinf/docs/repl.txt | 4 ++-- .../math/base/special/kernel-sinf/docs/types/index.d.ts | 6 +----- .../math/base/special/kernel-sinf/examples/c/example.c | 3 +-- .../include/stdlib/math/base/special/kernel_sinf.h | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/index.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/main.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/lib/native.js | 2 +- .../@stdlib/math/base/special/kernel-sinf/package.json | 2 +- 9 files changed, 12 insertions(+), 17 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index bab531d69e79..89df7a0ea182 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -20,7 +20,7 @@ limitations under the License. # kernelSinf -> Compute the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. +> Compute the [sine][sine] of a number on `[-π/4, π/4]` in single-precision floating-point format.
@@ -32,7 +32,7 @@ var kernelSinf = require( '@stdlib/math/base/special/kernel-sinf' ); #### kernelSinf( x ) -Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. +Computes the [sine][sine] of a number on `[-π/4, π/4]` in single-precision floating-point format. ```javascript var v = kernelSinf( 0.0 ); @@ -101,7 +101,7 @@ logEachMap( 'kernelSinf(%0.4f) = %0.4f', x, kernelSinf ); #### stdlib_base_kernel_sinf( x ) -Computes the [sine][sine] of a single-precision floating-point number on `[-π/4, π/4]`. +Computes the [sine][sine] of a number on `[-π/4, π/4]` in single-precision floating-point format. ```c float v = stdlib_base_kernel_sinf( 0.0 ); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt index 425c8310e741..ccc48a560b1c 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/repl.txt @@ -1,7 +1,7 @@ {{alias}}( x ) - Computes the sine of a single-precision floating-point number on the - interval [-π/4, π/4]. + Computes the sine of a number on the interval [-π/4, π/4] in + single-precision floating-point format. If provided `NaN`, the function returns `NaN`. diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts index 4ce7246a7ebc..9035fc3ea4ee 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/docs/types/index.d.ts @@ -19,11 +19,7 @@ // TypeScript Version: 4.1 /** -* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). -* -* ## Notes -* -* - \\( | \sin(x) - s(x) | < 2^{-37.5} \\), where \\( 2^{-37.5} \approx \[ -4.89 \times 10^{-12}, 4.824 \times 10^{-12} \] \\). +* Computes the sine of a number on \\( \[-\pi/4, \pi/4] \\) in single-precision floating-point format, where \\( \pi/4 \approx 0.785398164 \\). * * @param x - input value (in radians, assumed to be bounded by ~pi/4 in magnitude) * @returns sine diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c index 63b8de930194..9b33acb39aa3 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c @@ -16,7 +16,6 @@ * limitations under the License. */ - #include "stdlib/math/base/special/kernel_sinf.h" #include @@ -27,6 +26,6 @@ int main( void ) { int i; for ( i = 0; i < 10; i++ ) { out = stdlib_base_kernel_sinf( x[ i ] ); - printf ( "x[ i ]: %lf, out: %f\n", x[ i ], out ); + printf ( "kernelSinf(%lf) = %f\n", x[ i ], out ); } } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h index 6dbedfed0385..3ad5f471dfd9 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/include/stdlib/math/base/special/kernel_sinf.h @@ -27,7 +27,7 @@ extern "C" { #endif /** -* Computes the sine of a single-precision floating-point number on [-π/4, π/4]. +* Computes the sine of a number on [-π/4, π/4] in single-precision floating-point format. */ float stdlib_base_kernel_sinf( const double x ); diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js index 28644cb4344e..9dc37aedf92b 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/index.js @@ -19,7 +19,7 @@ 'use strict'; /** -* Compute the sine of a single-precision floating-point number on `[-π/4, π/4]`. +* Compute the sine of a number on `[-π/4, π/4]` in single-precision floating-point format. * * @module @stdlib/math/base/special/kernel-sinf * diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js index ba9fc734fecb..e02fc2fa6e21 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/main.js @@ -42,7 +42,7 @@ var polyval34 = require( './polyval_s34.js' ); // MAIN // /** -* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). +* Computes the sine of a number on \\( \[-\pi/4, \pi/4] \\) in single-precision floating-point format, where \\( \pi/4 \approx 0.785398164 \\). * * ## Notes * diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js index c0992a35e738..1433be584f0a 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/lib/native.js @@ -26,7 +26,7 @@ var addon = require( './../src/addon.node' ); // MAIN // /** -* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). +* Computes the sine of a number on \\( \[-\pi/4, \pi/4] \\) in single-precision floating-point format, where \\( \pi/4 \approx 0.785398164 \\). * * @private * @param {number} x - input value (in radians, assumed to be bounded by ~pi/4 in magnitude) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json index 67a8c209c0ee..4f27b978ef8b 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/package.json @@ -1,7 +1,7 @@ { "name": "@stdlib/math/base/special/kernel-sinf", "version": "0.0.0", - "description": "Compute the sine of a single-precision floating-point number on [-π/4, π/4].", + "description": "Compute the sine of a number on [-π/4, π/4] in single-precision floating-point format.", "license": "Apache-2.0", "author": { "name": "The Stdlib Authors", From 180ca751abaacf0a8df08084468eeacde06d2d30 Mon Sep 17 00:00:00 2001 From: Karan Anand <119553199+anandkaranubc@users.noreply.github.com> Date: Tue, 3 Jun 2025 19:27:30 -0700 Subject: [PATCH 7/8] Update README.md Signed-off-by: Karan Anand <119553199+anandkaranubc@users.noreply.github.com> --- .../@stdlib/math/base/special/kernel-sinf/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index 89df7a0ea182..4fac3b2dc78d 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -148,7 +148,7 @@ int main( void ) { int i; for ( i = 0; i < 10; i++ ) { out = stdlib_base_kernel_sinf( x[ i ] ); - printf ( "x[ i ]: %lf, out: %f\n", x[ i ], out ); + printf ( "kernelSinf(%lf) = %f\n", x[ i ], out ); } } ``` From ccea8d26cc3f6c50f178554694993f532801a76d Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Tue, 3 Jun 2025 19:32:19 -0700 Subject: [PATCH 8/8] chore: apply suggestions from review --- 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: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: passed - task: lint_c_examples status: passed - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/kernel-sinf/README.md | 2 +- .../@stdlib/math/base/special/kernel-sinf/examples/c/example.c | 2 +- .../@stdlib/math/base/special/kernel-sinf/src/main.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md index 4fac3b2dc78d..125fd96388a3 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/README.md @@ -148,7 +148,7 @@ int main( void ) { int i; for ( i = 0; i < 10; i++ ) { out = stdlib_base_kernel_sinf( x[ i ] ); - printf ( "kernelSinf(%lf) = %f\n", x[ i ], out ); + printf( "kernelSinf(%lf) = %f\n", x[ i ], out ); } } ``` diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c index 9b33acb39aa3..20d7b86a5598 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/examples/c/example.c @@ -26,6 +26,6 @@ int main( void ) { int i; for ( i = 0; i < 10; i++ ) { out = stdlib_base_kernel_sinf( x[ i ] ); - printf ( "kernelSinf(%lf) = %f\n", x[ i ], out ); + printf( "kernelSinf(%lf) = %f\n", x[ i ], out ); } } diff --git a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c index 59328076aeaa..02b76bf25f89 100644 --- a/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/kernel-sinf/src/main.c @@ -73,7 +73,7 @@ static double polyval_s34( const double x ) { // END: polyval_s34 /** -* Computes the sine of a single-precision floating-point number on \\( \[-\pi/4, \pi/4] \\), where \\( \pi/4 \approx 0.785398164 \\). +* Computes the sine of a number on \\( \[-\pi/4, \pi/4] \\) in single-precision floating-point format, where \\( \pi/4 \approx 0.785398164 \\). * * ## Notes *