From 055c199f4333a7e4cefd4ea8663ee2e0cd0b680f Mon Sep 17 00:00:00 2001 From: Arjan Date: Sat, 25 Jul 2026 12:02:05 +0530 Subject: [PATCH 1/9] feat: setup `/math/base/special/expf` package --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../math/base/special/expf/lib/main.js | 107 ++++++++++++++ .../math/base/special/expf/lib/polyval_p.js | 57 ++++++++ .../math/base/special/expf/package.json | 136 ++++++++++++++++++ 3 files changed, 300 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/lib/polyval_p.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/package.json diff --git a/lib/node_modules/@stdlib/math/base/special/expf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/expf/lib/main.js new file mode 100644 index 000000000000..55d11270904d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/lib/main.js @@ -0,0 +1,107 @@ +/** +* @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. +* +* +* ## 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/12.2.0/lib/msun/src/s_sinf.c}. The implementation follows the original, but has been modified for JavaScript. +* +* ```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. +* ``` +*/ + +'use strict'; + +// MODULES // + +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); +var floorf = require( '@stdlib/math/base/special/floorf' ); +var ldexpf = require( '@stdlib/math/base/special/ldexpf' ); +var FLOAT32_MAX = require( '@stdlib/constants/float32/max' ); +var FLOAT32_MAX_LN = require( '@stdlib/constants/float32/max-ln' ); +var FLOAT32_MIN_LN = require( '@stdlib/constants/float32/min-ln' ); +var FLOAT32_LOG2E = require( '@stdlib/constants/float32/log2-e' ); +var polyvalP = require( './polyval_p.js' ); + + +// VARIABLES // + +var LN2_HI = 0.693359375; +var LN2_LO = -2.12194440e-4; + + +// MAIN // + +/** +* Evaluates the natural exponential function of single-precision floating-point numbers. +* +* @param {number} x - input value +* @returns {number} function value +* +* @example +* var v = expf( 4.0 ); +* // returns ~54.59815 +* +* @example +* var v = expf( -9.0 ); +* // returns ~1.234098e-4 +* +* @example +* var v = expf( 0.0 ); +* // returns 1.0 +* +* @example +* var v = expf( NaN ); +* // returns NaN +*/ +function expf( x ) { + var z; + var n; + var p; + var y; + if ( x > FLOAT32_MAX_LN ) { + return FLOAT32_MAX; + } + if ( x < FLOAT32_MIN_LN ) { + return 0.0; + } + + // e^x = e^(nln2 + g) = e^(nln2) * e^g = 2^n * e^g. + z = floorf( ( float64ToFloat32( FLOAT32_LOG2E * float64ToFloat32( x ) ) + 0.5 ) ); + + x -= float64ToFloat32( z * LN2_HI ); + x -= float64ToFloat32( z * LN2_LO ); + x = float64ToFloat32( x ); + n = z; + + z = float64ToFloat32( x * x ); + p = polyvalP( x ); + y = float64ToFloat32(p * z) + x + 1.0; + + return ldexpf( y, n ); +} + + +// EXPORTS // + +module.exports = expf; diff --git a/lib/node_modules/@stdlib/math/base/special/expf/lib/polyval_p.js b/lib/node_modules/@stdlib/math/base/special/expf/lib/polyval_p.js new file mode 100644 index 000000000000..912d6018c4f4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/lib/polyval_p.js @@ -0,0 +1,57 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); + + +// MAIN // + +/** +* Evaluates the polynomial P(x) in exp(x) ≈ 1 + x + x²P(x) for |x| ≤ ln(2)/2. +* +* ## 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 polyvalP( x ) { + var p; + + p = float64ToFloat32( 1.9875691500e-4 ); + p = float64ToFloat32( (p * x) + 1.3981999507e-3 ); + p = float64ToFloat32( (p * x) + 8.3334519073e-3 ); + p = float64ToFloat32( (p * x) + 4.1665795894e-2 ); + p = float64ToFloat32( (p * x) + 1.6666665459e-1 ); + p = float64ToFloat32( (p * x) + 5.0000001201e-1 ); + + return p; +} + + +// EXPORTS // + +module.exports = polyvalP; diff --git a/lib/node_modules/@stdlib/math/base/special/expf/package.json b/lib/node_modules/@stdlib/math/base/special/expf/package.json new file mode 100644 index 000000000000..2f66609a1424 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/package.json @@ -0,0 +1,136 @@ +{ + "name": "@stdlib/math/base/special/expf", + "version": "0.0.0", + "description": "Natural exponential function for single-precision floating point numbers.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "lib": "./lib" + }, + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "special", + "function", + "math.exp", + "exp", + "natural", + "exponential", + "euler", + "power", + "number" + ], + "__stdlib__": { + "scaffold": { + "$schema": "math/base@v1.0", + "base_alias": "expf", + "alias": "expf", + "pkg_desc": "evaluate the natural exponential function of a single-precision floating point number", + "desc": "evaluates the natural exponential function of a single-precision floating point number", + "short_desc": "natural exponential function", + "parameters": [ + { + "name": "x", + "desc": "input value", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + }, + "domain": [ + { + "min": "-infinity", + "max": "infinity" + } + ], + "rand": { + "prng": "random/base/uniform", + "parameters": [ + -10, + 10 + ] + }, + "example_values": [ + -1.2, + 2, + -3.1, + -4.7, + 5.5, + 6.7, + 8.9, + -10.2, + 11.3, + -12.4, + 13.5, + 14.6, + -15.7, + 16.8, + -17.9, + 18.1, + -19.11, + 20.12, + -21.15, + 23.78 + ] + } + ], + "returns": { + "desc": "function value", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + } + }, + "keywords": [ + "natural", + "exponential", + "exp", + "power" + ], + "extra_keywords": [ + "math.exp" + ] + } + } +} From 97787a738582bd93a3cec39a58db15655da63321 Mon Sep 17 00:00:00 2001 From: Arjan Date: Sat, 25 Jul 2026 21:51:26 +0530 Subject: [PATCH 2/9] docs: add docs/types --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../base/special/expf/docs/types/index.d.ts | 48 +++++++++++++++++++ .../math/base/special/expf/docs/types/test.ts | 44 +++++++++++++++++ .../math/base/special/expf/package.json | 4 +- 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/math/base/special/expf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/expf/docs/types/index.d.ts new file mode 100644 index 000000000000..d0e589a4237f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/docs/types/index.d.ts @@ -0,0 +1,48 @@ +/* +* @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 + +/** +* Evaluates the natural exponential function of single-precision floating-point number. +* +* @param x - input value +* @returns function value +* +* @example +* var v = expf( 4.0 ); +* // returns ~54.598 +* +* @example +* var v = expf( -9.0 ); +* // returns ~1.234e-4 +* +* @example +* var v = expf( 0.0 ); +* // returns 1.0 +* +* @example +* var v = expf( NaN ); +* // returns NaN +*/ +declare function expf( x: number ): number; + + +// EXPORTS // + +export = expf; diff --git a/lib/node_modules/@stdlib/math/base/special/expf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/expf/docs/types/test.ts new file mode 100644 index 000000000000..e2ff29750af1 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/docs/types/test.ts @@ -0,0 +1,44 @@ +/* +* @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 expf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + expf( 0.5 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + expf( true ); // $ExpectError + expf( false ); // $ExpectError + expf( null ); // $ExpectError + expf( undefined ); // $ExpectError + expf( '5' ); // $ExpectError + expf( [] ); // $ExpectError + expf( {} ); // $ExpectError + expf( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + expf(); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/package.json b/lib/node_modules/@stdlib/math/base/special/expf/package.json index 2f66609a1424..b687517d6156 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/package.json +++ b/lib/node_modules/@stdlib/math/base/special/expf/package.json @@ -15,7 +15,9 @@ ], "main": "./lib", "directories": { - "lib": "./lib" + "lib": "./lib", + "doc": "./docs", + "test": "./test" }, "scripts": {}, "homepage": "https://github.com/stdlib-js/stdlib", From 74d168ca433403e5ed1ec2a27808055a46eb5dfc Mon Sep 17 00:00:00 2001 From: Arjan Date: Sat, 25 Jul 2026 21:54:52 +0530 Subject: [PATCH 3/9] feat: setup tests --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../math/base/special/expf/lib/index.js | 49 ++++++ .../special/expf/test/fixtures/julia/REQUIRE | 2 + .../test/fixtures/julia/medium_negative.json | 1 + .../test/fixtures/julia/medium_positive.json | 1 + .../expf/test/fixtures/julia/runner.jl | 82 +++++++++ .../test/fixtures/julia/small_negative.json | 1 + .../test/fixtures/julia/small_positive.json | 1 + .../expf/test/fixtures/julia/tiny.json | 1 + .../math/base/special/expf/test/test.js | 155 ++++++++++++++++++ 9 files changed, 293 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/REQUIRE create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_negative.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_positive.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/runner.jl create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_negative.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_positive.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/tiny.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/test.js diff --git a/lib/node_modules/@stdlib/math/base/special/expf/lib/index.js b/lib/node_modules/@stdlib/math/base/special/expf/lib/index.js new file mode 100644 index 000000000000..2b971e138938 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/lib/index.js @@ -0,0 +1,49 @@ +/** +* @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'; + +/** +* Evaluate the natural exponential function of single-precision floating-point numbers. +* +* @module @stdlib/math/base/special/expf +* +* @example +* var expf = require( '@stdlib/math/base/special/expf' ); +* +* var v = expf( 4.0 ); +* // returns ~54.598 +* +* v = expf( -9.0 ); +* // returns ~1.234e-4 +* +* v = expf( 0.0 ); +* // returns 1.0 +* +* v = expf( NaN ); +* // returns NaN +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..308c3be89c85 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_negative.json b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_negative.json new file mode 100644 index 000000000000..ac5e053c4660 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_negative.json @@ -0,0 +1 @@ +{"expected":[1.1761366e-38,1.2823069e-38,1.3980507e-38,1.5242534e-38,1.6618357e-38,1.8118503e-38,1.9753918e-38,2.1537114e-38,2.34811e-38,2.5600748e-38,2.791174e-38,3.0431113e-38,3.3178143e-38,3.6172872e-38,3.9438214e-38,4.299799e-38,4.687944e-38,5.111127e-38,5.572468e-38,6.075497e-38,6.6238846e-38,7.2218254e-38,7.8736825e-38,8.5844435e-38,9.359294e-38,1.0204161e-37,1.1125295e-37,1.2129488e-37,1.3224422e-37,1.4418087e-37,1.5719614e-37,1.71385e-37,1.86856e-37,2.0372203e-37,2.221121e-37,2.4216227e-37,2.6402035e-37,2.8785356e-37,3.1383586e-37,3.4216594e-37,3.7305058e-37,4.06726e-37,4.4344137e-37,4.834673e-37,5.2711014e-37,5.746882e-37,6.2656556e-37,6.831207e-37,7.447863e-37,8.120123e-37,8.85313e-37,9.652306e-37,1.0523544e-36,1.1473509e-36,1.2509133e-36,1.3638338e-36,1.4869363e-36,1.6211627e-36,1.7674923e-36,1.9270447e-36,2.1009997e-36,2.2906404e-36,2.4974177e-36,2.72284e-36,2.968632e-36,3.2365867e-36,3.528755e-36,3.847268e-36,4.1945626e-36,4.5732075e-36,4.985995e-36,5.436083e-36,5.9267555e-36,6.4617665e-36,7.045019e-36,7.680976e-36,8.374341e-36,9.130227e-36,9.954417e-36,1.0852924e-35,1.1832622e-35,1.290066e-35,1.4065207e-35,1.5334763e-35,1.671904e-35,1.8228274e-35,1.9873597e-35,2.1667595e-35,2.362336e-35,2.575585e-35,2.808063e-35,3.0615478e-35,3.3378897e-35,3.6392025e-35,3.967715e-35,4.3258493e-35,4.7163456e-35,5.142053e-35,5.606229e-35,6.1122584e-35,6.6640147e-35,7.2655785e-35,7.9213855e-35,8.636452e-35,9.415997e-35,1.0265982e-34,1.1192612e-34,1.2202974e-34,1.3304441e-34,1.4505438e-34,1.5814851e-34,1.7242334e-34,1.8798806e-34,2.0495626e-34,2.2345776e-34,2.4362754e-34,2.656199e-34,2.8959532e-34,3.157372e-34,3.4423895e-34,3.7531069e-34,4.091902e-34,4.4612453e-34,4.8639637e-34,5.3029957e-34,5.7816997e-34,6.303616e-34,6.872594e-34,7.492986e-34,8.169318e-34,8.906767e-34,9.71071e-34,1.0587301e-33,1.1542933e-33,1.2584919e-33,1.3720965e-33,1.4959449e-33,1.6309845e-33,1.7782006e-33,1.9387195e-33,2.1137126e-33,2.3045183e-33,2.512529e-33,2.739336e-33,2.9866173e-33,3.2561958e-33,3.550134e-33,3.8705767e-33,4.219975e-33,4.600879e-33,5.0162025e-33,5.4689757e-33,5.9626624e-33,6.500915e-33,7.087701e-33,7.727511e-33,8.425013e-33,9.185542e-33,1.0014649e-32,1.09186755e-32,1.1904309e-32,1.2978818e-32,1.4150422e-32,1.5427668e-32,1.6820331e-32,1.833857e-32,1.9994001e-32,2.1798702e-32,2.376648e-32,2.5911892e-32,2.8250753e-32,3.080096e-32,3.3581123e-32,3.6612505e-32,3.9917229e-32,4.3520574e-32,4.7448832e-32,5.173206e-32,5.6401935e-32,6.1492895e-32,6.7043885e-32,7.3095407e-32,7.969377e-32,8.6887094e-32,9.4730433e-32,1.0328179e-31,1.1260422e-31,1.2276906e-31,1.3385045e-31,1.4593319e-31,1.5910543e-31,1.7346796e-31,1.8912554e-31,2.0619798e-31,2.2481158e-31,2.4510355e-31,2.6722915e-31,2.9134982e-31,3.176501e-31,3.4632187e-31,3.7758451e-31,4.1166607e-31,4.4882735e-31,4.893432e-31,5.3351236e-31,5.816728e-31,6.341758e-31,6.9142314e-31,7.5383244e-31,8.218812e-31,8.960729e-31,9.769543e-31,1.0651444e-30,1.1612866e-30,1.2661164e-30,1.3803988e-30,1.505008e-30,1.6408532e-30,1.7889738e-30,1.9504652e-30,2.1265184e-30,2.3184802e-30,2.527751e-30,2.7559322e-30,3.0046886e-30,3.2759233e-30,3.571615e-30,3.8940265e-30,4.2455418e-30,4.6287533e-30,5.0465932e-30,5.502109e-30,5.9987873e-30,6.5402505e-30,7.130642e-30,7.774269e-30,8.476055e-30,9.241193e-30,1.0075323e-29,1.09848266e-29,1.197634e-29,1.305745e-29,1.4236042e-29,1.5521137e-29,1.6922236e-29,1.8449675e-29,2.0115135e-29,2.1930769e-29,2.3910468e-29,2.6068678e-29,2.842191e-29,3.098733e-29,3.3784573e-29,3.6834322e-29,4.0159064e-29,4.3784242e-29,4.77363e-29,5.2045476e-29,5.6743217e-29,6.186545e-29,6.744956e-29,7.353826e-29,8.017659e-29,8.74135e-29,9.5304354e-29,1.0390673e-28,1.1328644e-28,1.2351191e-28,1.3466138e-28,1.4681732e-28,1.6006937e-28,1.7451824e-28,1.9027136e-28,2.0744723e-28,2.2617271e-28,2.4658849e-28,2.6884713e-28,2.9311496e-28,3.1957336e-28,3.4842006e-28,3.7987064e-28,4.1416016e-28,4.515466e-28,4.92306e-28,5.3674464e-28,5.851946e-28,6.3801793e-28,6.9560945e-28,7.5839953e-28,8.268574e-28,9.014982e-28,9.828731e-28,1.0715934e-27,1.1683222e-27,1.2737823e-27,1.3887619e-27,1.5141203e-27,1.6507943e-27,1.7998054e-27,1.9622746e-27,2.1394018e-27,2.3325176e-27,2.5430655e-27,2.7726184e-27,3.0228925e-27,3.2957576e-27,3.5932537e-27,3.917618e-27,4.271247e-27,4.6567965e-27,5.0771485e-27,5.5354435e-27,6.0351076e-27,6.579874e-27,7.1738156e-27,7.821399e-27,8.527407e-27,9.297145e-27,1.01363634e-26,1.1051335e-26,1.2048898e-26,1.3136508e-26,1.4322292e-26,1.5615112e-26,1.7024695e-26,1.856145e-26,2.0236923e-26,2.2063635e-26,2.4055238e-26,2.6226614e-26,2.8593995e-26,3.1175068e-26,3.3989255e-26,3.705734e-26,4.0402368e-26,4.404934e-26,4.802551e-26,5.2360593e-26,5.708699e-26,6.224002e-26,6.7858456e-26,7.398379e-26,8.0662026e-26,8.794309e-26,9.5881384e-26,1.0453625e-25,1.1397234e-25,1.242602e-25,1.354767e-25,1.4770625e-25,1.6103915e-25,1.7557555e-25,1.9142411e-25,2.0870326e-25,2.2754212e-25,2.480815e-25,2.704749e-25,2.9489078e-25,3.2150948e-25,3.5053096e-25,3.8217207e-25,4.1666933e-25,4.5428054e-25,4.9528676e-25,5.399944e-25,5.8873774e-25,6.4188335e-25,6.9982375e-25,7.6299425e-25,8.318669e-25,9.069564e-25,9.88824e-25,1.0780816e-24,1.1753959e-24,1.2814994e-24,1.3971757e-24,1.5232936e-24,1.6607956e-24,1.8107095e-24,1.9741554e-24,2.1523551e-24,2.3466403e-24,2.5584725e-24,2.7894163e-24,3.0412065e-24,3.315725e-24,3.6150233e-24,3.941338e-24,4.297108e-24,4.6849917e-24,5.1078886e-24,5.56898e-24,6.071671e-24,6.619738e-24,7.217277e-24,7.868754e-24,8.5790375e-24,9.3534354e-24,1.0197735e-23,1.1118289e-23,1.2121896e-23,1.3216095e-23,1.4409062e-23,1.5709715e-23,1.7127773e-23,1.8673833e-23,2.035945e-23,2.2197222e-23,2.4200976e-23,2.6385509e-23,2.876723e-23,3.1363942e-23,3.4195047e-23,3.7281708e-23,4.064699e-23,4.431604e-23,4.831647e-23,5.2677818e-23,5.743285e-23,6.26171e-23,6.826931e-23,7.4431734e-23,8.1150405e-23,8.847555e-23,9.6462284e-23,1.0516957e-22,1.1466284e-22,1.2501303e-22,1.362975e-22,1.4860056e-22,1.6201418e-22,1.766386e-22,1.9258311e-22,2.0996767e-22,2.2892067e-22,2.495845e-22,2.7211354e-22,2.9667625e-22,3.234561e-22,3.526533e-22,3.8448598e-22,4.1919372e-22,4.570328e-22,4.982874e-22,5.4326596e-22,5.923046e-22,6.457697e-22,7.0406096e-22,7.676139e-22,8.3690357e-22,9.124512e-22,9.948148e-22,1.084613e-21,1.1825171e-21,1.2892585e-21,1.405635e-21,1.5325165e-21,1.6708511e-21,1.8216795e-21,1.9861158e-21,2.165395e-21,2.3608573e-21,2.5739631e-21,2.8063051e-21,3.05962e-21,3.3358005e-21,3.6369245e-21,3.9652163e-21,4.3231415e-21,4.7133757e-21,5.1388345e-21,5.602698e-21,6.1084328e-21,6.6598185e-21,7.260975e-21,7.916427e-21,8.631013e-21,9.410103e-21,1.0259518e-20,1.1185606e-20,1.219529e-20,1.3296113e-20,1.4496305e-20,1.5804891e-20,1.723154e-20,1.8786968e-20,2.0482798e-20,2.2331704e-20,2.4347504e-20,2.6545263e-20,2.8941405e-20,3.155384e-20,3.440222e-20,3.7507578e-20,4.0893247e-20,4.458453e-20,4.860901e-20,5.2996764e-20,5.778059e-20,6.299623e-20,6.868292e-20,7.488268e-20,8.1642054e-20,8.901158e-20,9.704632e-20,1.0580634e-19,1.1535708e-19,1.2576994e-19,1.3712324e-19,1.4950085e-19,1.6299575e-19,1.7770876e-19,1.9374987e-19,2.1123895e-19,2.303067e-19,2.5109564e-19,2.737611e-19,2.9847365e-19,3.2541575e-19,3.5478984e-19,3.8681537e-19,4.2173178e-19,4.597999e-19,5.013044e-19,5.4655525e-19,5.9589306e-19,6.496821e-19,7.083265e-19,7.722645e-19,8.419739e-19,9.179758e-19,1.0008381e-18,1.09118e-18,1.1896768e-18,1.2970693e-18,1.4141511e-18,1.5418012e-18,1.6809739e-18,1.8327092e-18,1.998141e-18,2.1785057e-18,2.3751513e-18,2.5895574e-18,2.8233072e-18,3.0781566e-18,3.3560103e-18,3.658945e-18,3.9892245e-18,4.349317e-18,4.7419134e-18,5.169968e-18,5.636642e-18,6.1454408e-18,6.7001667e-18,7.304966e-18,7.964358e-18,8.683271e-18,9.467078e-18,1.0321636e-17,1.12533745e-17,1.2269175e-17,1.3376668e-17,1.4584129e-17,1.5900585e-17,1.7335871e-17,1.8900716e-17,2.0606814e-17,2.2467e-17,2.4495013e-17,2.6706087e-17,2.9116748e-17,3.1745008e-17,3.461051e-17,3.7734673e-17,4.1140844e-17,4.485447e-17,4.8903507e-17,5.3317842e-17,5.813065e-17,6.3377884e-17,6.909877e-17,7.533606e-17,8.213637e-17,8.9550514e-17,9.763428e-17,1.0644736e-16,1.1605597e-16,1.2653191e-16,1.3795348e-16,1.5040603e-16,1.6398261e-16,1.7878471e-16,1.949237e-16,2.1251874e-16,2.3170202e-16,2.5261688e-16,2.7541967e-16,3.002808e-16,3.2738604e-16,3.5693794e-16,3.891574e-16,4.2428682e-16,4.625856e-16,5.043415e-16,5.498665e-16,5.9950096e-16,6.536157e-16,7.126151e-16,7.769403e-16,8.47075e-16,9.235373e-16,1.0069016e-15,1.0977909e-15,1.1968843e-15,1.3049227e-15,1.4227132e-15,1.5511363e-15,1.6911516e-15,1.8438126e-15,2.0102468e-15,2.191704e-15,2.3895411e-15,2.6052362e-15,2.8404011e-15,3.0967937e-15,3.3763297e-15,3.6811124e-15,4.013393e-15,4.375667e-15,4.770642e-15,5.20127e-15,5.6707695e-15,6.182649e-15,6.740734e-15,7.349223e-15,8.01261e-15,8.7358785e-15,9.524434e-15,1.0384169e-14,1.1321509e-14,1.234346e-14,1.3457684e-14,1.4672459e-14,1.5996888e-14,1.7440867e-14,1.9015226e-14,2.073166e-14,2.260303e-14,2.464332e-14,2.6867834e-14,2.9293093e-14,3.1937272e-14,3.4820132e-14,3.7963288e-14,4.1390092e-14,4.5126222e-14,4.9199597e-14,5.3640767e-14,5.848272e-14,6.376173e-14,6.9517275e-14,7.579234e-14,8.2633986e-14,9.0093053e-14,9.822542e-14,1.0709186e-13,1.1675887e-13,1.2729826e-13,1.38789e-13,1.5131696e-13,1.649761e-13,1.7986788e-13,1.9610389e-13,2.1380545e-13,2.3310534e-13,2.5414688e-13,2.770878e-13,3.0209946e-13,3.2936948e-13,3.5910044e-13,3.915151e-13,4.2685574e-13,4.653864e-13,5.073961e-13,5.531968e-13,6.0313186e-13,6.575743e-13,7.169325e-13,7.816473e-13,8.522037e-13,9.29129e-13,1.013e-12,1.1044397e-12,1.2041334e-12,1.312826e-12,1.4313327e-12,1.5605337e-12,1.7013974e-12,1.8549762e-12,2.022422e-12,2.2049784e-12,2.4040136e-12,2.621015e-12,2.8576041e-12,3.1155556e-12,3.396785e-12,3.7034004e-12,4.0376925e-12,4.4021683e-12,4.7995358e-12,5.232772e-12,5.705115e-12,6.2201065e-12,6.7815723e-12,7.393719e-12,8.061123e-12,8.788787e-12,9.582119e-12,1.0447062e-11,1.1390079e-11,1.2418243e-11,1.35391915e-11,1.4761324e-11,1.6093774e-11,1.7546499e-11,1.9130393e-11,2.0857222e-11,2.2739926e-11,2.4792574e-11,2.703056e-11,2.947051e-11,3.21307e-11,3.503102e-11,3.8193216e-11,4.1640774e-11,4.539953e-11,4.949758e-11,5.3965644e-11,5.883692e-11,6.4147916e-11,6.9938305e-11,7.6251526e-11,8.3134465e-11,9.0638705e-11,9.882033e-11,1.0774047e-10,1.1746602e-10,1.2806925e-10,1.3962959e-10,1.5223342e-10,1.6597529e-10,1.8095726e-10,1.972916e-10,2.1510038e-10,2.3451713e-10,2.5568614e-10,2.7876598e-10,3.0392913e-10,3.3136432e-10,3.6127534e-10,3.9388634e-10,4.29441e-10,4.682059e-10,5.1046917e-10,5.565473e-10,6.0678473e-10,6.61557e-10,7.2127465e-10,7.863814e-10,8.573651e-10,9.347563e-10,1.0191352e-9,1.1111287e-9,1.2114263e-9,1.3207773e-9,1.4400016e-9,1.5699853e-9,1.711702e-9,1.866211e-9,2.0346707e-9,2.2183329e-9,2.4185736e-9,2.6368892e-9,2.874917e-9,3.134425e-9,3.417358e-9,3.7258303e-9,4.062147e-9,4.42883e-9,4.828604e-9,5.264465e-9,5.7396683e-9,6.2577787e-9,6.822645e-9,7.4385e-9,8.109946e-9,8.842018e-9,9.640154e-9,1.0510334e-8,1.1459063e-8,1.2493454e-8,1.3621192e-8,1.4850726e-8,1.6191246e-8,1.7652804e-8,1.9246256e-8,2.0983544e-8,2.2877652e-8,2.4942732e-8,2.7194272e-8,2.9648998e-8,3.2325303e-8,3.5243186e-8,3.842453e-8,4.1892974e-8,4.5674494e-8,4.9797364e-8,5.429249e-8,5.9193273e-8,6.453643e-8,7.036189e-8,7.671334e-8,8.363797e-8,9.1187665e-8,9.9418834e-8,1.0839321e-7,1.1817746e-7,1.288449e-7,1.404754e-7,1.5315558e-7,1.6698037e-7,1.8205324e-7,1.984865e-7,2.1640335e-7,2.3593728e-7,2.5723472e-7,2.8045434e-7,3.057702e-7,3.3337093e-7,3.6346344e-7,3.9627193e-7,4.3204233e-7,4.710412e-7,5.1356085e-7,5.599181e-7,6.1046035e-7,6.6556436e-7,7.256431e-7,7.911442e-7,8.6255864e-7,9.404186e-7,1.0253067e-6,1.1178583e-6,1.2187634e-6,1.3287778e-6,1.4487217e-6,1.579494e-6,1.722069e-6,1.8775155e-6,2.046992e-6,2.2317683e-6,2.4332219e-6,2.6528623e-6,2.8923264e-6,3.153409e-6,3.4380553e-6,3.7483994e-6,4.0867535e-6,4.4556537e-6,4.857849e-6,5.296354e-6,5.7744364e-6,6.2956733e-6,6.863967e-6,7.4835516e-6,8.159072e-6,8.895561e-6,9.6985395e-6,1.0573991e-5,1.15284765e-5,1.25691095e-5,1.370369e-5,1.4940671e-5,1.6289325e-5,1.7759701e-5,1.9362822e-5,2.1110633e-5,2.3016233e-5,2.5093823e-5,2.7358976e-5,2.9828569e-5,3.2521115e-5,3.5456673e-5,3.8657217e-5,4.21467e-5,4.5951125e-5,5.009901e-5,5.462126e-5,5.9551778e-5,6.49273e-5,7.078811e-5,7.717789e-5,8.414453e-5,9.1739945e-5,0.00010002107,0.00010904959,0.000118893215,0.00012962526,0.00014132619,0.00015408317,0.00016799185,0.00018315585,0.00019968885,0.00021771401,0.00023736624,0.00025879266,0.0002821529,0.0003076221,0.00033539,0.00036566478,0.00039867216,0.00043465904,0.00047389432,0.0005166712,0.0005633095,0.00061415735,0.0006695954,0.00073003763,0.0007959358,0.00086778234,0.0009461143,0.001031517,0.0011246288,0.0012261454,0.0013368257,0.0014574967,0.0015890602,0.0017324996,0.0018888868,0.0020593905,0.0022452853,0.00244796,0.0026689293,0.0029098452,0.0031725075,0.0034588797,0.0037711,0.004111505,0.0044826376,0.004887271,0.0053284294,0.0058094095,0.0063338066,0.006905539,0.0075288797,0.008208488,0.008949442,0.009757279,0.010638038,0.011598299,0.012645241,0.013786687,0.015031166,0.016387982,0.017867273,0.01948009,0.021238497,0.023155626,0.025245812,0.02752467,0.030009234,0.032718074,0.035671428,0.038891364,0.042401966,0.046229452,0.05040244,0.054952104,0.059912458,0.06532057,0.071216844,0.07764536,0.08465416,0.09229562,0.10062683,0.10971009,0.11961327,0.13041037,0.1421821,0.15501642,0.16900927,0.18426518,0.2008982,0.21903263,0.23880401,0.2603601,0.28386196,0.30948523,0.33742148,0.36787945],"x":[-87.336,-87.24957,-87.163155,-87.07673,-86.99031,-86.903885,-86.81747,-86.73104,-86.64462,-86.5582,-86.47177,-86.38535,-86.29893,-86.21251,-86.12608,-86.039665,-85.95324,-85.86681,-85.780396,-85.69397,-85.60755,-85.521126,-85.43471,-85.34828,-85.26186,-85.17544,-85.08901,-85.002594,-84.91617,-84.82975,-84.743324,-84.656906,-84.57048,-84.48406,-84.39764,-84.31121,-84.22479,-84.13837,-84.05195,-83.96552,-83.879105,-83.79268,-83.70625,-83.619835,-83.53341,-83.44699,-83.360565,-83.27415,-83.18772,-83.1013,-83.01488,-82.92845,-82.84203,-82.75561,-82.66919,-82.58276,-82.496346,-82.40992,-82.3235,-82.237076,-82.15065,-82.06423,-81.977806,-81.89139,-81.80496,-81.718544,-81.63212,-81.5457,-81.459274,-81.37285,-81.28643,-81.200005,-81.11359,-81.02716,-80.94074,-80.85432,-80.76789,-80.68147,-80.59505,-80.50863,-80.4222,-80.335785,-80.24936,-80.16294,-80.076515,-79.99009,-79.90367,-79.817245,-79.73083,-79.6444,-79.55798,-79.47156,-79.38514,-79.29871,-79.21229,-79.12587,-79.039444,-78.953026,-78.8666,-78.78018,-78.693756,-78.60733,-78.52091,-78.43449,-78.34807,-78.26164,-78.175224,-78.0888,-78.00238,-77.915955,-77.82953,-77.74311,-77.656685,-77.57027,-77.48384,-77.39742,-77.311,-77.22458,-77.13815,-77.05173,-76.96531,-76.87888,-76.792465,-76.70604,-76.61962,-76.533195,-76.44677,-76.36035,-76.273926,-76.18751,-76.10108,-76.01466,-75.92824,-75.84182,-75.755394,-75.66897,-75.58255,-75.496124,-75.409706,-75.32328,-75.23686,-75.15044,-75.06402,-74.97759,-74.89117,-74.80475,-74.71832,-74.631905,-74.54548,-74.45906,-74.372635,-74.28622,-74.19979,-74.113365,-74.02695,-73.94052,-73.8541,-73.76768,-73.68126,-73.59483,-73.50841,-73.42199,-73.33556,-73.249146,-73.16272,-73.0763,-72.989876,-72.90346,-72.81703,-72.730606,-72.64419,-72.55776,-72.471344,-72.38492,-72.2985,-72.212074,-72.125656,-72.03923,-71.952805,-71.86639,-71.77996,-71.69354,-71.60712,-71.5207,-71.43427,-71.34785,-71.26143,-71.175,-71.088585,-71.00216,-70.91574,-70.829315,-70.7429,-70.65647,-70.570045,-70.48363,-70.3972,-70.31078,-70.22436,-70.13794,-70.05151,-69.965096,-69.87867,-69.792244,-69.705826,-69.6194,-69.53298,-69.446556,-69.36014,-69.27371,-69.18729,-69.10087,-69.01444,-68.928024,-68.8416,-68.75518,-68.668755,-68.58234,-68.49591,-68.409485,-68.32307,-68.23664,-68.15022,-68.0638,-67.97738,-67.89095,-67.804535,-67.71811,-67.63168,-67.545265,-67.45884,-67.37242,-67.285995,-67.19958,-67.11315,-67.02673,-66.94031,-66.85388,-66.76746,-66.68104,-66.59462,-66.508194,-66.421776,-66.33535,-66.248924,-66.162506,-66.07608,-65.98966,-65.90324,-65.81682,-65.73039,-65.643974,-65.55755,-65.47112,-65.384705,-65.29828,-65.21186,-65.125435,-65.03902,-64.95259,-64.86617,-64.77975,-64.69332,-64.6069,-64.52048,-64.43406,-64.34763,-64.261215,-64.17479,-64.08836,-64.001945,-63.915524,-63.8291,-63.742676,-63.656254,-63.56983,-63.48341,-63.396988,-63.310566,-63.224144,-63.137722,-63.0513,-62.964874,-62.878452,-62.79203,-62.70561,-62.619186,-62.532764,-62.446342,-62.35992,-62.273495,-62.187073,-62.10065,-62.01423,-61.927807,-61.841385,-61.754963,-61.66854,-61.58212,-61.495693,-61.40927,-61.32285,-61.236427,-61.150005,-61.063583,-60.97716,-60.89074,-60.804314,-60.71789,-60.63147,-60.545048,-60.458626,-60.372204,-60.28578,-60.19936,-60.112934,-60.026512,-59.94009,-59.85367,-59.767246,-59.680824,-59.594402,-59.50798,-59.42156,-59.335133,-59.24871,-59.16229,-59.075867,-58.989445,-58.903023,-58.8166,-58.73018,-58.643753,-58.55733,-58.47091,-58.384487,-58.298065,-58.211643,-58.12522,-58.0388,-57.952374,-57.86595,-57.77953,-57.693108,-57.606686,-57.520264,-57.43384,-57.34742,-57.260998,-57.174572,-57.08815,-57.001728,-56.915306,-56.828884,-56.742462,-56.65604,-56.56962,-56.483192,-56.39677,-56.31035,-56.223927,-56.137505,-56.051083,-55.96466,-55.87824,-55.791817,-55.70539,-55.61897,-55.532547,-55.446125,-55.359703,-55.27328,-55.18686,-55.100437,-55.01401,-54.92759,-54.841167,-54.754745,-54.668324,-54.5819,-54.49548,-54.409058,-54.32263,-54.23621,-54.149788,-54.063366,-53.976944,-53.890522,-53.8041,-53.717678,-53.631256,-53.54483,-53.45841,-53.371986,-53.285564,-53.199142,-53.11272,-53.0263,-52.939877,-52.85345,-52.76703,-52.680607,-52.594185,-52.507763,-52.42134,-52.33492,-52.248497,-52.162075,-52.07565,-51.989227,-51.902805,-51.816383,-51.72996,-51.64354,-51.557117,-51.470695,-51.38427,-51.297848,-51.211426,-51.125004,-51.03858,-50.95216,-50.865738,-50.779316,-50.69289,-50.60647,-50.520046,-50.433624,-50.347202,-50.26078,-50.17436,-50.087936,-50.001514,-49.91509,-49.828667,-49.742245,-49.655823,-49.5694,-49.48298,-49.396557,-49.310135,-49.22371,-49.137287,-49.050865,-48.964443,-48.87802,-48.7916,-48.705177,-48.618755,-48.532333,-48.445908,-48.359486,-48.273064,-48.18664,-48.10022,-48.013798,-47.927376,-47.840954,-47.754528,-47.668106,-47.581684,-47.495262,-47.40884,-47.32242,-47.235996,-47.149574,-47.06315,-46.976727,-46.890305,-46.803883,-46.71746,-46.63104,-46.544617,-46.458195,-46.371773,-46.285347,-46.198925,-46.112503,-46.02608,-45.93966,-45.853237,-45.766815,-45.680393,-45.593967,-45.507545,-45.421124,-45.3347,-45.24828,-45.161858,-45.075436,-44.989014,-44.90259,-44.816166,-44.729744,-44.643322,-44.5569,-44.470478,-44.384056,-44.297634,-44.211212,-44.124786,-44.038364,-43.951942,-43.86552,-43.7791,-43.692677,-43.606255,-43.519833,-43.433407,-43.346985,-43.260563,-43.17414,-43.08772,-43.001297,-42.914875,-42.828453,-42.74203,-42.655605,-42.569183,-42.48276,-42.39634,-42.309917,-42.223495,-42.137074,-42.05065,-41.964226,-41.877804,-41.79138,-41.70496,-41.618538,-41.532116,-41.445694,-41.359272,-41.27285,-41.186424,-41.100002,-41.01358,-40.92716,-40.840736,-40.754314,-40.667892,-40.58147,-40.495045,-40.408623,-40.3222,-40.23578,-40.149357,-40.062935,-39.976513,-39.89009,-39.803665,-39.717243,-39.63082,-39.5444,-39.457977,-39.371555,-39.285133,-39.19871,-39.11229,-39.025864,-38.93944,-38.85302,-38.766598,-38.680176,-38.593754,-38.50733,-38.42091,-38.334484,-38.248062,-38.16164,-38.07522,-37.988796,-37.902374,-37.815952,-37.72953,-37.64311,-37.556683,-37.47026,-37.38384,-37.297417,-37.210995,-37.124573,-37.03815,-36.95173,-36.865303,-36.77888,-36.69246,-36.606037,-36.519615,-36.433193,-36.34677,-36.26035,-36.173923,-36.0875,-36.00108,-35.914658,-35.828236,-35.741814,-35.65539,-35.56897,-35.482548,-35.396122,-35.3097,-35.223278,-35.136856,-35.050434,-34.964012,-34.87759,-34.79117,-34.704742,-34.61832,-34.5319,-34.445477,-34.359055,-34.272633,-34.18621,-34.09979,-34.013367,-33.92694,-33.84052,-33.754097,-33.667675,-33.581253,-33.49483,-33.40841,-33.321987,-33.23556,-33.14914,-33.062717,-32.976295,-32.889874,-32.80345,-32.71703,-32.630608,-32.54418,-32.45776,-32.371338,-32.284916,-32.198494,-32.112072,-32.02565,-31.939226,-31.852804,-31.766382,-31.67996,-31.593536,-31.507114,-31.420692,-31.33427,-31.247847,-31.161425,-31.075003,-30.98858,-30.902157,-30.815735,-30.729313,-30.64289,-30.556467,-30.470045,-30.383623,-30.297201,-30.21078,-30.124355,-30.037933,-29.951511,-29.86509,-29.778666,-29.692244,-29.605822,-29.5194,-29.432976,-29.346554,-29.260132,-29.17371,-29.087286,-29.000864,-28.914442,-28.82802,-28.741596,-28.655174,-28.568752,-28.48233,-28.395908,-28.309484,-28.223063,-28.13664,-28.050219,-27.963795,-27.877373,-27.79095,-27.704529,-27.618105,-27.531683,-27.445261,-27.358839,-27.272415,-27.185993,-27.099571,-27.01315,-26.926725,-26.840303,-26.753881,-26.66746,-26.581038,-26.494614,-26.408192,-26.32177,-26.235348,-26.148924,-26.062502,-25.97608,-25.889658,-25.803234,-25.716812,-25.63039,-25.543968,-25.457544,-25.371122,-25.2847,-25.198278,-25.111855,-25.025433,-24.93901,-24.852589,-24.766167,-24.679743,-24.59332,-24.506899,-24.420477,-24.334053,-24.247631,-24.16121,-24.074787,-23.988363,-23.901941,-23.81552,-23.729097,-23.642673,-23.556252,-23.46983,-23.383408,-23.296984,-23.210562,-23.12414,-23.037718,-22.951296,-22.864872,-22.77845,-22.692028,-22.605606,-22.519182,-22.43276,-22.346338,-22.259916,-22.173492,-22.08707,-22.000648,-21.914227,-21.827803,-21.74138,-21.654959,-21.568537,-21.482113,-21.39569,-21.309269,-21.222847,-21.136425,-21.050001,-20.96358,-20.877157,-20.790735,-20.704311,-20.61789,-20.531467,-20.445045,-20.358622,-20.2722,-20.185778,-20.099356,-20.012932,-19.92651,-19.840088,-19.753666,-19.667242,-19.58082,-19.494398,-19.407976,-19.321554,-19.23513,-19.148708,-19.062286,-18.975864,-18.88944,-18.803019,-18.716597,-18.630175,-18.54375,-18.457329,-18.370907,-18.284485,-18.198061,-18.111639,-18.025217,-17.938795,-17.852371,-17.76595,-17.679527,-17.593105,-17.506683,-17.42026,-17.333838,-17.247416,-17.160994,-17.07457,-16.988148,-16.901726,-16.815304,-16.72888,-16.642458,-16.556036,-16.469614,-16.38319,-16.296768,-16.210346,-16.123924,-16.0375,-15.951078,-15.864656,-15.778234,-15.691812,-15.60539,-15.518967,-15.432545,-15.346122,-15.2597,-15.173277,-15.086855,-15.000432,-14.91401,-14.827587,-14.741165,-14.654742,-14.56832,-14.481897,-14.395475,-14.309052,-14.2226305,-14.136208,-14.049786,-13.963363,-13.876941,-13.790519,-13.704096,-13.617674,-13.531251,-13.444829,-13.358406,-13.271984,-13.185561,-13.099139,-13.012716,-12.926294,-12.839871,-12.753449,-12.6670265,-12.580605,-12.494182,-12.40776,-12.321337,-12.234915,-12.148492,-12.06207,-11.975648,-11.889225,-11.802803,-11.71638,-11.629958,-11.543535,-11.457113,-11.37069,-11.284268,-11.197845,-11.1114235,-11.025001,-10.938579,-10.852156,-10.765734,-10.679311,-10.592889,-10.506466,-10.420044,-10.333621,-10.247199,-10.160777,-10.074354,-9.987932,-9.901509,-9.815087,-9.728664,-9.642242,-9.5558195,-9.469398,-9.382975,-9.296553,-9.21013,-9.123708,-9.037285,-8.950863,-8.86444,-8.778018,-8.691595,-8.605173,-8.51875,-8.432328,-8.345906,-8.259483,-8.173061,-8.086638,-8.0002165,-7.9137936,-7.827371,-7.7409487,-7.654526,-7.568104,-7.4816813,-7.3952594,-7.308837,-7.2224145,-7.135992,-7.0495696,-6.963147,-6.8767247,-6.7903023,-6.70388,-6.6174574,-6.531035,-6.4446125,-6.35819,-6.2717676,-6.185345,-6.0989227,-6.0125003,-5.926078,-5.8396554,-5.753233,-5.6668105,-5.5803885,-5.493966,-5.4075437,-5.321121,-5.234699,-5.1482763,-5.061854,-4.9754314,-4.889009,-4.8025866,-4.716164,-4.6297417,-4.543319,-4.456897,-4.3704743,-4.284052,-4.1976295,-4.111207,-4.0247846,-3.9383624,-3.85194,-3.7655175,-3.679095,-3.5926726,-3.5062501,-3.4198277,-3.3334053,-3.246983,-3.1605606,-3.0741382,-2.9877157,-2.9012933,-2.8148708,-2.7284484,-2.642026,-2.5556035,-2.469181,-2.3827586,-2.2963364,-2.209914,-2.1234915,-2.037069,-1.9506466,-1.8642242,-1.7778018,-1.6913793,-1.604957,-1.5185345,-1.4321121,-1.3456897,-1.2592672,-1.1728449,-1.0864224,-1.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_positive.json b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_positive.json new file mode 100644 index 000000000000..b2c17c8d7558 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/medium_positive.json @@ -0,0 +1 @@ +{"expected":[2.7182817,2.9656227,3.23547,3.5298705,3.8510597,4.201474,4.5837736,5.0008583,5.455895,5.9523363,6.493949,7.084845,7.7295074,8.432827,9.200145,10.037282,10.950589,11.947002,13.034081,14.220076,15.513982,16.925627,18.46572,20.145947,21.979057,23.97897,26.160858,28.541275,31.138294,33.971622,37.062763,40.435158,44.11442,48.12847,52.507755,57.285526,62.49804,68.184845,74.38911,81.15786,88.54256,96.5992,105.38893,114.978455,125.44055,136.8546,149.30725,162.8929,177.71481,193.88539,211.52736,230.77461,251.77321,274.6825,299.67618,326.94424,356.69348,389.14966,424.55905,463.19043,505.33694,551.3182,601.4836,656.2136,715.9237,781.0669,852.1375,929.675,1014.2673,1106.5573,1207.2449,1317.0941,1436.9388,1567.6885,1710.3352,1865.9607,2035.7478,2220.9841,2423.0752,2643.5552,2884.097,3146.526,3432.8323,3745.1936,4085.9734,4457.765,4863.383,5305.908,5788.705,6315.4263,6890.0815,7517.0186,8201.009,8947.2295,9761.349,10649.556,11618.572,12675.772,13829.157,15087.503,16460.334,17958.08,19592.127,21374.838,23319.783,25441.68,27756.676,30282.291,33037.715,36043.89,39323.57,42901.71,46805.39,51064.32,55710.727,60779.914,66310.414,72344.086,78926.836,86108.49,93943.695,102491.75,111817.6,121992.14,133092.36,145202.73,158414.9,172829.44,188555.4,205712.3,224430.53,244851.73,267131.34,291437.97,317956.56,346887.84,378451.6,412887.75,450456.94,491445.03,536162.25,584948.9,638174.06,696242.3,759595.0,828711.5,904117.9,986384.7,1.076138e6,1.1740571e6,1.2808861e6,1.3974369e6,1.5245914e6,1.6633174e6,1.8146648e6,1.9797852e6,2.1599282e6,2.3564628e6,2.5708828e6,2.8048105e6,3.0600268e6,3.3384625e6,3.6422368e6,3.9736482e6,4.3352155e6,4.7296865e6,5.1600465e6,5.629571e6,6.1418125e6,6.7006705e6,7.3103725e6,7.9755525e6,8.701266e6,9.493014e6,1.0356785e7,1.1299173e7,1.2327311e7,1.3449001e7,1.4672728e7,1.6007833e7,1.7464422e7,1.9053514e7,2.0787236e7,2.2678714e7,2.4742302e7,2.6993608e7,2.9449818e7,3.2129526e7,3.5052996e7,3.8242548e7,4.1722324e7,4.5518736e7,4.9660496e7,5.4179216e7,5.9109108e7,6.4487456e7,7.035532e7,7.67571e7,8.374141e7,9.136106e7,9.967421e7,1.0874379e8,1.1863842e8,1.2943359e8,1.4121106e8,1.5406016e8,1.6807813e8,1.8337194e8,2.0005738e8,2.1826064e8,2.3812067e8,2.597878e8,2.834265e8,3.0921552e8,3.3735174e8,3.6804816e8,4.0153693e8,4.380737e8,4.77935e8,5.2142342e8,5.6886784e8,6.206304e8,6.77103e8,7.3871277e8,8.059299e8,8.792633e8,9.592695e8,1.0465536e9,1.1417819e9,1.2456753e9,1.3590195e9,1.4826798e9,1.6175922e9,1.7647805e9,1.9253583e9,2.100551e9,2.2916849e9,2.5002058e9,2.7277053e9,2.9759053e9,3.2466898e9,3.5421066e9,3.8644111e9,4.2160428e9,4.599661e9,5.018195e9,5.474812e9,5.9729777e9,6.51646e9,7.109408e9,7.7563085e9,8.462057e9,9.232039e9,1.0072083e10,1.0988564e10,1.1988417e10,1.3079269e10,1.4269383e10,1.5567756e10,1.6984302e10,1.8529743e10,2.0215806e10,2.2055246e10,2.4062104e10,2.625157e10,2.8640205e10,3.1246242e10,3.4089409e10,3.7191283e10,4.0575324e10,4.4267364e10,4.8295354e10,5.2689756e10,5.748412e10,6.271473e10,6.8421288e10,7.464695e10,8.143925e10,8.884959e10,9.6934035e10,1.0575428e11,1.1537711e11,1.25875536e11,1.37328976e11,1.4982485e11,1.6345776e11,1.7833081e11,1.9455753e11,2.1226077e11,2.3157486e11,2.526459e11,2.7563472e11,3.0071538e11,3.280775e11,3.5793004e11,3.904989e11,4.260313e11,4.6479596e11,5.070888e11,5.5322994e11,6.035685e11,6.5848856e11,7.184059e11,7.837753e11,8.550912e11,9.328979e11,1.0177844e12,1.1103928e12,1.21143e12,1.3216607e12,1.4419218e12,1.5731225e12,1.7162644e12,1.8724312e12,2.042804e12,2.2286835e12,2.4314766e12,2.6527222e12,2.894094e12,3.157434e12,3.4447363e12,3.7581735e12,4.1001382e12,4.473219e12,4.8802473e12,5.324302e12,5.8087723e12,6.337326e12,6.9139604e12,7.5430777e12,8.2294394e12,8.978255e12,9.795188e12,1.0686474e13,1.1658862e13,1.2719704e13,1.3877098e13,1.5139807e13,1.6517412e13,1.8020334e13,1.9660047e13,2.144896e13,2.3400605e13,2.552988e13,2.78529e13,3.03873e13,3.3152246e13,3.6168842e13,3.945993e13,4.3050395e13,4.6967653e13,5.1241346e13,5.590391e13,6.099062e13,6.6540297e13,7.259495e13,7.920038e13,8.640717e13,9.4269365e13,1.0284696e14,1.1220545e14,1.2241505e14,1.3355362e14,1.4570625e14,1.5896409e14,1.7342826e14,1.8920925e14,2.0642544e14,2.25209e14,2.457008e14,2.6805716e14,2.9244885e14,3.1905883e14,3.4809005e14,3.797643e14,4.1431912e14,4.520181e14,4.931492e14,5.3802096e14,5.869756e14,6.403871e14,6.9865595e14,7.622297e14,8.315852e14,9.072513e14,9.89806e14,1.07986866e15,1.1781262e15,1.285329e15,1.4022813e15,1.5298751e15,1.6690852e15,1.8209557e15,1.9866448e15,2.1674182e15,2.364632e15,2.5798003e15,2.8145366e15,3.0706318e15,3.3500423e15,3.654863e15,3.98742e15,4.3502527e15,4.746083e15,5.17793e15,5.6490926e15,6.1631047e15,6.7238867e15,7.3357225e15,8.003201e15,8.7314473e15,9.525924e15,1.0392689e16,1.1338366e16,1.2370045e16,1.3495598e16,1.4723621e16,1.6063327e16,1.7524932e16,1.9119603e16,2.08593e16,2.275729e16,2.4828076e16,2.7087188e16,2.955197e16,3.2240909e16,3.5174515e16,3.8375198e16,4.1866963e16,4.567645e16,4.983275e16,5.436704e16,5.9313906e16,6.471114e16,7.0599216e16,7.702306e16,8.403171e16,9.167778e16,1.0001994e17,1.0912077e17,1.190497e17,1.2988255e17,1.4170058e17,1.5459395e17,1.6866113e17,1.8400763e17,2.0075053e17,2.190177e17,2.3894616e17,2.6068792e17,2.8440906e17,3.1028747e17,3.385219e17,3.6932407e17,4.0292896e17,4.395932e17,4.795919e17,5.2323003e17,5.70841e17,6.2278194e17,6.7944905e17,7.412751e17,8.087238e17,8.823098e17,9.6259494e17,1.0501817e18,1.1457423e18,1.2499935e18,1.3637307e18,1.4878226e18,1.6231998e18,1.7708951e18,1.9320365e18,2.107833e18,2.2996251e18,2.508878e18,2.7371614e18,2.986216e18,3.257945e18,3.554386e18,3.8778153e18,4.2306585e18,4.615607e18,5.035601e18,5.493791e18,5.9936726e18,6.539063e18,7.1340537e18,7.783183e18,8.4914085e18,9.264043e18,1.010698e19,1.1026659e19,1.2029977e19,1.3124636e19,1.431885e19,1.5621725e19,1.7043214e19,1.859398e19,2.0285849e19,2.2131746e19,2.414552e19,2.6342524e19,2.8739545e19,3.1354562e19,3.4207522e19,3.7320213e19,4.0715984e19,4.442091e19,4.846278e19,5.287242e19,5.7683507e19,6.293214e19,6.8658353e19,7.4905875e19,8.172157e19,8.915744e19,9.727026e19,1.06120895e20,1.1577687e20,1.26311905e20,1.3780505e20,1.5034453e20,1.640244e20,1.7894902e20,1.9523238e20,2.1299662e20,2.323772e20,2.5352222e20,2.7659026e20,3.017573e20,3.292155e20,3.5917087e20,3.918519e20,4.275082e20,4.6640727e20,5.088477e20,5.5514785e20,6.056609e20,6.607726e20,7.208964e20,7.864909e20,8.580572e20,9.3613194e20,1.0213108e21,1.1142443e21,1.2156296e21,1.32624e21,1.4469204e21,1.5785758e21,1.7222175e21,1.8789223e21,2.0498859e21,2.236414e21,2.4399056e21,2.661913e21,2.9041321e21,3.16838e21,3.4566715e21,3.771209e21,4.114352e21,4.4887178e21,4.897166e21,5.34276e21,5.8289206e21,6.3592955e21,6.937929e21,7.5692416e21,8.257968e21,9.0093627e21,9.829164e21,1.0723521e22,1.1699256e22,1.2763823e22,1.3925207e22,1.5192263e22,1.6574673e22,1.8082806e22,1.9728239e22,2.1523315e22,2.3481726e22,2.5618431e22,2.7949459e22,3.0492585e22,3.3267237e22,3.629423e22,3.9596648e22,4.319972e22,4.713047e22,5.1418885e22,5.609771e22,6.1202054e22,6.6771098e22,7.284661e22,7.947494e22,8.670671e22,9.459617e22,1.032035e23,1.1259443e23,1.2283942e23,1.340166e23,1.4621136e23,1.5951516e23,1.7402948e23,1.8986519e23,2.0714105e23,2.2598971e23,2.4655257e23,2.6898644e23,2.9346268e23,3.201649e23,3.4929677e23,3.810808e23,4.1575542e23,4.535851e23,4.948588e23,5.398861e23,5.8901045e23,6.426071e23,7.01078e23,7.648722e23,8.34468e23,9.103965e23,9.932374e23,1.08361226e24,1.1822103e24,1.2897848e24,1.4071426e24,1.5351788e24,1.6748714e24,1.8272683e24,1.9935318e24,2.174932e24,2.3728295e24,2.5887434e24,2.824294e24,3.081277e24,3.3616557e24,3.6675335e24,4.001243e24,4.3653335e24,4.7625363e24,5.1958806e24,5.668676e24,6.18447e24,6.7471964e24,7.361153e24,8.0309457e24,8.7617163e24,9.558947e24,1.0428718e25,1.1377672e25,1.2412928e25,1.3542383e25,1.4774664e25,1.6119014e25,1.7585686e25,1.9185884e25,2.0931613e25,2.2836184e25,2.4914147e25,2.718109e25,2.9654416e25,3.2352677e25,3.5296454e25,3.8508233e25,4.2012105e25,4.5834796e25,5.0005503e25,5.4555512e25,5.9519527e25,6.493547e25,7.084396e25,7.7290363e25,8.432303e25,9.19956e25,1.0036668e26,1.0949906e26,1.1946241e26,1.30332805e26,1.4219182e26,1.5512989e26,1.6924581e26,1.8464554e26,2.0144647e26,2.1977696e26,2.397745e26,2.6159263e26,2.85395e26,3.1136315e26,3.3969546e26,3.706044e26,4.0432577e26,4.4111714e26,4.812545e26,5.2504392e26,5.7281996e26,6.249409e26,6.818044e26,7.438448e26,8.115274e26,8.8537185e26,9.65932e26,1.05382235e27,1.1497142e27,1.254327e27,1.3684584e27,1.4929804e27,1.628827e27,1.7770343e27,1.9387344e27,2.1151403e27,2.3075972e27,2.5175756e27,2.7466502e27,2.99658e27,3.2692394e27,3.566708e27,3.8912583e27,4.2453248e27,4.631608e27,5.053058e27,5.512837e27,6.014451e27,6.561707e27,7.158785e27,7.8101944e27,8.520813e27,9.296159e27,1.0142056e28,1.1064842e28,1.207168e28,1.3170136e28,1.4368434e28,1.567588e28,1.7102297e28,1.865851e28,2.0356174e28,2.220847e28,2.4229317e28,2.6433845e28,2.8839178e28,3.146338e28,3.4326107e28,3.744959e28,4.085729e28,4.4574734e28,4.8630784e28,5.305591e28,5.788326e28,6.315031e28,6.889663e28,7.516526e28,8.200488e28,8.946686e28,9.760709e28,1.0648879e29,1.1617867e29,1.2674931e29,1.3828277e29,1.5086573e29,1.645924e29,1.7956938e29,1.9590919e29,2.1373582e29,2.3318279e29,2.5440112e29,2.7755018e29,3.0280337e29,3.3035677e29,3.6041736e29,3.9321034e29,4.2899024e29,4.6802592e29,5.1060977e29,5.5707238e29,6.0776282e29,6.6306075e29,7.233955e29,7.892205e29,8.610285e29,9.393772e29,1.0248553e30,1.1181028e30,1.21984386e30,1.3308428e30,1.4519308e30,1.5840484e30,1.7281879e30,1.8854288e30,2.0569921e30,2.244167e30,2.4483734e30,2.6711412e30,2.9142e30,3.1793758e30,3.4686545e30,3.7842827e30,4.128631e30,4.5042787e30,4.9141426e30,5.361302e30,5.849106e30,6.381341e30,6.9620073e30,7.595453e30,8.286596e30,9.0406296e30,9.863201e30,1.0760696e31,1.1739859e31,1.2808023e31,1.397348e31,1.5244989e31,1.6632069e31,1.8145494e31,1.9796632e31,2.159785e31,2.356313e31,2.5707242e31,2.8046458e31,3.0598292e31,3.3382564e31,3.642019e31,3.973392e31,4.3349483e31,4.729404e31,5.159714e31,5.6292185e31,6.1414457e31,6.7002315e31,7.309915e31,7.9750757e31,8.700696e31,9.492411e31,1.0356166e32,1.1298433e32,1.2326527e32,1.3448171e32,1.4671767e32,1.6006815e32,1.7463345e32,1.9052267e32,2.0785915e32,2.2677315e32,2.4740634e32,2.6991894e32,2.9448004e32,3.2127606e32,3.5050767e32,3.8240192e32,4.1719833e32,4.5515755e32,4.965743e32,5.4175978e32,5.9105234e32,6.448348e32,7.035111e32,7.675208e32,8.373609e32,9.1355596e32,9.966768e32,1.0873688e33,1.1863132e33,1.29425115e33,1.4120207e33,1.5405067e33,1.6806712e33,1.8336029e33,2.0004503e33,2.1824634e33,2.3810553e33,2.5977178e33,2.834074e33,3.0919586e33,3.3733095e33,3.6802617e33,4.015114e33,4.380467e33,4.7790647e33,5.213893e33,5.6883277e33,6.205933e33,6.770587e33,7.386672e33,8.0588176e33,8.7920575e33,9.592085e33,1.046491e34,1.1417072e34,1.2455961e34,1.3589383e34,1.4825826e34,1.6174894e34,1.7646718e34,1.9252322e34,2.1004176e34,2.2915436e34,2.5000422e34,2.7275317e34,2.975722e34,3.246471e34,3.5418816e34,3.864173e34,4.215791e34,4.5993686e34,5.0178855e34,5.474485e34,5.9725863e34,6.5160583e34,7.1089826e34,7.755801e34,8.461535e34,9.231487e34,1.0071424e35,1.0987866e35,1.19877e35,1.3078414e35,1.4268475e35,1.5566826e35,1.698319e35,1.8528563e35,2.0214559e35,2.20538e35,2.4060573e35,2.624995e35,2.8638329e35,3.1244256e35,3.4087307e35,3.7188776e35,4.0572746e35,4.4264636e35,4.829247e35,5.2686407e35,5.7480575e35,6.2710984e35,6.841681e35,7.464235e35,8.143438e35,8.8843776e35,9.692806e35,1.0574796e36,1.1536955e36,1.2586753e36,1.3732077e36,1.4981504e36,1.6344737e36,1.7832016e36,1.945448e36,2.1224727e36,2.3156058e36,2.5262936e36,2.7561722e36,3.0069683e36,3.2805603e36,3.579073e36,3.9047483e36,4.2600257e36,4.647664e36,5.0705755e36,5.531969e36,6.035301e36,6.5844796e36,7.18363e36,7.83724e36,8.5503844e36,9.3284215e36,1.01771776e37,1.1103244e37,1.2113575e37,1.3215742e37,1.44183e37,1.5730284e37,1.716152e37,1.8723122e37,2.042682e37,2.2285376e37,2.431322e37,2.6525586e37,2.8939043e37,3.1572334e37,3.4445236e37,3.7579274e37,4.0998774e37,4.472943e37,4.8799183e37,5.3239637e37,5.8084146e37,6.3369473e37,6.913521e37,7.5426123e37,8.228948e37,8.977667e37,9.794585e37,1.0685836e38,1.1658098e38,1.2718919e38,1.3876268e38,1.5138816e38,1.6516363e38],"x":[1.0,1.087087,1.1741742,1.2612612,1.3483484,1.4354354,1.5225226,1.6096096,1.6966966,1.7837838,1.8708708,1.957958,2.0450451,2.132132,2.2192192,2.3063064,2.3933933,2.4804804,2.5675676,2.6546547,2.7417417,2.8288288,2.915916,3.0030031,3.09009,3.1771772,3.2642643,3.3513513,3.4384384,3.5255256,3.6126127,3.6996996,3.7867868,3.873874,3.9609609,4.048048,4.135135,4.2222223,4.3093095,4.396396,4.4834833,4.5705705,4.6576576,4.744745,4.831832,4.918919,5.0060062,5.093093,5.18018,5.267267,5.3543544,5.4414415,5.5285287,5.615616,5.7027025,5.7897897,5.876877,5.963964,6.051051,6.1381383,6.2252254,6.312312,6.3993993,6.4864864,6.5735736,6.6606607,6.747748,6.834835,6.9219217,7.009009,7.096096,7.183183,7.2702703,7.3573575,7.4444447,7.5315313,7.6186185,7.7057056,7.792793,7.87988,7.966967,8.054054,8.141141,8.228229,8.315315,8.402403,8.48949,8.576576,8.663664,8.750751,8.837838,8.924925,9.0120125,9.099099,9.186186,9.273273,9.36036,9.447448,9.534534,9.621622,9.708709,9.795795,9.882883,9.96997,10.057057,10.144144,10.231232,10.318318,10.405405,10.492493,10.579579,10.666667,10.753754,10.840841,10.927928,11.015015,11.102102,11.189189,11.276277,11.363363,11.450451,11.537538,11.624624,11.711712,11.798799,11.885886,11.972973,12.0600605,12.147147,12.234234,12.3213215,12.408408,12.495496,12.582582,12.66967,12.756757,12.843843,12.930931,13.018018,13.105105,13.192192,13.27928,13.366366,13.453453,13.540541,13.627627,13.714715,13.801802,13.888889,13.975976,14.063063,14.15015,14.237237,14.324325,14.411411,14.498499,14.585586,14.672672,14.75976,14.846847,14.933934,15.021021,15.1081085,15.195195,15.282282,15.3693695,15.456456,15.543544,15.6306305,15.717718,15.804805,15.8918915,15.978979,16.066067,16.153152,16.24024,16.327328,16.414415,16.501501,16.588589,16.675676,16.762762,16.84985,16.936937,17.024025,17.11111,17.198198,17.285286,17.372372,17.45946,17.546547,17.633635,17.72072,17.807808,17.894896,17.981981,18.069069,18.156157,18.243244,18.33033,18.417418,18.504505,18.59159,18.678679,18.765766,18.852854,18.93994,19.027027,19.114115,19.2012,19.288288,19.375376,19.462463,19.54955,19.636637,19.723724,19.81081,19.897898,19.984985,20.072073,20.159159,20.246246,20.333334,20.42042,20.507507,20.594595,20.681683,20.768768,20.855856,20.942944,21.03003,21.117117,21.204205,21.291292,21.378378,21.465466,21.552553,21.639639,21.726727,21.813814,21.900902,21.987988,22.075075,22.162163,22.249249,22.336336,22.423424,22.510511,22.597597,22.684685,22.771772,22.858858,22.945946,23.033033,23.120121,23.207207,23.294294,23.381382,23.468468,23.555555,23.642643,23.72973,23.816816,23.903904,23.990992,24.078077,24.165165,24.252253,24.33934,24.426426,24.513514,24.600601,24.687687,24.774775,24.861862,24.94895,25.036036,25.123123,25.21021,25.297297,25.384384,25.471472,25.55856,25.645645,25.732733,25.81982,25.906906,25.993994,26.081081,26.168169,26.255255,26.342342,26.42943,26.516516,26.603603,26.690691,26.777779,26.864864,26.951952,27.03904,27.126125,27.213213,27.3003,27.387388,27.474474,27.561562,27.64865,27.735735,27.822823,27.90991,27.996998,28.084084,28.171171,28.258259,28.345345,28.432432,28.51952,28.606607,28.693693,28.78078,28.867868,28.954954,29.042042,29.12913,29.216217,29.303303,29.39039,29.477478,29.564564,29.651651,29.738739,29.825827,29.912912,30.0,30.087088,30.174173,30.261261,30.348349,30.435436,30.522522,30.60961,30.696697,30.783783,30.87087,30.957958,31.045046,31.132132,31.21922,31.306307,31.393393,31.48048,31.567568,31.654655,31.741741,31.828829,31.915916,32.003002,32.09009,32.177177,32.264263,32.351353,32.43844,32.525524,32.612614,32.6997,32.786785,32.873875,32.96096,33.04805,33.135136,33.22222,33.30931,33.396397,33.483482,33.57057,33.657658,33.744743,33.831833,33.91892,34.006004,34.093094,34.18018,34.26727,34.354355,34.44144,34.52853,34.615616,34.7027,34.78979,34.876877,34.963963,35.051052,35.138138,35.225224,35.312313,35.3994,35.48649,35.573574,35.66066,35.74775,35.834835,35.92192,36.00901,36.096096,36.18318,36.27027,36.357357,36.444443,36.531532,36.618618,36.705708,36.792793,36.87988,36.96697,37.054054,37.14114,37.22823,37.315315,37.4024,37.48949,37.576576,37.663662,37.75075,37.837837,37.924927,38.012012,38.0991,38.186188,38.273273,38.36036,38.44745,38.534534,38.62162,38.70871,38.795795,38.88288,38.96997,39.057056,39.144146,39.23123,39.318317,39.405407,39.492493,39.57958,39.666668,39.753754,39.84084,39.92793,40.015015,40.1021,40.18919,40.276276,40.363365,40.45045,40.537537,40.624626,40.71171,40.798798,40.885887,40.972973,41.06006,41.14715,41.234234,41.32132,41.40841,41.495495,41.582584,41.66967,41.756756,41.843845,41.93093,42.018017,42.105106,42.192192,42.279278,42.366367,42.453453,42.54054,42.62763,42.714714,42.801804,42.88889,42.975975,43.063065,43.15015,43.237236,43.324326,43.41141,43.498497,43.585587,43.672672,43.759758,43.846848,43.933933,44.021023,44.10811,44.195194,44.282284,44.36937,44.456455,44.543545,44.63063,44.717716,44.804806,44.89189,44.978977,45.066067,45.153152,45.240242,45.327328,45.414413,45.501503,45.58859,45.675674,45.762764,45.84985,45.936935,46.024025,46.11111,46.198196,46.285286,46.37237,46.45946,46.546547,46.633633,46.720722,46.807808,46.894894,46.981983,47.06907,47.156155,47.243244,47.33033,47.417416,47.504505,47.59159,47.67868,47.765766,47.85285,47.93994,48.027027,48.114113,48.201202,48.28829,48.375374,48.462463,48.54955,48.636635,48.723724,48.81081,48.8979,48.984985,49.07207,49.15916,49.246246,49.333332,49.42042,49.507507,49.594593,49.681683,49.76877,49.855854,49.942944,50.03003,50.11712,50.204205,50.29129,50.37838,50.465466,50.55255,50.63964,50.726727,50.813812,50.9009,50.987988,51.075073,51.162163,51.24925,51.336338,51.423424,51.51051,51.5976,51.684685,51.77177,51.85886,51.945946,52.03303,52.12012,52.207207,52.294292,52.381382,52.468468,52.555557,52.642643,52.72973,52.81682,52.903904,52.99099,53.07808,53.165165,53.25225,53.33934,53.426426,53.51351,53.6006,53.687687,53.774776,53.861862,53.948948,54.036037,54.123123,54.21021,54.2973,54.384384,54.47147,54.55856,54.645645,54.73273,54.81982,54.906906,54.993996,55.08108,55.168167,55.255257,55.342342,55.42943,55.516518,55.603603,55.69069,55.77778,55.864864,55.95195,56.03904,56.126125,56.213215,56.3003,56.387386,56.474476,56.56156,56.648647,56.735737,56.822823,56.90991,56.996998,57.084084,57.17117,57.25826,57.345345,57.432434,57.51952,57.606606,57.693695,57.78078,57.867867,57.954956,58.04204,58.129128,58.216217,58.303303,58.39039,58.477478,58.564564,58.651653,58.73874,58.825825,58.912914,59.0,59.087086,59.174175,59.26126,59.348347,59.435436,59.522522,59.60961,59.696697,59.783783,59.870872,59.95796,60.045044,60.132133,60.21922,60.306305,60.393394,60.48048,60.567566,60.654655,60.74174,60.82883,60.915916,61.003002,61.09009,61.177177,61.264263,61.351353,61.43844,61.525524,61.612614,61.6997,61.786785,61.873875,61.96096,62.04805,62.135136,62.22222,62.30931,62.396397,62.483482,62.57057,62.657658,62.744743,62.831833,62.91892,63.006004,63.093094,63.18018,63.26727,63.354355,63.44144,63.52853,63.615616,63.7027,63.78979,63.876877,63.963963,64.05105,64.13814,64.22523,64.31231,64.3994,64.48649,64.57357,64.66066,64.74775,64.83483,64.92192,65.00901,65.0961,65.18318,65.27027,65.35736,65.44444,65.53153,65.61862,65.7057,65.79279,65.87988,65.966965,66.054054,66.14114,66.228226,66.315315,66.402405,66.48949,66.57658,66.663666,66.75075,66.83784,66.92493,67.01201,67.0991,67.18619,67.27327,67.36036,67.44745,67.53454,67.62162,67.70871,67.7958,67.88288,67.96997,68.05706,68.14414,68.23123,68.31832,68.4054,68.49249,68.57958,68.666664,68.75375,68.84084,68.927925,69.015015,69.102104,69.189186,69.276276,69.363365,69.45045,69.53754,69.624626,69.71171,69.7988,69.88589,69.97298,70.06006,70.14715,70.23424,70.32132,70.40841,70.4955,70.58258,70.66967,70.75676,70.84384,70.93093,71.01802,71.1051,71.19219,71.27928,71.36636,71.45345,71.54054,71.627625,71.714714,71.8018,71.888885,71.975975,72.063065,72.15015,72.237236,72.324326,72.411415,72.4985,72.58559,72.672676,72.75976,72.84685,72.93394,73.02102,73.10811,73.1952,73.28228,73.36937,73.45646,73.54354,73.63063,73.71772,73.8048,73.89189,73.97898,74.06606,74.15315,74.24024,74.327324,74.41441,74.5015,74.588585,74.675674,74.762764,74.84985,74.936935,75.024025,75.111115,75.1982,75.285286,75.372375,75.45946,75.54655,75.63364,75.72072,75.80781,75.8949,75.98198,76.06907,76.15616,76.24324,76.33033,76.41742,76.5045,76.59159,76.67868,76.76576,76.85285,76.93994,77.02702,77.11411,77.2012,77.28829,77.375374,77.46246,77.54955,77.636635,77.723724,77.810814,77.897896,77.984985,78.072075,78.15916,78.24625,78.333336,78.42042,78.50751,78.5946,78.68168,78.76877,78.85586,78.94294,79.03003,79.11712,79.2042,79.29129,79.37838,79.46546,79.55255,79.63964,79.72673,79.81381,79.9009,79.98799,80.07507,80.16216,80.24925,80.336334,80.42342,80.51051,80.597595,80.684685,80.771774,80.85886,80.945946,81.033035,81.12012,81.20721,81.2943,81.38138,81.46847,81.55556,81.64264,81.72973,81.81682,81.9039,81.99099,82.07808,82.16517,82.25225,82.33934,82.42643,82.51351,82.6006,82.68769,82.77477,82.86186,82.94895,83.03603,83.12312,83.21021,83.297295,83.384384,83.47147,83.558556,83.645645,83.732735,83.81982,83.906906,83.993996,84.08108,84.16817,84.25526,84.34234,84.42943,84.51652,84.60361,84.69069,84.77778,84.86487,84.95195,85.03904,85.12613,85.21321,85.3003,85.38739,85.47447,85.56156,85.64865,85.73573,85.82282,85.90991,85.996994,86.08408,86.17117,86.258255,86.345345,86.432434,86.519516,86.606606,86.693695,86.78078,86.86787,86.954956,87.042046,87.12913,87.21622,87.30331,87.39039,87.47748,87.56457,87.65165,87.73874,87.82583,87.91291,88.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/runner.jl new file mode 100644 index 000000000000..b36ffe3af346 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/runner.jl @@ -0,0 +1,82 @@ +#!/usr/bin/env julia +# +# @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. + +import JSON + +""" + gen( domain, filepath ) + +Generate fixture data and write to file. + +# Arguments + +* `domain`: domain +* `filepath::AbstractString`: filepath of the output file + +# Examples + +``` julia +julia> x = range( -100, stop = 100, length = 2001 ); +julia> gen( x, \"./data.json\" ); +``` +""" +function gen( domain, name ) + x = collect( domain ); + y = exp.( 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 ); + +# Medium negative values: +x = Float32.( range( -87.336f0, stop = -1.0f0, length = 1000 ) ); +gen( x, "./medium_negative.json" ); + +# Medium positive values: +x = Float32.( range( 1.0f0, stop = 88.0f0, length = 1000 ) ); +gen( x, "./medium_positive.json" ); + +# Small negative values: +x = Float32.( range(-1.0f0, stop=-2.0f0^-25, length=1000) ); +gen( x, "./small_negative.json" ); + +# Small positive values: +x = Float32.( range(2.0f0^-25, stop=1.0f0, length=1000) ); +gen( x, "./small_positive.json" ); + +# Tiny values: +x = Float32.( range(-2.0f0^-20, stop=2.0f0^-20, length=1000) ); +gen( x, "./tiny.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_negative.json b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_negative.json new file mode 100644 index 000000000000..0ed0a7747d47 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_negative.json @@ -0,0 +1 @@ +{"expected":[0.36787945,0.36824787,0.36861667,0.36898583,0.36935538,0.3697253,0.37009558,0.37046623,0.37083724,0.37120864,0.3715804,0.37195256,0.37232506,0.37269795,0.3730712,0.37344483,0.37381884,0.37419322,0.374568,0.3749431,0.37531862,0.37569448,0.37607074,0.37644738,0.3768244,0.3772018,0.37757957,0.3779577,0.37833622,0.37871513,0.37909442,0.37947407,0.3798541,0.38023454,0.38061535,0.38099653,0.3813781,0.38176006,0.3821424,0.38252512,0.38290823,0.3832917,0.38367555,0.38405982,0.38444445,0.38482946,0.38521487,0.3856007,0.38598683,0.3863734,0.38676038,0.38714772,0.38753545,0.38792357,0.3883121,0.388701,0.38909027,0.38947994,0.38987002,0.39026046,0.39065132,0.39104253,0.39143416,0.3918262,0.39221862,0.3926114,0.39300463,0.39339823,0.3937922,0.3941866,0.39458138,0.39497653,0.3953721,0.39576808,0.39616445,0.3965612,0.39695835,0.3973559,0.39775386,0.3981522,0.39855096,0.3989501,0.39934966,0.3997496,0.40014997,0.40055072,0.40095186,0.40135342,0.40175536,0.40215772,0.4025605,0.40296367,0.40336722,0.4037712,0.40417558,0.40458035,0.40498555,0.40539116,0.40579715,0.40620354,0.40661037,0.4070176,0.40742522,0.40783325,0.4082417,0.40865055,0.40905982,0.4094695,0.40987957,0.41029006,0.41070098,0.41111228,0.41152403,0.41193616,0.41234872,0.4127617,0.41317508,0.41358885,0.41400307,0.41441768,0.41483274,0.4152482,0.41566408,0.41608036,0.41649705,0.41691417,0.41733173,0.41774967,0.41816804,0.41858685,0.41900605,0.4194257,0.41984576,0.42026624,0.42068714,0.42110845,0.4215302,0.42195237,0.42237493,0.42279795,0.42322138,0.42364523,0.42406952,0.42449424,0.42491937,0.4253449,0.4257709,0.42619732,0.42662415,0.4270514,0.4274791,0.42790723,0.4283358,0.42876476,0.42919415,0.429624,0.43005428,0.43048495,0.43091613,0.4313477,0.43177968,0.4322121,0.43264496,0.43307826,0.433512,0.43394616,0.43438077,0.4348158,0.43525127,0.43568715,0.4361235,0.43656027,0.4369975,0.43743515,0.43787324,0.4383118,0.43875074,0.43919015,0.43963,0.4400703,0.44051102,0.4409522,0.44139382,0.44183588,0.44227836,0.4427213,0.4431647,0.44360852,0.44405282,0.44449753,0.44494268,0.4453883,0.44583434,0.44628087,0.4467278,0.4471752,0.44762304,0.44807136,0.4485201,0.44896927,0.44941893,0.44986904,0.45031956,0.45077056,0.451222,0.4516739,0.45212626,0.45257908,0.4530323,0.45348606,0.4539402,0.45439482,0.4548499,0.45530543,0.45576143,0.45621789,0.45667478,0.45713213,0.45758995,0.45804822,0.45850697,0.45896617,0.4594258,0.45988593,0.46034652,0.46080756,0.46126905,0.46173102,0.46219343,0.46265632,0.4631197,0.4635835,0.46404776,0.46451253,0.4649777,0.4654434,0.46590954,0.46637616,0.46684322,0.46731076,0.46777877,0.46824726,0.4687162,0.46918562,0.4696555,0.47012588,0.4705967,0.47106802,0.4715398,0.47201204,0.47248477,0.47295797,0.47343162,0.47390577,0.47438037,0.47485548,0.47533104,0.4758071,0.4762836,0.47676063,0.4772381,0.47771603,0.47819448,0.47867343,0.4791528,0.47963268,0.48011303,0.48059386,0.4810752,0.48155698,0.48203927,0.482522,0.4830053,0.483489,0.4839732,0.4844579,0.4849431,0.48542878,0.48591495,0.4864016,0.4868887,0.48737633,0.48786443,0.48835304,0.48884213,0.4893317,0.48982176,0.4903123,0.49080336,0.49129492,0.49178693,0.49227947,0.4927725,0.493266,0.49376,0.4942545,0.49474952,0.49524498,0.49574098,0.49623746,0.49673444,0.49723193,0.4977299,0.4982284,0.49872735,0.49922684,0.4997268,0.5002273,0.50072825,0.50122976,0.50173175,0.5022342,0.5027372,0.5032407,0.5037447,0.5042492,0.5047542,0.5052597,0.50576574,0.50627226,0.5067793,0.50728685,0.50779486,0.50830346,0.5088125,0.5093221,0.50983214,0.5103428,0.5108539,0.5113655,0.51187766,0.51239026,0.51290345,0.5134171,0.5139313,0.514446,0.51496124,0.51547694,0.5159932,0.51650995,0.51702726,0.51754504,0.51806337,0.5185822,0.51910156,0.5196215,0.52014184,0.5206628,0.5211842,0.5217062,0.5222287,0.5227517,0.52327526,0.5237993,0.5243239,0.524849,0.52537465,0.5259008,0.5264275,0.5269547,0.52748245,0.5280107,0.52853954,0.5290689,0.5295987,0.53012913,0.53066003,0.5311915,0.5317235,0.53225607,0.5327891,0.5333227,0.5338568,0.53439146,0.53492665,0.5354624,0.53599864,0.53653544,0.53707284,0.5376107,0.5381491,0.53868806,0.53922755,0.5397676,0.5403082,0.54084927,0.54139096,0.5419332,0.5424759,0.5430192,0.543563,0.54410744,0.54465234,0.5451978,0.5457438,0.5462904,0.5468375,0.54738516,0.54793334,0.5484821,0.54903144,0.5495813,0.5501317,0.55068266,0.5512342,0.55178624,0.55233884,0.552892,0.5534457,0.554,0.5545548,0.5551102,0.55566615,0.5562227,0.55677974,0.55733734,0.5578955,0.5584543,0.55901355,0.5595734,0.5601338,0.56069475,0.5612563,0.5618184,0.5623811,0.5629443,0.5635081,0.56407243,0.56463736,0.56520283,0.5657689,0.5663355,0.5669027,0.56747043,0.56803876,0.5686077,0.56917715,0.56974715,0.57031775,0.57088894,0.57146066,0.572033,0.5726059,0.57317936,0.5737534,0.574328,0.5749032,0.575479,0.57605535,0.57663226,0.5772098,0.5777878,0.57836646,0.5789457,0.57952553,0.5801059,0.58068687,0.5812684,0.5818506,0.58243334,0.58301663,0.5836005,0.584185,0.5847701,0.5853557,0.5859419,0.5865288,0.5871162,0.5877042,0.5882928,0.5888819,0.5894717,0.5900621,0.590653,0.5912446,0.5918367,0.59242946,0.59302276,0.59361666,0.59421116,0.59480625,0.595402,0.5959983,0.59659517,0.59719265,0.5977907,0.59838945,0.5989887,0.59958863,0.6001891,0.6007902,0.6013919,0.60199416,0.60259706,0.60320055,0.6038047,0.6044094,0.60501474,0.6056206,0.60622716,0.6068343,0.6074421,0.6080504,0.6086594,0.60926896,0.60987914,0.6104899,0.6111013,0.61171335,0.61232597,0.61293924,0.6135531,0.6141676,0.61478263,0.61539835,0.61601466,0.6166316,0.6172492,0.61786735,0.61848617,0.6191056,0.6197256,0.62034625,0.6209675,0.6215894,0.62221193,0.6228351,0.62345886,0.6240833,0.6247083,0.6253339,0.62596023,0.6265871,0.6272146,0.6278428,0.62847155,0.629101,0.62973106,0.63036174,0.630993,0.63162494,0.6322575,0.63289076,0.6335246,0.634159,0.6347942,0.6354299,0.6360663,0.6367033,0.63734096,0.63797927,0.63861823,0.6392578,0.639898,0.6405389,0.6411804,0.6418225,0.6424653,0.6431087,0.6437528,0.64439756,0.6450429,0.6456889,0.64633554,0.64698285,0.6476309,0.6482794,0.6489287,0.6495786,0.65022916,0.65088034,0.65153223,0.6521847,0.6528379,0.65349174,0.6541462,0.6548013,0.6554571,0.65611356,0.65677065,0.6574284,0.65808684,0.6587459,0.6594056,0.660066,0.6607271,0.6613888,0.6620512,0.6627142,0.66337794,0.6640423,0.66470736,0.665373,0.6660394,0.66670644,0.66737413,0.66804254,0.6687116,0.6693813,0.6700517,0.6707227,0.67139447,0.67206687,0.6727399,0.6734137,0.6740881,0.67476326,0.675439,0.67611545,0.6767926,0.67747045,0.6781489,0.67882806,0.6795079,0.6801885,0.68086964,0.6815516,0.6822341,0.68291736,0.6836013,0.68428594,0.6849713,0.68565726,0.68634397,0.6870313,0.6877194,0.68840814,0.6890976,0.68978775,0.6904785,0.69117004,0.6918622,0.6925552,0.69324875,0.693943,0.694638,0.6953337,0.6960301,0.69672716,0.69742495,0.6981234,0.69882256,0.69952244,0.700223,0.7009243,0.7016263,0.702329,0.7030324,0.7037364,0.70444125,0.70514673,0.7058529,0.70655984,0.70726746,0.7079758,0.70868486,0.7093946,0.71010506,0.7108162,0.7115281,0.7122407,0.71295404,0.71366805,0.71438277,0.71509826,0.7158144,0.71653134,0.7172489,0.7179672,0.7186863,0.71940607,0.72012657,0.7208477,0.72156966,0.72229236,0.72301567,0.7237398,0.72446465,0.72519016,0.72591645,0.72664344,0.7273712,0.72809964,0.72882885,0.72955877,0.73028946,0.7310208,0.73175293,0.7324858,0.7332194,0.7339537,0.73468876,0.7354245,0.73616105,0.73689836,0.7376363,0.73837507,0.7391146,0.7398548,0.74059576,0.7413375,0.7420799,0.7428231,0.74356705,0.74431175,0.74505717,0.74580336,0.74655026,0.74729794,0.74804634,0.74879557,0.74954545,0.7502961,0.75104755,0.75179976,0.7525527,0.7533063,0.7540608,0.754816,0.75557196,0.75632864,0.7570861,0.7578443,0.7586033,0.75936306,0.76012355,0.7608848,0.76164687,0.7624096,0.76317316,0.76393753,0.7647026,0.7654684,0.76623505,0.76700246,0.7677706,0.76853955,0.7693092,0.7700797,0.7708509,0.7716229,0.77239573,0.7731693,0.7739436,0.7747187,0.7754946,0.7762712,0.77704865,0.7778269,0.7786059,0.7793857,0.7801662,0.78094757,0.7817297,0.7825126,0.7832963,0.78408074,0.78486603,0.78565204,0.7864389,0.7872265,0.7880149,0.7888041,0.7895941,0.7903849,0.79117644,0.7919688,0.792762,0.7935559,0.7943507,0.7951462,0.79594254,0.7967397,0.7975376,0.7983364,0.7991359,0.79993623,0.8007374,0.80153936,0.80234206,0.80314565,0.80394995,0.80475515,0.80556107,0.8063679,0.80717546,0.8079838,0.808793,0.80960304,0.81041384,0.8112255,0.81203794,0.8128512,0.8136653,0.8144801,0.8152959,0.8161124,0.8169297,0.8177479,0.81856686,0.8193866,0.82020724,0.8210287,0.82185096,0.82267404,0.82349795,0.8243227,0.8251482,0.82597464,0.82680184,0.8276299,0.8284588,0.8292885,0.830119,0.8309504,0.8317826,0.8326156,0.8334495,0.8342842,0.8351197,0.8359561,0.8367933,0.83763134,0.8384702,0.83930993,0.84015054,0.8409919,0.8418342,0.8426773,0.84352124,0.844366,0.8452117,0.84605813,0.84690547,0.84775364,0.8486027,0.84945256,0.8503033,0.85115486,0.85200727,0.85286057,0.8537147,0.85456973,0.8554256,0.8562823,0.8571398,0.8579983,0.8588576,0.8597177,0.8605787,0.8614406,0.8623033,0.8631669,0.8640314,0.8648967,0.86576295,0.86663,0.8674979,0.8683667,0.8692364,0.87010694,0.87097836,0.8718506,0.8727238,0.8735978,0.87447274,0.8753485,0.8762252,0.87710273,0.8779811,0.8788605,0.87974066,0.8806217,0.88150364,0.88238645,0.8832702,0.8841548,0.8850403,0.8859266,0.8868139,0.88770205,0.88859105,0.889481,0.8903718,0.8912635,0.8921561,0.8930496,0.893944,0.8948393,0.8957355,0.89663255,0.89753056,0.8984294,0.8993292,0.9002299,0.90113145,0.9020339,0.90293735,0.9038416,0.90474683,0.90565294,0.90655994,0.90746784,0.9083767,0.90928644,0.9101971,0.9111087,0.9120211,0.91293454,0.9138488,0.91476405,0.91568017,0.91659725,0.9175152,0.91843414,0.9193539,0.9202747,0.92119634,0.9221189,0.9230424,0.9239668,0.9248922,0.92581844,0.92674565,0.9276738,0.9286029,0.9295329,0.9304638,0.93139565,0.93232846,0.93326217,0.9341969,0.93513244,0.936069,0.9370065,0.9379449,0.93888426,0.9398245,0.94076574,0.94170797,0.9426511,0.9435951,0.94454014,0.9454861,0.946433,0.94738084,0.9483297,0.9492794,0.9502301,0.95118177,0.95213443,0.953088,0.9540425,0.95499796,0.9559544,0.9569118,0.9578701,0.95882946,0.9597897,0.96075094,0.96171314,0.9626763,0.9636404,0.9646055,0.9655716,0.9665386,0.9675066,0.9684755,0.96944547,0.97041637,0.9713882,0.9723611,0.9733349,0.9743097,0.9752855,0.9762622,0.97723997,0.9782187,0.97919834,0.980179,0.9811607,0.9821433,0.98312694,0.98411155,0.9850971,0.9860837,0.9870713,0.9880598,0.9890494,0.9900399,0.9910314,0.99202394,0.99301744,0.99401194,0.99500746,0.996004,0.99700147,0.99799997,0.9989995,1.0],"x":[-1.0,-0.998999,-0.997998,-0.996997,-0.995996,-0.994995,-0.993994,-0.992993,-0.991992,-0.990991,-0.98999,-0.988989,-0.987988,-0.986987,-0.985986,-0.984985,-0.983984,-0.982983,-0.981982,-0.980981,-0.97998,-0.978979,-0.977978,-0.976977,-0.975976,-0.974975,-0.973974,-0.972973,-0.971972,-0.970971,-0.96997,-0.968969,-0.967968,-0.966967,-0.965966,-0.964965,-0.963964,-0.962963,-0.961962,-0.960961,-0.95996,-0.958959,-0.957958,-0.956957,-0.955956,-0.954955,-0.953954,-0.952953,-0.951952,-0.950951,-0.94995,-0.948949,-0.947948,-0.9469469,-0.9459459,-0.9449449,-0.9439439,-0.9429429,-0.9419419,-0.9409409,-0.9399399,-0.9389389,-0.9379379,-0.9369369,-0.9359359,-0.9349349,-0.9339339,-0.9329329,-0.9319319,-0.9309309,-0.9299299,-0.9289289,-0.9279279,-0.9269269,-0.9259259,-0.9249249,-0.9239239,-0.9229229,-0.9219219,-0.9209209,-0.9199199,-0.9189189,-0.9179179,-0.9169169,-0.9159159,-0.9149149,-0.9139139,-0.9129129,-0.9119119,-0.9109109,-0.9099099,-0.9089089,-0.9079079,-0.9069069,-0.9059059,-0.9049049,-0.9039039,-0.9029029,-0.9019019,-0.9009009,-0.8998999,-0.8988989,-0.8978979,-0.8968969,-0.8958959,-0.8948949,-0.8938939,-0.8928929,-0.8918919,-0.8908909,-0.8898899,-0.8888889,-0.8878879,-0.8868869,-0.8858859,-0.8848849,-0.8838839,-0.8828829,-0.8818819,-0.8808809,-0.8798799,-0.8788789,-0.8778779,-0.8768769,-0.8758759,-0.8748749,-0.8738739,-0.8728729,-0.8718719,-0.8708709,-0.8698699,-0.8688689,-0.8678679,-0.8668669,-0.8658659,-0.8648649,-0.8638639,-0.8628629,-0.8618619,-0.8608609,-0.8598599,-0.8588589,-0.8578579,-0.8568569,-0.8558559,-0.8548549,-0.8538539,-0.8528529,-0.8518519,-0.8508509,-0.8498499,-0.8488489,-0.8478479,-0.8468469,-0.8458459,-0.8448449,-0.8438439,-0.8428429,-0.8418418,-0.8408408,-0.8398398,-0.8388388,-0.8378378,-0.8368368,-0.8358358,-0.8348348,-0.8338338,-0.8328328,-0.8318318,-0.8308308,-0.8298298,-0.8288288,-0.8278278,-0.8268268,-0.8258258,-0.8248248,-0.8238238,-0.8228228,-0.8218218,-0.8208208,-0.8198198,-0.8188188,-0.8178178,-0.8168168,-0.8158158,-0.8148148,-0.8138138,-0.8128128,-0.8118118,-0.8108108,-0.8098098,-0.8088088,-0.8078078,-0.8068068,-0.8058058,-0.8048048,-0.8038038,-0.8028028,-0.8018018,-0.8008008,-0.7997998,-0.7987988,-0.7977978,-0.7967968,-0.7957958,-0.7947948,-0.7937938,-0.7927928,-0.7917918,-0.7907908,-0.7897898,-0.7887888,-0.7877878,-0.7867868,-0.7857858,-0.7847848,-0.7837838,-0.7827828,-0.7817818,-0.7807808,-0.7797798,-0.7787788,-0.7777778,-0.7767768,-0.7757758,-0.7747748,-0.7737738,-0.7727728,-0.7717718,-0.7707708,-0.7697698,-0.7687688,-0.7677678,-0.7667668,-0.7657658,-0.7647648,-0.7637638,-0.7627628,-0.7617618,-0.7607608,-0.7597598,-0.7587588,-0.7577578,-0.7567568,-0.7557558,-0.7547548,-0.7537538,-0.7527528,-0.7517518,-0.7507508,-0.7497498,-0.7487488,-0.7477478,-0.7467468,-0.7457458,-0.7447448,-0.7437438,-0.7427428,-0.7417418,-0.7407408,-0.7397398,-0.7387388,-0.7377378,-0.7367367,-0.7357357,-0.7347347,-0.7337337,-0.7327327,-0.7317317,-0.7307307,-0.7297297,-0.7287287,-0.7277277,-0.7267267,-0.7257257,-0.7247247,-0.7237237,-0.7227227,-0.7217217,-0.7207207,-0.7197197,-0.7187187,-0.7177177,-0.7167167,-0.7157157,-0.7147147,-0.7137137,-0.7127127,-0.7117117,-0.7107107,-0.7097097,-0.7087087,-0.7077077,-0.7067067,-0.7057057,-0.7047047,-0.7037037,-0.7027027,-0.7017017,-0.7007007,-0.6996997,-0.6986987,-0.6976977,-0.6966967,-0.6956957,-0.6946947,-0.6936937,-0.6926927,-0.6916917,-0.6906907,-0.6896897,-0.6886887,-0.6876877,-0.6866867,-0.6856857,-0.6846847,-0.6836837,-0.6826827,-0.6816817,-0.6806807,-0.6796797,-0.6786787,-0.6776777,-0.6766767,-0.6756757,-0.6746747,-0.6736737,-0.6726727,-0.6716717,-0.6706707,-0.6696697,-0.6686687,-0.6676677,-0.6666667,-0.6656657,-0.6646647,-0.6636637,-0.6626627,-0.6616617,-0.6606607,-0.6596597,-0.6586587,-0.6576577,-0.6566567,-0.6556557,-0.6546547,-0.6536537,-0.6526527,-0.6516517,-0.6506507,-0.6496497,-0.6486487,-0.6476477,-0.6466467,-0.6456457,-0.6446447,-0.6436437,-0.6426427,-0.6416417,-0.6406407,-0.6396397,-0.6386387,-0.6376377,-0.6366367,-0.6356357,-0.6346347,-0.6336337,-0.6326327,-0.6316317,-0.6306306,-0.6296296,-0.6286286,-0.6276276,-0.6266266,-0.6256256,-0.6246246,-0.6236236,-0.6226226,-0.6216216,-0.6206206,-0.6196196,-0.6186186,-0.6176176,-0.6166166,-0.6156156,-0.6146146,-0.6136136,-0.6126126,-0.6116116,-0.6106106,-0.6096096,-0.6086086,-0.6076076,-0.6066066,-0.6056056,-0.6046046,-0.6036036,-0.6026026,-0.6016016,-0.6006006,-0.5995996,-0.5985986,-0.5975976,-0.5965966,-0.5955956,-0.5945946,-0.5935936,-0.5925926,-0.5915916,-0.5905906,-0.5895896,-0.5885886,-0.5875876,-0.5865866,-0.5855856,-0.5845846,-0.5835836,-0.5825826,-0.5815816,-0.5805806,-0.5795796,-0.5785786,-0.5775776,-0.5765766,-0.5755756,-0.5745746,-0.5735736,-0.5725726,-0.5715716,-0.5705706,-0.5695696,-0.5685686,-0.5675676,-0.5665666,-0.5655656,-0.5645646,-0.5635636,-0.5625626,-0.5615616,-0.5605606,-0.5595596,-0.5585586,-0.5575576,-0.5565566,-0.5555556,-0.5545546,-0.5535536,-0.5525526,-0.5515516,-0.5505506,-0.5495496,-0.5485486,-0.5475476,-0.5465466,-0.5455456,-0.5445446,-0.5435436,-0.5425426,-0.5415416,-0.5405406,-0.5395396,-0.5385386,-0.5375376,-0.5365366,-0.5355356,-0.5345346,-0.5335336,-0.5325326,-0.5315316,-0.5305306,-0.5295296,-0.5285286,-0.5275276,-0.5265266,-0.5255255,-0.5245245,-0.5235235,-0.5225225,-0.5215215,-0.5205205,-0.5195195,-0.5185185,-0.5175175,-0.5165165,-0.5155155,-0.5145145,-0.5135135,-0.5125125,-0.5115115,-0.5105105,-0.5095095,-0.5085085,-0.5075075,-0.5065065,-0.5055055,-0.5045045,-0.5035035,-0.5025025,-0.5015015,-0.5005005,-0.4994995,-0.4984985,-0.4974975,-0.4964965,-0.4954955,-0.4944945,-0.4934935,-0.4924925,-0.4914915,-0.4904905,-0.4894895,-0.4884885,-0.4874875,-0.4864865,-0.4854855,-0.4844845,-0.4834835,-0.4824825,-0.4814815,-0.4804805,-0.4794795,-0.4784785,-0.4774775,-0.4764765,-0.4754755,-0.4744745,-0.4734735,-0.4724725,-0.4714715,-0.4704705,-0.4694695,-0.4684685,-0.4674675,-0.4664665,-0.4654655,-0.4644645,-0.4634635,-0.46246248,-0.46146148,-0.46046048,-0.45945948,-0.45845848,-0.45745748,-0.45645648,-0.45545548,-0.45445448,-0.45345348,-0.45245248,-0.45145148,-0.45045048,-0.44944948,-0.44844848,-0.44744748,-0.44644645,-0.44544545,-0.44444445,-0.44344345,-0.44244245,-0.44144145,-0.44044045,-0.43943945,-0.43843845,-0.43743744,-0.43643644,-0.43543544,-0.43443444,-0.43343344,-0.43243244,-0.43143144,-0.43043044,-0.42942944,-0.42842844,-0.42742744,-0.42642644,-0.42542544,-0.42442444,-0.42342344,-0.42242244,-0.42142144,-0.42042044,-0.41941944,-0.41841844,-0.41741744,-0.41641644,-0.41541544,-0.41441444,-0.41341344,-0.41241243,-0.41141143,-0.41041043,-0.40940943,-0.40840843,-0.40740743,-0.40640643,-0.40540543,-0.40440443,-0.40340343,-0.40240243,-0.40140143,-0.40040043,-0.39939943,-0.39839843,-0.39739743,-0.39639643,-0.39539543,-0.3943944,-0.3933934,-0.3923924,-0.3913914,-0.3903904,-0.3893894,-0.3883884,-0.3873874,-0.3863864,-0.3853854,-0.3843844,-0.3833834,-0.3823824,-0.3813814,-0.3803804,-0.3793794,-0.3783784,-0.3773774,-0.3763764,-0.3753754,-0.3743744,-0.3733734,-0.3723724,-0.3713714,-0.3703704,-0.3693694,-0.3683684,-0.3673674,-0.3663664,-0.3653654,-0.3643644,-0.3633634,-0.36236238,-0.36136138,-0.36036038,-0.35935938,-0.35835838,-0.35735738,-0.35635638,-0.35535538,-0.35435438,-0.35335338,-0.35235238,-0.35135138,-0.35035038,-0.34934938,-0.34834838,-0.34734738,-0.34634638,-0.34534538,-0.34434438,-0.34334338,-0.34234238,-0.34134135,-0.34034035,-0.33933935,-0.33833835,-0.33733734,-0.33633634,-0.33533534,-0.33433434,-0.33333334,-0.33233234,-0.33133134,-0.33033034,-0.32932934,-0.32832834,-0.32732734,-0.32632634,-0.32532534,-0.32432434,-0.32332334,-0.32232234,-0.32132134,-0.32032034,-0.31931934,-0.31831834,-0.31731734,-0.31631634,-0.31531534,-0.31431434,-0.31331334,-0.31231233,-0.31131133,-0.31031033,-0.30930933,-0.30830833,-0.30730733,-0.30630633,-0.30530533,-0.30430433,-0.30330333,-0.30230233,-0.30130133,-0.30030033,-0.29929933,-0.29829833,-0.29729733,-0.29629633,-0.29529533,-0.29429433,-0.29329333,-0.29229233,-0.29129133,-0.29029033,-0.2892893,-0.2882883,-0.2872873,-0.2862863,-0.2852853,-0.2842843,-0.2832833,-0.2822823,-0.2812813,-0.2802803,-0.2792793,-0.2782783,-0.2772773,-0.2762763,-0.2752753,-0.2742743,-0.2732733,-0.2722723,-0.2712713,-0.2702703,-0.2692693,-0.2682683,-0.2672673,-0.2662663,-0.2652653,-0.2642643,-0.2632633,-0.26226228,-0.26126128,-0.26026028,-0.25925928,-0.25825828,-0.25725728,-0.25625628,-0.25525528,-0.25425428,-0.25325328,-0.25225228,-0.25125128,-0.25025028,-0.24924926,-0.24824826,-0.24724726,-0.24624626,-0.24524526,-0.24424426,-0.24324326,-0.24224226,-0.24124126,-0.24024026,-0.23923926,-0.23823826,-0.23723726,-0.23623626,-0.23523526,-0.23423426,-0.23323326,-0.23223226,-0.23123126,-0.23023026,-0.22922926,-0.22822826,-0.22722726,-0.22622626,-0.22522525,-0.22422425,-0.22322324,-0.22222224,-0.22122124,-0.22022024,-0.21921924,-0.21821824,-0.21721724,-0.21621624,-0.21521524,-0.21421424,-0.21321324,-0.21221223,-0.21121123,-0.21021023,-0.20920923,-0.20820823,-0.20720723,-0.20620623,-0.20520523,-0.20420423,-0.20320323,-0.20220223,-0.20120123,-0.20020023,-0.19919923,-0.19819823,-0.19719721,-0.19619621,-0.19519521,-0.19419421,-0.19319321,-0.19219221,-0.19119121,-0.19019021,-0.18918921,-0.18818821,-0.18718721,-0.18618621,-0.18518521,-0.18418421,-0.18318321,-0.18218221,-0.1811812,-0.1801802,-0.1791792,-0.1781782,-0.1771772,-0.1761762,-0.1751752,-0.1741742,-0.1731732,-0.1721722,-0.1711712,-0.17017019,-0.16916919,-0.16816819,-0.16716719,-0.16616619,-0.16516519,-0.16416419,-0.16316319,-0.16216218,-0.16116118,-0.16016018,-0.15915918,-0.15815818,-0.15715718,-0.15615618,-0.15515518,-0.15415418,-0.15315318,-0.15215218,-0.15115118,-0.15015018,-0.14914918,-0.14814818,-0.14714718,-0.14614618,-0.14514518,-0.14414416,-0.14314316,-0.14214216,-0.14114116,-0.14014016,-0.13913916,-0.13813816,-0.13713716,-0.13613616,-0.13513516,-0.13413416,-0.13313316,-0.13213216,-0.13113116,-0.13013016,-0.12912916,-0.12812816,-0.12712716,-0.12612616,-0.12512515,-0.12412415,-0.12312315,-0.122122146,-0.121121146,-0.120120145,-0.119119145,-0.118118145,-0.117117144,-0.116116144,-0.11511514,-0.11411414,-0.11311314,-0.11211214,-0.111111134,-0.110110134,-0.10910913,-0.10810813,-0.10710713,-0.10610613,-0.10510513,-0.10410413,-0.10310313,-0.10210213,-0.10110113,-0.10010013,-0.09909913,-0.09809812,-0.09709712,-0.09609612,-0.09509512,-0.09409412,-0.09309312,-0.09209212,-0.09109112,-0.09009012,-0.08908912,-0.08808812,-0.08708712,-0.08608612,-0.08508511,-0.08408411,-0.08308311,-0.08208211,-0.08108111,-0.08008011,-0.07907911,-0.078078106,-0.077077106,-0.076076105,-0.075075105,-0.074074104,-0.073073104,-0.072072096,-0.071071096,-0.070070095,-0.069069095,-0.068068095,-0.067067094,-0.066066094,-0.06506509,-0.06406409,-0.06306309,-0.06206209,-0.061061088,-0.060060088,-0.059059087,-0.058058087,-0.057057086,-0.056056086,-0.05505508,-0.05405408,-0.05305308,-0.05205208,-0.05105108,-0.05005008,-0.049049076,-0.048048075,-0.047047075,-0.046046074,-0.045045074,-0.044044074,-0.043043073,-0.04204207,-0.04104107,-0.04004007,-0.039039068,-0.038038068,-0.037037067,-0.036036063,-0.035035063,-0.034034062,-0.03303306,-0.03203206,-0.03103106,-0.030030059,-0.029029058,-0.028028058,-0.027027056,-0.026026055,-0.025025055,-0.024024053,-0.023023052,-0.022022052,-0.02102105,-0.020020049,-0.019019049,-0.018018046,-0.017017046,-0.016016046,-0.015015044,-0.014014044,-0.0130130425,-0.012012041,-0.011011041,-0.010010039,-0.009009038,-0.008008038,-0.007007037,-0.0060060355,-0.0050050346,-0.0040040337,-0.0030030326,-0.0020020318,-0.0010010308,-2.9802322e-8]} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_positive.json b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_positive.json new file mode 100644 index 000000000000..5307adbc57a1 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/small_positive.json @@ -0,0 +1 @@ +{"expected":[1.0,1.0010015,1.002004,1.0030075,1.0040121,1.0050176,1.0060241,1.0070317,1.0080402,1.0090498,1.0100603,1.0110719,1.0120845,1.0130981,1.0141127,1.0151284,1.016145,1.0171627,1.0181813,1.019201,1.0202218,1.0212436,1.0222663,1.0232902,1.024315,1.0253408,1.0263677,1.0273956,1.0284245,1.0294545,1.0304855,1.0315175,1.0325506,1.0335847,1.0346198,1.035656,1.0366932,1.0377315,1.0387708,1.0398111,1.0408524,1.0418949,1.0429384,1.0439829,1.0450284,1.046075,1.0471226,1.0481714,1.049221,1.0502719,1.0513238,1.0523766,1.0534306,1.0544857,1.0555416,1.0565988,1.057657,1.0587163,1.0597765,1.0608379,1.0619004,1.0629638,1.0640284,1.065094,1.0661607,1.0672284,1.0682973,1.0693672,1.0704381,1.0715102,1.0725833,1.0736575,1.0747328,1.0758092,1.0768867,1.0779651,1.0790447,1.0801253,1.0812072,1.0822899,1.0833739,1.0844588,1.085545,1.0866321,1.0877204,1.0888097,1.0899001,1.0909917,1.0920844,1.093178,1.0942729,1.0953689,1.0964658,1.097564,1.0986631,1.0997635,1.1008649,1.1019673,1.103071,1.1041758,1.1052816,1.1063886,1.1074966,1.1086057,1.109716,1.1108273,1.1119399,1.1130534,1.1141682,1.1152841,1.116401,1.1175191,1.1186383,1.1197586,1.12088,1.1220026,1.1231263,1.1242511,1.125377,1.1265042,1.1276324,1.1287616,1.1298921,1.1310236,1.1321564,1.1332903,1.1344253,1.1355613,1.1366987,1.137837,1.1389766,1.1401173,1.1412592,1.1424022,1.1435462,1.1446915,1.1458379,1.1469854,1.1481342,1.149284,1.1504351,1.1515872,1.1527405,1.153895,1.1550506,1.1562074,1.1573653,1.1585245,1.1596848,1.1608461,1.1620088,1.1631725,1.1643374,1.1655035,1.1666708,1.1678392,1.1690087,1.1701795,1.1713514,1.1725246,1.1736989,1.1748743,1.176051,1.1772288,1.1784078,1.179588,1.1807693,1.1819519,1.1831356,1.1843204,1.1855066,1.1866939,1.1878824,1.189072,1.1902629,1.1914549,1.1926482,1.1938426,1.1950382,1.1962351,1.1974331,1.1986324,1.1998328,1.2010344,1.2022372,1.2034413,1.2046466,1.205853,1.2070607,1.2082696,1.2094796,1.210691,1.2119035,1.2131171,1.2143321,1.2155483,1.2167656,1.2179842,1.2192041,1.2204251,1.2216474,1.2228708,1.2240955,1.2253214,1.2265487,1.227777,1.2290066,1.2302375,1.2314696,1.2327029,1.2339375,1.2351732,1.2364103,1.2376485,1.238888,1.2401288,1.2413708,1.242614,1.2438585,1.2451042,1.2463512,1.2475994,1.2488489,1.2500997,1.2513516,1.2526048,1.2538593,1.255115,1.2563721,1.2576303,1.2588898,1.2601507,1.2614126,1.262676,1.2639406,1.2652063,1.2664735,1.2677419,1.2690115,1.2702824,1.2715546,1.2728281,1.2741028,1.2753788,1.2766562,1.2779347,1.2792146,1.2804956,1.2817781,1.2830619,1.2843468,1.2856331,1.2869207,1.2882096,1.2894996,1.2907912,1.2920839,1.2933779,1.2946732,1.2959697,1.2972677,1.2985669,1.2998674,1.3011693,1.3024724,1.3037769,1.3050826,1.3063896,1.3076979,1.3090076,1.3103186,1.3116308,1.3129444,1.3142594,1.3155756,1.3168931,1.318212,1.3195322,1.3208537,1.3221766,1.3235008,1.3248262,1.326153,1.3274812,1.3288107,1.3301414,1.3314736,1.3328071,1.3341419,1.3354781,1.3368155,1.3381543,1.3394946,1.340836,1.3421788,1.3435231,1.3448687,1.3462155,1.3475637,1.3489133,1.3502643,1.3516165,1.3529702,1.3543252,1.3556815,1.3570393,1.3583983,1.3597589,1.3611206,1.3624837,1.3638483,1.3652142,1.3665814,1.3679501,1.36932,1.3706914,1.3720642,1.3734384,1.3748138,1.3761907,1.377569,1.3789486,1.3803296,1.3817121,1.3830959,1.384481,1.3858676,1.3872555,1.3886448,1.3900355,1.3914276,1.3928212,1.3942161,1.3956125,1.3970102,1.3984092,1.3998097,1.4012117,1.402615,1.4040197,1.4054258,1.4068334,1.4082423,1.4096527,1.4110645,1.4124776,1.4138923,1.4153082,1.4167258,1.4181446,1.4195648,1.4209865,1.4224097,1.4238342,1.4252602,1.4266876,1.4281164,1.4295467,1.4309783,1.4324114,1.433846,1.4352821,1.4367195,1.4381584,1.4395987,1.4410404,1.4424837,1.4439282,1.4453744,1.4468219,1.4482709,1.4497213,1.4511733,1.4526266,1.4540814,1.4555377,1.4569955,1.4584546,1.4599153,1.4613774,1.4628409,1.464306,1.4657725,1.4672405,1.4687098,1.4701807,1.4716532,1.473127,1.4746023,1.4760792,1.4775575,1.4790373,1.4805186,1.4820013,1.4834855,1.4849713,1.4864584,1.4879471,1.4894373,1.490929,1.4924222,1.4939169,1.4954131,1.4969107,1.4984099,1.4999105,1.5014126,1.5029163,1.5044215,1.5059282,1.5074364,1.5089461,1.5104573,1.51197,1.5134842,1.515,1.5165173,1.518036,1.5195564,1.5210782,1.5226016,1.5241264,1.5256529,1.5271808,1.5287102,1.5302414,1.5317738,1.5333079,1.5348436,1.5363806,1.5379194,1.5394596,1.5410013,1.5425447,1.5440896,1.5456359,1.5471839,1.5487334,1.5502845,1.5518371,1.5533912,1.554947,1.5565042,1.5580631,1.5596235,1.5611855,1.562749,1.5643141,1.5658808,1.567449,1.5690188,1.5705903,1.5721631,1.5737376,1.5753138,1.5768914,1.5784707,1.5800515,1.5816339,1.583218,1.5848036,1.5863907,1.5879796,1.5895699,1.5911618,1.5927554,1.5943506,1.5959473,1.5975456,1.5991455,1.6007471,1.6023502,1.603955,1.6055614,1.6071694,1.608779,1.6103902,1.612003,1.6136174,1.6152334,1.6168511,1.6184704,1.6200913,1.6217138,1.623338,1.6249638,1.6265911,1.6282202,1.6298509,1.6314831,1.6331171,1.6347526,1.6363899,1.6380287,1.6396692,1.6413113,1.6429551,1.6446005,1.6462476,1.6478963,1.6495466,1.6511986,1.6528524,1.6545076,1.6561646,1.6578233,1.6594837,1.6611457,1.6628093,1.6644746,1.6661415,1.6678102,1.6694804,1.6711525,1.6728262,1.6745015,1.6761785,1.6778572,1.6795375,1.6812196,1.6829034,1.6845888,1.686276,1.6879648,1.6896552,1.6913475,1.6930414,1.694737,1.6964343,1.6981332,1.699834,1.7015363,1.7032404,1.7049463,1.7066537,1.7083629,1.7100738,1.7117865,1.7135009,1.715217,1.7169347,1.7186543,1.7203755,1.7220985,1.7238232,1.7255496,1.7272776,1.7290076,1.7307391,1.7324725,1.7342076,1.7359444,1.7376829,1.7394233,1.7411653,1.7429091,1.7446545,1.7464018,1.7481508,1.7499017,1.7516541,1.7534084,1.7551645,1.7569222,1.7586819,1.7604432,1.7622063,1.7639711,1.7657378,1.7675061,1.7692763,1.7710482,1.7728219,1.7745974,1.7763747,1.7781538,1.7799345,1.7817172,1.7835015,1.7852877,1.7870756,1.7888654,1.790657,1.7924503,1.7942455,1.7960424,1.7978412,1.7996417,1.801444,1.8032482,1.8050542,1.8068619,1.8086715,1.8104829,1.812296,1.8141111,1.815928,1.8177466,1.8195671,1.8213893,1.8232135,1.8250394,1.8268672,1.8286968,1.8305283,1.8323616,1.8341967,1.8360336,1.8378724,1.839713,1.8415555,1.8433999,1.845246,1.847094,1.8489438,1.8507956,1.8526492,1.8545046,1.8563619,1.858221,1.860082,1.8619449,1.8638097,1.8656763,1.8675448,1.8694152,1.8712873,1.8731614,1.8750374,1.8769152,1.878795,1.8806767,1.8825603,1.8844457,1.8863329,1.8882221,1.8901131,1.892006,1.8939009,1.8957976,1.8976963,1.8995968,1.9014993,1.9034036,1.9053099,1.9072181,1.9091282,1.9110402,1.9129541,1.9148699,1.9167876,1.9187073,1.9206289,1.9225525,1.9244778,1.9264052,1.9283345,1.9302658,1.9321989,1.934134,1.936071,1.93801,1.939951,1.9418938,1.9438386,1.9457854,1.9477341,1.9496847,1.9516374,1.953592,1.9555484,1.9575069,1.9594674,1.9614298,1.9633942,1.9653605,1.9673288,1.9692991,1.9712714,1.9732456,1.9752218,1.9772,1.9791801,1.9811623,1.9831464,1.9851326,1.9871206,1.9891108,1.9911029,1.993097,1.9950931,1.9970912,1.9990913,2.0010934,2.0030975,2.0051036,2.0071115,2.0091217,2.011134,2.013148,2.0151641,2.0171824,2.0192027,2.021225,2.0232491,2.0252755,2.0273037,2.029334,2.0313666,2.0334008,2.0354373,2.0374758,2.0395164,2.041559,2.0436037,2.0456502,2.047699,2.0497499,2.0518026,2.0538576,2.0559144,2.0579734,2.0600345,2.0620975,2.0641627,2.06623,2.0682993,2.0703707,2.0724442,2.0745199,2.0765975,2.0786772,2.080759,2.0828428,2.0849288,2.0870168,2.089107,2.0911994,2.0932937,2.09539,2.0974886,2.0995893,2.1016922,2.103797,2.1059039,2.108013,2.110124,2.1122375,2.114353,2.1164703,2.11859,2.1207118,2.1228356,2.1249616,2.12709,2.1292202,2.1313527,2.133487,2.1356237,2.1377625,2.1399035,2.1420467,2.144192,2.1463394,2.148489,2.1506407,2.1527946,2.1549506,2.1571088,2.159269,2.1614316,2.1635964,2.1657631,2.167932,2.1701033,2.1722767,2.1744523,2.17663,2.17881,2.180992,2.1831763,2.1853626,2.1875513,2.189742,2.191935,2.1941304,2.196328,2.1985273,2.2007294,2.2029333,2.2051396,2.207348,2.2095587,2.2117715,2.2139866,2.216204,2.2184234,2.2206452,2.2228692,2.2250955,2.2273238,2.2295544,2.2317874,2.2340226,2.23626,2.2384996,2.2407415,2.2429855,2.2452319,2.2474804,2.2497313,2.2519844,2.2542398,2.2564974,2.2587574,2.2610195,2.263284,2.2655506,2.2678194,2.2700908,2.2723641,2.27464,2.2769182,2.2791984,2.281481,2.283766,2.2860532,2.2883427,2.2906344,2.2929285,2.295225,2.2975235,2.2998245,2.3021278,2.3044333,2.3067412,2.3090515,2.311364,2.3136787,2.315996,2.3183155,2.3206372,2.3229616,2.3252878,2.3276167,2.329948,2.3322814,2.3346171,2.336955,2.3392956,2.3416386,2.3439837,2.3463311,2.348681,2.3510332,2.3533878,2.3557446,2.358104,2.3604655,2.3628297,2.365196,2.3675647,2.3699358,2.3723092,2.3746853,2.3770635,2.3794441,2.381827,2.3842125,2.3866003,2.3889904,2.3913832,2.393778,2.3961754,2.3985753,2.4009774,2.4033818,2.405789,2.4081984,2.4106102,2.4130244,2.415441,2.41786,2.4202816,2.4227054,2.4251318,2.4275606,2.4299917,2.4324255,2.4348614,2.4373,2.4397411,2.4421844,2.4446301,2.4470785,2.4495294,2.4519825,2.4544382,2.4568963,2.4593568,2.46182,2.4642854,2.4667535,2.469224,2.4716969,2.4741724,2.4766502,2.4791305,2.4816134,2.4840987,2.4865866,2.4890769,2.4915698,2.494065,2.4965627,2.499063,2.501566,2.5040712,2.5065792,2.5090895,2.5116024,2.5141177,2.5166354,2.519156,2.521679,2.5242043,2.5267324,2.5292628,2.531796,2.5343316,2.5368698,2.5394104,2.5419536,2.5444994,2.5470476,2.5495985,2.552152,2.554708,2.5572665,2.5598276,2.5623913,2.5649576,2.5675263,2.5700977,2.5726717,2.5752482,2.5778272,2.580409,2.5829935,2.5855803,2.5881698,2.590762,2.5933564,2.5959537,2.5985537,2.601156,2.6037612,2.6063688,2.608979,2.611592,2.6142075,2.6168256,2.6194463,2.6220698,2.6246958,2.6273243,2.6299558,2.6325896,2.635226,2.6378653,2.640507,2.6431515,2.6457987,2.6484485,2.6511009,2.653756,2.6564138,2.659074,2.6617372,2.664403,2.6670713,2.6697423,2.6724162,2.6750927,2.6777716,2.6804535,2.683138,2.685825,2.688515,2.6912076,2.6939027,2.6966007,2.6993012,2.7020047,2.7047107,2.7074196,2.710131,2.7128453,2.715562,2.7182817],"x":[2.9802322e-8,0.0010010308,0.0020020318,0.0030030326,0.0040040337,0.0050050346,0.0060060355,0.007007037,0.008008038,0.009009038,0.010010039,0.011011041,0.012012041,0.0130130425,0.014014044,0.015015044,0.016016046,0.017017046,0.018018046,0.019019049,0.020020049,0.02102105,0.022022052,0.023023052,0.024024053,0.025025055,0.026026055,0.027027056,0.028028058,0.029029058,0.030030059,0.03103106,0.03203206,0.03303306,0.034034062,0.035035063,0.036036063,0.037037067,0.038038068,0.039039068,0.04004007,0.04104107,0.04204207,0.043043073,0.044044074,0.045045074,0.046046074,0.047047075,0.048048075,0.049049076,0.05005008,0.05105108,0.05205208,0.05305308,0.05405408,0.05505508,0.056056086,0.057057086,0.058058087,0.059059087,0.060060088,0.061061088,0.06206209,0.06306309,0.06406409,0.06506509,0.066066094,0.067067094,0.068068095,0.069069095,0.070070095,0.071071096,0.072072096,0.073073104,0.074074104,0.075075105,0.076076105,0.077077106,0.078078106,0.07907911,0.08008011,0.08108111,0.08208211,0.08308311,0.08408411,0.08508511,0.08608612,0.08708712,0.08808812,0.08908912,0.09009012,0.09109112,0.09209212,0.09309312,0.09409412,0.09509512,0.09609612,0.09709712,0.09809812,0.09909913,0.10010013,0.10110113,0.10210213,0.10310313,0.10410413,0.10510513,0.10610613,0.10710713,0.10810813,0.10910913,0.110110134,0.111111134,0.11211214,0.11311314,0.11411414,0.11511514,0.116116144,0.117117144,0.118118145,0.119119145,0.120120145,0.121121146,0.122122146,0.12312315,0.12412415,0.12512515,0.12612616,0.12712716,0.12812816,0.12912916,0.13013016,0.13113116,0.13213216,0.13313316,0.13413416,0.13513516,0.13613616,0.13713716,0.13813816,0.13913916,0.14014016,0.14114116,0.14214216,0.14314316,0.14414416,0.14514518,0.14614618,0.14714718,0.14814818,0.14914918,0.15015018,0.15115118,0.15215218,0.15315318,0.15415418,0.15515518,0.15615618,0.15715718,0.15815818,0.15915918,0.16016018,0.16116118,0.16216218,0.16316319,0.16416419,0.16516519,0.16616619,0.16716719,0.16816819,0.16916919,0.17017019,0.1711712,0.1721722,0.1731732,0.1741742,0.1751752,0.1761762,0.1771772,0.1781782,0.1791792,0.1801802,0.1811812,0.18218221,0.18318321,0.18418421,0.18518521,0.18618621,0.18718721,0.18818821,0.18918921,0.19019021,0.19119121,0.19219221,0.19319321,0.19419421,0.19519521,0.19619621,0.19719721,0.19819823,0.19919923,0.20020023,0.20120123,0.20220223,0.20320323,0.20420423,0.20520523,0.20620623,0.20720723,0.20820823,0.20920923,0.21021023,0.21121123,0.21221223,0.21321324,0.21421424,0.21521524,0.21621624,0.21721724,0.21821824,0.21921924,0.22022024,0.22122124,0.22222224,0.22322324,0.22422425,0.22522525,0.22622626,0.22722726,0.22822826,0.22922926,0.23023026,0.23123126,0.23223226,0.23323326,0.23423426,0.23523526,0.23623626,0.23723726,0.23823826,0.23923926,0.24024026,0.24124126,0.24224226,0.24324326,0.24424426,0.24524526,0.24624626,0.24724726,0.24824826,0.24924926,0.25025028,0.25125128,0.25225228,0.25325328,0.25425428,0.25525528,0.25625628,0.25725728,0.25825828,0.25925928,0.26026028,0.26126128,0.26226228,0.2632633,0.2642643,0.2652653,0.2662663,0.2672673,0.2682683,0.2692693,0.2702703,0.2712713,0.2722723,0.2732733,0.2742743,0.2752753,0.2762763,0.2772773,0.2782783,0.2792793,0.2802803,0.2812813,0.2822823,0.2832833,0.2842843,0.2852853,0.2862863,0.2872873,0.2882883,0.2892893,0.29029033,0.29129133,0.29229233,0.29329333,0.29429433,0.29529533,0.29629633,0.29729733,0.29829833,0.29929933,0.30030033,0.30130133,0.30230233,0.30330333,0.30430433,0.30530533,0.30630633,0.30730733,0.30830833,0.30930933,0.31031033,0.31131133,0.31231233,0.31331334,0.31431434,0.31531534,0.31631634,0.31731734,0.31831834,0.31931934,0.32032034,0.32132134,0.32232234,0.32332334,0.32432434,0.32532534,0.32632634,0.32732734,0.32832834,0.32932934,0.33033034,0.33133134,0.33233234,0.33333334,0.33433434,0.33533534,0.33633634,0.33733734,0.33833835,0.33933935,0.34034035,0.34134135,0.34234238,0.34334338,0.34434438,0.34534538,0.34634638,0.34734738,0.34834838,0.34934938,0.35035038,0.35135138,0.35235238,0.35335338,0.35435438,0.35535538,0.35635638,0.35735738,0.35835838,0.35935938,0.36036038,0.36136138,0.36236238,0.3633634,0.3643644,0.3653654,0.3663664,0.3673674,0.3683684,0.3693694,0.3703704,0.3713714,0.3723724,0.3733734,0.3743744,0.3753754,0.3763764,0.3773774,0.3783784,0.3793794,0.3803804,0.3813814,0.3823824,0.3833834,0.3843844,0.3853854,0.3863864,0.3873874,0.3883884,0.3893894,0.3903904,0.3913914,0.3923924,0.3933934,0.3943944,0.39539543,0.39639643,0.39739743,0.39839843,0.39939943,0.40040043,0.40140143,0.40240243,0.40340343,0.40440443,0.40540543,0.40640643,0.40740743,0.40840843,0.40940943,0.41041043,0.41141143,0.41241243,0.41341344,0.41441444,0.41541544,0.41641644,0.41741744,0.41841844,0.41941944,0.42042044,0.42142144,0.42242244,0.42342344,0.42442444,0.42542544,0.42642644,0.42742744,0.42842844,0.42942944,0.43043044,0.43143144,0.43243244,0.43343344,0.43443444,0.43543544,0.43643644,0.43743744,0.43843845,0.43943945,0.44044045,0.44144145,0.44244245,0.44344345,0.44444445,0.44544545,0.44644645,0.44744748,0.44844848,0.44944948,0.45045048,0.45145148,0.45245248,0.45345348,0.45445448,0.45545548,0.45645648,0.45745748,0.45845848,0.45945948,0.46046048,0.46146148,0.46246248,0.4634635,0.4644645,0.4654655,0.4664665,0.4674675,0.4684685,0.4694695,0.4704705,0.4714715,0.4724725,0.4734735,0.4744745,0.4754755,0.4764765,0.4774775,0.4784785,0.4794795,0.4804805,0.4814815,0.4824825,0.4834835,0.4844845,0.4854855,0.4864865,0.4874875,0.4884885,0.4894895,0.4904905,0.4914915,0.4924925,0.4934935,0.4944945,0.4954955,0.4964965,0.4974975,0.4984985,0.4994995,0.5005005,0.5015015,0.5025025,0.5035035,0.5045045,0.5055055,0.5065065,0.5075075,0.5085085,0.5095095,0.5105105,0.5115115,0.5125125,0.5135135,0.5145145,0.5155155,0.5165165,0.5175175,0.5185185,0.5195195,0.5205205,0.5215215,0.5225225,0.5235235,0.5245245,0.5255255,0.5265266,0.5275276,0.5285286,0.5295296,0.5305306,0.5315316,0.5325326,0.5335336,0.5345346,0.5355356,0.5365366,0.5375376,0.5385386,0.5395396,0.5405406,0.5415416,0.5425426,0.5435436,0.5445446,0.5455456,0.5465466,0.5475476,0.5485486,0.5495496,0.5505506,0.5515516,0.5525526,0.5535536,0.5545546,0.5555556,0.5565566,0.5575576,0.5585586,0.5595596,0.5605606,0.5615616,0.5625626,0.5635636,0.5645646,0.5655656,0.5665666,0.5675676,0.5685686,0.5695696,0.5705706,0.5715716,0.5725726,0.5735736,0.5745746,0.5755756,0.5765766,0.5775776,0.5785786,0.5795796,0.5805806,0.5815816,0.5825826,0.5835836,0.5845846,0.5855856,0.5865866,0.5875876,0.5885886,0.5895896,0.5905906,0.5915916,0.5925926,0.5935936,0.5945946,0.5955956,0.5965966,0.5975976,0.5985986,0.5995996,0.6006006,0.6016016,0.6026026,0.6036036,0.6046046,0.6056056,0.6066066,0.6076076,0.6086086,0.6096096,0.6106106,0.6116116,0.6126126,0.6136136,0.6146146,0.6156156,0.6166166,0.6176176,0.6186186,0.6196196,0.6206206,0.6216216,0.6226226,0.6236236,0.6246246,0.6256256,0.6266266,0.6276276,0.6286286,0.6296296,0.6306306,0.6316317,0.6326327,0.6336337,0.6346347,0.6356357,0.6366367,0.6376377,0.6386387,0.6396397,0.6406407,0.6416417,0.6426427,0.6436437,0.6446447,0.6456457,0.6466467,0.6476477,0.6486487,0.6496497,0.6506507,0.6516517,0.6526527,0.6536537,0.6546547,0.6556557,0.6566567,0.6576577,0.6586587,0.6596597,0.6606607,0.6616617,0.6626627,0.6636637,0.6646647,0.6656657,0.6666667,0.6676677,0.6686687,0.6696697,0.6706707,0.6716717,0.6726727,0.6736737,0.6746747,0.6756757,0.6766767,0.6776777,0.6786787,0.6796797,0.6806807,0.6816817,0.6826827,0.6836837,0.6846847,0.6856857,0.6866867,0.6876877,0.6886887,0.6896897,0.6906907,0.6916917,0.6926927,0.6936937,0.6946947,0.6956957,0.6966967,0.6976977,0.6986987,0.6996997,0.7007007,0.7017017,0.7027027,0.7037037,0.7047047,0.7057057,0.7067067,0.7077077,0.7087087,0.7097097,0.7107107,0.7117117,0.7127127,0.7137137,0.7147147,0.7157157,0.7167167,0.7177177,0.7187187,0.7197197,0.7207207,0.7217217,0.7227227,0.7237237,0.7247247,0.7257257,0.7267267,0.7277277,0.7287287,0.7297297,0.7307307,0.7317317,0.7327327,0.7337337,0.7347347,0.7357357,0.7367367,0.7377378,0.7387388,0.7397398,0.7407408,0.7417418,0.7427428,0.7437438,0.7447448,0.7457458,0.7467468,0.7477478,0.7487488,0.7497498,0.7507508,0.7517518,0.7527528,0.7537538,0.7547548,0.7557558,0.7567568,0.7577578,0.7587588,0.7597598,0.7607608,0.7617618,0.7627628,0.7637638,0.7647648,0.7657658,0.7667668,0.7677678,0.7687688,0.7697698,0.7707708,0.7717718,0.7727728,0.7737738,0.7747748,0.7757758,0.7767768,0.7777778,0.7787788,0.7797798,0.7807808,0.7817818,0.7827828,0.7837838,0.7847848,0.7857858,0.7867868,0.7877878,0.7887888,0.7897898,0.7907908,0.7917918,0.7927928,0.7937938,0.7947948,0.7957958,0.7967968,0.7977978,0.7987988,0.7997998,0.8008008,0.8018018,0.8028028,0.8038038,0.8048048,0.8058058,0.8068068,0.8078078,0.8088088,0.8098098,0.8108108,0.8118118,0.8128128,0.8138138,0.8148148,0.8158158,0.8168168,0.8178178,0.8188188,0.8198198,0.8208208,0.8218218,0.8228228,0.8238238,0.8248248,0.8258258,0.8268268,0.8278278,0.8288288,0.8298298,0.8308308,0.8318318,0.8328328,0.8338338,0.8348348,0.8358358,0.8368368,0.8378378,0.8388388,0.8398398,0.8408408,0.8418418,0.8428429,0.8438439,0.8448449,0.8458459,0.8468469,0.8478479,0.8488489,0.8498499,0.8508509,0.8518519,0.8528529,0.8538539,0.8548549,0.8558559,0.8568569,0.8578579,0.8588589,0.8598599,0.8608609,0.8618619,0.8628629,0.8638639,0.8648649,0.8658659,0.8668669,0.8678679,0.8688689,0.8698699,0.8708709,0.8718719,0.8728729,0.8738739,0.8748749,0.8758759,0.8768769,0.8778779,0.8788789,0.8798799,0.8808809,0.8818819,0.8828829,0.8838839,0.8848849,0.8858859,0.8868869,0.8878879,0.8888889,0.8898899,0.8908909,0.8918919,0.8928929,0.8938939,0.8948949,0.8958959,0.8968969,0.8978979,0.8988989,0.8998999,0.9009009,0.9019019,0.9029029,0.9039039,0.9049049,0.9059059,0.9069069,0.9079079,0.9089089,0.9099099,0.9109109,0.9119119,0.9129129,0.9139139,0.9149149,0.9159159,0.9169169,0.9179179,0.9189189,0.9199199,0.9209209,0.9219219,0.9229229,0.9239239,0.9249249,0.9259259,0.9269269,0.9279279,0.9289289,0.9299299,0.9309309,0.9319319,0.9329329,0.9339339,0.9349349,0.9359359,0.9369369,0.9379379,0.9389389,0.9399399,0.9409409,0.9419419,0.9429429,0.9439439,0.9449449,0.9459459,0.9469469,0.947948,0.948949,0.94995,0.950951,0.951952,0.952953,0.953954,0.954955,0.955956,0.956957,0.957958,0.958959,0.95996,0.960961,0.961962,0.962963,0.963964,0.964965,0.965966,0.966967,0.967968,0.968969,0.96997,0.970971,0.971972,0.972973,0.973974,0.974975,0.975976,0.976977,0.977978,0.978979,0.97998,0.980981,0.981982,0.982983,0.983984,0.984985,0.985986,0.986987,0.987988,0.988989,0.98999,0.990991,0.991992,0.992993,0.993994,0.994995,0.995996,0.996997,0.997998,0.998999,1.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/tiny.json b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/tiny.json new file mode 100644 index 000000000000..d3cd18751f6e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/fixtures/julia/tiny.json @@ -0,0 +1 @@ +{"expected":[0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.99999905,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.9999991,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.99999917,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999992,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.9999993,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.99999934,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.9999994,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.99999946,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999995,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.9999996,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.99999964,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.9999997,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.99999976,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999998,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.9999999,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,0.99999994,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000001,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000002,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000004,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000005,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000006,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000007,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.0000008,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001,1.000001],"x":[-9.536743e-7,-9.5176506e-7,-9.498558e-7,-9.4794655e-7,-9.460373e-7,-9.4412803e-7,-9.422188e-7,-9.403095e-7,-9.3840026e-7,-9.36491e-7,-9.3458175e-7,-9.326725e-7,-9.3076324e-7,-9.28854e-7,-9.269447e-7,-9.2503547e-7,-9.231262e-7,-9.2121695e-7,-9.193077e-7,-9.1739844e-7,-9.154892e-7,-9.135799e-7,-9.1167067e-7,-9.097614e-7,-9.0785215e-7,-9.0594284e-7,-9.040336e-7,-9.021243e-7,-9.0021507e-7,-8.983058e-7,-8.9639656e-7,-8.944873e-7,-8.9257804e-7,-8.906688e-7,-8.8875953e-7,-8.868503e-7,-8.84941e-7,-8.8303176e-7,-8.811225e-7,-8.7921325e-7,-8.77304e-7,-8.7539473e-7,-8.734855e-7,-8.715762e-7,-8.6966696e-7,-8.677577e-7,-8.6584845e-7,-8.639392e-7,-8.6202994e-7,-8.601207e-7,-8.582114e-7,-8.5630217e-7,-8.543929e-7,-8.5248365e-7,-8.505744e-7,-8.4866514e-7,-8.467559e-7,-8.448466e-7,-8.4293737e-7,-8.410281e-7,-8.3911885e-7,-8.372096e-7,-8.3530034e-7,-8.333911e-7,-8.314818e-7,-8.2957257e-7,-8.276633e-7,-8.2575406e-7,-8.238448e-7,-8.2193554e-7,-8.200263e-7,-8.1811703e-7,-8.162078e-7,-8.142985e-7,-8.1238926e-7,-8.1047995e-7,-8.085707e-7,-8.0666143e-7,-8.047522e-7,-8.028429e-7,-8.0093366e-7,-7.990244e-7,-7.9711515e-7,-7.952059e-7,-7.9329664e-7,-7.913874e-7,-7.894781e-7,-7.8756887e-7,-7.856596e-7,-7.8375035e-7,-7.818411e-7,-7.7993184e-7,-7.780226e-7,-7.761133e-7,-7.7420407e-7,-7.722948e-7,-7.7038555e-7,-7.684763e-7,-7.6656704e-7,-7.646578e-7,-7.627485e-7,-7.6083927e-7,-7.5893e-7,-7.5702076e-7,-7.551115e-7,-7.5320224e-7,-7.51293e-7,-7.4938373e-7,-7.474745e-7,-7.455652e-7,-7.4365596e-7,-7.417467e-7,-7.3983745e-7,-7.379282e-7,-7.3601893e-7,-7.341097e-7,-7.322004e-7,-7.3029116e-7,-7.283819e-7,-7.2647265e-7,-7.245634e-7,-7.2265414e-7,-7.207449e-7,-7.188356e-7,-7.1692637e-7,-7.1501705e-7,-7.131078e-7,-7.1119854e-7,-7.092893e-7,-7.0738e-7,-7.0547077e-7,-7.035615e-7,-7.0165225e-7,-6.99743e-7,-6.9783374e-7,-6.959245e-7,-6.940152e-7,-6.9210597e-7,-6.901967e-7,-6.8828746e-7,-6.863782e-7,-6.8446894e-7,-6.825597e-7,-6.8065043e-7,-6.787412e-7,-6.768319e-7,-6.7492266e-7,-6.730134e-7,-6.7110415e-7,-6.691949e-7,-6.6728563e-7,-6.653764e-7,-6.634671e-7,-6.6155786e-7,-6.596486e-7,-6.5773935e-7,-6.558301e-7,-6.5392084e-7,-6.520116e-7,-6.501023e-7,-6.4819307e-7,-6.462838e-7,-6.4437455e-7,-6.424653e-7,-6.4055604e-7,-6.386468e-7,-6.367375e-7,-6.3482827e-7,-6.32919e-7,-6.3100975e-7,-6.291005e-7,-6.2719124e-7,-6.25282e-7,-6.233727e-7,-6.2146347e-7,-6.1955416e-7,-6.176449e-7,-6.1573564e-7,-6.138264e-7,-6.1191713e-7,-6.100079e-7,-6.080986e-7,-6.0618936e-7,-6.042801e-7,-6.0237085e-7,-6.004616e-7,-5.9855233e-7,-5.966431e-7,-5.947338e-7,-5.9282456e-7,-5.909153e-7,-5.8900605e-7,-5.870968e-7,-5.8518754e-7,-5.832783e-7,-5.81369e-7,-5.7945977e-7,-5.775505e-7,-5.7564125e-7,-5.73732e-7,-5.7182274e-7,-5.699135e-7,-5.680042e-7,-5.6609497e-7,-5.641857e-7,-5.6227645e-7,-5.603672e-7,-5.5845794e-7,-5.565487e-7,-5.546394e-7,-5.5273017e-7,-5.508209e-7,-5.4891166e-7,-5.470024e-7,-5.4509314e-7,-5.431839e-7,-5.4127463e-7,-5.393654e-7,-5.374561e-7,-5.3554686e-7,-5.336376e-7,-5.3172835e-7,-5.298191e-7,-5.2790983e-7,-5.260006e-7,-5.2409126e-7,-5.22182e-7,-5.2027275e-7,-5.183635e-7,-5.1645424e-7,-5.14545e-7,-5.126357e-7,-5.1072647e-7,-5.088172e-7,-5.0690795e-7,-5.049987e-7,-5.0308944e-7,-5.011802e-7,-4.992709e-7,-4.9736167e-7,-4.954524e-7,-4.9354315e-7,-4.916339e-7,-4.8972464e-7,-4.878154e-7,-4.859061e-7,-4.8399687e-7,-4.820876e-7,-4.8017836e-7,-4.782691e-7,-4.7635984e-7,-4.744506e-7,-4.7254133e-7,-4.7063207e-7,-4.6872282e-7,-4.6681356e-7,-4.649043e-7,-4.6299505e-7,-4.610858e-7,-4.5917653e-7,-4.5726728e-7,-4.5535802e-7,-4.5344876e-7,-4.5153948e-7,-4.4963022e-7,-4.4772096e-7,-4.458117e-7,-4.4390245e-7,-4.419932e-7,-4.4008394e-7,-4.3817468e-7,-4.3626542e-7,-4.3435617e-7,-4.324469e-7,-4.3053765e-7,-4.286284e-7,-4.2671914e-7,-4.2480988e-7,-4.2290063e-7,-4.2099137e-7,-4.190821e-7,-4.1717286e-7,-4.152636e-7,-4.1335434e-7,-4.114451e-7,-4.0953583e-7,-4.0762657e-7,-4.0571732e-7,-4.0380803e-7,-4.0189877e-7,-3.9998952e-7,-3.9808026e-7,-3.96171e-7,-3.9426175e-7,-3.923525e-7,-3.9044323e-7,-3.8853398e-7,-3.8662472e-7,-3.8471546e-7,-3.828062e-7,-3.8089695e-7,-3.789877e-7,-3.7707844e-7,-3.7516918e-7,-3.7325992e-7,-3.7135067e-7,-3.694414e-7,-3.6753215e-7,-3.656229e-7,-3.6371364e-7,-3.6180438e-7,-3.5989513e-7,-3.5798587e-7,-3.5607658e-7,-3.5416733e-7,-3.5225807e-7,-3.503488e-7,-3.4843956e-7,-3.465303e-7,-3.4462104e-7,-3.427118e-7,-3.4080253e-7,-3.3889327e-7,-3.3698402e-7,-3.3507476e-7,-3.331655e-7,-3.3125625e-7,-3.29347e-7,-3.2743773e-7,-3.2552848e-7,-3.2361922e-7,-3.2170996e-7,-3.198007e-7,-3.1789145e-7,-3.159822e-7,-3.1407293e-7,-3.1216368e-7,-3.1025442e-7,-3.0834514e-7,-3.0643588e-7,-3.0452662e-7,-3.0261737e-7,-3.007081e-7,-2.9879885e-7,-2.968896e-7,-2.9498034e-7,-2.9307108e-7,-2.9116183e-7,-2.8925257e-7,-2.873433e-7,-2.8543406e-7,-2.835248e-7,-2.8161554e-7,-2.7970628e-7,-2.7779703e-7,-2.7588777e-7,-2.7397851e-7,-2.7206926e-7,-2.7016e-7,-2.6825074e-7,-2.663415e-7,-2.6443223e-7,-2.6252297e-7,-2.606137e-7,-2.5870443e-7,-2.5679518e-7,-2.5488592e-7,-2.5297666e-7,-2.510674e-7,-2.4915815e-7,-2.472489e-7,-2.4533963e-7,-2.4343038e-7,-2.4152112e-7,-2.3961186e-7,-2.3770261e-7,-2.3579335e-7,-2.338841e-7,-2.3197484e-7,-2.3006558e-7,-2.2815632e-7,-2.2624705e-7,-2.243378e-7,-2.2242854e-7,-2.2051928e-7,-2.1861003e-7,-2.1670077e-7,-2.1479151e-7,-2.1288226e-7,-2.10973e-7,-2.0906374e-7,-2.0715449e-7,-2.0524523e-7,-2.0333597e-7,-2.014267e-7,-1.9951744e-7,-1.9760819e-7,-1.9569893e-7,-1.9378967e-7,-1.9188042e-7,-1.8997116e-7,-1.880619e-7,-1.8615265e-7,-1.8424339e-7,-1.8233413e-7,-1.8042488e-7,-1.785156e-7,-1.7660635e-7,-1.7469709e-7,-1.7278784e-7,-1.7087858e-7,-1.6896932e-7,-1.6706007e-7,-1.6515081e-7,-1.6324155e-7,-1.613323e-7,-1.5942304e-7,-1.5751378e-7,-1.5560452e-7,-1.5369525e-7,-1.51786e-7,-1.4987674e-7,-1.4796748e-7,-1.4605823e-7,-1.4414897e-7,-1.4223971e-7,-1.4033046e-7,-1.384212e-7,-1.3651194e-7,-1.3460269e-7,-1.3269343e-7,-1.3078416e-7,-1.288749e-7,-1.2696565e-7,-1.2505639e-7,-1.2314713e-7,-1.2123787e-7,-1.1932862e-7,-1.1741936e-7,-1.15510105e-7,-1.1360085e-7,-1.11691584e-7,-1.0978233e-7,-1.0787307e-7,-1.05963814e-7,-1.0405456e-7,-1.021453e-7,-1.00236036e-7,-9.832678e-8,-9.641752e-8,-9.4508266e-8,-9.259901e-8,-9.068975e-8,-8.878049e-8,-8.687123e-8,-8.4961975e-8,-8.305272e-8,-8.114346e-8,-7.9234205e-8,-7.732494e-8,-7.5415684e-8,-7.350643e-8,-7.159717e-8,-6.9687914e-8,-6.777866e-8,-6.58694e-8,-6.396014e-8,-6.205088e-8,-6.014162e-8,-5.8232366e-8,-5.6323106e-8,-5.441385e-8,-5.2504593e-8,-5.0595332e-8,-4.8686076e-8,-4.677682e-8,-4.4867562e-8,-4.2958302e-8,-4.1049045e-8,-3.913979e-8,-3.7230528e-8,-3.532127e-8,-3.3412014e-8,-3.1502754e-8,-2.9593497e-8,-2.7684239e-8,-2.5774982e-8,-2.3865724e-8,-2.1956465e-8,-2.0047208e-8,-1.813795e-8,-1.6228691e-8,-1.43194345e-8,-1.2410176e-8,-1.0500918e-8,-8.591661e-9,-6.6824026e-9,-4.7731445e-9,-2.863887e-9,-9.546289e-10,9.546289e-10,2.863887e-9,4.7731445e-9,6.6824026e-9,8.591661e-9,1.0500918e-8,1.2410176e-8,1.43194345e-8,1.6228691e-8,1.813795e-8,2.0047208e-8,2.1956465e-8,2.3865724e-8,2.5774982e-8,2.7684239e-8,2.9593497e-8,3.1502754e-8,3.3412014e-8,3.532127e-8,3.7230528e-8,3.913979e-8,4.1049045e-8,4.2958302e-8,4.4867562e-8,4.677682e-8,4.8686076e-8,5.0595332e-8,5.2504593e-8,5.441385e-8,5.6323106e-8,5.8232366e-8,6.014162e-8,6.205088e-8,6.396014e-8,6.58694e-8,6.777866e-8,6.9687914e-8,7.159717e-8,7.350643e-8,7.5415684e-8,7.732494e-8,7.9234205e-8,8.114346e-8,8.305272e-8,8.4961975e-8,8.687123e-8,8.878049e-8,9.068975e-8,9.259901e-8,9.4508266e-8,9.641752e-8,9.832678e-8,1.00236036e-7,1.021453e-7,1.0405456e-7,1.05963814e-7,1.0787307e-7,1.0978233e-7,1.11691584e-7,1.1360085e-7,1.15510105e-7,1.1741936e-7,1.1932862e-7,1.2123787e-7,1.2314713e-7,1.2505639e-7,1.2696565e-7,1.288749e-7,1.3078416e-7,1.3269343e-7,1.3460269e-7,1.3651194e-7,1.384212e-7,1.4033046e-7,1.4223971e-7,1.4414897e-7,1.4605823e-7,1.4796748e-7,1.4987674e-7,1.51786e-7,1.5369525e-7,1.5560452e-7,1.5751378e-7,1.5942304e-7,1.613323e-7,1.6324155e-7,1.6515081e-7,1.6706007e-7,1.6896932e-7,1.7087858e-7,1.7278784e-7,1.7469709e-7,1.7660635e-7,1.785156e-7,1.8042488e-7,1.8233413e-7,1.8424339e-7,1.8615265e-7,1.880619e-7,1.8997116e-7,1.9188042e-7,1.9378967e-7,1.9569893e-7,1.9760819e-7,1.9951744e-7,2.014267e-7,2.0333597e-7,2.0524523e-7,2.0715449e-7,2.0906374e-7,2.10973e-7,2.1288226e-7,2.1479151e-7,2.1670077e-7,2.1861003e-7,2.2051928e-7,2.2242854e-7,2.243378e-7,2.2624705e-7,2.2815632e-7,2.3006558e-7,2.3197484e-7,2.338841e-7,2.3579335e-7,2.3770261e-7,2.3961186e-7,2.4152112e-7,2.4343038e-7,2.4533963e-7,2.472489e-7,2.4915815e-7,2.510674e-7,2.5297666e-7,2.5488592e-7,2.5679518e-7,2.5870443e-7,2.606137e-7,2.6252297e-7,2.6443223e-7,2.663415e-7,2.6825074e-7,2.7016e-7,2.7206926e-7,2.7397851e-7,2.7588777e-7,2.7779703e-7,2.7970628e-7,2.8161554e-7,2.835248e-7,2.8543406e-7,2.873433e-7,2.8925257e-7,2.9116183e-7,2.9307108e-7,2.9498034e-7,2.968896e-7,2.9879885e-7,3.007081e-7,3.0261737e-7,3.0452662e-7,3.0643588e-7,3.0834514e-7,3.1025442e-7,3.1216368e-7,3.1407293e-7,3.159822e-7,3.1789145e-7,3.198007e-7,3.2170996e-7,3.2361922e-7,3.2552848e-7,3.2743773e-7,3.29347e-7,3.3125625e-7,3.331655e-7,3.3507476e-7,3.3698402e-7,3.3889327e-7,3.4080253e-7,3.427118e-7,3.4462104e-7,3.465303e-7,3.4843956e-7,3.503488e-7,3.5225807e-7,3.5416733e-7,3.5607658e-7,3.5798587e-7,3.5989513e-7,3.6180438e-7,3.6371364e-7,3.656229e-7,3.6753215e-7,3.694414e-7,3.7135067e-7,3.7325992e-7,3.7516918e-7,3.7707844e-7,3.789877e-7,3.8089695e-7,3.828062e-7,3.8471546e-7,3.8662472e-7,3.8853398e-7,3.9044323e-7,3.923525e-7,3.9426175e-7,3.96171e-7,3.9808026e-7,3.9998952e-7,4.0189877e-7,4.0380803e-7,4.0571732e-7,4.0762657e-7,4.0953583e-7,4.114451e-7,4.1335434e-7,4.152636e-7,4.1717286e-7,4.190821e-7,4.2099137e-7,4.2290063e-7,4.2480988e-7,4.2671914e-7,4.286284e-7,4.3053765e-7,4.324469e-7,4.3435617e-7,4.3626542e-7,4.3817468e-7,4.4008394e-7,4.419932e-7,4.4390245e-7,4.458117e-7,4.4772096e-7,4.4963022e-7,4.5153948e-7,4.5344876e-7,4.5535802e-7,4.5726728e-7,4.5917653e-7,4.610858e-7,4.6299505e-7,4.649043e-7,4.6681356e-7,4.6872282e-7,4.7063207e-7,4.7254133e-7,4.744506e-7,4.7635984e-7,4.782691e-7,4.8017836e-7,4.820876e-7,4.8399687e-7,4.859061e-7,4.878154e-7,4.8972464e-7,4.916339e-7,4.9354315e-7,4.954524e-7,4.9736167e-7,4.992709e-7,5.011802e-7,5.0308944e-7,5.049987e-7,5.0690795e-7,5.088172e-7,5.1072647e-7,5.126357e-7,5.14545e-7,5.1645424e-7,5.183635e-7,5.2027275e-7,5.22182e-7,5.2409126e-7,5.260006e-7,5.2790983e-7,5.298191e-7,5.3172835e-7,5.336376e-7,5.3554686e-7,5.374561e-7,5.393654e-7,5.4127463e-7,5.431839e-7,5.4509314e-7,5.470024e-7,5.4891166e-7,5.508209e-7,5.5273017e-7,5.546394e-7,5.565487e-7,5.5845794e-7,5.603672e-7,5.6227645e-7,5.641857e-7,5.6609497e-7,5.680042e-7,5.699135e-7,5.7182274e-7,5.73732e-7,5.7564125e-7,5.775505e-7,5.7945977e-7,5.81369e-7,5.832783e-7,5.8518754e-7,5.870968e-7,5.8900605e-7,5.909153e-7,5.9282456e-7,5.947338e-7,5.966431e-7,5.9855233e-7,6.004616e-7,6.0237085e-7,6.042801e-7,6.0618936e-7,6.080986e-7,6.100079e-7,6.1191713e-7,6.138264e-7,6.1573564e-7,6.176449e-7,6.1955416e-7,6.2146347e-7,6.233727e-7,6.25282e-7,6.2719124e-7,6.291005e-7,6.3100975e-7,6.32919e-7,6.3482827e-7,6.367375e-7,6.386468e-7,6.4055604e-7,6.424653e-7,6.4437455e-7,6.462838e-7,6.4819307e-7,6.501023e-7,6.520116e-7,6.5392084e-7,6.558301e-7,6.5773935e-7,6.596486e-7,6.6155786e-7,6.634671e-7,6.653764e-7,6.6728563e-7,6.691949e-7,6.7110415e-7,6.730134e-7,6.7492266e-7,6.768319e-7,6.787412e-7,6.8065043e-7,6.825597e-7,6.8446894e-7,6.863782e-7,6.8828746e-7,6.901967e-7,6.9210597e-7,6.940152e-7,6.959245e-7,6.9783374e-7,6.99743e-7,7.0165225e-7,7.035615e-7,7.0547077e-7,7.0738e-7,7.092893e-7,7.1119854e-7,7.131078e-7,7.1501705e-7,7.1692637e-7,7.188356e-7,7.207449e-7,7.2265414e-7,7.245634e-7,7.2647265e-7,7.283819e-7,7.3029116e-7,7.322004e-7,7.341097e-7,7.3601893e-7,7.379282e-7,7.3983745e-7,7.417467e-7,7.4365596e-7,7.455652e-7,7.474745e-7,7.4938373e-7,7.51293e-7,7.5320224e-7,7.551115e-7,7.5702076e-7,7.5893e-7,7.6083927e-7,7.627485e-7,7.646578e-7,7.6656704e-7,7.684763e-7,7.7038555e-7,7.722948e-7,7.7420407e-7,7.761133e-7,7.780226e-7,7.7993184e-7,7.818411e-7,7.8375035e-7,7.856596e-7,7.8756887e-7,7.894781e-7,7.913874e-7,7.9329664e-7,7.952059e-7,7.9711515e-7,7.990244e-7,8.0093366e-7,8.028429e-7,8.047522e-7,8.0666143e-7,8.085707e-7,8.1047995e-7,8.1238926e-7,8.142985e-7,8.162078e-7,8.1811703e-7,8.200263e-7,8.2193554e-7,8.238448e-7,8.2575406e-7,8.276633e-7,8.2957257e-7,8.314818e-7,8.333911e-7,8.3530034e-7,8.372096e-7,8.3911885e-7,8.410281e-7,8.4293737e-7,8.448466e-7,8.467559e-7,8.4866514e-7,8.505744e-7,8.5248365e-7,8.543929e-7,8.5630217e-7,8.582114e-7,8.601207e-7,8.6202994e-7,8.639392e-7,8.6584845e-7,8.677577e-7,8.6966696e-7,8.715762e-7,8.734855e-7,8.7539473e-7,8.77304e-7,8.7921325e-7,8.811225e-7,8.8303176e-7,8.84941e-7,8.868503e-7,8.8875953e-7,8.906688e-7,8.9257804e-7,8.944873e-7,8.9639656e-7,8.983058e-7,9.0021507e-7,9.021243e-7,9.040336e-7,9.0594284e-7,9.0785215e-7,9.097614e-7,9.1167067e-7,9.135799e-7,9.154892e-7,9.1739844e-7,9.193077e-7,9.2121695e-7,9.231262e-7,9.2503547e-7,9.269447e-7,9.28854e-7,9.3076324e-7,9.326725e-7,9.3458175e-7,9.36491e-7,9.3840026e-7,9.403095e-7,9.422188e-7,9.4412803e-7,9.460373e-7,9.4794655e-7,9.498558e-7,9.5176506e-7,9.536743e-7]} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/test.js b/lib/node_modules/@stdlib/math/base/special/expf/test/test.js new file mode 100644 index 000000000000..24e40c428901 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/test.js @@ -0,0 +1,155 @@ +/** +* @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 abs = require( '@stdlib/math/base/special/abs' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var expf = require( './../lib' ); + + +// FIXTURES // + +var mediumNegative = require( './fixtures/julia/medium_negative.json' ); +var mediumPositive = require( './fixtures/julia/medium_positive.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); +var smallPositive = require( './fixtures/julia/small_positive.json' ); +var tiny = require( './fixtures/julia/tiny.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof expf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for negative medium numbers', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = mediumNegative.x; + expected = mediumNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for positive medium numbers', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = mediumPositive.x; + expected = mediumPositive.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for negative small numbers', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = smallNegative.x; + expected = smallNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for positive small numbers', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = smallPositive.x; + expected = smallPositive.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for very small `x`', function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = tiny.x; + expected = tiny.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); From 1e9909e0a3e284a37e45460bff00f83f406db67c Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 11:51:58 +0530 Subject: [PATCH 4/9] feat: add C implementation of `expf` --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../math/base/special/expf/binding.gyp | 170 ++++++++++++++++++ .../math/base/special/expf/include.gypi | 53 ++++++ .../include/stdlib/math/base/special/expf.h | 38 ++++ .../math/base/special/expf/lib/native.js | 58 ++++++ .../math/base/special/expf/lib/polyval_p.js | 26 +-- .../math/base/special/expf/manifest.json | 51 ++++++ .../math/base/special/expf/package.json | 1 + .../base/special/expf/scripts/evalpoly.js | 122 +++++++++++++ .../math/base/special/expf/src/Makefile | 70 ++++++++ .../math/base/special/expf/src/addon.c | 22 +++ .../@stdlib/math/base/special/expf/src/main.c | 101 +++++++++++ 11 files changed, 694 insertions(+), 18 deletions(-) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/include/stdlib/math/base/special/expf.h create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/scripts/evalpoly.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/src/main.c diff --git a/lib/node_modules/@stdlib/math/base/special/expf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/expf/binding.gyp new file mode 100644 index 000000000000..1058b57bab16 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/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/expf/include.gypi b/lib/node_modules/@stdlib/math/base/special/expf/include.gypi new file mode 100644 index 000000000000..3b437d524797 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/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': [ + ' + +static const double LN2_HI = 6.93147180369123816490e-01; +static const double LN2_LO = 1.90821492927058770002e-10; +/* Begin auto-generated functions. The following functions are auto-generated. Do not edit directly. */ + +// BEGIN: polyval_p + +/** +* 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 +* +* @param x value at which to evaluate the polynomial +* @return evaluated polynomial +*/ +static float polyval_p( const float x ) { + return 0.50000001201f + (x * (0.16666665459f + (x * (0.041665795894f + (x * (0.0083334519073f + (x * (0.0013981999507f + (x * 0.000198756915f))))))))); +} + +// END: polyval_p + +/* End auto-generated functions. */ + +/** +* Evaluates the natural exponential function of single-precision floating-point numbers. +* +* @param x input value +* @return output value +* +* @example +* float out = stdlib_base_exp( 0.0 ); +* // returns 1.0 +*/ +float stdlib_base_expf( const float x ) { + float z; + float g; + float n; + if ( x > STDLIB_CONSTANT_FLOAT32_MAX_LN ) { + return STDLIB_CONSTANT_FLOAT32_MAX; + } + if ( x < STDLIB_CONSTANT_FLOAT32_MIN_LN ) { + return 0.0f; + } + + // e^x = e^(nln2 + g) = e^(nln2) * e^g = 2^n * e^g. + z = stdlib_base_floorf( STDLIB_CONSTANT_FLOAT32_LOG2E * x + 0.5f ); + g = x; + g -= z * LN2_HI; + g -= z * LN2_LO; + n = z; + z = g * g; + + // e^g ≈ 1 + g + g^2 * P(x) + z = 1.0f + g + z * polyval_p( g ); + + return stdlib_base_ldexpf( z, n ); +} From f267ab4238f58168f47d4fec15c1327667f55716 Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 12:04:36 +0530 Subject: [PATCH 5/9] feat: add test for C implementation --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../base/special/expf/test/test.native.js | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js new file mode 100644 index 000000000000..fb5c757d9e7c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js @@ -0,0 +1,164 @@ +/** +* @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 resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var abs = require( '@stdlib/math/base/special/abs' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var EPS = require( '@stdlib/constants/float32/eps' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// FIXTURES // + +var mediumNegative = require( './fixtures/julia/medium_negative.json' ); +var mediumPositive = require( './fixtures/julia/medium_positive.json' ); +var smallNegative = require( './fixtures/julia/small_negative.json' ); +var smallPositive = require( './fixtures/julia/small_positive.json' ); +var tiny = require( './fixtures/julia/tiny.json' ); + + +// VARIABLES // + +var expf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( expf instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof expf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for negative medium numbers', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = mediumNegative.x; + expected = mediumNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for positive medium numbers', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = mediumPositive.x; + expected = mediumPositive.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for negative small numbers', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = smallNegative.x; + expected = smallNegative.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for positive small numbers', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = smallPositive.x; + expected = smallPositive.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); + +tape( 'the function accurately computes the natural exponential function for very small `x`', opts, function test( t ) { + var expected; + var delta; + var tol; + var x; + var v; + var i; + + x = tiny.x; + expected = tiny.expected; + + for ( i = 0; i < x.length; i++ ) { + x[ i ] = f32( x[ i ] ); + expected[ i ] = f32( expected[ i ] ); + v = expf( x[ i ] ); + delta = abs( v - expected[ i ] ); + tol = EPS * abs( expected[ i ] ); + t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + } + t.end(); +}); From e4a69563379795f7615fc2532911eb646ef6c3d7 Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 12:43:51 +0530 Subject: [PATCH 6/9] test: migrate `math/base/special/expf` to ULP-based testing --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../math/base/special/expf/test/test.js | 68 +++++++------------ .../base/special/expf/test/test.native.js | 68 +++++++------------ 2 files changed, 52 insertions(+), 84 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/test.js b/lib/node_modules/@stdlib/math/base/special/expf/test/test.js index 24e40c428901..1c66460e7d8a 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/test.js @@ -21,9 +21,8 @@ // MODULES // var tape = require( 'tape' ); -var abs = require( '@stdlib/math/base/special/abs' ); var f32 = require( '@stdlib/number/float64/base/to-float32' ); -var EPS = require( '@stdlib/constants/float32/eps' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var expf = require( './../lib' ); @@ -46,10 +45,9 @@ tape( 'main export is a function', function test( t ) { tape( 'the function accurately computes the natural exponential function for negative medium numbers', function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = mediumNegative.x; @@ -57,21 +55,18 @@ tape( 'the function accurately computes the natural exponential function for neg for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for positive medium numbers', function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = mediumPositive.x; @@ -79,21 +74,18 @@ tape( 'the function accurately computes the natural exponential function for pos for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for negative small numbers', function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = smallNegative.x; @@ -101,21 +93,18 @@ tape( 'the function accurately computes the natural exponential function for neg for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for positive small numbers', function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = smallPositive.x; @@ -123,21 +112,18 @@ tape( 'the function accurately computes the natural exponential function for pos for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for very small `x`', function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = tiny.x; @@ -145,11 +131,9 @@ tape( 'the function accurately computes the natural exponential function for ver for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js index fb5c757d9e7c..53ccf0f3f80d 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/expf/test/test.native.js @@ -22,9 +22,8 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); -var abs = require( '@stdlib/math/base/special/abs' ); var f32 = require( '@stdlib/number/float64/base/to-float32' ); -var EPS = require( '@stdlib/constants/float32/eps' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -55,10 +54,9 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function accurately computes the natural exponential function for negative medium numbers', opts, function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = mediumNegative.x; @@ -66,21 +64,18 @@ tape( 'the function accurately computes the natural exponential function for neg for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for positive medium numbers', opts, function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = mediumPositive.x; @@ -88,21 +83,18 @@ tape( 'the function accurately computes the natural exponential function for pos for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for negative small numbers', opts, function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = smallNegative.x; @@ -110,21 +102,18 @@ tape( 'the function accurately computes the natural exponential function for neg for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for positive small numbers', opts, function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = smallPositive.x; @@ -132,21 +121,18 @@ tape( 'the function accurately computes the natural exponential function for pos for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function accurately computes the natural exponential function for very small `x`', opts, function test( t ) { var expected; - var delta; - var tol; var x; - var v; + var y; + var e; var i; x = tiny.x; @@ -154,11 +140,9 @@ tape( 'the function accurately computes the natural exponential function for ver for ( i = 0; i < x.length; i++ ) { x[ i ] = f32( x[ i ] ); - expected[ i ] = f32( expected[ i ] ); - v = expf( x[ i ] ); - delta = abs( v - expected[ i ] ); - tol = EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Tolerance: ' + tol + '.' ); + e = f32( expected[ i ] ); + y = expf( x[ i ] ); + t.strictEqual( isAlmostSameValue( y, e, 1 ), true, 'returns expected value' ); } t.end(); }); From 029a0ab51e62a612b254ca034daf154e63b063d9 Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 13:26:53 +0530 Subject: [PATCH 7/9] fix: update directories, types fields in 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/expf/package.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/special/expf/package.json b/lib/node_modules/@stdlib/math/base/special/expf/package.json index 0b769cbb79e7..7a7eeb810335 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/package.json +++ b/lib/node_modules/@stdlib/math/base/special/expf/package.json @@ -16,10 +16,16 @@ "main": "./lib", "gypfile": true, "directories": { - "lib": "./lib", + "benchmark": "./benchmark", "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "scripts": "./scripts", + "src": "./src", "test": "./test" }, + "types": "./docs/types", "scripts": {}, "homepage": "https://github.com/stdlib-js/stdlib", "repository": { From 6568f1adc8065d8177b237dc5809a9c0b856664a Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 16:01:05 +0530 Subject: [PATCH 8/9] feat: add js and native benchmarks --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - 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: passed - 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: missing_dependencies - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../base/special/expf/benchmark/benchmark.js | 79 ++++++++++ .../expf/benchmark/benchmark.native.js | 64 +++++++++ .../base/special/expf/benchmark/c/Makefile | 126 ++++++++++++++++ .../base/special/expf/benchmark/c/benchmark.c | 135 ++++++++++++++++++ .../math/base/special/expf/manifest.json | 38 +++++ 5 files changed, 442 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/benchmark.c diff --git a/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.js new file mode 100644 index 000000000000..c972f9d0ba86 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.js @@ -0,0 +1,79 @@ +/** +* @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/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; +var expf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -50.0, 50.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = expf( x[ i % x.length ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( format( '%s::built-in', pkg ), function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -50.0, 50.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = Math.exp( x[ i % x.length ] ); // eslint-disable-line stdlib/no-builtin-math + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.native.js new file mode 100644 index 000000000000..ca0983f4193f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/benchmark.native.js @@ -0,0 +1,64 @@ +/** +* @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/array/uniform' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var expf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( expf instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var x; + var y; + var i; + + x = randu( 100, -50.0, 50.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = expf( x[ i % x.length ] ); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/Makefile b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/Makefile new file mode 100644 index 000000000000..f24d4547e47a --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/Makefile @@ -0,0 +1,126 @@ +#/ +# @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. +#/ + +# 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 C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles C source files. +# +# @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 +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @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) -o $@ $< -lm + +#/ +# 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/expf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/benchmark.c new file mode 100644 index 000000000000..2c67f802d016 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/benchmark/c/benchmark.c @@ -0,0 +1,135 @@ +/** +* @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. +*/ + +#include +#include +#include +#include +#include + +#define NAME "expf" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [0,1). +* +* @return random number +*/ +static float rand_float( void ) { + int r = rand(); + return (float)r / ( (float)RAND_MAX + 1.0f ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + float x[ 100 ]; + float y; + double elapsed; + double t; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 100.0f * rand_float() ) - 50.0f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = expf( x[ i % 100 ] ); + if ( y != y ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y ) { + printf( "should not return NaN\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::%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/expf/manifest.json b/lib/node_modules/@stdlib/math/base/special/expf/manifest.json index a9787cebd915..e8db2779ba2b 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/expf/manifest.json @@ -46,6 +46,44 @@ "@stdlib/math/base/special/floorf", "@stdlib/math/base/special/ldexpf" ] + }, + { + "task": "benchmark", + "wasm": false, + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nan", + "@stdlib/constants/float64/ninf", + "@stdlib/constants/float64/pinf", + "@stdlib/math/base/special/trunc", + "@stdlib/math/base/special/ldexp" + ] + }, + { + "task": "examples", + "wasm": false, + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nan", + "@stdlib/constants/float64/ninf", + "@stdlib/constants/float64/pinf", + "@stdlib/math/base/special/trunc", + "@stdlib/math/base/special/ldexp" + ] } ] } From 4816d7ffc4bc551932269c6352206b240157e438 Mon Sep 17 00:00:00 2001 From: Arjan Date: Sun, 26 Jul 2026 16:16:21 +0530 Subject: [PATCH 9/9] docs: add examples and README.md --- 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_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - 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: passed - 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: missing_dependencies - 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/expf/README.md | 231 ++++++++++++++++++ .../base/special/expf/examples/c/Makefile | 146 +++++++++++ .../base/special/expf/examples/c/example.c | 33 +++ .../math/base/special/expf/examples/index.js | 30 +++ .../math/base/special/expf/manifest.json | 16 +- 5 files changed, 442 insertions(+), 14 deletions(-) create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/README.md create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/special/expf/examples/index.js diff --git a/lib/node_modules/@stdlib/math/base/special/expf/README.md b/lib/node_modules/@stdlib/math/base/special/expf/README.md new file mode 100644 index 000000000000..561b564f215b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/README.md @@ -0,0 +1,231 @@ + + +# expf + +> Natural [exponential function][exponential-function] for single-precision floating-point numbers. + +
+ +The natural [exponential function][exponential-function] is defined as + + + +```math +y = e^x +``` + + + + + +where `e` is [Euler's][@stdlib/constants/float64/e] number. + +
+ + + +
+ +## Usage + +```javascript +var expf = require( '@stdlib/math/base/special/expf' ); +``` + +#### expf( x ) + +Evaluates the natural [exponential function][exponential-function]. + +```javascript +var v = expf( 4.0 ); +// returns ~54.5982 + +v = expf( -9.0 ); +// returns ~1.234e-4 + +v = expf( 0.0 ); +// returns 1.0 + +v = expf( NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var expf = require( '@stdlib/math/base/special/expf' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -50.0, 50.0, opts ); + +logEachMap( 'e^%0.4f = %0.4f', x, expf ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/expf.h" +``` + +#### stdlib_base_expf( x ) + +Evaluates the natural [exponential function][exponential-function]. + +```c +float out = stdlib_base_expf( 4.0 ); +// returns ~54.5982 + +out = stdlib_base_expf( -9.0 ); +// returns ~1.234e-4 +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +float stdlib_base_expf( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/expf.h" +#include +#include + +int main( void ) { + float x; + float v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( (float)rand() / (float)RAND_MAX ) * 100.0f; + v = stdlib_base_expf( x ); + printf( "e^%lf = %lf\n", x, v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/expf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/expf/examples/c/Makefile new file mode 100644 index 000000000000..91d364d19fc3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/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/expf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/expf/examples/c/example.c new file mode 100644 index 000000000000..5f6f10b2271f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/examples/c/example.c @@ -0,0 +1,33 @@ +/** +* @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/expf.h" +#include +#include + +int main( void ) { + float x; + float v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( (float)rand() / (float)RAND_MAX ) * 100.0f; + v = stdlib_base_expf( x ); + printf( "e^%lf = %lf\n", x, v ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/expf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/expf/examples/index.js new file mode 100644 index 000000000000..3d7283f62f48 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/expf/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 uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var expf = require( './../lib' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -50.0, 50.0, opts ); + +logEachMap( 'e^%0.4f = %0.4f', x, expf ); diff --git a/lib/node_modules/@stdlib/math/base/special/expf/manifest.json b/lib/node_modules/@stdlib/math/base/special/expf/manifest.json index e8db2779ba2b..09b05dda42cd 100644 --- a/lib/node_modules/@stdlib/math/base/special/expf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/expf/manifest.json @@ -58,13 +58,7 @@ ], "libraries": [], "libpath": [], - "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/constants/float64/ninf", - "@stdlib/constants/float64/pinf", - "@stdlib/math/base/special/trunc", - "@stdlib/math/base/special/ldexp" - ] + "dependencies": [] }, { "task": "examples", @@ -77,13 +71,7 @@ ], "libraries": [], "libpath": [], - "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/constants/float64/ninf", - "@stdlib/constants/float64/pinf", - "@stdlib/math/base/special/trunc", - "@stdlib/math/base/special/ldexp" - ] + "dependencies": [] } ] }