diff --git a/lib/node_modules/@stdlib/math/base/special/modff/README.md b/lib/node_modules/@stdlib/math/base/special/modff/README.md new file mode 100644 index 000000000000..a3eef5ff0271 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/README.md @@ -0,0 +1,215 @@ + + +# modff + +> Decompose a [single-precision floating-point number][ieee754] into integral and fractional parts. + +
+ +## Usage + +```javascript +var modff = require( '@stdlib/math/base/special/modff' ); +``` + +#### modff( x ) + +Decomposes a [single-precision floating-point number][ieee754] into integral and fractional parts, each having the same type and sign as `x`. + +```javascript +var parts = modff( 3.14 ); +// returns [ 3.0, 0.1400001049041748 ] + +parts = modff( +0.0 ); +// returns [ +0.0, +0.0 ] + +parts = modff( -0.0 ); +// returns [ -0.0, -0.0 ] + +parts = modff( Infinity ); +// returns [ Infinity, +0.0 ] + +parts = modff( -Infinity ); +// returns [ -Infinity, -0.0 ] + +parts = modff( NaN ); +// returns [ NaN, NaN ] +``` + +#### modff.assign( x, out, stride, offset ) + +Decomposes a [single-precision floating-point number][ieee754] into integral and fractional parts, each having the same type and sign as `x`, and assigns results to a provided output array. + +```javascript +var Float32Array = require( '@stdlib/array/float32' ); + +var out = new Float32Array( 2 ); + +var parts = modff.assign( 3.14, out, 1, 0 ); +// returns [ 3.0, 0.1400001049041748 ] + +var bool = ( parts === out ); +// returns true +``` + +
+ + + +
+ +
+ + + +
+ +## Examples + + + +```javascript +var randu = require( '@stdlib/random/base/randu' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var modff = require( '@stdlib/math/base/special/modff' ); + +var parts; +var x; +var i; + +for ( i = 0; i < 100; i++ ) { + x = f32( ( randu()*1000.0 ) - 500.0 ); + parts = modff( x ); + console.log( 'modff(%d) => integral: %d. fraction: %d.', x, parts[ 0 ], parts[ 1 ] ); +} +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/modff.h" +``` + +#### stdlib_base_modff( x, integral, frac ) + +Decomposes a [single-precision floating-point number][ieee754] into integral and fractional parts, each having the same type and sign as `x`. + +```c +float integral; +float frac; + +stdlib_base_modff( 4.0f, &integral, &frac ); +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. +- **frac**: `[out] float*` destination for the integral part. +- **exp**: `[out] float*` destination for the fractional part. + +```c +void stdlib_base_modff( const float x, float *integral, float *frac ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/modff.h" +#include + +int main( void ) { + const float x[] = { 4.0f, 0.0f, -0.0f, 1.0f, -1.0f, 3.14f, -3.14f, 1.0e38f, -1.0e38f, 1.0f/0.0f, -1.0f/0.0f, 0.0f/0.0f }; + + float integral; + float frac; + int i; + for ( i = 0; i < 12; i++ ) { + stdlib_base_modff( x[ i ], &integral, &frac ); + printf( "x: %f => integral: %f, frac: %f\n", x[ i ], integral, frac ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.js new file mode 100644 index 000000000000..a53ab3656b2e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.js @@ -0,0 +1,80 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isArray = require( '@stdlib/assert/is-array' ); +var pkg = require( './../package.json' ).name; +var modff = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, -5.0e6, 5.0e6, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = modff( x[ i%x.length ] ); + if ( typeof y !== 'object' ) { + b.fail( 'should return an array' ); + } + } + b.toc(); + if ( !isArray( y ) ) { + b.fail( 'should return an array' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( pkg+':assign', function benchmark( b ) { + var out; + var x; + var y; + var i; + + x = uniform( 100, -5.0e6, 5.0e6, { + 'dtype': 'float32' + }); + out = [ 0.0, 0.0 ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = modff.assign( x[ i%x.length ], out, 1, 0 ); + if ( typeof y !== 'object' ) { + b.fail( 'should return an array' ); + } + } + b.toc(); + if ( !isArray( y ) || y !== out ) { + b.fail( 'should return the output array' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.native.js new file mode 100644 index 000000000000..8bf3d5865760 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/benchmark.native.js @@ -0,0 +1,63 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isFloat32Array = require( '@stdlib/assert/is-float32array' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var modff = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( modff instanceof Error ) +}; + + +// MAIN // + +bench( pkg+'::native', opts, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, -5.0e6, 5.0e6, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = modff( x[ i%x.length ] ); + if ( typeof y !== 'object' ) { + b.fail( 'should return an object' ); + } + } + b.toc(); + if ( !isFloat32Array( y ) ) { + b.fail( 'should return a Float32Array' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/Makefile b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/Makefile new file mode 100644 index 000000000000..d564e8b2d6f9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/Makefile @@ -0,0 +1,127 @@ +#/ +# @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. +#/ + + +# 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/modff/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/benchmark.c new file mode 100644 index 000000000000..161ddbc79cb2 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/benchmark.c @@ -0,0 +1,136 @@ +/** +* @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. +*/ + +#include +#include +#include +#include +#include + +#define NAME "modff" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [0,1). +* +* @return random number +*/ +static float rand_float( void ) { + int r = rand(); + return (float)r / ( (float)RAND_MAX + 1.0f ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float x[ 100 ]; + float iptr; + double t; + float y; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 1.0e7f*rand_float() ) - 5.0e6f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = modff( x[ i%100 ], &iptr ); + 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/modff/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/native/Makefile new file mode 100644 index 000000000000..5d7e79f50788 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @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. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles C source files. +# +# @param {string} SOURCE_FILES - list of C source files +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lpthread -lblas`) +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [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} SOURCE_FILES - list of C source files +# @param {(string|void)} INCLUDE - list of includes (e.g., `-I /foo/bar -I /beep/boop`) +# @param {(string|void)} LIBRARIES - list of libraries (e.g., `-lpthread -lblas`) +# @param {(string|void)} LIBPATH - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} CC - C compiler +# @param {string} CFLAGS - C compiler flags +# @param {(string|void)} fPIC - compiler flag indicating whether to generate position independent code +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# 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/modff/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..ba8173f88bc0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/benchmark/c/native/benchmark.c @@ -0,0 +1,137 @@ +/** +* @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. +*/ + +#include "stdlib/math/base/special/modff.h" +#include +#include +#include +#include +#include + +#define NAME "modff" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec / 1.0e6; +} + +/** +* Generates a random number on the interval [0,1). +* +* @return random number +*/ +static float rand_float( void ) { + int r = rand(); + return (float)r / ( (float)RAND_MAX + 1.0f ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float x[ 100 ]; + float integral; + double t; + float y; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( 1.0e7f*rand_float() ) - 5.0e6f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + stdlib_base_modff( x[ i%100 ], &integral, &y ); + if ( y != y || integral != integral) { + printf( "unexpected results\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y || integral != integral) { + printf( "unexpected results\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::native::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/binding.gyp b/lib/node_modules/@stdlib/math/base/special/modff/binding.gyp new file mode 100644 index 000000000000..68a1ca11d160 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/binding.gyp @@ -0,0 +1,170 @@ +# @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. + +# 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/modff/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/modff/docs/repl.txt new file mode 100644 index 000000000000..70adfc8b692c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/docs/repl.txt @@ -0,0 +1,67 @@ + +{{alias}}( x ) + Decomposes a single-precision floating-point number into integral and + fractional parts, each having the same type and sign as the input value. + + Parameters + ---------- + x: number + Input value. + + Returns + ------- + out: Array + Integral and fractional parts. + + Examples + -------- + > var parts = {{alias}}( 3.14 ) + [ 3.0, 0.1400001049041748 ] + > parts = {{alias}}( 3.14 ) + [ 3.0, 0.1400001049041748 ] + > parts = {{alias}}( +0.0 ) + [ +0.0, +0.0 ] + > parts = {{alias}}( -0.0 ) + [ -0.0, -0.0 ] + > parts = {{alias}}( {{alias:@stdlib/constants/float32/pinf}} ) + [ Infinity, +0.0 ] + > parts = {{alias}}( {{alias:@stdlib/constants/float32/ninf}} ) + [ -Infinity, -0.0 ] + > parts = {{alias}}( NaN ) + [ NaN, NaN ] + + +{{alias}}.assign( x, out, stride, offset ) + Decomposes a single-precision floating-point number into integral and + fractional parts, each having the same type and sign as the input value, + and assigns results to a provided output array. + + Parameters + ---------- + x: number + Input value. + + out: Array|TypedArray|Object + Output array. + + stride: integer + Output array stride. + + offset: integer + Output array index offset. + + Returns + ------- + out: Array|TypedArray|Object + Integral and fractional parts. + + Examples + -------- + > var out = new {{alias:@stdlib/array/float32}}( 2 ); + > var parts = {{alias}}.assign( 3.14, out, 1, 0 ) + [ 3.0, 0.1400001049041748 ] + > var bool = ( parts === out ) + true + + See Also + -------- diff --git a/lib/node_modules/@stdlib/math/base/special/modff/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/modff/docs/types/index.d.ts new file mode 100644 index 000000000000..0ac409aff3d1 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/docs/types/index.d.ts @@ -0,0 +1,79 @@ +/* +* @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. +*/ + +// TypeScript Version: 4.1 + +/// + +import { Collection } from '@stdlib/types/array'; + +/** +* Interface describing `modff`. +*/ +interface Modff { + /** + * Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value. + * + * @param x - input value + * @returns output array + * + * @example + * var parts = modff( 3.14 ); + * // returns [ 3.0, 0.1400001049041748 ] + */ + ( x: number ): Array; + + /** + * Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value. + * + * @param x - input value + * @param out - output array + * @param stride - output array stride + * @param offset - output array index offset + * @returns output array + * + * @example + * var Float32Array = require( '@stdlib/array/float32' ); + * + * var out = new Float32Array( 2 ); + * + * var parts = modff.assign( 3.14, out, 1, 0 ); + * // returns [ 3.0, 0.1400001049041748 ] + * + * var bool = ( parts === out ); + * // returns true + */ + assign( x: number, out: Collection, stride: number, offset: number ): Collection; +} + +/** +* Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value. +* +* @param x - input value +* @returns output array +* +* @example +* var parts = modff( 3.14 ); +* // returns [ 3.0, 0.1400001049041748 ] +*/ +declare var modff: Modff; + + +// EXPORTS // + +export = modff; diff --git a/lib/node_modules/@stdlib/math/base/special/modff/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/modff/docs/types/test.ts new file mode 100644 index 000000000000..25a4bb44d6f5 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/docs/types/test.ts @@ -0,0 +1,113 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/// + +import modff = require( './index' ); + + +// TESTS // + +// The function returns a numeric array... +{ + modff( 1.0 ); // $ExpectType number[] +} + +// The compiler throws an error if the function is provided an argument other than a number... +{ + modff( true ); // $ExpectError + modff( false ); // $ExpectError + modff( null ); // $ExpectError + modff( undefined ); // $ExpectError + modff( '5' ); // $ExpectError + modff( [] ); // $ExpectError + modff( {} ); // $ExpectError + modff( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + modff(); // $ExpectError + modff( 1.0, 1.0 ); // $ExpectError +} + +// Attached to the main export is an `assign` method which returns an array-like object containing numbers... +{ + const out = [ 0.0, 0.0 ]; + + modff.assign( 3.14e-319, out, 1, 0 ); // $ExpectType Collection +} + +// The compiler throws an error if the `assign` method is provided a first argument which is not a number... +{ + const out = [ 0.0, 0.0 ]; + + modff.assign( true, out, 1, 0 ); // $ExpectError + modff.assign( false, out, 1, 0 ); // $ExpectError + modff.assign( '5', out, 1, 0 ); // $ExpectError + modff.assign( null, out, 1, 0 ); // $ExpectError + modff.assign( [], out, 1, 0 ); // $ExpectError + modff.assign( {}, out, 1, 0 ); // $ExpectError + modff.assign( ( x: number ): number => x, out, 1, 0 ); // $ExpectError +} + +// The compiler throws an error if the `assign` method is provided a second argument which is not an array-like object... +{ + modff.assign( 1.0, 1, 1, 0 ); // $ExpectError + modff.assign( 1.0, true, 1, 0 ); // $ExpectError + modff.assign( 1.0, false, 1, 0 ); // $ExpectError + modff.assign( 1.0, null, 1, 0 ); // $ExpectError + modff.assign( 1.0, {}, 1, 0 ); // $ExpectError +} + +// The compiler throws an error if the `assign` method is provided a third argument which is not a number... +{ + const out = [ 0.0, 0.0 ]; + + modff.assign( 1.0, out, '5', 0 ); // $ExpectError + modff.assign( 1.0, out, true, 0 ); // $ExpectError + modff.assign( 1.0, out, false, 0 ); // $ExpectError + modff.assign( 1.0, out, null, 0 ); // $ExpectError + modff.assign( 1.0, out, [], 0 ); // $ExpectError + modff.assign( 1.0, out, {}, 0 ); // $ExpectError + modff.assign( 1.0, out, ( x: number ): number => x, 0 ); // $ExpectError +} + +// The compiler throws an error if the `assign` method is provided a fourth argument which is not a number... +{ + const out = [ 0.0, 0.0 ]; + + modff.assign( 1.0, out, 1, '5' ); // $ExpectError + modff.assign( 1.0, out, 1, true ); // $ExpectError + modff.assign( 1.0, out, 1, false ); // $ExpectError + modff.assign( 1.0, out, 1, null ); // $ExpectError + modff.assign( 1.0, out, 1, [] ); // $ExpectError + modff.assign( 1.0, out, 1, {} ); // $ExpectError + modff.assign( 1.0, out, 1, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the `assign` method is provided an unsupported number of arguments... +{ + const out = [ 0.0, 0.0 ]; + + modff.assign(); // $ExpectError + modff.assign( 1.0 ); // $ExpectError + modff.assign( 1.0, out ); // $ExpectError + modff.assign( 1.0, out, 1 ); // $ExpectError + modff.assign( 1.0, out, 1, 0, 1 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/modff/examples/c/Makefile new file mode 100644 index 000000000000..25ced822f96a --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @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. +#/ + +# 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/modff/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/modff/examples/c/example.c new file mode 100644 index 000000000000..b0fef5a35cfb --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/examples/c/example.c @@ -0,0 +1,32 @@ +/** +* @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. +*/ + +#include "stdlib/math/base/special/modff.h" +#include + +int main( void ) { + const float x[] = { 4.0f, 0.0f, -0.0f, 1.0f, -1.0f, 3.14f, -3.14f, 1.0e38f, -1.0e38f, 1.0f/0.0f, -1.0f/0.0f, 0.0f/0.0f }; + + float integral; + float frac; + int i; + for ( i = 0; i < 12; i++ ) { + stdlib_base_modff( x[ i ], &integral, &frac ); + printf( "x: %f => integral: %f, frac: %f\n", x[ i ], integral, frac ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/examples/index.js b/lib/node_modules/@stdlib/math/base/special/modff/examples/index.js new file mode 100644 index 000000000000..3389195174a9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/examples/index.js @@ -0,0 +1,33 @@ +/** +* @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. +*/ + +'use strict'; + +var randu = require( '@stdlib/random/base/randu' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var modff = require( './../lib' ); + +var parts; +var x; +var i; + +for ( i = 0; i < 100; i++ ) { + x = f32( ( randu()*1000.0 ) - 500.0 ); + parts = modff( x ); + console.log( 'modff(%d) => integral: %d. fraction: %d.', x, parts[ 0 ], parts[ 1 ] ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/include.gypi b/lib/node_modules/@stdlib/math/base/special/modff/include.gypi new file mode 100644 index 000000000000..ecfaf82a3279 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/include.gypi @@ -0,0 +1,53 @@ +# @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. + +# 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': [ + '> 23)|0; // asm type annotation + exp -= FLOAT32_EXPONENT_BIAS|0; // asm type annotation + + // Handle smaller values (x < 2**23 = 8388608)... + if ( exp < 23 ) { + i = (FLOAT32_HIGH_WORD_SIGNIFICAND_MASK >> exp)|0; // asm type annotation + + // Determine if `x` is integral by checking for significand bits which cannot be exponentiated away... + if ( ( word & i ) === 0 ) { + out[ offset ] = x; + out[ offset + stride ] = ZERO; + return out; + } + // Turn off all the bits which cannot be exponentiated away: + word &= ( ~i ); + + // Generate the integral part: + i = fromWord( word ); + + // The fractional part is whatever is leftover: + out[ offset ] = i; + out[ offset + stride ] = f32( x - i ); + return out; + } + // Check if `x` can even have a fractional part... + if ( exp >= 23 ) { + // `x` is integral: + out[ offset ] = x; + out[ offset + stride ] = ZERO; + return out; + } +} + + +// EXPORTS // + +module.exports = modff; diff --git a/lib/node_modules/@stdlib/math/base/special/modff/lib/index.js b/lib/node_modules/@stdlib/math/base/special/modff/lib/index.js new file mode 100644 index 000000000000..cb773f0770a7 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/lib/index.js @@ -0,0 +1,59 @@ +/** +* @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. +*/ + +'use strict'; + +/** +* Decompose a single-precision floating-point number into integral and fractional parts. +* +* @module @stdlib/math/base/special/modff +* +* @example +* var modff = require( '@stdlib/math/base/special/modff' ); +* +* var parts = modff( 3.14 ); +* // returns [ 3.0, 0.1400001049041748 ] +* +* @example +* var Float32Array = require( '@stdlib/array/float32' ); +* var modff = require( '@stdlib/math/base/special/modff' ); +* +* var out = new Float32Array( 2 ); +* +* var parts = modff.assign( 3.14, out, 1, 0 ); +* // returns [ 3.0, 0.1400001049041748 ] +* +* var bool = ( parts === out ); +* // returns true +*/ + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); +var main = require( './main.js' ); +var assign = require( './assign.js' ); + + +// MAIN // + +setReadOnly( main, 'assign', assign ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/math/base/special/modff/lib/main.js b/lib/node_modules/@stdlib/math/base/special/modff/lib/main.js new file mode 100644 index 000000000000..cc17ba5e0bdd --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/lib/main.js @@ -0,0 +1,46 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var fcn = require( './assign.js' ); + + +// MAIN // + +/** +* Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value. +* +* @param {number} x - input value +* @returns {Array} output array +* +* @example +* var parts = modff( 3.14 ); +* // returns [ 3.0, 0.1400001049041748 ] +* +*/ +function modff( x ) { + return fcn( x, [ 0.0, 0.0 ], 1, 0 ); +} + + +// EXPORTS // + +module.exports = modff; diff --git a/lib/node_modules/@stdlib/math/base/special/modff/lib/native.js b/lib/node_modules/@stdlib/math/base/special/modff/lib/native.js new file mode 100644 index 000000000000..c4d98d6c8d56 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/lib/native.js @@ -0,0 +1,49 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var Float32Array = require( '@stdlib/array/float32' ); +var addon = require( './../src/addon.node' ); + + +// MAIN // + +/** +* Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value. +* +* @private +* @param {number} x - input value +* @returns {Float32Array} output array +* +* @example +* var parts = modff( 3.14 ); +* // returns [ 3.0, 0.1400001049041748 ] +*/ +function modff( x ) { + var out = new Float32Array( 2 ); + addon( x, out ); + return out; +} + + +// EXPORTS // + +module.exports = modff; diff --git a/lib/node_modules/@stdlib/math/base/special/modff/manifest.json b/lib/node_modules/@stdlib/math/base/special/modff/manifest.json new file mode 100644 index 000000000000..22945ed21951 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/manifest.json @@ -0,0 +1,96 @@ +{ + "options": { + "task": "build" + }, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "task": "build", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/napi/argv", + "@stdlib/napi/argv-float", + "@stdlib/napi/argv-float32array", + "@stdlib/napi/export", + "@stdlib/math/base/assert/is-nanf", + "@stdlib/number/float32/base/from-word", + "@stdlib/number/float32/base/to-word", + "@stdlib/constants/float32/pinf", + "@stdlib/constants/float32/exponent-bias", + "@stdlib/constants/float32/exponent-mask", + "@stdlib/constants/float32/significand-mask", + "@stdlib/number/float32/base/to-word" + ] + }, + { + "task": "benchmark", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/number/float32/base/from-word", + "@stdlib/number/float32/base/to-word", + "@stdlib/constants/float32/pinf", + "@stdlib/constants/float32/exponent-bias", + "@stdlib/constants/float32/exponent-mask", + "@stdlib/constants/float32/significand-mask", + "@stdlib/number/float32/base/to-word" + ] + }, + { + "task": "examples", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/number/float32/base/from-word", + "@stdlib/number/float32/base/to-word", + "@stdlib/constants/float32/pinf", + "@stdlib/constants/float32/exponent-bias", + "@stdlib/constants/float32/exponent-mask", + "@stdlib/constants/float32/significand-mask", + "@stdlib/number/float32/base/to-word" + ] + } + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/package.json b/lib/node_modules/@stdlib/math/base/special/modff/package.json new file mode 100644 index 000000000000..4b861ac8564b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/package.json @@ -0,0 +1,70 @@ +{ + "name": "@stdlib/math/base/special/modff", + "version": "0.0.0", + "description": "Decompose a single-precision floating-point number into integral and fractional parts.", + "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", + "gypfile": true, + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "src": "./src", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "math", + "mathematics", + "modf", + "modff", + "integral", + "fractional", + "double", + "dbl", + "float", + "floating-point", + "number", + "ieee754" + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/src/Makefile b/lib/node_modules/@stdlib/math/base/special/modff/src/Makefile new file mode 100644 index 000000000000..7733b6180cb4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @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. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + + +# RULES # + +#/ +# Removes generated files for building an add-on. +# +# @example +# make clean-addon +#/ +clean-addon: + $(QUIET) -rm -f *.o *.node + +.PHONY: clean-addon + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: clean-addon + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/modff/src/addon.c b/lib/node_modules/@stdlib/math/base/special/modff/src/addon.c new file mode 100644 index 000000000000..47337b87356c --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/src/addon.c @@ -0,0 +1,41 @@ +/** +* @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. +*/ + +#include "stdlib/math/base/special/modff.h" +#include "stdlib/napi/argv.h" +#include "stdlib/napi/argv_float.h" +#include "stdlib/napi/argv_float32array.h" +#include "stdlib/napi/export.h" +#include + +/** +* Receives JavaScript callback invocation data. +* +* @param env environment under which the function is invoked +* @param info callback data +* @return Node-API value +*/ +static napi_value addon( napi_env env, napi_callback_info info ) { + STDLIB_NAPI_ARGV( env, info, argv, argc, 2 ); + STDLIB_NAPI_ARGV_FLOAT( env, x, argv, 0 ); + STDLIB_NAPI_ARGV_FLOAT32ARRAY( env, y, ylen, argv, 1 ); + stdlib_base_modff( x, &y[ 0 ], &y[ 1 ] ); + return NULL; +} + +STDLIB_NAPI_MODULE_EXPORT_FCN( addon ) diff --git a/lib/node_modules/@stdlib/math/base/special/modff/src/main.c b/lib/node_modules/@stdlib/math/base/special/modff/src/main.c new file mode 100644 index 000000000000..93200ddd6765 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/src/main.c @@ -0,0 +1,111 @@ +/** +* @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. +*/ + +#include "stdlib/math/base/special/modff.h" +#include "stdlib/math/base/assert/is_nanf.h" +#include "stdlib/number/float32/base/from_word.h" +#include "stdlib/number/float32/base/to_word.h" +#include "stdlib/constants/float32/pinf.h" +#include "stdlib/constants/float32/exponent_bias.h" +#include "stdlib/constants/float32/exponent_mask.h" +#include "stdlib/constants/float32/significand_mask.h" + +/** +* Decomposes a single-precision floating-point number into integral and fractional parts, each having the same type and sign as the input value, and assigns results to a provided output array. +* +* @param x input value +* @param frac destination to store the normalized fraction +* @param integral destination to store the exponent +* +* @example +* float x = 3.141592653589793f; +* +* float integral; +* float frac; +* stdlib_base_modff( x, &integral, &frac ); +*/ +void stdlib_base_modff( const float x, float* integral, float* frac ) { + uint32_t word; + int32_t exp; + int32_t i; + float j; + + // Special cases... + if ( x < 1.0f ) { + if ( x < 0.0f ) { + stdlib_base_modff( -x, integral, frac ); + *integral *= -1.0f; + *frac *= -1.0f; + return; + } + if ( x == 0.0f ) { // [ +-0, +-0 ] + *integral = x; + *frac = x; + return; + } + *integral = 0.0f; + *frac = x; + return; + } + if ( stdlib_base_is_nanf( x ) ) { + *integral = 0.0f / 0.0f; // NaN + *frac = 0.0f / 0.0f; // NaN + return; + } + if ( x == STDLIB_CONSTANT_FLOAT32_PINF ) { + *integral = STDLIB_CONSTANT_FLOAT32_PINF; + *frac = 0.0f; + return; + } + // Decompose |x|... + + // Extract the word: + stdlib_base_float32_to_word( x, &word ); + + // Extract the unbiased exponent: + exp = ( ( word & STDLIB_CONSTANT_FLOAT32_EXPONENT_MASK ) >> 23 ); + exp -= ( STDLIB_CONSTANT_FLOAT32_EXPONENT_BIAS ); + + // Handle smaller values (x < 2**23 = 8388608)... + if( exp < 23 ) { + i = ( STDLIB_CONSTANT_FLOAT32_SIGNIFICAND_MASK >> exp ); + + // Determine if `x` is integral by checking for significand bits which cannot be exponentiated away... + if ( ( word & i ) == 0 ) { + *integral = x; + *frac = 0.0f; + return; + } + // Turn off all the bits which cannot be exponentiated away: + word &= ( ~i ); + + // Generate the integral part: + j = (float)i; + stdlib_base_float32_from_word( word, &j ); + *integral = j; + *frac = x - j; + return; + } + // Check if `x` can even have a fractional part... + else { + // `x` is integral: + *integral = x; + *frac = 0.0f; + return; + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/REQUIRE new file mode 100644 index 000000000000..308c3be89c85 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/REQUIRE @@ -0,0 +1,2 @@ +julia 1.5 +JSON 0.21 diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/huge.json b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/huge.json new file mode 100644 index 000000000000..18e3d41e53cf --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/huge.json @@ -0,0 +1 @@ +{"frac":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"integral":[1.0e35,1.9930417e35,2.9860835e35,3.979125e35,4.972167e35,5.9652088e35,6.958251e35,7.9512924e35,8.944334e35,9.937376e35,1.0930417e36,1.1923459e36,1.2916501e36,1.3909543e36,1.4902584e36,1.5895625e36,1.6888668e36,1.7881709e36,1.8874752e36,1.9867793e36,2.0860835e36,2.1853876e36,2.2846919e36,2.383996e36,2.4833003e36,2.5826044e36,2.6819085e36,2.7812127e36,2.880517e36,2.979821e36,3.0791252e36,3.1784295e36,3.2777337e36,3.3770377e36,3.476342e36,3.5756462e36,3.67495e36,3.7742544e36,3.8735587e36,3.972863e36,4.072167e36,4.171471e36,4.2707754e36,4.3700797e36,4.4693836e36,4.568688e36,4.667992e36,4.767296e36,4.8666003e36,4.9659046e36,5.065209e36,5.1645128e36,5.263817e36,5.363121e36,5.4624256e36,5.5617295e36,5.6610335e36,5.760338e36,5.859642e36,5.9589466e36,6.0582505e36,6.1575545e36,6.256859e36,6.356163e36,6.455467e36,6.5547715e36,6.6540755e36,6.7533794e36,6.852684e36,6.951988e36,7.0512925e36,7.1505965e36,7.2499004e36,7.349205e36,7.448509e36,7.547813e36,7.6471175e36,7.7464214e36,7.8457253e36,7.94503e36,8.044334e36,8.1436385e36,8.2429424e36,8.3422463e36,8.441551e36,8.540855e36,8.640159e36,8.7394634e36,8.8387673e36,8.938071e36,9.037376e36,9.13668e36,9.2359844e36,9.3352883e36,9.434592e36,9.533897e36,9.633201e36,9.732505e36,9.8318093e36,9.931113e36,1.0030417e37,1.0129722e37,1.0229026e37,1.032833e37,1.0427634e37,1.0526938e37,1.0626243e37,1.0725546e37,1.0824851e37,1.0924155e37,1.1023459e37,1.1122763e37,1.1222067e37,1.1321372e37,1.1420676e37,1.151998e37,1.1619284e37,1.1718588e37,1.1817892e37,1.1917197e37,1.2016501e37,1.2115805e37,1.2215109e37,1.2314413e37,1.2413718e37,1.2513022e37,1.2612326e37,1.271163e37,1.2810934e37,1.2910238e37,1.3009543e37,1.3108847e37,1.3208151e37,1.3307455e37,1.3406759e37,1.3506064e37,1.3605368e37,1.3704672e37,1.3803976e37,1.390328e37,1.4002584e37,1.4101889e37,1.4201193e37,1.4300497e37,1.4399801e37,1.4499105e37,1.459841e37,1.4697714e37,1.4797018e37,1.4896322e37,1.4995626e37,1.509493e37,1.5194235e37,1.5293539e37,1.5392843e37,1.5492147e37,1.5591451e37,1.5690756e37,1.579006e37,1.5889364e37,1.5988668e37,1.6087972e37,1.6187276e37,1.6286581e37,1.6385885e37,1.6485189e37,1.6584493e37,1.6683797e37,1.6783102e37,1.6882406e37,1.698171e37,1.7081014e37,1.7180318e37,1.7279622e37,1.7378927e37,1.7478231e37,1.7577535e37,1.7676839e37,1.7776143e37,1.7875448e37,1.7974752e37,1.8074056e37,1.817336e37,1.8272664e37,1.8371968e37,1.8471273e37,1.8570577e37,1.8669881e37,1.8769185e37,1.8868489e37,1.8967794e37,1.9067098e37,1.9166402e37,1.9265706e37,1.936501e37,1.9464314e37,1.9563619e37,1.9662923e37,1.9762227e37,1.986153e37,1.9960835e37,2.006014e37,2.0159444e37,2.0258748e37,2.0358052e37,2.0457356e37,2.055666e37,2.0655965e37,2.0755269e37,2.0854573e37,2.0953877e37,2.105318e37,2.1152486e37,2.125179e37,2.1351092e37,2.1450398e37,2.1549703e37,2.1649005e37,2.174831e37,2.1847613e37,2.1946919e37,2.2046224e37,2.2145526e37,2.2244832e37,2.2344134e37,2.244344e37,2.2542745e37,2.2642047e37,2.2741353e37,2.2840655e37,2.293996e37,2.3039263e37,2.3138568e37,2.3237874e37,2.3337176e37,2.3436481e37,2.3535784e37,2.363509e37,2.3734395e37,2.3833697e37,2.3933002e37,2.4032305e37,2.413161e37,2.4230916e37,2.4330218e37,2.4429523e37,2.4528826e37,2.4628131e37,2.4727437e37,2.482674e37,2.4926044e37,2.5025347e37,2.5124652e37,2.5223955e37,2.532326e37,2.5422565e37,2.5521868e37,2.5621173e37,2.5720476e37,2.581978e37,2.5919086e37,2.601839e37,2.6117694e37,2.6216997e37,2.6316302e37,2.6415607e37,2.651491e37,2.6614215e37,2.6713518e37,2.6812823e37,2.6912128e37,2.701143e37,2.7110736e37,2.721004e37,2.7309344e37,2.7408647e37,2.7507952e37,2.7607257e37,2.770656e37,2.7805865e37,2.7905168e37,2.8004473e37,2.8103778e37,2.820308e37,2.8302386e37,2.840169e37,2.8500994e37,2.86003e37,2.8699602e37,2.8798907e37,2.889821e37,2.8997515e37,2.909682e37,2.9196123e37,2.9295428e37,2.939473e37,2.9494036e37,2.959334e37,2.9692644e37,2.979195e37,2.9891252e37,2.9990557e37,3.008986e37,3.0189165e37,3.028847e37,3.0387773e37,3.0487078e37,3.058638e37,3.0685686e37,3.078499e37,3.0884294e37,3.09836e37,3.1082902e37,3.1182207e37,3.1281512e37,3.1380815e37,3.148012e37,3.1579423e37,3.1678728e37,3.177803e37,3.1877336e37,3.197664e37,3.2075944e37,3.217525e37,3.2274552e37,3.2373857e37,3.2473162e37,3.2572465e37,3.267177e37,3.2771073e37,3.2870378e37,3.2969683e37,3.3068986e37,3.316829e37,3.3267594e37,3.33669e37,3.3466204e37,3.3565507e37,3.3664812e37,3.3764115e37,3.386342e37,3.3962722e37,3.4062028e37,3.4161333e37,3.4260636e37,3.435994e37,3.4459243e37,3.4558549e37,3.4657854e37,3.4757157e37,3.4856462e37,3.4955764e37,3.505507e37,3.5154375e37,3.5253678e37,3.5352983e37,3.5452285e37,3.555159e37,3.5650896e37,3.5750199e37,3.5849504e37,3.5948806e37,3.6048112e37,3.6147414e37,3.624672e37,3.6346025e37,3.6445327e37,3.6544633e37,3.6643935e37,3.674324e37,3.6842546e37,3.6941848e37,3.7041154e37,3.7140456e37,3.7239762e37,3.7339067e37,3.743837e37,3.7537675e37,3.7636977e37,3.7736283e37,3.7835588e37,3.793489e37,3.8034196e37,3.8133498e37,3.8232804e37,3.8332106e37,3.8431411e37,3.8530717e37,3.863002e37,3.8729325e37,3.8828627e37,3.8927932e37,3.9027238e37,3.912654e37,3.9225846e37,3.9325148e37,3.9424453e37,3.9523759e37,3.9623061e37,3.9722367e37,3.982167e37,3.9920974e37,4.0020277e37,4.0119582e37,4.0218887e37,4.031819e37,4.0417495e37,4.0516798e37,4.0616103e37,4.0715408e37,4.081471e37,4.0914016e37,4.101332e37,4.1112624e37,4.121193e37,4.1311232e37,4.1410537e37,4.150984e37,4.1609145e37,4.170845e37,4.1807753e37,4.1907058e37,4.200636e37,4.2105666e37,4.220497e37,4.2304274e37,4.240358e37,4.2502882e37,4.2602187e37,4.270149e37,4.28008e37,4.29001e37,4.2999403e37,4.3098706e37,4.3198013e37,4.3297316e37,4.339662e37,4.3495927e37,4.359523e37,4.369453e37,4.3793835e37,4.389314e37,4.3992445e37,4.409175e37,4.4191055e37,4.429036e37,4.438966e37,4.448897e37,4.458827e37,4.4687574e37,4.4786877e37,4.4886184e37,4.4985487e37,4.508479e37,4.5184097e37,4.52834e37,4.5382703e37,4.5482005e37,4.5581313e37,4.5680616e37,4.577992e37,4.5879226e37,4.597853e37,4.607783e37,4.617714e37,4.627644e37,4.6375745e37,4.6475047e37,4.6574355e37,4.667366e37,4.677296e37,4.687227e37,4.697157e37,4.7070874e37,4.717018e37,4.7269484e37,4.7368787e37,4.746809e37,4.7567397e37,4.76667e37,4.7766003e37,4.786531e37,4.7964613e37,4.8063916e37,4.816322e37,4.8262526e37,4.836183e37,4.846113e37,4.856044e37,4.865974e37,4.8759045e37,4.885835e37,4.8957655e37,4.905696e37,4.915626e37,4.925557e37,4.935487e37,4.9454173e37,4.955348e37,4.9652784e37,4.9752087e37,4.985139e37,4.9950697e37,5.005e37,5.01493e37,5.024861e37,5.0347913e37,5.0447215e37,5.0546523e37,5.0645826e37,5.074513e37,5.084443e37,5.094374e37,5.104304e37,5.1142344e37,5.124165e37,5.1340955e37,5.1440257e37,5.1539565e37,5.163887e37,5.173817e37,5.1837473e37,5.193678e37,5.2036084e37,5.2135386e37,5.2234694e37,5.2333997e37,5.24333e37,5.25326e37,5.263191e37,5.273121e37,5.2830515e37,5.2929823e37,5.3029126e37,5.312843e37,5.3227736e37,5.332704e37,5.342634e37,5.3525644e37,5.362495e37,5.3724254e37,5.3823557e37,5.3922865e37,5.402217e37,5.412147e37,5.4220773e37,5.432008e37,5.4419383e37,5.4518686e37,5.4617994e37,5.4717296e37,5.48166e37,5.4915907e37,5.501521e37,5.511451e37,5.5213815e37,5.5313123e37,5.5412425e37,5.551173e37,5.5611036e37,5.571034e37,5.580964e37,5.590895e37,5.600825e37,5.6107554e37,5.6206857e37,5.6306165e37,5.6405467e37,5.650477e37,5.660408e37,5.670338e37,5.6802683e37,5.6901986e37,5.7001294e37,5.7100596e37,5.71999e37,5.7299207e37,5.739851e37,5.749781e37,5.759712e37,5.769642e37,5.7795725e37,5.789503e37,5.7994335e37,5.809364e37,5.819294e37,5.829225e37,5.839155e37,5.8490854e37,5.8590157e37,5.8689464e37,5.8788767e37,5.888807e37,5.898738e37,5.908668e37,5.9185983e37,5.928529e37,5.9384593e37,5.9483896e37,5.95832e37,5.9682506e37,5.978181e37,5.988111e37,5.998042e37,6.007972e37,6.0179025e37,6.027833e37,6.0377635e37,6.047694e37,6.057624e37,6.067555e37,6.077485e37,6.0874154e37,6.097346e37,6.1072764e37,6.1172067e37,6.127137e37,6.1370677e37,6.146998e37,6.1569283e37,6.166859e37,6.1767893e37,6.1867196e37,6.1966503e37,6.2065806e37,6.216511e37,6.226441e37,6.236372e37,6.246302e37,6.2562325e37,6.266163e37,6.2760935e37,6.286024e37,6.295954e37,6.305885e37,6.315815e37,6.3257453e37,6.335676e37,6.3456064e37,6.3555367e37,6.3654674e37,6.3753977e37,6.385328e37,6.395258e37,6.405189e37,6.4151193e37,6.4250495e37,6.4349803e37,6.4449106e37,6.454841e37,6.464771e37,6.474702e37,6.484632e37,6.4945624e37,6.504493e37,6.5144235e37,6.5243537e37,6.5342845e37,6.544215e37,6.554145e37,6.5640753e37,6.574006e37,6.5839364e37,6.5938666e37,6.6037974e37,6.6137277e37,6.623658e37,6.6335887e37,6.643519e37,6.653449e37,6.6633795e37,6.6733103e37,6.6832406e37,6.693171e37,6.7031016e37,6.713032e37,6.722962e37,6.7328924e37,6.742823e37,6.7527535e37,6.7626837e37,6.7726145e37,6.782545e37,6.792475e37,6.802406e37,6.812336e37,6.8222663e37,6.8321966e37,6.8421274e37,6.8520576e37,6.861988e37,6.8719187e37,6.881849e37,6.891779e37,6.9017095e37,6.9116403e37,6.9215705e37,6.931501e37,6.9414316e37,6.951362e37,6.961292e37,6.971223e37,6.981153e37,6.9910834e37,7.0010137e37,7.0109445e37,7.0208747e37,7.030805e37,7.040736e37,7.050666e37,7.0605963e37,7.070527e37,7.0804574e37,7.0903876e37,7.100318e37,7.1102487e37,7.120179e37,7.130109e37,7.14004e37,7.14997e37,7.1599005e37,7.169831e37,7.1797616e37,7.189692e37,7.199622e37,7.209553e37,7.219483e37,7.2294134e37,7.239344e37,7.2492744e37,7.2592047e37,7.269135e37,7.279066e37,7.288996e37,7.2989263e37,7.308857e37,7.3187873e37,7.3287176e37,7.338648e37,7.3485786e37,7.358509e37,7.368439e37,7.37837e37,7.3883e37,7.3982305e37,7.4081613e37,7.4180915e37,7.428022e37,7.437952e37,7.447883e37,7.457813e37,7.4677434e37,7.477674e37,7.4876044e37,7.4975347e37,7.5074655e37,7.5173957e37,7.527326e37,7.5372563e37,7.547187e37,7.5571173e37,7.5670476e37,7.5769783e37,7.5869086e37,7.596839e37,7.606769e37,7.6167e37,7.62663e37,7.6365605e37,7.646491e37,7.6564215e37,7.666352e37,7.6762825e37,7.686213e37,7.696143e37,7.7060734e37,7.716004e37,7.7259344e37,7.7358647e37,7.7457954e37,7.7557257e37,7.765656e37,7.775586e37,7.785517e37,7.7954473e37,7.8053776e37,7.8153083e37,7.8252386e37,7.835169e37,7.8450996e37,7.85503e37,7.86496e37,7.8748904e37,7.884821e37,7.8947515e37,7.904682e37,7.9146125e37,7.924543e37,7.934473e37,7.9444033e37,7.954334e37,7.9642644e37,7.9741946e37,7.9841254e37,7.9940557e37,8.003986e37,8.0139167e37,8.023847e37,8.0337773e37,8.0437075e37,8.0536383e37,8.0635686e37,8.073499e37,8.0834296e37,8.09336e37,8.10329e37,8.113221e37,8.123151e37,8.1330815e37,8.1430117e37,8.1529425e37,8.162873e37,8.172803e37,8.182734e37,8.192664e37,8.2025943e37,8.2125246e37,8.2224554e37,8.2323857e37,8.242316e37,8.2522467e37,8.262177e37,8.272107e37,8.282038e37,8.2919683e37,8.3018985e37,8.311829e37,8.3217596e37,8.33169e37,8.34162e37,8.351551e37,8.361481e37,8.3714114e37,8.3813417e37,8.3912725e37,8.4012027e37,8.411133e37,8.421064e37,8.430994e37,8.4409243e37,8.450855e37,8.4607854e37,8.4707156e37,8.480646e37,8.4905767e37,8.500507e37,8.510437e37,8.520367e37,8.530298e37,8.540229e37,8.550159e37,8.56009e37,8.57002e37,8.57995e37,8.58988e37,8.599811e37,8.609742e37,8.619672e37,8.629602e37,8.639533e37,8.649463e37,8.659393e37,8.669325e37,8.679255e37,8.689185e37,8.699115e37,8.709046e37,8.718976e37,8.728906e37,8.738837e37,8.748768e37,8.758698e37,8.768628e37,8.778558e37,8.788489e37,8.798419e37,8.80835e37,8.818281e37,8.828211e37,8.838141e37,8.848071e37,8.858002e37,8.867932e37,8.877863e37,8.887793e37,8.897724e37,8.907654e37,8.917584e37,8.927515e37,8.937446e37,8.947376e37,8.957306e37,8.967237e37,8.977167e37,8.987097e37,8.997027e37,9.006959e37,9.016889e37,9.026819e37,9.03675e37,9.04668e37,9.05661e37,9.06654e37,9.076472e37,9.086402e37,9.096332e37,9.106262e37,9.116193e37,9.126123e37,9.136053e37,9.145984e37,9.155915e37,9.165845e37,9.175775e37,9.185706e37,9.195636e37,9.205567e37,9.215497e37,9.225428e37,9.235358e37,9.245288e37,9.255218e37,9.265149e37,9.27508e37,9.28501e37,9.294941e37,9.304871e37,9.314801e37,9.324731e37,9.334662e37,9.344593e37,9.354523e37,9.364453e37,9.374384e37,9.384314e37,9.394244e37,9.404174e37,9.414106e37,9.424036e37,9.433966e37,9.443897e37,9.453827e37,9.463757e37,9.473687e37,9.483619e37,9.493549e37,9.503479e37,9.513409e37,9.52334e37,9.53327e37,9.543201e37,9.553132e37,9.563062e37,9.572992e37,9.582922e37,9.592853e37,9.602783e37,9.612714e37,9.622644e37,9.632575e37,9.642505e37,9.652435e37,9.662366e37,9.672296e37,9.682227e37,9.692157e37,9.702088e37,9.712018e37,9.721948e37,9.731878e37,9.741809e37,9.75174e37,9.76167e37,9.7716e37,9.781531e37,9.791461e37,9.801391e37,9.811323e37,9.821253e37,9.831183e37,9.841113e37,9.851044e37,9.860974e37,9.870904e37,9.880835e37,9.890766e37,9.900696e37,9.910626e37,9.920557e37,9.930487e37,9.940417e37,9.950348e37,9.960279e37,9.970209e37,9.980139e37,9.990069e37,1.0e38],"x":[1.0e35,1.9930417e35,2.9860835e35,3.979125e35,4.972167e35,5.9652088e35,6.958251e35,7.9512924e35,8.944334e35,9.937376e35,1.0930417e36,1.1923459e36,1.2916501e36,1.3909543e36,1.4902584e36,1.5895625e36,1.6888668e36,1.7881709e36,1.8874752e36,1.9867793e36,2.0860835e36,2.1853876e36,2.2846919e36,2.383996e36,2.4833003e36,2.5826044e36,2.6819085e36,2.7812127e36,2.880517e36,2.979821e36,3.0791252e36,3.1784295e36,3.2777337e36,3.3770377e36,3.476342e36,3.5756462e36,3.67495e36,3.7742544e36,3.8735587e36,3.972863e36,4.072167e36,4.171471e36,4.2707754e36,4.3700797e36,4.4693836e36,4.568688e36,4.667992e36,4.767296e36,4.8666003e36,4.9659046e36,5.065209e36,5.1645128e36,5.263817e36,5.363121e36,5.4624256e36,5.5617295e36,5.6610335e36,5.760338e36,5.859642e36,5.9589466e36,6.0582505e36,6.1575545e36,6.256859e36,6.356163e36,6.455467e36,6.5547715e36,6.6540755e36,6.7533794e36,6.852684e36,6.951988e36,7.0512925e36,7.1505965e36,7.2499004e36,7.349205e36,7.448509e36,7.547813e36,7.6471175e36,7.7464214e36,7.8457253e36,7.94503e36,8.044334e36,8.1436385e36,8.2429424e36,8.3422463e36,8.441551e36,8.540855e36,8.640159e36,8.7394634e36,8.8387673e36,8.938071e36,9.037376e36,9.13668e36,9.2359844e36,9.3352883e36,9.434592e36,9.533897e36,9.633201e36,9.732505e36,9.8318093e36,9.931113e36,1.0030417e37,1.0129722e37,1.0229026e37,1.032833e37,1.0427634e37,1.0526938e37,1.0626243e37,1.0725546e37,1.0824851e37,1.0924155e37,1.1023459e37,1.1122763e37,1.1222067e37,1.1321372e37,1.1420676e37,1.151998e37,1.1619284e37,1.1718588e37,1.1817892e37,1.1917197e37,1.2016501e37,1.2115805e37,1.2215109e37,1.2314413e37,1.2413718e37,1.2513022e37,1.2612326e37,1.271163e37,1.2810934e37,1.2910238e37,1.3009543e37,1.3108847e37,1.3208151e37,1.3307455e37,1.3406759e37,1.3506064e37,1.3605368e37,1.3704672e37,1.3803976e37,1.390328e37,1.4002584e37,1.4101889e37,1.4201193e37,1.4300497e37,1.4399801e37,1.4499105e37,1.459841e37,1.4697714e37,1.4797018e37,1.4896322e37,1.4995626e37,1.509493e37,1.5194235e37,1.5293539e37,1.5392843e37,1.5492147e37,1.5591451e37,1.5690756e37,1.579006e37,1.5889364e37,1.5988668e37,1.6087972e37,1.6187276e37,1.6286581e37,1.6385885e37,1.6485189e37,1.6584493e37,1.6683797e37,1.6783102e37,1.6882406e37,1.698171e37,1.7081014e37,1.7180318e37,1.7279622e37,1.7378927e37,1.7478231e37,1.7577535e37,1.7676839e37,1.7776143e37,1.7875448e37,1.7974752e37,1.8074056e37,1.817336e37,1.8272664e37,1.8371968e37,1.8471273e37,1.8570577e37,1.8669881e37,1.8769185e37,1.8868489e37,1.8967794e37,1.9067098e37,1.9166402e37,1.9265706e37,1.936501e37,1.9464314e37,1.9563619e37,1.9662923e37,1.9762227e37,1.986153e37,1.9960835e37,2.006014e37,2.0159444e37,2.0258748e37,2.0358052e37,2.0457356e37,2.055666e37,2.0655965e37,2.0755269e37,2.0854573e37,2.0953877e37,2.105318e37,2.1152486e37,2.125179e37,2.1351092e37,2.1450398e37,2.1549703e37,2.1649005e37,2.174831e37,2.1847613e37,2.1946919e37,2.2046224e37,2.2145526e37,2.2244832e37,2.2344134e37,2.244344e37,2.2542745e37,2.2642047e37,2.2741353e37,2.2840655e37,2.293996e37,2.3039263e37,2.3138568e37,2.3237874e37,2.3337176e37,2.3436481e37,2.3535784e37,2.363509e37,2.3734395e37,2.3833697e37,2.3933002e37,2.4032305e37,2.413161e37,2.4230916e37,2.4330218e37,2.4429523e37,2.4528826e37,2.4628131e37,2.4727437e37,2.482674e37,2.4926044e37,2.5025347e37,2.5124652e37,2.5223955e37,2.532326e37,2.5422565e37,2.5521868e37,2.5621173e37,2.5720476e37,2.581978e37,2.5919086e37,2.601839e37,2.6117694e37,2.6216997e37,2.6316302e37,2.6415607e37,2.651491e37,2.6614215e37,2.6713518e37,2.6812823e37,2.6912128e37,2.701143e37,2.7110736e37,2.721004e37,2.7309344e37,2.7408647e37,2.7507952e37,2.7607257e37,2.770656e37,2.7805865e37,2.7905168e37,2.8004473e37,2.8103778e37,2.820308e37,2.8302386e37,2.840169e37,2.8500994e37,2.86003e37,2.8699602e37,2.8798907e37,2.889821e37,2.8997515e37,2.909682e37,2.9196123e37,2.9295428e37,2.939473e37,2.9494036e37,2.959334e37,2.9692644e37,2.979195e37,2.9891252e37,2.9990557e37,3.008986e37,3.0189165e37,3.028847e37,3.0387773e37,3.0487078e37,3.058638e37,3.0685686e37,3.078499e37,3.0884294e37,3.09836e37,3.1082902e37,3.1182207e37,3.1281512e37,3.1380815e37,3.148012e37,3.1579423e37,3.1678728e37,3.177803e37,3.1877336e37,3.197664e37,3.2075944e37,3.217525e37,3.2274552e37,3.2373857e37,3.2473162e37,3.2572465e37,3.267177e37,3.2771073e37,3.2870378e37,3.2969683e37,3.3068986e37,3.316829e37,3.3267594e37,3.33669e37,3.3466204e37,3.3565507e37,3.3664812e37,3.3764115e37,3.386342e37,3.3962722e37,3.4062028e37,3.4161333e37,3.4260636e37,3.435994e37,3.4459243e37,3.4558549e37,3.4657854e37,3.4757157e37,3.4856462e37,3.4955764e37,3.505507e37,3.5154375e37,3.5253678e37,3.5352983e37,3.5452285e37,3.555159e37,3.5650896e37,3.5750199e37,3.5849504e37,3.5948806e37,3.6048112e37,3.6147414e37,3.624672e37,3.6346025e37,3.6445327e37,3.6544633e37,3.6643935e37,3.674324e37,3.6842546e37,3.6941848e37,3.7041154e37,3.7140456e37,3.7239762e37,3.7339067e37,3.743837e37,3.7537675e37,3.7636977e37,3.7736283e37,3.7835588e37,3.793489e37,3.8034196e37,3.8133498e37,3.8232804e37,3.8332106e37,3.8431411e37,3.8530717e37,3.863002e37,3.8729325e37,3.8828627e37,3.8927932e37,3.9027238e37,3.912654e37,3.9225846e37,3.9325148e37,3.9424453e37,3.9523759e37,3.9623061e37,3.9722367e37,3.982167e37,3.9920974e37,4.0020277e37,4.0119582e37,4.0218887e37,4.031819e37,4.0417495e37,4.0516798e37,4.0616103e37,4.0715408e37,4.081471e37,4.0914016e37,4.101332e37,4.1112624e37,4.121193e37,4.1311232e37,4.1410537e37,4.150984e37,4.1609145e37,4.170845e37,4.1807753e37,4.1907058e37,4.200636e37,4.2105666e37,4.220497e37,4.2304274e37,4.240358e37,4.2502882e37,4.2602187e37,4.270149e37,4.28008e37,4.29001e37,4.2999403e37,4.3098706e37,4.3198013e37,4.3297316e37,4.339662e37,4.3495927e37,4.359523e37,4.369453e37,4.3793835e37,4.389314e37,4.3992445e37,4.409175e37,4.4191055e37,4.429036e37,4.438966e37,4.448897e37,4.458827e37,4.4687574e37,4.4786877e37,4.4886184e37,4.4985487e37,4.508479e37,4.5184097e37,4.52834e37,4.5382703e37,4.5482005e37,4.5581313e37,4.5680616e37,4.577992e37,4.5879226e37,4.597853e37,4.607783e37,4.617714e37,4.627644e37,4.6375745e37,4.6475047e37,4.6574355e37,4.667366e37,4.677296e37,4.687227e37,4.697157e37,4.7070874e37,4.717018e37,4.7269484e37,4.7368787e37,4.746809e37,4.7567397e37,4.76667e37,4.7766003e37,4.786531e37,4.7964613e37,4.8063916e37,4.816322e37,4.8262526e37,4.836183e37,4.846113e37,4.856044e37,4.865974e37,4.8759045e37,4.885835e37,4.8957655e37,4.905696e37,4.915626e37,4.925557e37,4.935487e37,4.9454173e37,4.955348e37,4.9652784e37,4.9752087e37,4.985139e37,4.9950697e37,5.005e37,5.01493e37,5.024861e37,5.0347913e37,5.0447215e37,5.0546523e37,5.0645826e37,5.074513e37,5.084443e37,5.094374e37,5.104304e37,5.1142344e37,5.124165e37,5.1340955e37,5.1440257e37,5.1539565e37,5.163887e37,5.173817e37,5.1837473e37,5.193678e37,5.2036084e37,5.2135386e37,5.2234694e37,5.2333997e37,5.24333e37,5.25326e37,5.263191e37,5.273121e37,5.2830515e37,5.2929823e37,5.3029126e37,5.312843e37,5.3227736e37,5.332704e37,5.342634e37,5.3525644e37,5.362495e37,5.3724254e37,5.3823557e37,5.3922865e37,5.402217e37,5.412147e37,5.4220773e37,5.432008e37,5.4419383e37,5.4518686e37,5.4617994e37,5.4717296e37,5.48166e37,5.4915907e37,5.501521e37,5.511451e37,5.5213815e37,5.5313123e37,5.5412425e37,5.551173e37,5.5611036e37,5.571034e37,5.580964e37,5.590895e37,5.600825e37,5.6107554e37,5.6206857e37,5.6306165e37,5.6405467e37,5.650477e37,5.660408e37,5.670338e37,5.6802683e37,5.6901986e37,5.7001294e37,5.7100596e37,5.71999e37,5.7299207e37,5.739851e37,5.749781e37,5.759712e37,5.769642e37,5.7795725e37,5.789503e37,5.7994335e37,5.809364e37,5.819294e37,5.829225e37,5.839155e37,5.8490854e37,5.8590157e37,5.8689464e37,5.8788767e37,5.888807e37,5.898738e37,5.908668e37,5.9185983e37,5.928529e37,5.9384593e37,5.9483896e37,5.95832e37,5.9682506e37,5.978181e37,5.988111e37,5.998042e37,6.007972e37,6.0179025e37,6.027833e37,6.0377635e37,6.047694e37,6.057624e37,6.067555e37,6.077485e37,6.0874154e37,6.097346e37,6.1072764e37,6.1172067e37,6.127137e37,6.1370677e37,6.146998e37,6.1569283e37,6.166859e37,6.1767893e37,6.1867196e37,6.1966503e37,6.2065806e37,6.216511e37,6.226441e37,6.236372e37,6.246302e37,6.2562325e37,6.266163e37,6.2760935e37,6.286024e37,6.295954e37,6.305885e37,6.315815e37,6.3257453e37,6.335676e37,6.3456064e37,6.3555367e37,6.3654674e37,6.3753977e37,6.385328e37,6.395258e37,6.405189e37,6.4151193e37,6.4250495e37,6.4349803e37,6.4449106e37,6.454841e37,6.464771e37,6.474702e37,6.484632e37,6.4945624e37,6.504493e37,6.5144235e37,6.5243537e37,6.5342845e37,6.544215e37,6.554145e37,6.5640753e37,6.574006e37,6.5839364e37,6.5938666e37,6.6037974e37,6.6137277e37,6.623658e37,6.6335887e37,6.643519e37,6.653449e37,6.6633795e37,6.6733103e37,6.6832406e37,6.693171e37,6.7031016e37,6.713032e37,6.722962e37,6.7328924e37,6.742823e37,6.7527535e37,6.7626837e37,6.7726145e37,6.782545e37,6.792475e37,6.802406e37,6.812336e37,6.8222663e37,6.8321966e37,6.8421274e37,6.8520576e37,6.861988e37,6.8719187e37,6.881849e37,6.891779e37,6.9017095e37,6.9116403e37,6.9215705e37,6.931501e37,6.9414316e37,6.951362e37,6.961292e37,6.971223e37,6.981153e37,6.9910834e37,7.0010137e37,7.0109445e37,7.0208747e37,7.030805e37,7.040736e37,7.050666e37,7.0605963e37,7.070527e37,7.0804574e37,7.0903876e37,7.100318e37,7.1102487e37,7.120179e37,7.130109e37,7.14004e37,7.14997e37,7.1599005e37,7.169831e37,7.1797616e37,7.189692e37,7.199622e37,7.209553e37,7.219483e37,7.2294134e37,7.239344e37,7.2492744e37,7.2592047e37,7.269135e37,7.279066e37,7.288996e37,7.2989263e37,7.308857e37,7.3187873e37,7.3287176e37,7.338648e37,7.3485786e37,7.358509e37,7.368439e37,7.37837e37,7.3883e37,7.3982305e37,7.4081613e37,7.4180915e37,7.428022e37,7.437952e37,7.447883e37,7.457813e37,7.4677434e37,7.477674e37,7.4876044e37,7.4975347e37,7.5074655e37,7.5173957e37,7.527326e37,7.5372563e37,7.547187e37,7.5571173e37,7.5670476e37,7.5769783e37,7.5869086e37,7.596839e37,7.606769e37,7.6167e37,7.62663e37,7.6365605e37,7.646491e37,7.6564215e37,7.666352e37,7.6762825e37,7.686213e37,7.696143e37,7.7060734e37,7.716004e37,7.7259344e37,7.7358647e37,7.7457954e37,7.7557257e37,7.765656e37,7.775586e37,7.785517e37,7.7954473e37,7.8053776e37,7.8153083e37,7.8252386e37,7.835169e37,7.8450996e37,7.85503e37,7.86496e37,7.8748904e37,7.884821e37,7.8947515e37,7.904682e37,7.9146125e37,7.924543e37,7.934473e37,7.9444033e37,7.954334e37,7.9642644e37,7.9741946e37,7.9841254e37,7.9940557e37,8.003986e37,8.0139167e37,8.023847e37,8.0337773e37,8.0437075e37,8.0536383e37,8.0635686e37,8.073499e37,8.0834296e37,8.09336e37,8.10329e37,8.113221e37,8.123151e37,8.1330815e37,8.1430117e37,8.1529425e37,8.162873e37,8.172803e37,8.182734e37,8.192664e37,8.2025943e37,8.2125246e37,8.2224554e37,8.2323857e37,8.242316e37,8.2522467e37,8.262177e37,8.272107e37,8.282038e37,8.2919683e37,8.3018985e37,8.311829e37,8.3217596e37,8.33169e37,8.34162e37,8.351551e37,8.361481e37,8.3714114e37,8.3813417e37,8.3912725e37,8.4012027e37,8.411133e37,8.421064e37,8.430994e37,8.4409243e37,8.450855e37,8.4607854e37,8.4707156e37,8.480646e37,8.4905767e37,8.500507e37,8.510437e37,8.520367e37,8.530298e37,8.540229e37,8.550159e37,8.56009e37,8.57002e37,8.57995e37,8.58988e37,8.599811e37,8.609742e37,8.619672e37,8.629602e37,8.639533e37,8.649463e37,8.659393e37,8.669325e37,8.679255e37,8.689185e37,8.699115e37,8.709046e37,8.718976e37,8.728906e37,8.738837e37,8.748768e37,8.758698e37,8.768628e37,8.778558e37,8.788489e37,8.798419e37,8.80835e37,8.818281e37,8.828211e37,8.838141e37,8.848071e37,8.858002e37,8.867932e37,8.877863e37,8.887793e37,8.897724e37,8.907654e37,8.917584e37,8.927515e37,8.937446e37,8.947376e37,8.957306e37,8.967237e37,8.977167e37,8.987097e37,8.997027e37,9.006959e37,9.016889e37,9.026819e37,9.03675e37,9.04668e37,9.05661e37,9.06654e37,9.076472e37,9.086402e37,9.096332e37,9.106262e37,9.116193e37,9.126123e37,9.136053e37,9.145984e37,9.155915e37,9.165845e37,9.175775e37,9.185706e37,9.195636e37,9.205567e37,9.215497e37,9.225428e37,9.235358e37,9.245288e37,9.255218e37,9.265149e37,9.27508e37,9.28501e37,9.294941e37,9.304871e37,9.314801e37,9.324731e37,9.334662e37,9.344593e37,9.354523e37,9.364453e37,9.374384e37,9.384314e37,9.394244e37,9.404174e37,9.414106e37,9.424036e37,9.433966e37,9.443897e37,9.453827e37,9.463757e37,9.473687e37,9.483619e37,9.493549e37,9.503479e37,9.513409e37,9.52334e37,9.53327e37,9.543201e37,9.553132e37,9.563062e37,9.572992e37,9.582922e37,9.592853e37,9.602783e37,9.612714e37,9.622644e37,9.632575e37,9.642505e37,9.652435e37,9.662366e37,9.672296e37,9.682227e37,9.692157e37,9.702088e37,9.712018e37,9.721948e37,9.731878e37,9.741809e37,9.75174e37,9.76167e37,9.7716e37,9.781531e37,9.791461e37,9.801391e37,9.811323e37,9.821253e37,9.831183e37,9.841113e37,9.851044e37,9.860974e37,9.870904e37,9.880835e37,9.890766e37,9.900696e37,9.910626e37,9.920557e37,9.930487e37,9.940417e37,9.950348e37,9.960279e37,9.970209e37,9.980139e37,9.990069e37,1.0e38]} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/large.json b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/large.json new file mode 100644 index 000000000000..8da2e8d101f0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/large.json @@ -0,0 +1 @@ +{"frac":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"integral":[1.0e20,9.940358e31,1.9880715e32,2.9821074e32,3.976143e32,4.9701788e32,5.964215e32,6.9582505e32,7.952286e32,8.946322e32,9.9403575e32,1.0934394e33,1.192843e33,1.2922465e33,1.3916501e33,1.4910537e33,1.5904572e33,1.6898609e33,1.7892644e33,1.888668e33,1.9880715e33,2.0874752e33,2.1868788e33,2.2862823e33,2.385686e33,2.4850894e33,2.584493e33,2.6838967e33,2.7833002e33,2.8827037e33,2.9821075e33,3.081511e33,3.1809145e33,3.280318e33,3.3797218e33,3.4791253e33,3.5785287e33,3.6779325e33,3.777336e33,3.8767395e33,3.976143e33,4.0755468e33,4.1749503e33,4.2743538e33,4.3737576e33,4.473161e33,4.5725646e33,4.671968e33,4.771372e33,4.8707754e33,4.970179e33,5.0695826e33,5.168986e33,5.26839e33,5.3677934e33,5.467197e33,5.5666004e33,5.666004e33,5.7654074e33,5.864811e33,5.964215e33,6.0636185e33,6.163022e33,6.2624255e33,6.361829e33,6.4612324e33,6.560636e33,6.66004e33,6.7594435e33,6.858847e33,6.9582505e33,7.057654e33,7.1570575e33,7.256461e33,7.355865e33,7.4552686e33,7.554672e33,7.6540756e33,7.753479e33,7.8528825e33,7.952286e33,8.05169e33,8.1510936e33,8.250497e33,8.3499006e33,8.449304e33,8.5487076e33,8.648111e33,8.747515e33,8.8469187e33,8.946322e33,9.0457257e33,9.145129e33,9.2445326e33,9.343936e33,9.44334e33,9.542744e33,9.642147e33,9.741551e33,9.840954e33,9.940358e33,1.0039761e34,1.0139165e34,1.0238569e34,1.0337972e34,1.0437376e34,1.053678e34,1.0636183e34,1.0735587e34,1.083499e34,1.0934394e34,1.1033797e34,1.1133201e34,1.1232605e34,1.1332008e34,1.1431412e34,1.1530815e34,1.1630219e34,1.1729622e34,1.1829026e34,1.192843e34,1.2027833e34,1.2127237e34,1.222664e34,1.2326044e34,1.2425447e34,1.2524851e34,1.2624255e34,1.2723658e34,1.2823062e34,1.2922465e34,1.3021869e34,1.3121272e34,1.3220676e34,1.332008e34,1.3419483e34,1.3518887e34,1.361829e34,1.3717694e34,1.3817097e34,1.3916501e34,1.4015905e34,1.4115308e34,1.4214712e34,1.4314115e34,1.4413519e34,1.4512922e34,1.4612326e34,1.471173e34,1.4811133e34,1.4910537e34,1.500994e34,1.5109344e34,1.5208747e34,1.5308151e34,1.5407555e34,1.5506958e34,1.5606362e34,1.5705765e34,1.5805169e34,1.5904572e34,1.6003976e34,1.610338e34,1.6202783e34,1.6302187e34,1.640159e34,1.6500994e34,1.6600397e34,1.6699801e34,1.6799205e34,1.6898608e34,1.6998012e34,1.7097415e34,1.7196819e34,1.7296222e34,1.7395626e34,1.749503e34,1.7594433e34,1.7693837e34,1.779324e34,1.7892644e34,1.7992047e34,1.8091451e34,1.8190855e34,1.8290258e34,1.8389662e34,1.8489065e34,1.858847e34,1.8687872e34,1.8787276e34,1.888668e34,1.8986083e34,1.9085487e34,1.918489e34,1.9284294e34,1.9383697e34,1.9483101e34,1.9582506e34,1.9681908e34,1.9781313e34,1.9880715e34,1.998012e34,2.0079522e34,2.0178926e34,2.027833e34,2.0377733e34,2.0477138e34,2.057654e34,2.0675945e34,2.0775347e34,2.0874752e34,2.0974156e34,2.107356e34,2.1172961e34,2.1272365e34,2.137177e34,2.1471174e34,2.1570575e34,2.166998e34,2.1769384e34,2.1868788e34,2.1968192e34,2.2067593e34,2.2166998e34,2.2266402e34,2.2365806e34,2.246521e34,2.2564611e34,2.2664016e34,2.276342e34,2.2862824e34,2.2962225e34,2.306163e34,2.3161034e34,2.3260438e34,2.3359842e34,2.3459244e34,2.3558648e34,2.3658052e34,2.3757456e34,2.385686e34,2.3956262e34,2.4055666e34,2.415507e34,2.4254474e34,2.4353876e34,2.445328e34,2.4552684e34,2.4652088e34,2.4751492e34,2.4850894e34,2.4950298e34,2.5049702e34,2.5149106e34,2.524851e34,2.5347912e34,2.5447316e34,2.554672e34,2.5646124e34,2.5745526e34,2.584493e34,2.5944334e34,2.6043738e34,2.6143142e34,2.6242544e34,2.6341948e34,2.6441352e34,2.6540756e34,2.664016e34,2.6739562e34,2.6838966e34,2.693837e34,2.7037774e34,2.7137176e34,2.723658e34,2.7335984e34,2.7435388e34,2.7534792e34,2.7634194e34,2.7733598e34,2.7833002e34,2.7932406e34,2.803181e34,2.8131212e34,2.8230616e34,2.833002e34,2.8429424e34,2.8528826e34,2.862823e34,2.8727634e34,2.8827038e34,2.8926442e34,2.9025844e34,2.9125248e34,2.9224652e34,2.9324056e34,2.942346e34,2.9522862e34,2.9622266e34,2.972167e34,2.9821074e34,2.9920476e34,3.001988e34,3.0119284e34,3.0218688e34,3.0318092e34,3.0417494e34,3.0516898e34,3.0616302e34,3.0715706e34,3.081511e34,3.0914512e34,3.1013916e34,3.111332e34,3.1212724e34,3.1312126e34,3.141153e34,3.1510934e34,3.1610338e34,3.1709742e34,3.1809144e34,3.1908548e34,3.2007952e34,3.2107356e34,3.220676e34,3.2306162e34,3.2405566e34,3.250497e34,3.2604375e34,3.2703776e34,3.280318e34,3.2902584e34,3.3001988e34,3.3101393e34,3.3200794e34,3.3300198e34,3.3399602e34,3.3499007e34,3.359841e34,3.3697812e34,3.3797216e34,3.389662e34,3.3996025e34,3.4095426e34,3.419483e34,3.4294234e34,3.4393639e34,3.4493043e34,3.4592444e34,3.4691848e34,3.4791253e34,3.4890657e34,3.499006e34,3.5089462e34,3.5188867e34,3.528827e34,3.5387675e34,3.5487076e34,3.558648e34,3.5685885e34,3.5785289e34,3.5884693e34,3.5984094e34,3.6083499e34,3.6182903e34,3.6282307e34,3.638171e34,3.6481113e34,3.6580517e34,3.667992e34,3.6779325e34,3.6878726e34,3.697813e34,3.7077535e34,3.717694e34,3.7276343e34,3.7375745e34,3.7475149e34,3.7574553e34,3.7673957e34,3.777336e34,3.7872763e34,3.7972167e34,3.807157e34,3.8170975e34,3.8270377e34,3.836978e34,3.8469185e34,3.856859e34,3.8667993e34,3.8767395e34,3.8866799e34,3.8966203e34,3.9065607e34,3.916501e34,3.9264413e34,3.9363817e34,3.946322e34,3.9562625e34,3.9662027e34,3.976143e34,3.9860835e34,3.996024e34,4.0059643e34,4.0159045e34,4.025845e34,4.0357853e34,4.0457257e34,4.055666e34,4.0656063e34,4.0755467e34,4.085487e34,4.0954275e34,4.1053677e34,4.115308e34,4.1252485e34,4.135189e34,4.1451293e34,4.1550695e34,4.16501e34,4.1749503e34,4.1848905e34,4.194831e34,4.2047713e34,4.214712e34,4.224652e34,4.2345923e34,4.244533e34,4.254473e34,4.264414e34,4.274354e34,4.284294e34,4.2942347e34,4.304175e34,4.314115e34,4.3240557e34,4.333996e34,4.3439365e34,4.3538767e34,4.363817e34,4.3737575e34,4.3836977e34,4.3936384e34,4.4035785e34,4.4135187e34,4.4234593e34,4.4333995e34,4.44334e34,4.4532803e34,4.4632205e34,4.473161e34,4.4831013e34,4.493042e34,4.502982e34,4.5129223e34,4.522863e34,4.532803e34,4.542744e34,4.552684e34,4.562624e34,4.572565e34,4.582505e34,4.592445e34,4.6023857e34,4.612326e34,4.6222666e34,4.6322067e34,4.642147e34,4.6520876e34,4.6620277e34,4.6719684e34,4.6819085e34,4.6918487e34,4.7017894e34,4.7117295e34,4.72167e34,4.7316103e34,4.7415505e34,4.751491e34,4.7614313e34,4.771372e34,4.781312e34,4.7912523e34,4.801193e34,4.811133e34,4.821074e34,4.831014e34,4.840954e34,4.850895e34,4.860835e34,4.870775e34,4.880716e34,4.890656e34,4.9005966e34,4.910537e34,4.920477e34,4.9304176e34,4.9403577e34,4.9502984e34,4.9602386e34,4.9701787e34,4.9801194e34,4.9900595e34,5.0e34,5.0099404e34,5.0198805e34,5.029821e34,5.0397614e34,5.049702e34,5.059642e34,5.0695823e34,5.079523e34,5.089463e34,5.099404e34,5.109344e34,5.119284e34,5.129225e34,5.139165e34,5.149105e34,5.159046e34,5.168986e34,5.1789266e34,5.188867e34,5.198807e34,5.2087476e34,5.218688e34,5.2286284e34,5.2385686e34,5.2485087e34,5.2584494e34,5.2683896e34,5.27833e34,5.2882704e34,5.2982106e34,5.308151e34,5.3180914e34,5.328032e34,5.337972e34,5.3479124e34,5.357853e34,5.367793e34,5.377734e34,5.387674e34,5.397614e34,5.407555e34,5.417495e34,5.427435e34,5.437376e34,5.447316e34,5.4572566e34,5.467197e34,5.477137e34,5.4870776e34,5.497018e34,5.5069584e34,5.5168986e34,5.526839e34,5.5367794e34,5.5467196e34,5.55666e34,5.5666004e34,5.5765406e34,5.586481e34,5.5964214e34,5.606362e34,5.616302e34,5.6262424e34,5.636183e34,5.646123e34,5.656064e34,5.666004e34,5.675944e34,5.685885e34,5.695825e34,5.705765e34,5.715706e34,5.725646e34,5.7355867e34,5.745527e34,5.755467e34,5.7654076e34,5.775348e34,5.7852885e34,5.7952286e34,5.805169e34,5.8151094e34,5.8250496e34,5.8349903e34,5.8449304e34,5.8548706e34,5.8648113e34,5.8747514e34,5.884692e34,5.894632e34,5.9045724e34,5.914513e34,5.924453e34,5.934394e34,5.944334e34,5.954274e34,5.964215e34,5.974155e34,5.984095e34,5.994036e34,6.003976e34,6.0139167e34,6.023857e34,6.033797e34,6.0437377e34,6.053678e34,6.0636185e34,6.0735586e34,6.083499e34,6.0934395e34,6.1033796e34,6.1133203e34,6.1232604e34,6.1332006e34,6.1431413e34,6.1530814e34,6.163022e34,6.1729623e34,6.1829024e34,6.192843e34,6.202783e34,6.212724e34,6.222664e34,6.232604e34,6.242545e34,6.252485e34,6.262425e34,6.272366e34,6.282306e34,6.2922467e34,6.302187e34,6.312127e34,6.3220677e34,6.332008e34,6.3419485e34,6.3518887e34,6.361829e34,6.3717695e34,6.3817096e34,6.3916503e34,6.4015905e34,6.4115306e34,6.4214713e34,6.4314115e34,6.441352e34,6.4512923e34,6.4612324e34,6.471173e34,6.4811133e34,6.491054e34,6.500994e34,6.510934e34,6.520875e34,6.530815e34,6.540755e34,6.550696e34,6.560636e34,6.5705767e34,6.580517e34,6.590457e34,6.6003977e34,6.610338e34,6.6202785e34,6.6302187e34,6.640159e34,6.6500995e34,6.6600397e34,6.6699803e34,6.6799205e34,6.6898607e34,6.6998013e34,6.7097415e34,6.719682e34,6.7296223e34,6.7395625e34,6.749503e34,6.7594433e34,6.769384e34,6.779324e34,6.7892643e34,6.799205e34,6.809145e34,6.8190853e34,6.829026e34,6.838966e34,6.8489067e34,6.858847e34,6.868787e34,6.8787277e34,6.888668e34,6.8986085e34,6.9085487e34,6.918489e34,6.9284295e34,6.9383697e34,6.9483103e34,6.9582505e34,6.9681907e34,6.9781313e34,6.9880715e34,6.998012e34,7.0079523e34,7.0178925e34,7.027833e34,7.0377733e34,7.047714e34,7.057654e34,7.0675943e34,7.077535e34,7.087475e34,7.0974153e34,7.107356e34,7.117296e34,7.127237e34,7.137177e34,7.147117e34,7.1570577e34,7.166998e34,7.1769386e34,7.1868787e34,7.196819e34,7.2067595e34,7.2166997e34,7.2266404e34,7.2365805e34,7.2465207e34,7.2564614e34,7.2664015e34,7.276342e34,7.2862823e34,7.2962225e34,7.306163e34,7.3161033e34,7.326044e34,7.335984e34,7.3459243e34,7.355865e34,7.365805e34,7.3757453e34,7.385686e34,7.395626e34,7.405567e34,7.415507e34,7.425447e34,7.435388e34,7.445328e34,7.4552686e34,7.4652087e34,7.475149e34,7.4850896e34,7.4950297e34,7.5049704e34,7.5149106e34,7.5248507e34,7.5347914e34,7.5447315e34,7.554672e34,7.5646124e34,7.5745525e34,7.584493e34,7.5944333e34,7.604374e34,7.614314e34,7.6242543e34,7.634195e34,7.644135e34,7.6540753e34,7.664016e34,7.673956e34,7.683897e34,7.693837e34,7.703777e34,7.713718e34,7.723658e34,7.7335986e34,7.743539e34,7.753479e34,7.7634196e34,7.7733598e34,7.7833004e34,7.7932406e34,7.8031807e34,7.8131214e34,7.8230616e34,7.833002e34,7.8429424e34,7.8528825e34,7.862823e34,7.8727634e34,7.882704e34,7.892644e34,7.9025843e34,7.912525e34,7.922465e34,7.9324053e34,7.942346e34,7.952286e34,7.962227e34,7.972167e34,7.982107e34,7.992048e34,8.001988e34,8.0119286e34,8.021869e34,8.031809e34,8.0417496e34,8.05169e34,8.0616304e34,8.0715706e34,8.081511e34,8.0914514e34,8.1013916e34,8.111332e34,8.1212724e34,8.1312126e34,8.141153e34,8.1510934e34,8.161034e34,8.170974e34,8.1809144e34,8.190855e34,8.200795e34,8.2107354e34,8.220676e34,8.230616e34,8.240557e34,8.250497e34,8.260437e34,8.270378e34,8.280318e34,8.2902586e34,8.300199e34,8.310139e34,8.320079e34,8.33002e34,8.33996e34,8.349901e34,8.359841e34,8.369781e34,8.379722e34,8.389662e34,8.399602e34,8.409543e34,8.419483e34,8.429424e34,8.439364e34,8.449304e34,8.459244e34,8.469185e34,8.479126e34,8.489066e34,8.499006e34,8.508946e34,8.518886e34,8.528828e34,8.538768e34,8.548708e34,8.558648e34,8.568588e34,8.578529e34,8.588469e34,8.59841e34,8.60835e34,8.61829e34,8.62823e34,8.638171e34,8.648111e34,8.658052e34,8.667992e34,8.677932e34,8.687873e34,8.697813e34,8.707753e34,8.717694e34,8.727634e34,8.737575e34,8.747515e34,8.757455e34,8.767395e34,8.777336e34,8.787277e34,8.797217e34,8.807157e34,8.817097e34,8.827037e34,8.836979e34,8.846919e34,8.856859e34,8.866799e34,8.876739e34,8.88668e34,8.89662e34,8.906561e34,8.916501e34,8.926441e34,8.936382e34,8.946322e34,8.956262e34,8.966203e34,8.976143e34,8.986084e34,8.996024e34,9.005964e34,9.015904e34,9.025845e34,9.035786e34,9.045726e34,9.055666e34,9.065606e34,9.075546e34,9.085488e34,9.095428e34,9.105368e34,9.115308e34,9.125248e34,9.135188e34,9.14513e34,9.15507e34,9.16501e34,9.17495e34,9.18489e34,9.194831e34,9.2047715e34,9.214712e34,9.224652e34,9.234592e34,9.244533e34,9.254473e34,9.264413e34,9.274354e34,9.284294e34,9.294235e34,9.304175e34,9.314115e34,9.324055e34,9.333996e34,9.343937e34,9.353877e34,9.363817e34,9.373757e34,9.383697e34,9.393639e34,9.403579e34,9.413519e34,9.423459e34,9.433399e34,9.44334e34,9.453281e34,9.463221e34,9.473161e34,9.483101e34,9.493042e34,9.502982e34,9.5129225e34,9.522863e34,9.532803e34,9.542744e34,9.552684e34,9.562624e34,9.572564e34,9.582505e34,9.592446e34,9.602386e34,9.612326e34,9.622266e34,9.632206e34,9.642148e34,9.652088e34,9.662028e34,9.671968e34,9.681908e34,9.691848e34,9.70179e34,9.71173e34,9.72167e34,9.73161e34,9.74155e34,9.751491e34,9.761432e34,9.771372e34,9.781312e34,9.791252e34,9.801193e34,9.811133e34,9.821074e34,9.831014e34,9.840954e34,9.850895e34,9.860835e34,9.870775e34,9.880715e34,9.890656e34,9.900597e34,9.910537e34,9.920477e34,9.930417e34,9.940357e34,9.950299e34,9.960239e34,9.970179e34,9.980119e34,9.990059e34,1.0e35],"x":[1.0e20,9.940358e31,1.9880715e32,2.9821074e32,3.976143e32,4.9701788e32,5.964215e32,6.9582505e32,7.952286e32,8.946322e32,9.9403575e32,1.0934394e33,1.192843e33,1.2922465e33,1.3916501e33,1.4910537e33,1.5904572e33,1.6898609e33,1.7892644e33,1.888668e33,1.9880715e33,2.0874752e33,2.1868788e33,2.2862823e33,2.385686e33,2.4850894e33,2.584493e33,2.6838967e33,2.7833002e33,2.8827037e33,2.9821075e33,3.081511e33,3.1809145e33,3.280318e33,3.3797218e33,3.4791253e33,3.5785287e33,3.6779325e33,3.777336e33,3.8767395e33,3.976143e33,4.0755468e33,4.1749503e33,4.2743538e33,4.3737576e33,4.473161e33,4.5725646e33,4.671968e33,4.771372e33,4.8707754e33,4.970179e33,5.0695826e33,5.168986e33,5.26839e33,5.3677934e33,5.467197e33,5.5666004e33,5.666004e33,5.7654074e33,5.864811e33,5.964215e33,6.0636185e33,6.163022e33,6.2624255e33,6.361829e33,6.4612324e33,6.560636e33,6.66004e33,6.7594435e33,6.858847e33,6.9582505e33,7.057654e33,7.1570575e33,7.256461e33,7.355865e33,7.4552686e33,7.554672e33,7.6540756e33,7.753479e33,7.8528825e33,7.952286e33,8.05169e33,8.1510936e33,8.250497e33,8.3499006e33,8.449304e33,8.5487076e33,8.648111e33,8.747515e33,8.8469187e33,8.946322e33,9.0457257e33,9.145129e33,9.2445326e33,9.343936e33,9.44334e33,9.542744e33,9.642147e33,9.741551e33,9.840954e33,9.940358e33,1.0039761e34,1.0139165e34,1.0238569e34,1.0337972e34,1.0437376e34,1.053678e34,1.0636183e34,1.0735587e34,1.083499e34,1.0934394e34,1.1033797e34,1.1133201e34,1.1232605e34,1.1332008e34,1.1431412e34,1.1530815e34,1.1630219e34,1.1729622e34,1.1829026e34,1.192843e34,1.2027833e34,1.2127237e34,1.222664e34,1.2326044e34,1.2425447e34,1.2524851e34,1.2624255e34,1.2723658e34,1.2823062e34,1.2922465e34,1.3021869e34,1.3121272e34,1.3220676e34,1.332008e34,1.3419483e34,1.3518887e34,1.361829e34,1.3717694e34,1.3817097e34,1.3916501e34,1.4015905e34,1.4115308e34,1.4214712e34,1.4314115e34,1.4413519e34,1.4512922e34,1.4612326e34,1.471173e34,1.4811133e34,1.4910537e34,1.500994e34,1.5109344e34,1.5208747e34,1.5308151e34,1.5407555e34,1.5506958e34,1.5606362e34,1.5705765e34,1.5805169e34,1.5904572e34,1.6003976e34,1.610338e34,1.6202783e34,1.6302187e34,1.640159e34,1.6500994e34,1.6600397e34,1.6699801e34,1.6799205e34,1.6898608e34,1.6998012e34,1.7097415e34,1.7196819e34,1.7296222e34,1.7395626e34,1.749503e34,1.7594433e34,1.7693837e34,1.779324e34,1.7892644e34,1.7992047e34,1.8091451e34,1.8190855e34,1.8290258e34,1.8389662e34,1.8489065e34,1.858847e34,1.8687872e34,1.8787276e34,1.888668e34,1.8986083e34,1.9085487e34,1.918489e34,1.9284294e34,1.9383697e34,1.9483101e34,1.9582506e34,1.9681908e34,1.9781313e34,1.9880715e34,1.998012e34,2.0079522e34,2.0178926e34,2.027833e34,2.0377733e34,2.0477138e34,2.057654e34,2.0675945e34,2.0775347e34,2.0874752e34,2.0974156e34,2.107356e34,2.1172961e34,2.1272365e34,2.137177e34,2.1471174e34,2.1570575e34,2.166998e34,2.1769384e34,2.1868788e34,2.1968192e34,2.2067593e34,2.2166998e34,2.2266402e34,2.2365806e34,2.246521e34,2.2564611e34,2.2664016e34,2.276342e34,2.2862824e34,2.2962225e34,2.306163e34,2.3161034e34,2.3260438e34,2.3359842e34,2.3459244e34,2.3558648e34,2.3658052e34,2.3757456e34,2.385686e34,2.3956262e34,2.4055666e34,2.415507e34,2.4254474e34,2.4353876e34,2.445328e34,2.4552684e34,2.4652088e34,2.4751492e34,2.4850894e34,2.4950298e34,2.5049702e34,2.5149106e34,2.524851e34,2.5347912e34,2.5447316e34,2.554672e34,2.5646124e34,2.5745526e34,2.584493e34,2.5944334e34,2.6043738e34,2.6143142e34,2.6242544e34,2.6341948e34,2.6441352e34,2.6540756e34,2.664016e34,2.6739562e34,2.6838966e34,2.693837e34,2.7037774e34,2.7137176e34,2.723658e34,2.7335984e34,2.7435388e34,2.7534792e34,2.7634194e34,2.7733598e34,2.7833002e34,2.7932406e34,2.803181e34,2.8131212e34,2.8230616e34,2.833002e34,2.8429424e34,2.8528826e34,2.862823e34,2.8727634e34,2.8827038e34,2.8926442e34,2.9025844e34,2.9125248e34,2.9224652e34,2.9324056e34,2.942346e34,2.9522862e34,2.9622266e34,2.972167e34,2.9821074e34,2.9920476e34,3.001988e34,3.0119284e34,3.0218688e34,3.0318092e34,3.0417494e34,3.0516898e34,3.0616302e34,3.0715706e34,3.081511e34,3.0914512e34,3.1013916e34,3.111332e34,3.1212724e34,3.1312126e34,3.141153e34,3.1510934e34,3.1610338e34,3.1709742e34,3.1809144e34,3.1908548e34,3.2007952e34,3.2107356e34,3.220676e34,3.2306162e34,3.2405566e34,3.250497e34,3.2604375e34,3.2703776e34,3.280318e34,3.2902584e34,3.3001988e34,3.3101393e34,3.3200794e34,3.3300198e34,3.3399602e34,3.3499007e34,3.359841e34,3.3697812e34,3.3797216e34,3.389662e34,3.3996025e34,3.4095426e34,3.419483e34,3.4294234e34,3.4393639e34,3.4493043e34,3.4592444e34,3.4691848e34,3.4791253e34,3.4890657e34,3.499006e34,3.5089462e34,3.5188867e34,3.528827e34,3.5387675e34,3.5487076e34,3.558648e34,3.5685885e34,3.5785289e34,3.5884693e34,3.5984094e34,3.6083499e34,3.6182903e34,3.6282307e34,3.638171e34,3.6481113e34,3.6580517e34,3.667992e34,3.6779325e34,3.6878726e34,3.697813e34,3.7077535e34,3.717694e34,3.7276343e34,3.7375745e34,3.7475149e34,3.7574553e34,3.7673957e34,3.777336e34,3.7872763e34,3.7972167e34,3.807157e34,3.8170975e34,3.8270377e34,3.836978e34,3.8469185e34,3.856859e34,3.8667993e34,3.8767395e34,3.8866799e34,3.8966203e34,3.9065607e34,3.916501e34,3.9264413e34,3.9363817e34,3.946322e34,3.9562625e34,3.9662027e34,3.976143e34,3.9860835e34,3.996024e34,4.0059643e34,4.0159045e34,4.025845e34,4.0357853e34,4.0457257e34,4.055666e34,4.0656063e34,4.0755467e34,4.085487e34,4.0954275e34,4.1053677e34,4.115308e34,4.1252485e34,4.135189e34,4.1451293e34,4.1550695e34,4.16501e34,4.1749503e34,4.1848905e34,4.194831e34,4.2047713e34,4.214712e34,4.224652e34,4.2345923e34,4.244533e34,4.254473e34,4.264414e34,4.274354e34,4.284294e34,4.2942347e34,4.304175e34,4.314115e34,4.3240557e34,4.333996e34,4.3439365e34,4.3538767e34,4.363817e34,4.3737575e34,4.3836977e34,4.3936384e34,4.4035785e34,4.4135187e34,4.4234593e34,4.4333995e34,4.44334e34,4.4532803e34,4.4632205e34,4.473161e34,4.4831013e34,4.493042e34,4.502982e34,4.5129223e34,4.522863e34,4.532803e34,4.542744e34,4.552684e34,4.562624e34,4.572565e34,4.582505e34,4.592445e34,4.6023857e34,4.612326e34,4.6222666e34,4.6322067e34,4.642147e34,4.6520876e34,4.6620277e34,4.6719684e34,4.6819085e34,4.6918487e34,4.7017894e34,4.7117295e34,4.72167e34,4.7316103e34,4.7415505e34,4.751491e34,4.7614313e34,4.771372e34,4.781312e34,4.7912523e34,4.801193e34,4.811133e34,4.821074e34,4.831014e34,4.840954e34,4.850895e34,4.860835e34,4.870775e34,4.880716e34,4.890656e34,4.9005966e34,4.910537e34,4.920477e34,4.9304176e34,4.9403577e34,4.9502984e34,4.9602386e34,4.9701787e34,4.9801194e34,4.9900595e34,5.0e34,5.0099404e34,5.0198805e34,5.029821e34,5.0397614e34,5.049702e34,5.059642e34,5.0695823e34,5.079523e34,5.089463e34,5.099404e34,5.109344e34,5.119284e34,5.129225e34,5.139165e34,5.149105e34,5.159046e34,5.168986e34,5.1789266e34,5.188867e34,5.198807e34,5.2087476e34,5.218688e34,5.2286284e34,5.2385686e34,5.2485087e34,5.2584494e34,5.2683896e34,5.27833e34,5.2882704e34,5.2982106e34,5.308151e34,5.3180914e34,5.328032e34,5.337972e34,5.3479124e34,5.357853e34,5.367793e34,5.377734e34,5.387674e34,5.397614e34,5.407555e34,5.417495e34,5.427435e34,5.437376e34,5.447316e34,5.4572566e34,5.467197e34,5.477137e34,5.4870776e34,5.497018e34,5.5069584e34,5.5168986e34,5.526839e34,5.5367794e34,5.5467196e34,5.55666e34,5.5666004e34,5.5765406e34,5.586481e34,5.5964214e34,5.606362e34,5.616302e34,5.6262424e34,5.636183e34,5.646123e34,5.656064e34,5.666004e34,5.675944e34,5.685885e34,5.695825e34,5.705765e34,5.715706e34,5.725646e34,5.7355867e34,5.745527e34,5.755467e34,5.7654076e34,5.775348e34,5.7852885e34,5.7952286e34,5.805169e34,5.8151094e34,5.8250496e34,5.8349903e34,5.8449304e34,5.8548706e34,5.8648113e34,5.8747514e34,5.884692e34,5.894632e34,5.9045724e34,5.914513e34,5.924453e34,5.934394e34,5.944334e34,5.954274e34,5.964215e34,5.974155e34,5.984095e34,5.994036e34,6.003976e34,6.0139167e34,6.023857e34,6.033797e34,6.0437377e34,6.053678e34,6.0636185e34,6.0735586e34,6.083499e34,6.0934395e34,6.1033796e34,6.1133203e34,6.1232604e34,6.1332006e34,6.1431413e34,6.1530814e34,6.163022e34,6.1729623e34,6.1829024e34,6.192843e34,6.202783e34,6.212724e34,6.222664e34,6.232604e34,6.242545e34,6.252485e34,6.262425e34,6.272366e34,6.282306e34,6.2922467e34,6.302187e34,6.312127e34,6.3220677e34,6.332008e34,6.3419485e34,6.3518887e34,6.361829e34,6.3717695e34,6.3817096e34,6.3916503e34,6.4015905e34,6.4115306e34,6.4214713e34,6.4314115e34,6.441352e34,6.4512923e34,6.4612324e34,6.471173e34,6.4811133e34,6.491054e34,6.500994e34,6.510934e34,6.520875e34,6.530815e34,6.540755e34,6.550696e34,6.560636e34,6.5705767e34,6.580517e34,6.590457e34,6.6003977e34,6.610338e34,6.6202785e34,6.6302187e34,6.640159e34,6.6500995e34,6.6600397e34,6.6699803e34,6.6799205e34,6.6898607e34,6.6998013e34,6.7097415e34,6.719682e34,6.7296223e34,6.7395625e34,6.749503e34,6.7594433e34,6.769384e34,6.779324e34,6.7892643e34,6.799205e34,6.809145e34,6.8190853e34,6.829026e34,6.838966e34,6.8489067e34,6.858847e34,6.868787e34,6.8787277e34,6.888668e34,6.8986085e34,6.9085487e34,6.918489e34,6.9284295e34,6.9383697e34,6.9483103e34,6.9582505e34,6.9681907e34,6.9781313e34,6.9880715e34,6.998012e34,7.0079523e34,7.0178925e34,7.027833e34,7.0377733e34,7.047714e34,7.057654e34,7.0675943e34,7.077535e34,7.087475e34,7.0974153e34,7.107356e34,7.117296e34,7.127237e34,7.137177e34,7.147117e34,7.1570577e34,7.166998e34,7.1769386e34,7.1868787e34,7.196819e34,7.2067595e34,7.2166997e34,7.2266404e34,7.2365805e34,7.2465207e34,7.2564614e34,7.2664015e34,7.276342e34,7.2862823e34,7.2962225e34,7.306163e34,7.3161033e34,7.326044e34,7.335984e34,7.3459243e34,7.355865e34,7.365805e34,7.3757453e34,7.385686e34,7.395626e34,7.405567e34,7.415507e34,7.425447e34,7.435388e34,7.445328e34,7.4552686e34,7.4652087e34,7.475149e34,7.4850896e34,7.4950297e34,7.5049704e34,7.5149106e34,7.5248507e34,7.5347914e34,7.5447315e34,7.554672e34,7.5646124e34,7.5745525e34,7.584493e34,7.5944333e34,7.604374e34,7.614314e34,7.6242543e34,7.634195e34,7.644135e34,7.6540753e34,7.664016e34,7.673956e34,7.683897e34,7.693837e34,7.703777e34,7.713718e34,7.723658e34,7.7335986e34,7.743539e34,7.753479e34,7.7634196e34,7.7733598e34,7.7833004e34,7.7932406e34,7.8031807e34,7.8131214e34,7.8230616e34,7.833002e34,7.8429424e34,7.8528825e34,7.862823e34,7.8727634e34,7.882704e34,7.892644e34,7.9025843e34,7.912525e34,7.922465e34,7.9324053e34,7.942346e34,7.952286e34,7.962227e34,7.972167e34,7.982107e34,7.992048e34,8.001988e34,8.0119286e34,8.021869e34,8.031809e34,8.0417496e34,8.05169e34,8.0616304e34,8.0715706e34,8.081511e34,8.0914514e34,8.1013916e34,8.111332e34,8.1212724e34,8.1312126e34,8.141153e34,8.1510934e34,8.161034e34,8.170974e34,8.1809144e34,8.190855e34,8.200795e34,8.2107354e34,8.220676e34,8.230616e34,8.240557e34,8.250497e34,8.260437e34,8.270378e34,8.280318e34,8.2902586e34,8.300199e34,8.310139e34,8.320079e34,8.33002e34,8.33996e34,8.349901e34,8.359841e34,8.369781e34,8.379722e34,8.389662e34,8.399602e34,8.409543e34,8.419483e34,8.429424e34,8.439364e34,8.449304e34,8.459244e34,8.469185e34,8.479126e34,8.489066e34,8.499006e34,8.508946e34,8.518886e34,8.528828e34,8.538768e34,8.548708e34,8.558648e34,8.568588e34,8.578529e34,8.588469e34,8.59841e34,8.60835e34,8.61829e34,8.62823e34,8.638171e34,8.648111e34,8.658052e34,8.667992e34,8.677932e34,8.687873e34,8.697813e34,8.707753e34,8.717694e34,8.727634e34,8.737575e34,8.747515e34,8.757455e34,8.767395e34,8.777336e34,8.787277e34,8.797217e34,8.807157e34,8.817097e34,8.827037e34,8.836979e34,8.846919e34,8.856859e34,8.866799e34,8.876739e34,8.88668e34,8.89662e34,8.906561e34,8.916501e34,8.926441e34,8.936382e34,8.946322e34,8.956262e34,8.966203e34,8.976143e34,8.986084e34,8.996024e34,9.005964e34,9.015904e34,9.025845e34,9.035786e34,9.045726e34,9.055666e34,9.065606e34,9.075546e34,9.085488e34,9.095428e34,9.105368e34,9.115308e34,9.125248e34,9.135188e34,9.14513e34,9.15507e34,9.16501e34,9.17495e34,9.18489e34,9.194831e34,9.2047715e34,9.214712e34,9.224652e34,9.234592e34,9.244533e34,9.254473e34,9.264413e34,9.274354e34,9.284294e34,9.294235e34,9.304175e34,9.314115e34,9.324055e34,9.333996e34,9.343937e34,9.353877e34,9.363817e34,9.373757e34,9.383697e34,9.393639e34,9.403579e34,9.413519e34,9.423459e34,9.433399e34,9.44334e34,9.453281e34,9.463221e34,9.473161e34,9.483101e34,9.493042e34,9.502982e34,9.5129225e34,9.522863e34,9.532803e34,9.542744e34,9.552684e34,9.562624e34,9.572564e34,9.582505e34,9.592446e34,9.602386e34,9.612326e34,9.622266e34,9.632206e34,9.642148e34,9.652088e34,9.662028e34,9.671968e34,9.681908e34,9.691848e34,9.70179e34,9.71173e34,9.72167e34,9.73161e34,9.74155e34,9.751491e34,9.761432e34,9.771372e34,9.781312e34,9.791252e34,9.801193e34,9.811133e34,9.821074e34,9.831014e34,9.840954e34,9.850895e34,9.860835e34,9.870775e34,9.880715e34,9.890656e34,9.900597e34,9.910537e34,9.920477e34,9.930417e34,9.940357e34,9.950299e34,9.960239e34,9.970179e34,9.980119e34,9.990059e34,1.0e35]} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/medium.json b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/medium.json new file mode 100644 index 000000000000..85f59fe63ef9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/medium.json @@ -0,0 +1 @@ +{"frac":[-0.0,-0.003967285,-0.0079956055,-0.011962891,-0.015991211,-0.019958496,-0.023925781,-0.027954102,-0.031921387,-0.035949707,-0.039916992,-0.043884277,-0.047912598,-0.051879883,-0.055908203,-0.05987549,-0.06384277,-0.067871094,-0.07183838,-0.0758667,-0.079833984,-0.083862305,-0.08782959,-0.091796875,-0.095825195,-0.09979248,-0.1038208,-0.107788086,-0.11175537,-0.11578369,-0.11975098,-0.1237793,-0.12774658,-0.13171387,-0.13574219,-0.13970947,-0.1437378,-0.14770508,-0.15167236,-0.15570068,-0.15966797,-0.16369629,-0.16766357,-0.17163086,-0.17565918,-0.17962646,-0.18365479,-0.18762207,-0.19158936,-0.19561768,-0.19958496,-0.20361328,-0.20758057,-0.21154785,-0.21557617,-0.21954346,-0.22357178,-0.22753906,-0.23156738,-0.23553467,-0.23950195,-0.24353027,-0.24749756,-0.25152588,-0.25549316,-0.25946045,-0.26348877,-0.26745605,-0.27148438,-0.27545166,-0.27941895,-0.28344727,-0.28741455,-0.29144287,-0.29541016,-0.29937744,-0.30340576,-0.30737305,-0.31140137,-0.31536865,-0.31933594,-0.32336426,-0.32733154,-0.33135986,-0.33532715,-0.33929443,-0.34332275,-0.34729004,-0.35131836,-0.35528564,-0.35925293,-0.36328125,-0.36724854,-0.37127686,-0.37524414,-0.37921143,-0.38323975,-0.38720703,-0.39123535,-0.39520264,-0.39923096,-0.40319824,-0.40716553,-0.41119385,-0.41516113,-0.41918945,-0.42315674,-0.42712402,-0.43115234,-0.43511963,-0.43914795,-0.44311523,-0.44708252,-0.45111084,-0.45507812,-0.45910645,-0.46307373,-0.46704102,-0.47106934,-0.47503662,-0.47906494,-0.48303223,-0.4869995,-0.49102783,-0.49499512,-0.49902344,-0.5029907,-0.506958,-0.5109863,-0.5149536,-0.51898193,-0.5229492,-0.5269165,-0.5309448,-0.5349121,-0.5389404,-0.5429077,-0.54693604,-0.5509033,-0.5548706,-0.5588989,-0.5628662,-0.56689453,-0.5708618,-0.5748291,-0.5788574,-0.5828247,-0.586853,-0.5908203,-0.5947876,-0.5988159,-0.6027832,-0.6068115,-0.6107788,-0.6147461,-0.6187744,-0.6227417,-0.62677,-0.6307373,-0.6347046,-0.6387329,-0.6427002,-0.6467285,-0.6506958,-0.6546631,-0.6586914,-0.6626587,-0.666687,-0.6706543,-0.6746216,-0.6786499,-0.6826172,-0.6866455,-0.6906128,-0.6946411,-0.6986084,-0.7025757,-0.706604,-0.7105713,-0.7145996,-0.7185669,-0.7225342,-0.7265625,-0.7305298,-0.7345581,-0.7385254,-0.7424927,-0.746521,-0.7504883,-0.7545166,-0.7584839,-0.7624512,-0.7664795,-0.7704468,-0.7744751,-0.7784424,-0.78240967,-0.786438,-0.7904053,-0.7944336,-0.7984009,-0.80236816,-0.8063965,-0.81036377,-0.8143921,-0.8183594,-0.82232666,-0.826355,-0.83032227,-0.8343506,-0.8383179,-0.84228516,-0.8463135,-0.85028076,-0.8543091,-0.85827637,-0.8623047,-0.866272,-0.87023926,-0.8742676,-0.87823486,-0.8822632,-0.88623047,-0.89019775,-0.8942261,-0.89819336,-0.9022217,-0.90618896,-0.91015625,-0.9141846,-0.91815186,-0.9221802,-0.92614746,-0.93011475,-0.93414307,-0.93811035,-0.9421387,-0.94610596,-0.95007324,-0.95410156,-0.95806885,-0.96209717,-0.96606445,-0.97003174,-0.97406006,-0.97805786,-0.98202515,-0.98602295,-0.99002075,-0.99401855,-0.99801636,-0.0019836426,-0.0059814453,-0.009979248,-0.013977051,-0.017974854,-0.021942139,-0.025939941,-0.029937744,-0.033935547,-0.03793335,-0.041931152,-0.045898438,-0.04989624,-0.053894043,-0.057891846,-0.06188965,-0.06585693,-0.06985474,-0.07385254,-0.07785034,-0.081848145,-0.08581543,-0.08981323,-0.093811035,-0.09780884,-0.10180664,-0.105773926,-0.10977173,-0.11376953,-0.117767334,-0.12176514,-0.12576294,-0.12973022,-0.13372803,-0.13772583,-0.14172363,-0.14572144,-0.14968872,-0.15368652,-0.15768433,-0.16168213,-0.16567993,-0.16964722,-0.17364502,-0.17764282,-0.18164062,-0.18563843,-0.18960571,-0.19360352,-0.19760132,-0.20159912,-0.20559692,-0.20959473,-0.21356201,-0.21755981,-0.22155762,-0.22555542,-0.22955322,-0.23352051,-0.23751831,-0.24151611,-0.24551392,-0.24951172,-0.253479,-0.2574768,-0.2614746,-0.2654724,-0.2694702,-0.27346802,-0.2774353,-0.2814331,-0.2854309,-0.2894287,-0.2934265,-0.2973938,-0.3013916,-0.3053894,-0.3093872,-0.313385,-0.3173523,-0.3213501,-0.3253479,-0.3293457,-0.3333435,-0.3373108,-0.3413086,-0.3453064,-0.3493042,-0.353302,-0.3572998,-0.3612671,-0.3652649,-0.3692627,-0.3732605,-0.3772583,-0.3812256,-0.3852234,-0.3892212,-0.393219,-0.3972168,-0.40118408,-0.40518188,-0.4091797,-0.4131775,-0.4171753,-0.42114258,-0.42514038,-0.42913818,-0.433136,-0.4371338,-0.4411316,-0.44509888,-0.44909668,-0.45309448,-0.4570923,-0.4610901,-0.46505737,-0.46905518,-0.47305298,-0.47705078,-0.48104858,-0.48501587,-0.48902893,-0.49301147,-0.49700928,-0.5009918,-0.5049896,-0.5089874,-0.51297,-0.5169678,-0.5209656,-0.5249481,-0.5289459,-0.53292847,-0.53692627,-0.5409241,-0.5449066,-0.5489044,-0.55288696,-0.55688477,-0.56088257,-0.5648651,-0.5688629,-0.5728607,-0.57684326,-0.58084106,-0.5848236,-0.5888214,-0.5928192,-0.59680176,-0.60079956,-0.60479736,-0.6087799,-0.6127777,-0.61676025,-0.62075806,-0.62475586,-0.6287384,-0.6327362,-0.636734,-0.64071655,-0.64471436,-0.6486969,-0.6526947,-0.6566925,-0.66067505,-0.66467285,-0.6686554,-0.6726532,-0.676651,-0.68063354,-0.68463135,-0.68862915,-0.6926117,-0.6966095,-0.70059204,-0.70458984,-0.70858765,-0.7125702,-0.716568,-0.7205658,-0.72454834,-0.72854614,-0.7325287,-0.7365265,-0.7405243,-0.74451447,-0.74850464,-0.7524948,-0.756485,-0.7604828,-0.76447296,-0.76846313,-0.7724533,-0.7764435,-0.7804413,-0.78443146,-0.78842163,-0.7924118,-0.7964096,-0.8003998,-0.80438995,-0.8083801,-0.8123779,-0.8163681,-0.8203583,-0.82434845,-0.82834625,-0.8323364,-0.8363266,-0.8403168,-0.8443146,-0.84830475,-0.8522949,-0.8562851,-0.8602829,-0.8642731,-0.86826324,-0.87225723,-0.8762474,-0.8802414,-0.88423157,-0.88822174,-0.8922157,-0.8962059,-0.9001999,-0.90419006,-0.90818405,-0.9121742,-0.9161682,-0.9201584,-0.9241524,-0.92814255,-0.93213654,-0.9361286,-0.9401207,-0.9441109,-0.94810295,-0.95209503,-0.9560871,-0.9600792,-0.9640713,-0.9680643,-0.97205544,-0.9760475,-0.9800396,-0.98403215,-0.98802376,-0.9920161,-0.99600804,0.0,0.99600804,0.9920161,0.98802376,0.98403215,0.9800396,0.9760475,0.97205544,0.9680643,0.9640713,0.9600792,0.9560871,0.95209503,0.94810295,0.9441109,0.9401207,0.9361286,0.93213654,0.92814255,0.9241524,0.9201584,0.9161682,0.9121742,0.90818405,0.90419006,0.9001999,0.8962059,0.8922157,0.88822174,0.88423157,0.8802414,0.8762474,0.87225723,0.86826324,0.8642731,0.8602829,0.8562851,0.8522949,0.84830475,0.8443146,0.8403168,0.8363266,0.8323364,0.82834625,0.82434845,0.8203583,0.8163681,0.8123779,0.8083801,0.80438995,0.8003998,0.7964096,0.7924118,0.78842163,0.78443146,0.7804413,0.7764435,0.7724533,0.76846313,0.76447296,0.7604828,0.756485,0.7524948,0.74850464,0.74451447,0.7405243,0.7365265,0.7325287,0.72854614,0.72454834,0.7205658,0.716568,0.7125702,0.70858765,0.70458984,0.70059204,0.6966095,0.6926117,0.68862915,0.68463135,0.68063354,0.676651,0.6726532,0.6686554,0.66467285,0.66067505,0.6566925,0.6526947,0.6486969,0.64471436,0.64071655,0.636734,0.6327362,0.6287384,0.62475586,0.62075806,0.61676025,0.6127777,0.6087799,0.60479736,0.60079956,0.59680176,0.5928192,0.5888214,0.5848236,0.58084106,0.57684326,0.5728607,0.5688629,0.5648651,0.56088257,0.55688477,0.55288696,0.5489044,0.5449066,0.5409241,0.53692627,0.53292847,0.5289459,0.5249481,0.5209656,0.5169678,0.51297,0.5089874,0.5049896,0.5009918,0.49700928,0.49301147,0.48902893,0.48501587,0.48104858,0.47705078,0.47305298,0.46905518,0.46505737,0.4610901,0.4570923,0.45309448,0.44909668,0.44509888,0.4411316,0.4371338,0.433136,0.42913818,0.42514038,0.42114258,0.4171753,0.4131775,0.4091797,0.40518188,0.40118408,0.3972168,0.393219,0.3892212,0.3852234,0.3812256,0.3772583,0.3732605,0.3692627,0.3652649,0.3612671,0.3572998,0.353302,0.3493042,0.3453064,0.3413086,0.3373108,0.3333435,0.3293457,0.3253479,0.3213501,0.3173523,0.313385,0.3093872,0.3053894,0.3013916,0.2973938,0.2934265,0.2894287,0.2854309,0.2814331,0.2774353,0.27346802,0.2694702,0.2654724,0.2614746,0.2574768,0.253479,0.24951172,0.24551392,0.24151611,0.23751831,0.23352051,0.22955322,0.22555542,0.22155762,0.21755981,0.21356201,0.20959473,0.20559692,0.20159912,0.19760132,0.19360352,0.18960571,0.18563843,0.18164062,0.17764282,0.17364502,0.16964722,0.16567993,0.16168213,0.15768433,0.15368652,0.14968872,0.14572144,0.14172363,0.13772583,0.13372803,0.12973022,0.12576294,0.12176514,0.117767334,0.11376953,0.10977173,0.105773926,0.10180664,0.09780884,0.093811035,0.08981323,0.08581543,0.081848145,0.07785034,0.07385254,0.06985474,0.06585693,0.06188965,0.057891846,0.053894043,0.04989624,0.045898438,0.041931152,0.03793335,0.033935547,0.029937744,0.025939941,0.021942139,0.017974854,0.013977051,0.009979248,0.0059814453,0.0019836426,0.99801636,0.99401855,0.99002075,0.98602295,0.98202515,0.97805786,0.97406006,0.97003174,0.96606445,0.96209717,0.95806885,0.95410156,0.95007324,0.94610596,0.9421387,0.93811035,0.93414307,0.93011475,0.92614746,0.9221802,0.91815186,0.9141846,0.91015625,0.90618896,0.9022217,0.89819336,0.8942261,0.89019775,0.88623047,0.8822632,0.87823486,0.8742676,0.87023926,0.866272,0.8623047,0.85827637,0.8543091,0.85028076,0.8463135,0.84228516,0.8383179,0.8343506,0.83032227,0.826355,0.82232666,0.8183594,0.8143921,0.81036377,0.8063965,0.80236816,0.7984009,0.7944336,0.7904053,0.786438,0.78240967,0.7784424,0.7744751,0.7704468,0.7664795,0.7624512,0.7584839,0.7545166,0.7504883,0.746521,0.7424927,0.7385254,0.7345581,0.7305298,0.7265625,0.7225342,0.7185669,0.7145996,0.7105713,0.706604,0.7025757,0.6986084,0.6946411,0.6906128,0.6866455,0.6826172,0.6786499,0.6746216,0.6706543,0.666687,0.6626587,0.6586914,0.6546631,0.6506958,0.6467285,0.6427002,0.6387329,0.6347046,0.6307373,0.62677,0.6227417,0.6187744,0.6147461,0.6107788,0.6068115,0.6027832,0.5988159,0.5947876,0.5908203,0.586853,0.5828247,0.5788574,0.5748291,0.5708618,0.56689453,0.5628662,0.5588989,0.5548706,0.5509033,0.54693604,0.5429077,0.5389404,0.5349121,0.5309448,0.5269165,0.5229492,0.51898193,0.5149536,0.5109863,0.506958,0.5029907,0.49902344,0.49499512,0.49102783,0.4869995,0.48303223,0.47906494,0.47503662,0.47106934,0.46704102,0.46307373,0.45910645,0.45507812,0.45111084,0.44708252,0.44311523,0.43914795,0.43511963,0.43115234,0.42712402,0.42315674,0.41918945,0.41516113,0.41119385,0.40716553,0.40319824,0.39923096,0.39520264,0.39123535,0.38720703,0.38323975,0.37921143,0.37524414,0.37127686,0.36724854,0.36328125,0.35925293,0.35528564,0.35131836,0.34729004,0.34332275,0.33929443,0.33532715,0.33135986,0.32733154,0.32336426,0.31933594,0.31536865,0.31140137,0.30737305,0.30340576,0.29937744,0.29541016,0.29144287,0.28741455,0.28344727,0.27941895,0.27545166,0.27148438,0.26745605,0.26348877,0.25946045,0.25549316,0.25152588,0.24749756,0.24353027,0.23950195,0.23553467,0.23156738,0.22753906,0.22357178,0.21954346,0.21557617,0.21154785,0.20758057,0.20361328,0.19958496,0.19561768,0.19158936,0.18762207,0.18365479,0.17962646,0.17565918,0.17163086,0.16766357,0.16369629,0.15966797,0.15570068,0.15167236,0.14770508,0.1437378,0.13970947,0.13574219,0.13171387,0.12774658,0.1237793,0.11975098,0.11578369,0.11175537,0.107788086,0.1038208,0.09979248,0.095825195,0.091796875,0.08782959,0.083862305,0.079833984,0.0758667,0.07183838,0.067871094,0.06384277,0.05987549,0.055908203,0.051879883,0.047912598,0.043884277,0.039916992,0.035949707,0.031921387,0.027954102,0.023925781,0.019958496,0.015991211,0.011962891,0.0079956055,0.003967285,0.0],"integral":[-1000.0,-998.0,-996.0,-994.0,-992.0,-990.0,-988.0,-986.0,-984.0,-982.0,-980.0,-978.0,-976.0,-974.0,-972.0,-970.0,-968.0,-966.0,-964.0,-962.0,-960.0,-958.0,-956.0,-954.0,-952.0,-950.0,-948.0,-946.0,-944.0,-942.0,-940.0,-938.0,-936.0,-934.0,-932.0,-930.0,-928.0,-926.0,-924.0,-922.0,-920.0,-918.0,-916.0,-914.0,-912.0,-910.0,-908.0,-906.0,-904.0,-902.0,-900.0,-898.0,-896.0,-894.0,-892.0,-890.0,-888.0,-886.0,-884.0,-882.0,-880.0,-878.0,-876.0,-874.0,-872.0,-870.0,-868.0,-866.0,-864.0,-862.0,-860.0,-858.0,-856.0,-854.0,-852.0,-850.0,-848.0,-846.0,-844.0,-842.0,-840.0,-838.0,-836.0,-834.0,-832.0,-830.0,-828.0,-826.0,-824.0,-822.0,-820.0,-818.0,-816.0,-814.0,-812.0,-810.0,-808.0,-806.0,-804.0,-802.0,-800.0,-798.0,-796.0,-794.0,-792.0,-790.0,-788.0,-786.0,-784.0,-782.0,-780.0,-778.0,-776.0,-774.0,-772.0,-770.0,-768.0,-766.0,-764.0,-762.0,-760.0,-758.0,-756.0,-754.0,-752.0,-750.0,-748.0,-746.0,-744.0,-742.0,-740.0,-738.0,-736.0,-734.0,-732.0,-730.0,-728.0,-726.0,-724.0,-722.0,-720.0,-718.0,-716.0,-714.0,-712.0,-710.0,-708.0,-706.0,-704.0,-702.0,-700.0,-698.0,-696.0,-694.0,-692.0,-690.0,-688.0,-686.0,-684.0,-682.0,-680.0,-678.0,-676.0,-674.0,-672.0,-670.0,-668.0,-666.0,-664.0,-662.0,-660.0,-658.0,-656.0,-654.0,-652.0,-650.0,-648.0,-646.0,-644.0,-642.0,-640.0,-638.0,-636.0,-634.0,-632.0,-630.0,-628.0,-626.0,-624.0,-622.0,-620.0,-618.0,-616.0,-614.0,-612.0,-610.0,-608.0,-606.0,-604.0,-602.0,-600.0,-598.0,-596.0,-594.0,-592.0,-590.0,-588.0,-586.0,-584.0,-582.0,-580.0,-578.0,-576.0,-574.0,-572.0,-570.0,-568.0,-566.0,-564.0,-562.0,-560.0,-558.0,-556.0,-554.0,-552.0,-550.0,-548.0,-546.0,-544.0,-542.0,-540.0,-538.0,-536.0,-534.0,-532.0,-530.0,-528.0,-526.0,-524.0,-522.0,-520.0,-518.0,-516.0,-514.0,-512.0,-510.0,-508.0,-506.0,-504.0,-502.0,-500.0,-499.0,-497.0,-495.0,-493.0,-491.0,-489.0,-487.0,-485.0,-483.0,-481.0,-479.0,-477.0,-475.0,-473.0,-471.0,-469.0,-467.0,-465.0,-463.0,-461.0,-459.0,-457.0,-455.0,-453.0,-451.0,-449.0,-447.0,-445.0,-443.0,-441.0,-439.0,-437.0,-435.0,-433.0,-431.0,-429.0,-427.0,-425.0,-423.0,-421.0,-419.0,-417.0,-415.0,-413.0,-411.0,-409.0,-407.0,-405.0,-403.0,-401.0,-399.0,-397.0,-395.0,-393.0,-391.0,-389.0,-387.0,-385.0,-383.0,-381.0,-379.0,-377.0,-375.0,-373.0,-371.0,-369.0,-367.0,-365.0,-363.0,-361.0,-359.0,-357.0,-355.0,-353.0,-351.0,-349.0,-347.0,-345.0,-343.0,-341.0,-339.0,-337.0,-335.0,-333.0,-331.0,-329.0,-327.0,-325.0,-323.0,-321.0,-319.0,-317.0,-315.0,-313.0,-311.0,-309.0,-307.0,-305.0,-303.0,-301.0,-299.0,-297.0,-295.0,-293.0,-291.0,-289.0,-287.0,-285.0,-283.0,-281.0,-279.0,-277.0,-275.0,-273.0,-271.0,-269.0,-267.0,-265.0,-263.0,-261.0,-259.0,-257.0,-255.0,-253.0,-251.0,-249.0,-247.0,-245.0,-243.0,-241.0,-239.0,-237.0,-235.0,-233.0,-231.0,-229.0,-227.0,-225.0,-223.0,-221.0,-219.0,-217.0,-215.0,-213.0,-211.0,-209.0,-207.0,-205.0,-203.0,-201.0,-199.0,-197.0,-195.0,-193.0,-191.0,-189.0,-187.0,-185.0,-183.0,-181.0,-179.0,-177.0,-175.0,-173.0,-171.0,-169.0,-167.0,-165.0,-163.0,-161.0,-159.0,-157.0,-155.0,-153.0,-151.0,-149.0,-147.0,-145.0,-143.0,-141.0,-139.0,-137.0,-135.0,-133.0,-131.0,-129.0,-127.0,-125.0,-123.0,-121.0,-119.0,-117.0,-115.0,-113.0,-111.0,-109.0,-107.0,-105.0,-103.0,-101.0,-99.0,-97.0,-95.0,-93.0,-91.0,-89.0,-87.0,-85.0,-83.0,-81.0,-79.0,-77.0,-75.0,-73.0,-71.0,-69.0,-67.0,-65.0,-63.0,-61.0,-59.0,-57.0,-55.0,-53.0,-51.0,-49.0,-47.0,-45.0,-43.0,-41.0,-39.0,-37.0,-35.0,-33.0,-31.0,-29.0,-27.0,-25.0,-23.0,-21.0,-19.0,-17.0,-15.0,-13.0,-11.0,-9.0,-7.0,-5.0,-3.0,-1.0,0.0,1.0,3.0,5.0,7.0,9.0,11.0,13.0,15.0,17.0,19.0,21.0,23.0,25.0,27.0,29.0,31.0,33.0,35.0,37.0,39.0,41.0,43.0,45.0,47.0,49.0,51.0,53.0,55.0,57.0,59.0,61.0,63.0,65.0,67.0,69.0,71.0,73.0,75.0,77.0,79.0,81.0,83.0,85.0,87.0,89.0,91.0,93.0,95.0,97.0,99.0,101.0,103.0,105.0,107.0,109.0,111.0,113.0,115.0,117.0,119.0,121.0,123.0,125.0,127.0,129.0,131.0,133.0,135.0,137.0,139.0,141.0,143.0,145.0,147.0,149.0,151.0,153.0,155.0,157.0,159.0,161.0,163.0,165.0,167.0,169.0,171.0,173.0,175.0,177.0,179.0,181.0,183.0,185.0,187.0,189.0,191.0,193.0,195.0,197.0,199.0,201.0,203.0,205.0,207.0,209.0,211.0,213.0,215.0,217.0,219.0,221.0,223.0,225.0,227.0,229.0,231.0,233.0,235.0,237.0,239.0,241.0,243.0,245.0,247.0,249.0,251.0,253.0,255.0,257.0,259.0,261.0,263.0,265.0,267.0,269.0,271.0,273.0,275.0,277.0,279.0,281.0,283.0,285.0,287.0,289.0,291.0,293.0,295.0,297.0,299.0,301.0,303.0,305.0,307.0,309.0,311.0,313.0,315.0,317.0,319.0,321.0,323.0,325.0,327.0,329.0,331.0,333.0,335.0,337.0,339.0,341.0,343.0,345.0,347.0,349.0,351.0,353.0,355.0,357.0,359.0,361.0,363.0,365.0,367.0,369.0,371.0,373.0,375.0,377.0,379.0,381.0,383.0,385.0,387.0,389.0,391.0,393.0,395.0,397.0,399.0,401.0,403.0,405.0,407.0,409.0,411.0,413.0,415.0,417.0,419.0,421.0,423.0,425.0,427.0,429.0,431.0,433.0,435.0,437.0,439.0,441.0,443.0,445.0,447.0,449.0,451.0,453.0,455.0,457.0,459.0,461.0,463.0,465.0,467.0,469.0,471.0,473.0,475.0,477.0,479.0,481.0,483.0,485.0,487.0,489.0,491.0,493.0,495.0,497.0,499.0,500.0,502.0,504.0,506.0,508.0,510.0,512.0,514.0,516.0,518.0,520.0,522.0,524.0,526.0,528.0,530.0,532.0,534.0,536.0,538.0,540.0,542.0,544.0,546.0,548.0,550.0,552.0,554.0,556.0,558.0,560.0,562.0,564.0,566.0,568.0,570.0,572.0,574.0,576.0,578.0,580.0,582.0,584.0,586.0,588.0,590.0,592.0,594.0,596.0,598.0,600.0,602.0,604.0,606.0,608.0,610.0,612.0,614.0,616.0,618.0,620.0,622.0,624.0,626.0,628.0,630.0,632.0,634.0,636.0,638.0,640.0,642.0,644.0,646.0,648.0,650.0,652.0,654.0,656.0,658.0,660.0,662.0,664.0,666.0,668.0,670.0,672.0,674.0,676.0,678.0,680.0,682.0,684.0,686.0,688.0,690.0,692.0,694.0,696.0,698.0,700.0,702.0,704.0,706.0,708.0,710.0,712.0,714.0,716.0,718.0,720.0,722.0,724.0,726.0,728.0,730.0,732.0,734.0,736.0,738.0,740.0,742.0,744.0,746.0,748.0,750.0,752.0,754.0,756.0,758.0,760.0,762.0,764.0,766.0,768.0,770.0,772.0,774.0,776.0,778.0,780.0,782.0,784.0,786.0,788.0,790.0,792.0,794.0,796.0,798.0,800.0,802.0,804.0,806.0,808.0,810.0,812.0,814.0,816.0,818.0,820.0,822.0,824.0,826.0,828.0,830.0,832.0,834.0,836.0,838.0,840.0,842.0,844.0,846.0,848.0,850.0,852.0,854.0,856.0,858.0,860.0,862.0,864.0,866.0,868.0,870.0,872.0,874.0,876.0,878.0,880.0,882.0,884.0,886.0,888.0,890.0,892.0,894.0,896.0,898.0,900.0,902.0,904.0,906.0,908.0,910.0,912.0,914.0,916.0,918.0,920.0,922.0,924.0,926.0,928.0,930.0,932.0,934.0,936.0,938.0,940.0,942.0,944.0,946.0,948.0,950.0,952.0,954.0,956.0,958.0,960.0,962.0,964.0,966.0,968.0,970.0,972.0,974.0,976.0,978.0,980.0,982.0,984.0,986.0,988.0,990.0,992.0,994.0,996.0,998.0,1000.0],"x":[-1000.0,-998.00397,-996.008,-994.01196,-992.016,-990.01996,-988.0239,-986.02795,-984.0319,-982.03595,-980.0399,-978.0439,-976.0479,-974.0519,-972.0559,-970.0599,-968.06384,-966.0679,-964.07184,-962.07587,-960.07983,-958.08386,-956.0878,-954.0918,-952.0958,-950.0998,-948.1038,-946.1078,-944.11176,-942.1158,-940.11975,-938.1238,-936.12775,-934.1317,-932.13574,-930.1397,-928.14374,-926.1477,-924.1517,-922.1557,-920.15967,-918.1637,-916.16766,-914.17163,-912.17566,-910.1796,-908.18365,-906.1876,-904.1916,-902.1956,-900.1996,-898.2036,-896.2076,-894.21155,-892.2156,-890.21954,-888.2236,-886.22754,-884.23157,-882.23553,-880.2395,-878.2435,-876.2475,-874.2515,-872.2555,-870.25946,-868.2635,-866.26746,-864.2715,-862.27545,-860.2794,-858.28345,-856.2874,-854.29144,-852.2954,-850.2994,-848.3034,-846.3074,-844.3114,-842.31537,-840.31934,-838.32336,-836.32733,-834.33136,-832.3353,-830.3393,-828.3433,-826.3473,-824.3513,-822.3553,-820.35925,-818.3633,-816.36725,-814.3713,-812.37524,-810.3792,-808.38324,-806.3872,-804.39124,-802.3952,-800.39923,-798.4032,-796.40717,-794.4112,-792.41516,-790.4192,-788.42316,-786.4271,-784.43115,-782.4351,-780.43915,-778.4431,-776.4471,-774.4511,-772.4551,-770.4591,-768.4631,-766.46704,-764.47107,-762.47504,-760.47906,-758.48303,-756.487,-754.491,-752.495,-750.499,-748.503,-746.50696,-744.511,-742.51495,-740.519,-738.52295,-736.5269,-734.53094,-732.5349,-730.53894,-728.5429,-726.54694,-724.5509,-722.5549,-720.5589,-718.56287,-716.5669,-714.57086,-712.5748,-710.57886,-708.5828,-706.58685,-704.5908,-702.5948,-700.5988,-698.6028,-696.6068,-694.6108,-692.61475,-690.6188,-688.62274,-686.6268,-684.63074,-682.6347,-680.63873,-678.6427,-676.6467,-674.6507,-672.65466,-670.6587,-668.66266,-666.6667,-664.67065,-662.6746,-660.67865,-658.6826,-656.68665,-654.6906,-652.69464,-650.6986,-648.7026,-646.7066,-644.7106,-642.7146,-640.71857,-638.72253,-636.72656,-634.7305,-632.73456,-630.7385,-628.7425,-626.7465,-624.7505,-622.7545,-620.7585,-618.76245,-616.7665,-614.77045,-612.7745,-610.77844,-608.7824,-606.78644,-604.7904,-602.79443,-600.7984,-598.80237,-596.8064,-594.81036,-592.8144,-590.81836,-588.8223,-586.82635,-584.8303,-582.83435,-580.8383,-578.8423,-576.8463,-574.8503,-572.8543,-570.8583,-568.8623,-566.8663,-564.87024,-562.87427,-560.87823,-558.88226,-556.8862,-554.8902,-552.8942,-550.8982,-548.9022,-546.9062,-544.91016,-542.9142,-540.91815,-538.9222,-536.92615,-534.9301,-532.93414,-530.9381,-528.94214,-526.9461,-524.9501,-522.9541,-520.95807,-518.9621,-516.96606,-514.97003,-512.97406,-510.97806,-508.98203,-506.98602,-504.99002,-502.99402,-500.99802,-499.00198,-497.00598,-495.00998,-493.01398,-491.01797,-489.02194,-487.02594,-485.02994,-483.03394,-481.03793,-479.04193,-477.0459,-475.0499,-473.0539,-471.0579,-469.0619,-467.06586,-465.06985,-463.07385,-461.07785,-459.08185,-457.08582,-455.0898,-453.0938,-451.0978,-449.1018,-447.10577,-445.10977,-443.11377,-441.11777,-439.12177,-437.12576,-435.12973,-433.13373,-431.13773,-429.14172,-427.14572,-425.1497,-423.1537,-421.15768,-419.16168,-417.16568,-415.16965,-413.17365,-411.17764,-409.18164,-407.18564,-405.1896,-403.1936,-401.1976,-399.2016,-397.2056,-395.2096,-393.21356,-391.21756,-389.22156,-387.22556,-385.22955,-383.23352,-381.23752,-379.24152,-377.2455,-375.2495,-373.25348,-371.25748,-369.26147,-367.26547,-365.26947,-363.27347,-361.27744,-359.28143,-357.28543,-355.28943,-353.29343,-351.2974,-349.3014,-347.3054,-345.3094,-343.3134,-341.31735,-339.32135,-337.32535,-335.32935,-333.33334,-331.3373,-329.3413,-327.3453,-325.3493,-323.3533,-321.3573,-319.36127,-317.36526,-315.36926,-313.37326,-311.37726,-309.38123,-307.38522,-305.38922,-303.39322,-301.39722,-299.40118,-297.40518,-295.40918,-293.41318,-291.41718,-289.42114,-287.42514,-285.42914,-283.43314,-281.43713,-279.44113,-277.4451,-275.4491,-273.4531,-271.4571,-269.4611,-267.46506,-265.46906,-263.47305,-261.47705,-259.48105,-257.48502,-255.48903,-253.49301,-251.49701,-249.50099,-247.50499,-245.50899,-243.51297,-241.51697,-239.52097,-237.52495,-235.52895,-233.53293,-231.53693,-229.54092,-227.5449,-225.5489,-223.55289,-221.55688,-219.56088,-217.56487,-215.56886,-213.57286,-211.57684,-209.58084,-207.58482,-205.58882,-203.59282,-201.5968,-199.6008,-197.6048,-195.60878,-193.61278,-191.61676,-189.62076,-187.62476,-185.62874,-183.63274,-181.63673,-179.64072,-177.64471,-175.6487,-173.6527,-171.6567,-169.66068,-167.66467,-165.66866,-163.67265,-161.67665,-159.68063,-157.68463,-155.68863,-153.69261,-151.69661,-149.70059,-147.70459,-145.70859,-143.71257,-141.71657,-139.72057,-137.72455,-135.72855,-133.73253,-131.73653,-129.74052,-127.744514,-125.748505,-123.752495,-121.756485,-119.76048,-117.76447,-115.76846,-113.77245,-111.77644,-109.78044,-107.78443,-105.78842,-103.79241,-101.79641,-99.8004,-97.80439,-95.80838,-93.81238,-91.81637,-89.82036,-87.82435,-85.82835,-83.83234,-81.83633,-79.84032,-77.844315,-75.848305,-73.852295,-71.856285,-69.86028,-67.86427,-65.86826,-63.872257,-61.876247,-59.88024,-57.88423,-55.88822,-53.892216,-51.896206,-49.9002,-47.90419,-45.908184,-43.912174,-41.91617,-39.92016,-37.924152,-35.928143,-33.932137,-31.936129,-29.94012,-27.94411,-25.948103,-23.952095,-21.956087,-19.96008,-17.964071,-15.968064,-13.972055,-11.9760475,-9.98004,-7.984032,-5.9880238,-3.992016,-1.996008,0.0,1.996008,3.992016,5.9880238,7.984032,9.98004,11.9760475,13.972055,15.968064,17.964071,19.96008,21.956087,23.952095,25.948103,27.94411,29.94012,31.936129,33.932137,35.928143,37.924152,39.92016,41.91617,43.912174,45.908184,47.90419,49.9002,51.896206,53.892216,55.88822,57.88423,59.88024,61.876247,63.872257,65.86826,67.86427,69.86028,71.856285,73.852295,75.848305,77.844315,79.84032,81.83633,83.83234,85.82835,87.82435,89.82036,91.81637,93.81238,95.80838,97.80439,99.8004,101.79641,103.79241,105.78842,107.78443,109.78044,111.77644,113.77245,115.76846,117.76447,119.76048,121.756485,123.752495,125.748505,127.744514,129.74052,131.73653,133.73253,135.72855,137.72455,139.72057,141.71657,143.71257,145.70859,147.70459,149.70059,151.69661,153.69261,155.68863,157.68463,159.68063,161.67665,163.67265,165.66866,167.66467,169.66068,171.6567,173.6527,175.6487,177.64471,179.64072,181.63673,183.63274,185.62874,187.62476,189.62076,191.61676,193.61278,195.60878,197.6048,199.6008,201.5968,203.59282,205.58882,207.58482,209.58084,211.57684,213.57286,215.56886,217.56487,219.56088,221.55688,223.55289,225.5489,227.5449,229.54092,231.53693,233.53293,235.52895,237.52495,239.52097,241.51697,243.51297,245.50899,247.50499,249.50099,251.49701,253.49301,255.48903,257.48502,259.48105,261.47705,263.47305,265.46906,267.46506,269.4611,271.4571,273.4531,275.4491,277.4451,279.44113,281.43713,283.43314,285.42914,287.42514,289.42114,291.41718,293.41318,295.40918,297.40518,299.40118,301.39722,303.39322,305.38922,307.38522,309.38123,311.37726,313.37326,315.36926,317.36526,319.36127,321.3573,323.3533,325.3493,327.3453,329.3413,331.3373,333.33334,335.32935,337.32535,339.32135,341.31735,343.3134,345.3094,347.3054,349.3014,351.2974,353.29343,355.28943,357.28543,359.28143,361.27744,363.27347,365.26947,367.26547,369.26147,371.25748,373.25348,375.2495,377.2455,379.24152,381.23752,383.23352,385.22955,387.22556,389.22156,391.21756,393.21356,395.2096,397.2056,399.2016,401.1976,403.1936,405.1896,407.18564,409.18164,411.17764,413.17365,415.16965,417.16568,419.16168,421.15768,423.1537,425.1497,427.14572,429.14172,431.13773,433.13373,435.12973,437.12576,439.12177,441.11777,443.11377,445.10977,447.10577,449.1018,451.0978,453.0938,455.0898,457.08582,459.08185,461.07785,463.07385,465.06985,467.06586,469.0619,471.0579,473.0539,475.0499,477.0459,479.04193,481.03793,483.03394,485.02994,487.02594,489.02194,491.01797,493.01398,495.00998,497.00598,499.00198,500.99802,502.99402,504.99002,506.98602,508.98203,510.97806,512.97406,514.97003,516.96606,518.9621,520.95807,522.9541,524.9501,526.9461,528.94214,530.9381,532.93414,534.9301,536.92615,538.9222,540.91815,542.9142,544.91016,546.9062,548.9022,550.8982,552.8942,554.8902,556.8862,558.88226,560.87823,562.87427,564.87024,566.8663,568.8623,570.8583,572.8543,574.8503,576.8463,578.8423,580.8383,582.83435,584.8303,586.82635,588.8223,590.81836,592.8144,594.81036,596.8064,598.80237,600.7984,602.79443,604.7904,606.78644,608.7824,610.77844,612.7745,614.77045,616.7665,618.76245,620.7585,622.7545,624.7505,626.7465,628.7425,630.7385,632.73456,634.7305,636.72656,638.72253,640.71857,642.7146,644.7106,646.7066,648.7026,650.6986,652.69464,654.6906,656.68665,658.6826,660.67865,662.6746,664.67065,666.6667,668.66266,670.6587,672.65466,674.6507,676.6467,678.6427,680.63873,682.6347,684.63074,686.6268,688.62274,690.6188,692.61475,694.6108,696.6068,698.6028,700.5988,702.5948,704.5908,706.58685,708.5828,710.57886,712.5748,714.57086,716.5669,718.56287,720.5589,722.5549,724.5509,726.54694,728.5429,730.53894,732.5349,734.53094,736.5269,738.52295,740.519,742.51495,744.511,746.50696,748.503,750.499,752.495,754.491,756.487,758.48303,760.47906,762.47504,764.47107,766.46704,768.4631,770.4591,772.4551,774.4511,776.4471,778.4431,780.43915,782.4351,784.43115,786.4271,788.42316,790.4192,792.41516,794.4112,796.40717,798.4032,800.39923,802.3952,804.39124,806.3872,808.38324,810.3792,812.37524,814.3713,816.36725,818.3633,820.35925,822.3553,824.3513,826.3473,828.3433,830.3393,832.3353,834.33136,836.32733,838.32336,840.31934,842.31537,844.3114,846.3074,848.3034,850.2994,852.2954,854.29144,856.2874,858.28345,860.2794,862.27545,864.2715,866.26746,868.2635,870.25946,872.2555,874.2515,876.2475,878.2435,880.2395,882.23553,884.23157,886.22754,888.2236,890.21954,892.2156,894.21155,896.2076,898.2036,900.1996,902.1956,904.1916,906.1876,908.18365,910.1796,912.17566,914.17163,916.16766,918.1637,920.15967,922.1557,924.1517,926.1477,928.14374,930.1397,932.13574,934.1317,936.12775,938.1238,940.11975,942.1158,944.11176,946.1078,948.1038,950.0998,952.0958,954.0918,956.0878,958.08386,960.07983,962.07587,964.07184,966.0679,968.06384,970.0599,972.0559,974.0519,976.0479,978.0439,980.0399,982.03595,984.0319,986.02795,988.0239,990.01996,992.016,994.01196,996.008,998.00397,1000.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/runner.jl new file mode 100755 index 000000000000..3364fb8dddfd --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/runner.jl @@ -0,0 +1,91 @@ +#!/usr/bin/env julia +# +# @license Apache-2.0 +# +# Copyright (c) 2025 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import JSON + +""" + gen( x, name ) + +Generate fixture data and write to file. + +# Arguments + +* `x`: input values +* `name::AbstractString`: output filename + +# Examples + +``` julia +julia> x = rand( 1000 )*1000.0 - 500.0; +julia> gen( x, \"data.json\" ); +``` +""" +function gen( x, name ) + len = length( x ); + + frac = Array{Float32}( undef, len ); + integral = Array{Float32}( undef, len ); + + for i in eachindex(x) + out = modf( x[i] ); + frac[ i ] = out[ 1 ]; + integral[ i ] = out[ 2 ]; + end + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("frac", frac), + ("integral", integral) + ]); + + # Based on the script directory, create an output filepath: + filepath = joinpath( dir, name ); + + # Write the data to the output filepath as JSON: + outfile = open( filepath, "w" ); + write( outfile, JSON.json(data) ); + write( outfile, "\n" ); + close( outfile ); +end + +# Get the filename: +file = @__FILE__; + +# Extract the directory in which this file resides: +dir = dirname( file ); + +# Generate normal values: +x = Float32.( range( -1000, stop = 1000, length = 1003 ) ); +gen( x, "medium.json" ); + +# Generate small values: +x = Float32.( range( -1.0, stop = 1.0, length = 1003 ) ); +gen( x, "small.json" ); + +# Generate subnormal values: +x = Float32.( range( 1e-40, stop = 1e-45, length = 1003 ) ); +gen( x, "subnormal.json" ); + +# Generate large values: +x = Float32.( range( 1e20, stop = 1e35, length = 1007 ) ); +gen( x, "large.json" ); + +# Generate huge values: +x = Float32.( range( 1e35, stop = 1e38, length = 1007 ) ); +gen( x, "huge.json" ); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/small.json b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/small.json new file mode 100644 index 000000000000..58894e227d36 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/small.json @@ -0,0 +1 @@ +{"frac":[-0.0,-0.998004,-0.996008,-0.994012,-0.99201596,-0.99002,-0.98802394,-0.98602796,-0.9840319,-0.98203593,-0.9800399,-0.9780439,-0.97604793,-0.9740519,-0.9720559,-0.9700599,-0.9680639,-0.96606785,-0.96407187,-0.9620758,-0.96007985,-0.9580838,-0.9560878,-0.9540918,-0.9520958,-0.9500998,-0.9481038,-0.9461078,-0.94411176,-0.9421158,-0.94011974,-0.93812376,-0.9361277,-0.93413174,-0.9321357,-0.9301397,-0.92814374,-0.9261477,-0.9241517,-0.9221557,-0.9201597,-0.91816366,-0.9161677,-0.91417164,-0.91217566,-0.9101796,-0.90818363,-0.90618765,-0.9041916,-0.90219563,-0.9001996,-0.8982036,-0.8962076,-0.8942116,-0.89221555,-0.89021957,-0.8882235,-0.88622755,-0.8842315,-0.8822355,-0.88023955,-0.8782435,-0.8762475,-0.8742515,-0.8722555,-0.87025946,-0.8682635,-0.86626744,-0.86427146,-0.8622754,-0.86027944,-0.85828346,-0.8562874,-0.85429144,-0.8522954,-0.8502994,-0.8483034,-0.8463074,-0.84431136,-0.8423154,-0.84031934,-0.83832335,-0.8363274,-0.83433133,-0.83233535,-0.8303393,-0.82834333,-0.8263473,-0.8243513,-0.8223553,-0.8203593,-0.81836325,-0.81636727,-0.8143712,-0.81237525,-0.81037927,-0.8083832,-0.80638725,-0.8043912,-0.8023952,-0.8003992,-0.7984032,-0.79640716,-0.7944112,-0.79241514,-0.79041916,-0.7884232,-0.78642714,-0.78443116,-0.7824351,-0.78043914,-0.7784431,-0.7764471,-0.7744511,-0.7724551,-0.77045906,-0.7684631,-0.7664671,-0.76447105,-0.7624751,-0.76047903,-0.75848305,-0.756487,-0.75449103,-0.752495,-0.750499,-0.74850297,-0.746507,-0.74451095,-0.74251497,-0.740519,-0.73852295,-0.73652697,-0.7345309,-0.73253495,-0.7305389,-0.7285429,-0.7265469,-0.7245509,-0.72255486,-0.7205589,-0.7185629,-0.71656686,-0.7145709,-0.71257484,-0.71057886,-0.7085828,-0.70658684,-0.7045908,-0.7025948,-0.7005988,-0.6986028,-0.6966068,-0.6946108,-0.6926148,-0.69061875,-0.6886228,-0.68662673,-0.68463075,-0.6826347,-0.68063873,-0.6786427,-0.6766467,-0.67465067,-0.6726547,-0.6706587,-0.66866267,-0.6666667,-0.66467065,-0.66267467,-0.6606786,-0.65868264,-0.6566866,-0.6546906,-0.6526946,-0.6506986,-0.6487026,-0.6467066,-0.6447106,-0.64271456,-0.6407186,-0.63872254,-0.63672656,-0.6347305,-0.63273454,-0.6307385,-0.6287425,-0.62674654,-0.6247505,-0.6227545,-0.6207585,-0.6187625,-0.61676645,-0.6147705,-0.61277443,-0.61077845,-0.6087824,-0.60678643,-0.6047904,-0.6027944,-0.6007984,-0.5988024,-0.5968064,-0.59481037,-0.5928144,-0.59081835,-0.58882236,-0.5868263,-0.58483034,-0.5828343,-0.5808383,-0.57884234,-0.5768463,-0.5748503,-0.5728543,-0.5708583,-0.56886226,-0.5668663,-0.56487024,-0.56287426,-0.5608782,-0.55888224,-0.55688626,-0.5548902,-0.55289423,-0.5508982,-0.5489022,-0.5469062,-0.5449102,-0.54291415,-0.5409182,-0.53892213,-0.53692615,-0.5349301,-0.5329341,-0.53093815,-0.5289421,-0.5269461,-0.5249501,-0.5229541,-0.52095807,-0.5189621,-0.51696604,-0.51497006,-0.512974,-0.51097804,-0.50898206,-0.506986,-0.50499004,-0.502994,-0.500998,-0.499002,-0.497006,-0.49501,-0.49301398,-0.49101797,-0.48902196,-0.48702595,-0.48502994,-0.48303393,-0.4810379,-0.4790419,-0.4770459,-0.4750499,-0.4730539,-0.4710579,-0.46906188,-0.46706587,-0.46506986,-0.46307385,-0.46107784,-0.45908183,-0.45708582,-0.4550898,-0.45309383,-0.45109782,-0.4491018,-0.4471058,-0.44510978,-0.44311377,-0.44111776,-0.43912175,-0.43712574,-0.43512973,-0.43313372,-0.4311377,-0.42914173,-0.42714572,-0.4251497,-0.4231537,-0.4211577,-0.41916168,-0.41716567,-0.41516966,-0.41317365,-0.41117764,-0.40918162,-0.4071856,-0.40518963,-0.40319362,-0.4011976,-0.3992016,-0.3972056,-0.39520958,-0.39321357,-0.39121756,-0.38922155,-0.38722554,-0.38522953,-0.38323355,-0.38123754,-0.37924153,-0.37724552,-0.3752495,-0.3732535,-0.37125748,-0.36926147,-0.36726546,-0.36526945,-0.36327344,-0.36127743,-0.35928145,-0.35728544,-0.35528943,-0.35329342,-0.3512974,-0.3493014,-0.3473054,-0.34530938,-0.34331337,-0.34131736,-0.33932135,-0.33732533,-0.33532935,-0.33333334,-0.33133733,-0.32934132,-0.3273453,-0.3253493,-0.3233533,-0.32135728,-0.31936127,-0.31736526,-0.31536925,-0.31337327,-0.31137726,-0.30938125,-0.30738524,-0.30538923,-0.30339321,-0.3013972,-0.2994012,-0.29740518,-0.29540917,-0.29341316,-0.29141715,-0.28942117,-0.28742516,-0.28542915,-0.28343314,-0.28143713,-0.27944112,-0.2774451,-0.2754491,-0.2734531,-0.27145708,-0.26946107,-0.26746505,-0.26546907,-0.26347306,-0.26147705,-0.25948104,-0.25748503,-0.25548902,-0.253493,-0.251497,-0.249501,-0.247505,-0.24550898,-0.24351297,-0.24151696,-0.23952095,-0.23752496,-0.23552895,-0.23353294,-0.23153692,-0.22954091,-0.2275449,-0.22554891,-0.2235529,-0.22155689,-0.21956088,-0.21756487,-0.21556886,-0.21357286,-0.21157685,-0.20958084,-0.20758483,-0.20558882,-0.2035928,-0.20159681,-0.1996008,-0.19760479,-0.19560878,-0.19361277,-0.19161677,-0.18962076,-0.18762475,-0.18562874,-0.18363273,-0.18163672,-0.17964073,-0.17764471,-0.1756487,-0.1736527,-0.17165668,-0.16966067,-0.16766468,-0.16566867,-0.16367266,-0.16167665,-0.15968063,-0.15768462,-0.15568863,-0.15369262,-0.15169661,-0.1497006,-0.14770459,-0.14570858,-0.14371258,-0.14171657,-0.13972056,-0.13772455,-0.13572854,-0.13373253,-0.13173653,-0.12974052,-0.12774451,-0.1257485,-0.1237525,-0.12175649,-0.119760476,-0.11776447,-0.11576846,-0.11377245,-0.11177645,-0.10978044,-0.10778443,-0.105788425,-0.103792414,-0.1017964,-0.0998004,-0.09780439,-0.09580839,-0.093812376,-0.091816366,-0.08982036,-0.08782435,-0.08582834,-0.08383234,-0.08183633,-0.07984032,-0.077844314,-0.075848304,-0.07385229,-0.07185629,-0.06986028,-0.06786427,-0.065868266,-0.063872255,-0.06187625,-0.059880238,-0.05788423,-0.055888224,-0.053892214,-0.051896207,-0.0499002,-0.047904193,-0.045908183,-0.043912176,-0.04191617,-0.03992016,-0.037924152,-0.035928145,-0.033932135,-0.031936128,-0.029940119,-0.027944112,-0.025948104,-0.023952097,-0.021956088,-0.01996008,-0.017964073,-0.015968064,-0.013972056,-0.011976048,-0.00998004,-0.007984032,-0.005988024,-0.003992016,-0.001996008,0.0,0.001996008,0.003992016,0.005988024,0.007984032,0.00998004,0.011976048,0.013972056,0.015968064,0.017964073,0.01996008,0.021956088,0.023952097,0.025948104,0.027944112,0.029940119,0.031936128,0.033932135,0.035928145,0.037924152,0.03992016,0.04191617,0.043912176,0.045908183,0.047904193,0.0499002,0.051896207,0.053892214,0.055888224,0.05788423,0.059880238,0.06187625,0.063872255,0.065868266,0.06786427,0.06986028,0.07185629,0.07385229,0.075848304,0.077844314,0.07984032,0.08183633,0.08383234,0.08582834,0.08782435,0.08982036,0.091816366,0.093812376,0.09580839,0.09780439,0.0998004,0.1017964,0.103792414,0.105788425,0.10778443,0.10978044,0.11177645,0.11377245,0.11576846,0.11776447,0.119760476,0.12175649,0.1237525,0.1257485,0.12774451,0.12974052,0.13173653,0.13373253,0.13572854,0.13772455,0.13972056,0.14171657,0.14371258,0.14570858,0.14770459,0.1497006,0.15169661,0.15369262,0.15568863,0.15768462,0.15968063,0.16167665,0.16367266,0.16566867,0.16766468,0.16966067,0.17165668,0.1736527,0.1756487,0.17764471,0.17964073,0.18163672,0.18363273,0.18562874,0.18762475,0.18962076,0.19161677,0.19361277,0.19560878,0.19760479,0.1996008,0.20159681,0.2035928,0.20558882,0.20758483,0.20958084,0.21157685,0.21357286,0.21556886,0.21756487,0.21956088,0.22155689,0.2235529,0.22554891,0.2275449,0.22954091,0.23153692,0.23353294,0.23552895,0.23752496,0.23952095,0.24151696,0.24351297,0.24550898,0.247505,0.249501,0.251497,0.253493,0.25548902,0.25748503,0.25948104,0.26147705,0.26347306,0.26546907,0.26746505,0.26946107,0.27145708,0.2734531,0.2754491,0.2774451,0.27944112,0.28143713,0.28343314,0.28542915,0.28742516,0.28942117,0.29141715,0.29341316,0.29540917,0.29740518,0.2994012,0.3013972,0.30339321,0.30538923,0.30738524,0.30938125,0.31137726,0.31337327,0.31536925,0.31736526,0.31936127,0.32135728,0.3233533,0.3253493,0.3273453,0.32934132,0.33133733,0.33333334,0.33532935,0.33732533,0.33932135,0.34131736,0.34331337,0.34530938,0.3473054,0.3493014,0.3512974,0.35329342,0.35528943,0.35728544,0.35928145,0.36127743,0.36327344,0.36526945,0.36726546,0.36926147,0.37125748,0.3732535,0.3752495,0.37724552,0.37924153,0.38123754,0.38323355,0.38522953,0.38722554,0.38922155,0.39121756,0.39321357,0.39520958,0.3972056,0.3992016,0.4011976,0.40319362,0.40518963,0.4071856,0.40918162,0.41117764,0.41317365,0.41516966,0.41716567,0.41916168,0.4211577,0.4231537,0.4251497,0.42714572,0.42914173,0.4311377,0.43313372,0.43512973,0.43712574,0.43912175,0.44111776,0.44311377,0.44510978,0.4471058,0.4491018,0.45109782,0.45309383,0.4550898,0.45708582,0.45908183,0.46107784,0.46307385,0.46506986,0.46706587,0.46906188,0.4710579,0.4730539,0.4750499,0.4770459,0.4790419,0.4810379,0.48303393,0.48502994,0.48702595,0.48902196,0.49101797,0.49301398,0.49501,0.497006,0.499002,0.500998,0.502994,0.50499004,0.506986,0.50898206,0.51097804,0.512974,0.51497006,0.51696604,0.5189621,0.52095807,0.5229541,0.5249501,0.5269461,0.5289421,0.53093815,0.5329341,0.5349301,0.53692615,0.53892213,0.5409182,0.54291415,0.5449102,0.5469062,0.5489022,0.5508982,0.55289423,0.5548902,0.55688626,0.55888224,0.5608782,0.56287426,0.56487024,0.5668663,0.56886226,0.5708583,0.5728543,0.5748503,0.5768463,0.57884234,0.5808383,0.5828343,0.58483034,0.5868263,0.58882236,0.59081835,0.5928144,0.59481037,0.5968064,0.5988024,0.6007984,0.6027944,0.6047904,0.60678643,0.6087824,0.61077845,0.61277443,0.6147705,0.61676645,0.6187625,0.6207585,0.6227545,0.6247505,0.62674654,0.6287425,0.6307385,0.63273454,0.6347305,0.63672656,0.63872254,0.6407186,0.64271456,0.6447106,0.6467066,0.6487026,0.6506986,0.6526946,0.6546906,0.6566866,0.65868264,0.6606786,0.66267467,0.66467065,0.6666667,0.66866267,0.6706587,0.6726547,0.67465067,0.6766467,0.6786427,0.68063873,0.6826347,0.68463075,0.68662673,0.6886228,0.69061875,0.6926148,0.6946108,0.6966068,0.6986028,0.7005988,0.7025948,0.7045908,0.70658684,0.7085828,0.71057886,0.71257484,0.7145709,0.71656686,0.7185629,0.7205589,0.72255486,0.7245509,0.7265469,0.7285429,0.7305389,0.73253495,0.7345309,0.73652697,0.73852295,0.740519,0.74251497,0.74451095,0.746507,0.74850297,0.750499,0.752495,0.75449103,0.756487,0.75848305,0.76047903,0.7624751,0.76447105,0.7664671,0.7684631,0.77045906,0.7724551,0.7744511,0.7764471,0.7784431,0.78043914,0.7824351,0.78443116,0.78642714,0.7884232,0.79041916,0.79241514,0.7944112,0.79640716,0.7984032,0.8003992,0.8023952,0.8043912,0.80638725,0.8083832,0.81037927,0.81237525,0.8143712,0.81636727,0.81836325,0.8203593,0.8223553,0.8243513,0.8263473,0.82834333,0.8303393,0.83233535,0.83433133,0.8363274,0.83832335,0.84031934,0.8423154,0.84431136,0.8463074,0.8483034,0.8502994,0.8522954,0.85429144,0.8562874,0.85828346,0.86027944,0.8622754,0.86427146,0.86626744,0.8682635,0.87025946,0.8722555,0.8742515,0.8762475,0.8782435,0.88023955,0.8822355,0.8842315,0.88622755,0.8882235,0.89021957,0.89221555,0.8942116,0.8962076,0.8982036,0.9001996,0.90219563,0.9041916,0.90618765,0.90818363,0.9101796,0.91217566,0.91417164,0.9161677,0.91816366,0.9201597,0.9221557,0.9241517,0.9261477,0.92814374,0.9301397,0.9321357,0.93413174,0.9361277,0.93812376,0.94011974,0.9421158,0.94411176,0.9461078,0.9481038,0.9500998,0.9520958,0.9540918,0.9560878,0.9580838,0.96007985,0.9620758,0.96407187,0.96606785,0.9680639,0.9700599,0.9720559,0.9740519,0.97604793,0.9780439,0.9800399,0.98203593,0.9840319,0.98602796,0.98802394,0.99002,0.99201596,0.994012,0.996008,0.998004,0.0],"integral":[-1.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0],"x":[-1.0,-0.998004,-0.996008,-0.994012,-0.99201596,-0.99002,-0.98802394,-0.98602796,-0.9840319,-0.98203593,-0.9800399,-0.9780439,-0.97604793,-0.9740519,-0.9720559,-0.9700599,-0.9680639,-0.96606785,-0.96407187,-0.9620758,-0.96007985,-0.9580838,-0.9560878,-0.9540918,-0.9520958,-0.9500998,-0.9481038,-0.9461078,-0.94411176,-0.9421158,-0.94011974,-0.93812376,-0.9361277,-0.93413174,-0.9321357,-0.9301397,-0.92814374,-0.9261477,-0.9241517,-0.9221557,-0.9201597,-0.91816366,-0.9161677,-0.91417164,-0.91217566,-0.9101796,-0.90818363,-0.90618765,-0.9041916,-0.90219563,-0.9001996,-0.8982036,-0.8962076,-0.8942116,-0.89221555,-0.89021957,-0.8882235,-0.88622755,-0.8842315,-0.8822355,-0.88023955,-0.8782435,-0.8762475,-0.8742515,-0.8722555,-0.87025946,-0.8682635,-0.86626744,-0.86427146,-0.8622754,-0.86027944,-0.85828346,-0.8562874,-0.85429144,-0.8522954,-0.8502994,-0.8483034,-0.8463074,-0.84431136,-0.8423154,-0.84031934,-0.83832335,-0.8363274,-0.83433133,-0.83233535,-0.8303393,-0.82834333,-0.8263473,-0.8243513,-0.8223553,-0.8203593,-0.81836325,-0.81636727,-0.8143712,-0.81237525,-0.81037927,-0.8083832,-0.80638725,-0.8043912,-0.8023952,-0.8003992,-0.7984032,-0.79640716,-0.7944112,-0.79241514,-0.79041916,-0.7884232,-0.78642714,-0.78443116,-0.7824351,-0.78043914,-0.7784431,-0.7764471,-0.7744511,-0.7724551,-0.77045906,-0.7684631,-0.7664671,-0.76447105,-0.7624751,-0.76047903,-0.75848305,-0.756487,-0.75449103,-0.752495,-0.750499,-0.74850297,-0.746507,-0.74451095,-0.74251497,-0.740519,-0.73852295,-0.73652697,-0.7345309,-0.73253495,-0.7305389,-0.7285429,-0.7265469,-0.7245509,-0.72255486,-0.7205589,-0.7185629,-0.71656686,-0.7145709,-0.71257484,-0.71057886,-0.7085828,-0.70658684,-0.7045908,-0.7025948,-0.7005988,-0.6986028,-0.6966068,-0.6946108,-0.6926148,-0.69061875,-0.6886228,-0.68662673,-0.68463075,-0.6826347,-0.68063873,-0.6786427,-0.6766467,-0.67465067,-0.6726547,-0.6706587,-0.66866267,-0.6666667,-0.66467065,-0.66267467,-0.6606786,-0.65868264,-0.6566866,-0.6546906,-0.6526946,-0.6506986,-0.6487026,-0.6467066,-0.6447106,-0.64271456,-0.6407186,-0.63872254,-0.63672656,-0.6347305,-0.63273454,-0.6307385,-0.6287425,-0.62674654,-0.6247505,-0.6227545,-0.6207585,-0.6187625,-0.61676645,-0.6147705,-0.61277443,-0.61077845,-0.6087824,-0.60678643,-0.6047904,-0.6027944,-0.6007984,-0.5988024,-0.5968064,-0.59481037,-0.5928144,-0.59081835,-0.58882236,-0.5868263,-0.58483034,-0.5828343,-0.5808383,-0.57884234,-0.5768463,-0.5748503,-0.5728543,-0.5708583,-0.56886226,-0.5668663,-0.56487024,-0.56287426,-0.5608782,-0.55888224,-0.55688626,-0.5548902,-0.55289423,-0.5508982,-0.5489022,-0.5469062,-0.5449102,-0.54291415,-0.5409182,-0.53892213,-0.53692615,-0.5349301,-0.5329341,-0.53093815,-0.5289421,-0.5269461,-0.5249501,-0.5229541,-0.52095807,-0.5189621,-0.51696604,-0.51497006,-0.512974,-0.51097804,-0.50898206,-0.506986,-0.50499004,-0.502994,-0.500998,-0.499002,-0.497006,-0.49501,-0.49301398,-0.49101797,-0.48902196,-0.48702595,-0.48502994,-0.48303393,-0.4810379,-0.4790419,-0.4770459,-0.4750499,-0.4730539,-0.4710579,-0.46906188,-0.46706587,-0.46506986,-0.46307385,-0.46107784,-0.45908183,-0.45708582,-0.4550898,-0.45309383,-0.45109782,-0.4491018,-0.4471058,-0.44510978,-0.44311377,-0.44111776,-0.43912175,-0.43712574,-0.43512973,-0.43313372,-0.4311377,-0.42914173,-0.42714572,-0.4251497,-0.4231537,-0.4211577,-0.41916168,-0.41716567,-0.41516966,-0.41317365,-0.41117764,-0.40918162,-0.4071856,-0.40518963,-0.40319362,-0.4011976,-0.3992016,-0.3972056,-0.39520958,-0.39321357,-0.39121756,-0.38922155,-0.38722554,-0.38522953,-0.38323355,-0.38123754,-0.37924153,-0.37724552,-0.3752495,-0.3732535,-0.37125748,-0.36926147,-0.36726546,-0.36526945,-0.36327344,-0.36127743,-0.35928145,-0.35728544,-0.35528943,-0.35329342,-0.3512974,-0.3493014,-0.3473054,-0.34530938,-0.34331337,-0.34131736,-0.33932135,-0.33732533,-0.33532935,-0.33333334,-0.33133733,-0.32934132,-0.3273453,-0.3253493,-0.3233533,-0.32135728,-0.31936127,-0.31736526,-0.31536925,-0.31337327,-0.31137726,-0.30938125,-0.30738524,-0.30538923,-0.30339321,-0.3013972,-0.2994012,-0.29740518,-0.29540917,-0.29341316,-0.29141715,-0.28942117,-0.28742516,-0.28542915,-0.28343314,-0.28143713,-0.27944112,-0.2774451,-0.2754491,-0.2734531,-0.27145708,-0.26946107,-0.26746505,-0.26546907,-0.26347306,-0.26147705,-0.25948104,-0.25748503,-0.25548902,-0.253493,-0.251497,-0.249501,-0.247505,-0.24550898,-0.24351297,-0.24151696,-0.23952095,-0.23752496,-0.23552895,-0.23353294,-0.23153692,-0.22954091,-0.2275449,-0.22554891,-0.2235529,-0.22155689,-0.21956088,-0.21756487,-0.21556886,-0.21357286,-0.21157685,-0.20958084,-0.20758483,-0.20558882,-0.2035928,-0.20159681,-0.1996008,-0.19760479,-0.19560878,-0.19361277,-0.19161677,-0.18962076,-0.18762475,-0.18562874,-0.18363273,-0.18163672,-0.17964073,-0.17764471,-0.1756487,-0.1736527,-0.17165668,-0.16966067,-0.16766468,-0.16566867,-0.16367266,-0.16167665,-0.15968063,-0.15768462,-0.15568863,-0.15369262,-0.15169661,-0.1497006,-0.14770459,-0.14570858,-0.14371258,-0.14171657,-0.13972056,-0.13772455,-0.13572854,-0.13373253,-0.13173653,-0.12974052,-0.12774451,-0.1257485,-0.1237525,-0.12175649,-0.119760476,-0.11776447,-0.11576846,-0.11377245,-0.11177645,-0.10978044,-0.10778443,-0.105788425,-0.103792414,-0.1017964,-0.0998004,-0.09780439,-0.09580839,-0.093812376,-0.091816366,-0.08982036,-0.08782435,-0.08582834,-0.08383234,-0.08183633,-0.07984032,-0.077844314,-0.075848304,-0.07385229,-0.07185629,-0.06986028,-0.06786427,-0.065868266,-0.063872255,-0.06187625,-0.059880238,-0.05788423,-0.055888224,-0.053892214,-0.051896207,-0.0499002,-0.047904193,-0.045908183,-0.043912176,-0.04191617,-0.03992016,-0.037924152,-0.035928145,-0.033932135,-0.031936128,-0.029940119,-0.027944112,-0.025948104,-0.023952097,-0.021956088,-0.01996008,-0.017964073,-0.015968064,-0.013972056,-0.011976048,-0.00998004,-0.007984032,-0.005988024,-0.003992016,-0.001996008,0.0,0.001996008,0.003992016,0.005988024,0.007984032,0.00998004,0.011976048,0.013972056,0.015968064,0.017964073,0.01996008,0.021956088,0.023952097,0.025948104,0.027944112,0.029940119,0.031936128,0.033932135,0.035928145,0.037924152,0.03992016,0.04191617,0.043912176,0.045908183,0.047904193,0.0499002,0.051896207,0.053892214,0.055888224,0.05788423,0.059880238,0.06187625,0.063872255,0.065868266,0.06786427,0.06986028,0.07185629,0.07385229,0.075848304,0.077844314,0.07984032,0.08183633,0.08383234,0.08582834,0.08782435,0.08982036,0.091816366,0.093812376,0.09580839,0.09780439,0.0998004,0.1017964,0.103792414,0.105788425,0.10778443,0.10978044,0.11177645,0.11377245,0.11576846,0.11776447,0.119760476,0.12175649,0.1237525,0.1257485,0.12774451,0.12974052,0.13173653,0.13373253,0.13572854,0.13772455,0.13972056,0.14171657,0.14371258,0.14570858,0.14770459,0.1497006,0.15169661,0.15369262,0.15568863,0.15768462,0.15968063,0.16167665,0.16367266,0.16566867,0.16766468,0.16966067,0.17165668,0.1736527,0.1756487,0.17764471,0.17964073,0.18163672,0.18363273,0.18562874,0.18762475,0.18962076,0.19161677,0.19361277,0.19560878,0.19760479,0.1996008,0.20159681,0.2035928,0.20558882,0.20758483,0.20958084,0.21157685,0.21357286,0.21556886,0.21756487,0.21956088,0.22155689,0.2235529,0.22554891,0.2275449,0.22954091,0.23153692,0.23353294,0.23552895,0.23752496,0.23952095,0.24151696,0.24351297,0.24550898,0.247505,0.249501,0.251497,0.253493,0.25548902,0.25748503,0.25948104,0.26147705,0.26347306,0.26546907,0.26746505,0.26946107,0.27145708,0.2734531,0.2754491,0.2774451,0.27944112,0.28143713,0.28343314,0.28542915,0.28742516,0.28942117,0.29141715,0.29341316,0.29540917,0.29740518,0.2994012,0.3013972,0.30339321,0.30538923,0.30738524,0.30938125,0.31137726,0.31337327,0.31536925,0.31736526,0.31936127,0.32135728,0.3233533,0.3253493,0.3273453,0.32934132,0.33133733,0.33333334,0.33532935,0.33732533,0.33932135,0.34131736,0.34331337,0.34530938,0.3473054,0.3493014,0.3512974,0.35329342,0.35528943,0.35728544,0.35928145,0.36127743,0.36327344,0.36526945,0.36726546,0.36926147,0.37125748,0.3732535,0.3752495,0.37724552,0.37924153,0.38123754,0.38323355,0.38522953,0.38722554,0.38922155,0.39121756,0.39321357,0.39520958,0.3972056,0.3992016,0.4011976,0.40319362,0.40518963,0.4071856,0.40918162,0.41117764,0.41317365,0.41516966,0.41716567,0.41916168,0.4211577,0.4231537,0.4251497,0.42714572,0.42914173,0.4311377,0.43313372,0.43512973,0.43712574,0.43912175,0.44111776,0.44311377,0.44510978,0.4471058,0.4491018,0.45109782,0.45309383,0.4550898,0.45708582,0.45908183,0.46107784,0.46307385,0.46506986,0.46706587,0.46906188,0.4710579,0.4730539,0.4750499,0.4770459,0.4790419,0.4810379,0.48303393,0.48502994,0.48702595,0.48902196,0.49101797,0.49301398,0.49501,0.497006,0.499002,0.500998,0.502994,0.50499004,0.506986,0.50898206,0.51097804,0.512974,0.51497006,0.51696604,0.5189621,0.52095807,0.5229541,0.5249501,0.5269461,0.5289421,0.53093815,0.5329341,0.5349301,0.53692615,0.53892213,0.5409182,0.54291415,0.5449102,0.5469062,0.5489022,0.5508982,0.55289423,0.5548902,0.55688626,0.55888224,0.5608782,0.56287426,0.56487024,0.5668663,0.56886226,0.5708583,0.5728543,0.5748503,0.5768463,0.57884234,0.5808383,0.5828343,0.58483034,0.5868263,0.58882236,0.59081835,0.5928144,0.59481037,0.5968064,0.5988024,0.6007984,0.6027944,0.6047904,0.60678643,0.6087824,0.61077845,0.61277443,0.6147705,0.61676645,0.6187625,0.6207585,0.6227545,0.6247505,0.62674654,0.6287425,0.6307385,0.63273454,0.6347305,0.63672656,0.63872254,0.6407186,0.64271456,0.6447106,0.6467066,0.6487026,0.6506986,0.6526946,0.6546906,0.6566866,0.65868264,0.6606786,0.66267467,0.66467065,0.6666667,0.66866267,0.6706587,0.6726547,0.67465067,0.6766467,0.6786427,0.68063873,0.6826347,0.68463075,0.68662673,0.6886228,0.69061875,0.6926148,0.6946108,0.6966068,0.6986028,0.7005988,0.7025948,0.7045908,0.70658684,0.7085828,0.71057886,0.71257484,0.7145709,0.71656686,0.7185629,0.7205589,0.72255486,0.7245509,0.7265469,0.7285429,0.7305389,0.73253495,0.7345309,0.73652697,0.73852295,0.740519,0.74251497,0.74451095,0.746507,0.74850297,0.750499,0.752495,0.75449103,0.756487,0.75848305,0.76047903,0.7624751,0.76447105,0.7664671,0.7684631,0.77045906,0.7724551,0.7744511,0.7764471,0.7784431,0.78043914,0.7824351,0.78443116,0.78642714,0.7884232,0.79041916,0.79241514,0.7944112,0.79640716,0.7984032,0.8003992,0.8023952,0.8043912,0.80638725,0.8083832,0.81037927,0.81237525,0.8143712,0.81636727,0.81836325,0.8203593,0.8223553,0.8243513,0.8263473,0.82834333,0.8303393,0.83233535,0.83433133,0.8363274,0.83832335,0.84031934,0.8423154,0.84431136,0.8463074,0.8483034,0.8502994,0.8522954,0.85429144,0.8562874,0.85828346,0.86027944,0.8622754,0.86427146,0.86626744,0.8682635,0.87025946,0.8722555,0.8742515,0.8762475,0.8782435,0.88023955,0.8822355,0.8842315,0.88622755,0.8882235,0.89021957,0.89221555,0.8942116,0.8962076,0.8982036,0.9001996,0.90219563,0.9041916,0.90618765,0.90818363,0.9101796,0.91217566,0.91417164,0.9161677,0.91816366,0.9201597,0.9221557,0.9241517,0.9261477,0.92814374,0.9301397,0.9321357,0.93413174,0.9361277,0.93812376,0.94011974,0.9421158,0.94411176,0.9461078,0.9481038,0.9500998,0.9520958,0.9540918,0.9560878,0.9580838,0.96007985,0.9620758,0.96407187,0.96606785,0.9680639,0.9700599,0.9720559,0.9740519,0.97604793,0.9780439,0.9800399,0.98203593,0.9840319,0.98602796,0.98802394,0.99002,0.99201596,0.994012,0.996008,0.998004,1.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/subnormal.json b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/subnormal.json new file mode 100644 index 000000000000..80c2fc3af717 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/fixtures/julia/subnormal.json @@ -0,0 +1 @@ +{"frac":[1.0e-40,9.99e-41,9.98e-41,9.9701e-41,9.9601e-41,9.95e-41,9.9401e-41,9.9302e-41,9.9202e-41,9.9101e-41,9.9002e-41,9.8902e-41,9.8803e-41,9.8703e-41,9.8602e-41,9.8503e-41,9.8403e-41,9.8304e-41,9.8203e-41,9.8104e-41,9.8004e-41,9.7905e-41,9.7805e-41,9.7704e-41,9.7605e-41,9.7505e-41,9.7406e-41,9.7305e-41,9.7205e-41,9.7106e-41,9.7006e-41,9.6907e-41,9.6806e-41,9.6706e-41,9.6607e-41,9.6507e-41,9.6407e-41,9.6307e-41,9.6208e-41,9.6108e-41,9.6009e-41,9.5908e-41,9.5808e-41,9.5709e-41,9.5609e-41,9.551e-41,9.5409e-41,9.531e-41,9.521e-41,9.511e-41,9.501e-41,9.491e-41,9.481e-41,9.4711e-41,9.4611e-41,9.451e-41,9.4411e-41,9.4312e-41,9.4212e-41,9.4111e-41,9.4012e-41,9.3912e-41,9.3813e-41,9.3713e-41,9.3612e-41,9.3513e-41,9.3413e-41,9.3314e-41,9.3213e-41,9.3113e-41,9.3014e-41,9.2914e-41,9.2815e-41,9.2714e-41,9.2615e-41,9.2515e-41,9.2416e-41,9.2316e-41,9.2215e-41,9.2116e-41,9.2016e-41,9.1917e-41,9.1816e-41,9.1716e-41,9.1617e-41,9.1517e-41,9.1418e-41,9.1317e-41,9.1218e-41,9.1118e-41,9.1019e-41,9.0918e-41,9.0818e-41,9.0719e-41,9.0619e-41,9.052e-41,9.0419e-41,9.0319e-41,9.022e-41,9.012e-41,9.002e-41,8.992e-41,8.982e-41,8.9721e-41,8.9621e-41,8.952e-41,8.9421e-41,8.9322e-41,8.9222e-41,8.9121e-41,8.9022e-41,8.8922e-41,8.8823e-41,8.8723e-41,8.8622e-41,8.8523e-41,8.8423e-41,8.8324e-41,8.8224e-41,8.8123e-41,8.8024e-41,8.7924e-41,8.7825e-41,8.7724e-41,8.7625e-41,8.7525e-41,8.7426e-41,8.7326e-41,8.7225e-41,8.7126e-41,8.7026e-41,8.6927e-41,8.6826e-41,8.6726e-41,8.6627e-41,8.6527e-41,8.6428e-41,8.6327e-41,8.6227e-41,8.6128e-41,8.6029e-41,8.5928e-41,8.5828e-41,8.5729e-41,8.5629e-41,8.553e-41,8.5429e-41,8.5329e-41,8.523e-41,8.513e-41,8.503e-41,8.493e-41,8.483e-41,8.4731e-41,8.4631e-41,8.453e-41,8.4431e-41,8.4332e-41,8.4232e-41,8.4133e-41,8.4032e-41,8.3932e-41,8.3833e-41,8.3733e-41,8.3632e-41,8.3533e-41,8.3433e-41,8.3334e-41,8.3234e-41,8.3133e-41,8.3034e-41,8.2934e-41,8.2835e-41,8.2734e-41,8.2635e-41,8.2535e-41,8.2436e-41,8.2336e-41,8.2235e-41,8.2136e-41,8.2036e-41,8.1937e-41,8.1836e-41,8.1736e-41,8.1637e-41,8.1537e-41,8.1438e-41,8.1337e-41,8.1237e-41,8.1138e-41,8.1038e-41,8.0939e-41,8.0838e-41,8.0739e-41,8.0639e-41,8.054e-41,8.0439e-41,8.0339e-41,8.024e-41,8.014e-41,8.0041e-41,7.994e-41,7.984e-41,7.9741e-41,7.9641e-41,7.954e-41,7.9441e-41,7.9342e-41,7.9242e-41,7.9143e-41,7.9042e-41,7.8942e-41,7.8843e-41,7.8743e-41,7.8642e-41,7.8543e-41,7.8443e-41,7.8344e-41,7.8244e-41,7.8143e-41,7.8044e-41,7.7944e-41,7.7845e-41,7.7744e-41,7.7645e-41,7.7545e-41,7.7446e-41,7.7346e-41,7.7245e-41,7.7146e-41,7.7046e-41,7.6947e-41,7.6847e-41,7.6746e-41,7.6647e-41,7.6547e-41,7.6448e-41,7.6347e-41,7.6247e-41,7.6148e-41,7.6048e-41,7.5949e-41,7.5848e-41,7.5749e-41,7.5649e-41,7.555e-41,7.5449e-41,7.5349e-41,7.525e-41,7.515e-41,7.5051e-41,7.495e-41,7.485e-41,7.4751e-41,7.4651e-41,7.455e-41,7.4451e-41,7.4351e-41,7.4252e-41,7.4153e-41,7.4052e-41,7.3952e-41,7.3853e-41,7.3753e-41,7.3654e-41,7.3553e-41,7.3453e-41,7.3354e-41,7.3254e-41,7.3153e-41,7.3054e-41,7.2954e-41,7.2855e-41,7.2755e-41,7.2655e-41,7.2555e-41,7.2456e-41,7.2356e-41,7.2255e-41,7.2156e-41,7.2056e-41,7.1957e-41,7.1857e-41,7.1756e-41,7.1657e-41,7.1557e-41,7.1458e-41,7.1357e-41,7.1257e-41,7.1158e-41,7.1058e-41,7.0959e-41,7.0858e-41,7.0759e-41,7.0659e-41,7.056e-41,7.0459e-41,7.0359e-41,7.026e-41,7.016e-41,7.0061e-41,6.996e-41,6.986e-41,6.9761e-41,6.9661e-41,6.9562e-41,6.9461e-41,6.9361e-41,6.9262e-41,6.9162e-41,6.9062e-41,6.8962e-41,6.8863e-41,6.8763e-41,6.8664e-41,6.8563e-41,6.8463e-41,6.8364e-41,6.8264e-41,6.8163e-41,6.8064e-41,6.7964e-41,6.7865e-41,6.7765e-41,6.7664e-41,6.7565e-41,6.7466e-41,6.7366e-41,6.7265e-41,6.7166e-41,6.7066e-41,6.6967e-41,6.6867e-41,6.6766e-41,6.6667e-41,6.6567e-41,6.6468e-41,6.6368e-41,6.6267e-41,6.6168e-41,6.6068e-41,6.5969e-41,6.5868e-41,6.5769e-41,6.5669e-41,6.557e-41,6.547e-41,6.5369e-41,6.527e-41,6.517e-41,6.507e-41,6.497e-41,6.487e-41,6.4771e-41,6.4671e-41,6.4572e-41,6.4471e-41,6.4371e-41,6.4272e-41,6.4172e-41,6.4072e-41,6.3972e-41,6.3873e-41,6.3773e-41,6.3674e-41,6.3573e-41,6.3473e-41,6.3374e-41,6.3274e-41,6.3173e-41,6.3074e-41,6.2974e-41,6.2875e-41,6.2775e-41,6.2674e-41,6.2575e-41,6.2475e-41,6.2376e-41,6.2277e-41,6.2176e-41,6.2076e-41,6.1977e-41,6.1877e-41,6.1776e-41,6.1677e-41,6.1577e-41,6.1478e-41,6.1378e-41,6.1277e-41,6.1178e-41,6.1078e-41,6.0979e-41,6.0878e-41,6.0779e-41,6.0679e-41,6.058e-41,6.048e-41,6.0379e-41,6.028e-41,6.018e-41,6.008e-41,5.998e-41,5.988e-41,5.9781e-41,5.9681e-41,5.9582e-41,5.9481e-41,5.9381e-41,5.9282e-41,5.9182e-41,5.9082e-41,5.8982e-41,5.8883e-41,5.8783e-41,5.8684e-41,5.8583e-41,5.8483e-41,5.8384e-41,5.8284e-41,5.8185e-41,5.8084e-41,5.7984e-41,5.7885e-41,5.7785e-41,5.7684e-41,5.7585e-41,5.7485e-41,5.7386e-41,5.7286e-41,5.7186e-41,5.7086e-41,5.6987e-41,5.6887e-41,5.6786e-41,5.6687e-41,5.6587e-41,5.6488e-41,5.6388e-41,5.6287e-41,5.6188e-41,5.6088e-41,5.5989e-41,5.5888e-41,5.5788e-41,5.5689e-41,5.559e-41,5.549e-41,5.5389e-41,5.529e-41,5.519e-41,5.509e-41,5.4991e-41,5.489e-41,5.4791e-41,5.4691e-41,5.4592e-41,5.4491e-41,5.4391e-41,5.4292e-41,5.4192e-41,5.4093e-41,5.3992e-41,5.3893e-41,5.3793e-41,5.3694e-41,5.3593e-41,5.3493e-41,5.3394e-41,5.3294e-41,5.3195e-41,5.3094e-41,5.2994e-41,5.2895e-41,5.2795e-41,5.2694e-41,5.2595e-41,5.2495e-41,5.2396e-41,5.2296e-41,5.2196e-41,5.2096e-41,5.1997e-41,5.1897e-41,5.1796e-41,5.1697e-41,5.1597e-41,5.1498e-41,5.1398e-41,5.1297e-41,5.1198e-41,5.1098e-41,5.0999e-41,5.09e-41,5.0798e-41,5.0699e-41,5.06e-41,5.05e-41,5.0399e-41,5.03e-41,5.02e-41,5.01e-41,5.0001e-41,4.99e-41,4.9801e-41,4.9701e-41,4.9602e-41,4.9501e-41,4.9401e-41,4.9302e-41,4.9202e-41,4.9103e-41,4.9002e-41,4.8903e-41,4.8803e-41,4.8704e-41,4.8603e-41,4.8503e-41,4.8404e-41,4.8304e-41,4.8205e-41,4.8104e-41,4.8004e-41,4.7905e-41,4.7805e-41,4.7706e-41,4.7605e-41,4.7505e-41,4.7406e-41,4.7306e-41,4.7206e-41,4.7106e-41,4.7007e-41,4.6907e-41,4.6808e-41,4.6707e-41,4.6607e-41,4.6508e-41,4.6408e-41,4.6307e-41,4.6208e-41,4.6108e-41,4.6009e-41,4.591e-41,4.5808e-41,4.5709e-41,4.561e-41,4.551e-41,4.5409e-41,4.531e-41,4.521e-41,4.511e-41,4.5011e-41,4.491e-41,4.4811e-41,4.4711e-41,4.4612e-41,4.4511e-41,4.4411e-41,4.4312e-41,4.4212e-41,4.4113e-41,4.4012e-41,4.3912e-41,4.3813e-41,4.3714e-41,4.3614e-41,4.3513e-41,4.3414e-41,4.3314e-41,4.3215e-41,4.3114e-41,4.3014e-41,4.2915e-41,4.2815e-41,4.2716e-41,4.2615e-41,4.2515e-41,4.2416e-41,4.2316e-41,4.2216e-41,4.2116e-41,4.2017e-41,4.1917e-41,4.1818e-41,4.1717e-41,4.1617e-41,4.1518e-41,4.1418e-41,4.1317e-41,4.1218e-41,4.1118e-41,4.1019e-41,4.092e-41,4.0818e-41,4.0719e-41,4.062e-41,4.052e-41,4.042e-41,4.032e-41,4.022e-41,4.012e-41,4.0021e-41,3.992e-41,3.982e-41,3.9721e-41,3.9622e-41,3.9522e-41,3.9421e-41,3.9322e-41,3.9222e-41,3.9123e-41,3.9022e-41,3.8922e-41,3.8823e-41,3.8723e-41,3.8624e-41,3.8523e-41,3.8424e-41,3.8324e-41,3.8225e-41,3.8124e-41,3.8024e-41,3.7925e-41,3.7825e-41,3.7726e-41,3.7625e-41,3.7525e-41,3.7426e-41,3.7326e-41,3.7225e-41,3.7126e-41,3.7027e-41,3.6927e-41,3.6828e-41,3.6727e-41,3.6627e-41,3.6528e-41,3.6428e-41,3.6329e-41,3.6228e-41,3.6128e-41,3.6029e-41,3.5929e-41,3.5828e-41,3.5729e-41,3.563e-41,3.553e-41,3.543e-41,3.533e-41,3.523e-41,3.513e-41,3.5031e-41,3.493e-41,3.483e-41,3.4731e-41,3.4632e-41,3.4532e-41,3.4431e-41,3.4332e-41,3.4232e-41,3.4133e-41,3.4032e-41,3.3932e-41,3.3833e-41,3.3733e-41,3.3634e-41,3.3533e-41,3.3434e-41,3.3334e-41,3.3235e-41,3.3134e-41,3.3034e-41,3.2935e-41,3.2835e-41,3.2736e-41,3.2635e-41,3.2535e-41,3.2436e-41,3.2336e-41,3.2237e-41,3.2136e-41,3.2036e-41,3.1937e-41,3.1838e-41,3.1737e-41,3.1637e-41,3.1538e-41,3.1438e-41,3.1339e-41,3.1238e-41,3.1138e-41,3.1039e-41,3.0939e-41,3.0838e-41,3.0739e-41,3.064e-41,3.054e-41,3.044e-41,3.034e-41,3.024e-41,3.014e-41,3.0041e-41,2.994e-41,2.984e-41,2.9741e-41,2.9642e-41,2.9542e-41,2.9441e-41,2.9342e-41,2.9242e-41,2.9143e-41,2.9043e-41,2.8942e-41,2.8843e-41,2.8743e-41,2.8644e-41,2.8543e-41,2.8444e-41,2.8344e-41,2.8245e-41,2.8145e-41,2.8044e-41,2.7945e-41,2.7845e-41,2.7746e-41,2.7645e-41,2.7545e-41,2.7446e-41,2.7346e-41,2.7247e-41,2.7146e-41,2.7046e-41,2.6947e-41,2.6847e-41,2.6747e-41,2.6647e-41,2.6548e-41,2.6448e-41,2.6349e-41,2.6248e-41,2.6148e-41,2.6049e-41,2.5949e-41,2.5848e-41,2.5749e-41,2.565e-41,2.555e-41,2.545e-41,2.535e-41,2.525e-41,2.515e-41,2.5051e-41,2.4952e-41,2.485e-41,2.4751e-41,2.4652e-41,2.4552e-41,2.4451e-41,2.4352e-41,2.4252e-41,2.4153e-41,2.4053e-41,2.3952e-41,2.3853e-41,2.3753e-41,2.3654e-41,2.3553e-41,2.3454e-41,2.3354e-41,2.3255e-41,2.3155e-41,2.3054e-41,2.2955e-41,2.2855e-41,2.2756e-41,2.2655e-41,2.2555e-41,2.2456e-41,2.2356e-41,2.2257e-41,2.2156e-41,2.2056e-41,2.1957e-41,2.1857e-41,2.1758e-41,2.1657e-41,2.1558e-41,2.1458e-41,2.1359e-41,2.1258e-41,2.1158e-41,2.1059e-41,2.0959e-41,2.086e-41,2.0759e-41,2.066e-41,2.056e-41,2.046e-41,2.036e-41,2.026e-41,2.016e-41,2.0061e-41,1.9961e-41,1.986e-41,1.9761e-41,1.9662e-41,1.9562e-41,1.9461e-41,1.9362e-41,1.9262e-41,1.9163e-41,1.9063e-41,1.8962e-41,1.8863e-41,1.8763e-41,1.8664e-41,1.8563e-41,1.8464e-41,1.8364e-41,1.8265e-41,1.8165e-41,1.8064e-41,1.7965e-41,1.7865e-41,1.7766e-41,1.7666e-41,1.7565e-41,1.7466e-41,1.7366e-41,1.7267e-41,1.7166e-41,1.7066e-41,1.6967e-41,1.6867e-41,1.6768e-41,1.6667e-41,1.6568e-41,1.6468e-41,1.6369e-41,1.6268e-41,1.6168e-41,1.6069e-41,1.5969e-41,1.587e-41,1.5769e-41,1.567e-41,1.557e-41,1.547e-41,1.537e-41,1.527e-41,1.517e-41,1.5071e-41,1.4971e-41,1.487e-41,1.4771e-41,1.4672e-41,1.4572e-41,1.4473e-41,1.4372e-41,1.4272e-41,1.4173e-41,1.4073e-41,1.3972e-41,1.3873e-41,1.3773e-41,1.3674e-41,1.3574e-41,1.3473e-41,1.3374e-41,1.3275e-41,1.3175e-41,1.3074e-41,1.2975e-41,1.2875e-41,1.2776e-41,1.2676e-41,1.2575e-41,1.2476e-41,1.2376e-41,1.2277e-41,1.2176e-41,1.2076e-41,1.1977e-41,1.1877e-41,1.1778e-41,1.1677e-41,1.1578e-41,1.1478e-41,1.1379e-41,1.1278e-41,1.1178e-41,1.1079e-41,1.0979e-41,1.088e-41,1.0779e-41,1.0679e-41,1.058e-41,1.048e-41,1.0381e-41,1.028e-41,1.018e-41,1.0081e-41,9.981e-42,9.88e-42,9.781e-42,9.682e-42,9.582e-42,9.483e-42,9.382e-42,9.282e-42,9.183e-42,9.083e-42,8.982e-42,8.883e-42,8.783e-42,8.684e-42,8.584e-42,8.483e-42,8.384e-42,8.284e-42,8.185e-42,8.084e-42,7.985e-42,7.885e-42,7.786e-42,7.686e-42,7.585e-42,7.486e-42,7.386e-42,7.287e-42,7.186e-42,7.086e-42,6.987e-42,6.887e-42,6.788e-42,6.687e-42,6.588e-42,6.488e-42,6.389e-42,6.289e-42,6.188e-42,6.089e-42,5.989e-42,5.89e-42,5.789e-42,5.689e-42,5.59e-42,5.49e-42,5.391e-42,5.29e-42,5.19e-42,5.091e-42,4.991e-42,4.89e-42,4.791e-42,4.692e-42,4.592e-42,4.493e-42,4.392e-42,4.292e-42,4.193e-42,4.093e-42,3.992e-42,3.893e-42,3.793e-42,3.694e-42,3.594e-42,3.493e-42,3.394e-42,3.294e-42,3.195e-42,3.095e-42,2.995e-42,2.895e-42,2.796e-42,2.696e-42,2.595e-42,2.496e-42,2.396e-42,2.297e-42,2.197e-42,2.096e-42,1.997e-42,1.897e-42,1.798e-42,1.697e-42,1.597e-42,1.498e-42,1.398e-42,1.299e-42,1.198e-42,1.099e-42,9.99e-43,9.0e-43,7.99e-43,6.99e-43,6.0e-43,5.0e-43,4.01e-43,3.0e-43,2.0e-43,1.01e-43,1.0e-45],"integral":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"x":[1.0e-40,9.99e-41,9.98e-41,9.9701e-41,9.9601e-41,9.95e-41,9.9401e-41,9.9302e-41,9.9202e-41,9.9101e-41,9.9002e-41,9.8902e-41,9.8803e-41,9.8703e-41,9.8602e-41,9.8503e-41,9.8403e-41,9.8304e-41,9.8203e-41,9.8104e-41,9.8004e-41,9.7905e-41,9.7805e-41,9.7704e-41,9.7605e-41,9.7505e-41,9.7406e-41,9.7305e-41,9.7205e-41,9.7106e-41,9.7006e-41,9.6907e-41,9.6806e-41,9.6706e-41,9.6607e-41,9.6507e-41,9.6407e-41,9.6307e-41,9.6208e-41,9.6108e-41,9.6009e-41,9.5908e-41,9.5808e-41,9.5709e-41,9.5609e-41,9.551e-41,9.5409e-41,9.531e-41,9.521e-41,9.511e-41,9.501e-41,9.491e-41,9.481e-41,9.4711e-41,9.4611e-41,9.451e-41,9.4411e-41,9.4312e-41,9.4212e-41,9.4111e-41,9.4012e-41,9.3912e-41,9.3813e-41,9.3713e-41,9.3612e-41,9.3513e-41,9.3413e-41,9.3314e-41,9.3213e-41,9.3113e-41,9.3014e-41,9.2914e-41,9.2815e-41,9.2714e-41,9.2615e-41,9.2515e-41,9.2416e-41,9.2316e-41,9.2215e-41,9.2116e-41,9.2016e-41,9.1917e-41,9.1816e-41,9.1716e-41,9.1617e-41,9.1517e-41,9.1418e-41,9.1317e-41,9.1218e-41,9.1118e-41,9.1019e-41,9.0918e-41,9.0818e-41,9.0719e-41,9.0619e-41,9.052e-41,9.0419e-41,9.0319e-41,9.022e-41,9.012e-41,9.002e-41,8.992e-41,8.982e-41,8.9721e-41,8.9621e-41,8.952e-41,8.9421e-41,8.9322e-41,8.9222e-41,8.9121e-41,8.9022e-41,8.8922e-41,8.8823e-41,8.8723e-41,8.8622e-41,8.8523e-41,8.8423e-41,8.8324e-41,8.8224e-41,8.8123e-41,8.8024e-41,8.7924e-41,8.7825e-41,8.7724e-41,8.7625e-41,8.7525e-41,8.7426e-41,8.7326e-41,8.7225e-41,8.7126e-41,8.7026e-41,8.6927e-41,8.6826e-41,8.6726e-41,8.6627e-41,8.6527e-41,8.6428e-41,8.6327e-41,8.6227e-41,8.6128e-41,8.6029e-41,8.5928e-41,8.5828e-41,8.5729e-41,8.5629e-41,8.553e-41,8.5429e-41,8.5329e-41,8.523e-41,8.513e-41,8.503e-41,8.493e-41,8.483e-41,8.4731e-41,8.4631e-41,8.453e-41,8.4431e-41,8.4332e-41,8.4232e-41,8.4133e-41,8.4032e-41,8.3932e-41,8.3833e-41,8.3733e-41,8.3632e-41,8.3533e-41,8.3433e-41,8.3334e-41,8.3234e-41,8.3133e-41,8.3034e-41,8.2934e-41,8.2835e-41,8.2734e-41,8.2635e-41,8.2535e-41,8.2436e-41,8.2336e-41,8.2235e-41,8.2136e-41,8.2036e-41,8.1937e-41,8.1836e-41,8.1736e-41,8.1637e-41,8.1537e-41,8.1438e-41,8.1337e-41,8.1237e-41,8.1138e-41,8.1038e-41,8.0939e-41,8.0838e-41,8.0739e-41,8.0639e-41,8.054e-41,8.0439e-41,8.0339e-41,8.024e-41,8.014e-41,8.0041e-41,7.994e-41,7.984e-41,7.9741e-41,7.9641e-41,7.954e-41,7.9441e-41,7.9342e-41,7.9242e-41,7.9143e-41,7.9042e-41,7.8942e-41,7.8843e-41,7.8743e-41,7.8642e-41,7.8543e-41,7.8443e-41,7.8344e-41,7.8244e-41,7.8143e-41,7.8044e-41,7.7944e-41,7.7845e-41,7.7744e-41,7.7645e-41,7.7545e-41,7.7446e-41,7.7346e-41,7.7245e-41,7.7146e-41,7.7046e-41,7.6947e-41,7.6847e-41,7.6746e-41,7.6647e-41,7.6547e-41,7.6448e-41,7.6347e-41,7.6247e-41,7.6148e-41,7.6048e-41,7.5949e-41,7.5848e-41,7.5749e-41,7.5649e-41,7.555e-41,7.5449e-41,7.5349e-41,7.525e-41,7.515e-41,7.5051e-41,7.495e-41,7.485e-41,7.4751e-41,7.4651e-41,7.455e-41,7.4451e-41,7.4351e-41,7.4252e-41,7.4153e-41,7.4052e-41,7.3952e-41,7.3853e-41,7.3753e-41,7.3654e-41,7.3553e-41,7.3453e-41,7.3354e-41,7.3254e-41,7.3153e-41,7.3054e-41,7.2954e-41,7.2855e-41,7.2755e-41,7.2655e-41,7.2555e-41,7.2456e-41,7.2356e-41,7.2255e-41,7.2156e-41,7.2056e-41,7.1957e-41,7.1857e-41,7.1756e-41,7.1657e-41,7.1557e-41,7.1458e-41,7.1357e-41,7.1257e-41,7.1158e-41,7.1058e-41,7.0959e-41,7.0858e-41,7.0759e-41,7.0659e-41,7.056e-41,7.0459e-41,7.0359e-41,7.026e-41,7.016e-41,7.0061e-41,6.996e-41,6.986e-41,6.9761e-41,6.9661e-41,6.9562e-41,6.9461e-41,6.9361e-41,6.9262e-41,6.9162e-41,6.9062e-41,6.8962e-41,6.8863e-41,6.8763e-41,6.8664e-41,6.8563e-41,6.8463e-41,6.8364e-41,6.8264e-41,6.8163e-41,6.8064e-41,6.7964e-41,6.7865e-41,6.7765e-41,6.7664e-41,6.7565e-41,6.7466e-41,6.7366e-41,6.7265e-41,6.7166e-41,6.7066e-41,6.6967e-41,6.6867e-41,6.6766e-41,6.6667e-41,6.6567e-41,6.6468e-41,6.6368e-41,6.6267e-41,6.6168e-41,6.6068e-41,6.5969e-41,6.5868e-41,6.5769e-41,6.5669e-41,6.557e-41,6.547e-41,6.5369e-41,6.527e-41,6.517e-41,6.507e-41,6.497e-41,6.487e-41,6.4771e-41,6.4671e-41,6.4572e-41,6.4471e-41,6.4371e-41,6.4272e-41,6.4172e-41,6.4072e-41,6.3972e-41,6.3873e-41,6.3773e-41,6.3674e-41,6.3573e-41,6.3473e-41,6.3374e-41,6.3274e-41,6.3173e-41,6.3074e-41,6.2974e-41,6.2875e-41,6.2775e-41,6.2674e-41,6.2575e-41,6.2475e-41,6.2376e-41,6.2277e-41,6.2176e-41,6.2076e-41,6.1977e-41,6.1877e-41,6.1776e-41,6.1677e-41,6.1577e-41,6.1478e-41,6.1378e-41,6.1277e-41,6.1178e-41,6.1078e-41,6.0979e-41,6.0878e-41,6.0779e-41,6.0679e-41,6.058e-41,6.048e-41,6.0379e-41,6.028e-41,6.018e-41,6.008e-41,5.998e-41,5.988e-41,5.9781e-41,5.9681e-41,5.9582e-41,5.9481e-41,5.9381e-41,5.9282e-41,5.9182e-41,5.9082e-41,5.8982e-41,5.8883e-41,5.8783e-41,5.8684e-41,5.8583e-41,5.8483e-41,5.8384e-41,5.8284e-41,5.8185e-41,5.8084e-41,5.7984e-41,5.7885e-41,5.7785e-41,5.7684e-41,5.7585e-41,5.7485e-41,5.7386e-41,5.7286e-41,5.7186e-41,5.7086e-41,5.6987e-41,5.6887e-41,5.6786e-41,5.6687e-41,5.6587e-41,5.6488e-41,5.6388e-41,5.6287e-41,5.6188e-41,5.6088e-41,5.5989e-41,5.5888e-41,5.5788e-41,5.5689e-41,5.559e-41,5.549e-41,5.5389e-41,5.529e-41,5.519e-41,5.509e-41,5.4991e-41,5.489e-41,5.4791e-41,5.4691e-41,5.4592e-41,5.4491e-41,5.4391e-41,5.4292e-41,5.4192e-41,5.4093e-41,5.3992e-41,5.3893e-41,5.3793e-41,5.3694e-41,5.3593e-41,5.3493e-41,5.3394e-41,5.3294e-41,5.3195e-41,5.3094e-41,5.2994e-41,5.2895e-41,5.2795e-41,5.2694e-41,5.2595e-41,5.2495e-41,5.2396e-41,5.2296e-41,5.2196e-41,5.2096e-41,5.1997e-41,5.1897e-41,5.1796e-41,5.1697e-41,5.1597e-41,5.1498e-41,5.1398e-41,5.1297e-41,5.1198e-41,5.1098e-41,5.0999e-41,5.09e-41,5.0798e-41,5.0699e-41,5.06e-41,5.05e-41,5.0399e-41,5.03e-41,5.02e-41,5.01e-41,5.0001e-41,4.99e-41,4.9801e-41,4.9701e-41,4.9602e-41,4.9501e-41,4.9401e-41,4.9302e-41,4.9202e-41,4.9103e-41,4.9002e-41,4.8903e-41,4.8803e-41,4.8704e-41,4.8603e-41,4.8503e-41,4.8404e-41,4.8304e-41,4.8205e-41,4.8104e-41,4.8004e-41,4.7905e-41,4.7805e-41,4.7706e-41,4.7605e-41,4.7505e-41,4.7406e-41,4.7306e-41,4.7206e-41,4.7106e-41,4.7007e-41,4.6907e-41,4.6808e-41,4.6707e-41,4.6607e-41,4.6508e-41,4.6408e-41,4.6307e-41,4.6208e-41,4.6108e-41,4.6009e-41,4.591e-41,4.5808e-41,4.5709e-41,4.561e-41,4.551e-41,4.5409e-41,4.531e-41,4.521e-41,4.511e-41,4.5011e-41,4.491e-41,4.4811e-41,4.4711e-41,4.4612e-41,4.4511e-41,4.4411e-41,4.4312e-41,4.4212e-41,4.4113e-41,4.4012e-41,4.3912e-41,4.3813e-41,4.3714e-41,4.3614e-41,4.3513e-41,4.3414e-41,4.3314e-41,4.3215e-41,4.3114e-41,4.3014e-41,4.2915e-41,4.2815e-41,4.2716e-41,4.2615e-41,4.2515e-41,4.2416e-41,4.2316e-41,4.2216e-41,4.2116e-41,4.2017e-41,4.1917e-41,4.1818e-41,4.1717e-41,4.1617e-41,4.1518e-41,4.1418e-41,4.1317e-41,4.1218e-41,4.1118e-41,4.1019e-41,4.092e-41,4.0818e-41,4.0719e-41,4.062e-41,4.052e-41,4.042e-41,4.032e-41,4.022e-41,4.012e-41,4.0021e-41,3.992e-41,3.982e-41,3.9721e-41,3.9622e-41,3.9522e-41,3.9421e-41,3.9322e-41,3.9222e-41,3.9123e-41,3.9022e-41,3.8922e-41,3.8823e-41,3.8723e-41,3.8624e-41,3.8523e-41,3.8424e-41,3.8324e-41,3.8225e-41,3.8124e-41,3.8024e-41,3.7925e-41,3.7825e-41,3.7726e-41,3.7625e-41,3.7525e-41,3.7426e-41,3.7326e-41,3.7225e-41,3.7126e-41,3.7027e-41,3.6927e-41,3.6828e-41,3.6727e-41,3.6627e-41,3.6528e-41,3.6428e-41,3.6329e-41,3.6228e-41,3.6128e-41,3.6029e-41,3.5929e-41,3.5828e-41,3.5729e-41,3.563e-41,3.553e-41,3.543e-41,3.533e-41,3.523e-41,3.513e-41,3.5031e-41,3.493e-41,3.483e-41,3.4731e-41,3.4632e-41,3.4532e-41,3.4431e-41,3.4332e-41,3.4232e-41,3.4133e-41,3.4032e-41,3.3932e-41,3.3833e-41,3.3733e-41,3.3634e-41,3.3533e-41,3.3434e-41,3.3334e-41,3.3235e-41,3.3134e-41,3.3034e-41,3.2935e-41,3.2835e-41,3.2736e-41,3.2635e-41,3.2535e-41,3.2436e-41,3.2336e-41,3.2237e-41,3.2136e-41,3.2036e-41,3.1937e-41,3.1838e-41,3.1737e-41,3.1637e-41,3.1538e-41,3.1438e-41,3.1339e-41,3.1238e-41,3.1138e-41,3.1039e-41,3.0939e-41,3.0838e-41,3.0739e-41,3.064e-41,3.054e-41,3.044e-41,3.034e-41,3.024e-41,3.014e-41,3.0041e-41,2.994e-41,2.984e-41,2.9741e-41,2.9642e-41,2.9542e-41,2.9441e-41,2.9342e-41,2.9242e-41,2.9143e-41,2.9043e-41,2.8942e-41,2.8843e-41,2.8743e-41,2.8644e-41,2.8543e-41,2.8444e-41,2.8344e-41,2.8245e-41,2.8145e-41,2.8044e-41,2.7945e-41,2.7845e-41,2.7746e-41,2.7645e-41,2.7545e-41,2.7446e-41,2.7346e-41,2.7247e-41,2.7146e-41,2.7046e-41,2.6947e-41,2.6847e-41,2.6747e-41,2.6647e-41,2.6548e-41,2.6448e-41,2.6349e-41,2.6248e-41,2.6148e-41,2.6049e-41,2.5949e-41,2.5848e-41,2.5749e-41,2.565e-41,2.555e-41,2.545e-41,2.535e-41,2.525e-41,2.515e-41,2.5051e-41,2.4952e-41,2.485e-41,2.4751e-41,2.4652e-41,2.4552e-41,2.4451e-41,2.4352e-41,2.4252e-41,2.4153e-41,2.4053e-41,2.3952e-41,2.3853e-41,2.3753e-41,2.3654e-41,2.3553e-41,2.3454e-41,2.3354e-41,2.3255e-41,2.3155e-41,2.3054e-41,2.2955e-41,2.2855e-41,2.2756e-41,2.2655e-41,2.2555e-41,2.2456e-41,2.2356e-41,2.2257e-41,2.2156e-41,2.2056e-41,2.1957e-41,2.1857e-41,2.1758e-41,2.1657e-41,2.1558e-41,2.1458e-41,2.1359e-41,2.1258e-41,2.1158e-41,2.1059e-41,2.0959e-41,2.086e-41,2.0759e-41,2.066e-41,2.056e-41,2.046e-41,2.036e-41,2.026e-41,2.016e-41,2.0061e-41,1.9961e-41,1.986e-41,1.9761e-41,1.9662e-41,1.9562e-41,1.9461e-41,1.9362e-41,1.9262e-41,1.9163e-41,1.9063e-41,1.8962e-41,1.8863e-41,1.8763e-41,1.8664e-41,1.8563e-41,1.8464e-41,1.8364e-41,1.8265e-41,1.8165e-41,1.8064e-41,1.7965e-41,1.7865e-41,1.7766e-41,1.7666e-41,1.7565e-41,1.7466e-41,1.7366e-41,1.7267e-41,1.7166e-41,1.7066e-41,1.6967e-41,1.6867e-41,1.6768e-41,1.6667e-41,1.6568e-41,1.6468e-41,1.6369e-41,1.6268e-41,1.6168e-41,1.6069e-41,1.5969e-41,1.587e-41,1.5769e-41,1.567e-41,1.557e-41,1.547e-41,1.537e-41,1.527e-41,1.517e-41,1.5071e-41,1.4971e-41,1.487e-41,1.4771e-41,1.4672e-41,1.4572e-41,1.4473e-41,1.4372e-41,1.4272e-41,1.4173e-41,1.4073e-41,1.3972e-41,1.3873e-41,1.3773e-41,1.3674e-41,1.3574e-41,1.3473e-41,1.3374e-41,1.3275e-41,1.3175e-41,1.3074e-41,1.2975e-41,1.2875e-41,1.2776e-41,1.2676e-41,1.2575e-41,1.2476e-41,1.2376e-41,1.2277e-41,1.2176e-41,1.2076e-41,1.1977e-41,1.1877e-41,1.1778e-41,1.1677e-41,1.1578e-41,1.1478e-41,1.1379e-41,1.1278e-41,1.1178e-41,1.1079e-41,1.0979e-41,1.088e-41,1.0779e-41,1.0679e-41,1.058e-41,1.048e-41,1.0381e-41,1.028e-41,1.018e-41,1.0081e-41,9.981e-42,9.88e-42,9.781e-42,9.682e-42,9.582e-42,9.483e-42,9.382e-42,9.282e-42,9.183e-42,9.083e-42,8.982e-42,8.883e-42,8.783e-42,8.684e-42,8.584e-42,8.483e-42,8.384e-42,8.284e-42,8.185e-42,8.084e-42,7.985e-42,7.885e-42,7.786e-42,7.686e-42,7.585e-42,7.486e-42,7.386e-42,7.287e-42,7.186e-42,7.086e-42,6.987e-42,6.887e-42,6.788e-42,6.687e-42,6.588e-42,6.488e-42,6.389e-42,6.289e-42,6.188e-42,6.089e-42,5.989e-42,5.89e-42,5.789e-42,5.689e-42,5.59e-42,5.49e-42,5.391e-42,5.29e-42,5.19e-42,5.091e-42,4.991e-42,4.89e-42,4.791e-42,4.692e-42,4.592e-42,4.493e-42,4.392e-42,4.292e-42,4.193e-42,4.093e-42,3.992e-42,3.893e-42,3.793e-42,3.694e-42,3.594e-42,3.493e-42,3.394e-42,3.294e-42,3.195e-42,3.095e-42,2.995e-42,2.895e-42,2.796e-42,2.696e-42,2.595e-42,2.496e-42,2.396e-42,2.297e-42,2.197e-42,2.096e-42,1.997e-42,1.897e-42,1.798e-42,1.697e-42,1.597e-42,1.498e-42,1.398e-42,1.299e-42,1.198e-42,1.099e-42,9.99e-43,9.0e-43,7.99e-43,6.99e-43,6.0e-43,5.0e-43,4.01e-43,3.0e-43,2.0e-43,1.01e-43,1.0e-45]} diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/test.assign.js b/lib/node_modules/@stdlib/math/base/special/modff/test/test.assign.js new file mode 100644 index 000000000000..5a6743afde3f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/test.assign.js @@ -0,0 +1,284 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); +var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var Float32Array = require( '@stdlib/array/float32' ); +var modff = require( './../lib/assign.js' ); + + +// FIXTURES // + +var subnormal = require( './fixtures/julia/subnormal.json' ); +var small = require( './fixtures/julia/small.json' ); +var medium = require( './fixtures/julia/medium.json' ); +var large = require( './fixtures/julia/large.json' ); +var huge = require( './fixtures/julia/huge.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof modff, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (small values)', function test( t ) { + var integral; + var parts; + var frac; + var out; + var x; + var i; + + integral = small.integral; + frac = small.frac; + x = small.x; + for ( i = 0; i < x.length; i++ ) { + out = [ 0.0, 0.0 ]; + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ], out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (medium values)', function test( t ) { + var integral; + var parts; + var frac; + var out; + var x; + var i; + + integral = medium.integral; + frac = medium.frac; + x = medium.x; + for ( i = 0; i < x.length; i++ ) { + out = [ 0.0, 0.0 ]; + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ], out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (large values)', function test( t ) { + var integral; + var parts; + var frac; + var out; + var x; + var i; + + integral = large.integral; + frac = large.frac; + x = large.x; + for ( i = 0; i < x.length; i++ ) { + out = [ 0.0, 0.0 ]; + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ], out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (huge values)', function test( t ) { + var integral; + var parts; + var frac; + var out; + var x; + var i; + + integral = huge.integral; + frac = huge.frac; + x = huge.x; + for ( i = 0; i < x.length; i++ ) { + out = [ 0.0, 0.0 ]; + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ], out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (subnormal values)', function test( t ) { + var integral; + var parts; + var frac; + var out; + var x; + var i; + + integral = subnormal.integral; + frac = subnormal.frac; + x = subnormal.x; + for ( i = 0; i < x.length; i++ ) { + out = [ 0.0, 0.0 ]; + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ], out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'if provided `+0`, the function returns `[+0,+0]`', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( +0.0, out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( isPositiveZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-0`, the function returns `[-0,-0]`', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( -0.0, out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( isNegativeZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `+infinity`, the function returns `[+infinity,+0]`', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( PINF, out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], PINF, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-infinity`, the function returns `[-infinity,-0]`', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( NINF, out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( parts[0], NINF, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `NaN`, the function returns `[NaN,NaN]`', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( NaN, out, 1, 0 ); + t.equal( parts, out, 'returns output array' ); + t.strictEqual( isnanf( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isnanf( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function supports providing an output array', function test( t ) { + var parts; + var out; + + out = [ 0.0, 0.0 ]; + parts = modff( 3.14, out, 1, 0 ); + + t.strictEqual( parts, out, 'returns output array' ); + t.strictEqual( parts[ 0 ], 3.0, 'returns expected value' ); + t.strictEqual( parts[ 1 ], 0.1400001049041748, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function supports providing an output typed array', function test( t ) { + var parts; + var out; + + out = new Float32Array( 2 ); + parts = modff( 3.14, out, 1, 0 ); + + t.strictEqual( parts, out, 'returns output typed array' ); + t.strictEqual( parts[ 0 ], 3.0, 'returns expected value' ); + t.strictEqual( parts[ 1 ], 0.1400001049041748, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function supports specifying a stride', function test( t ) { + var out; + var val; + + out = new Float32Array( 4 ); + val = modff( 3.14, out, 2, 0 ); + + t.strictEqual( val, out, 'returns output array' ); + t.strictEqual( val[ 0 ], 3.0, 'returns expected value' ); + t.strictEqual( val[ 1 ], 0, 'returns expected value' ); + t.strictEqual( val[ 2 ], 0.1400001049041748, 'returns expected value' ); + t.strictEqual( val[ 3 ], 0, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function supports specifying an offset', function test( t ) { + var out; + var val; + + out = new Float32Array( 4 ); + val = modff( 3.14, out, 2, 1 ); + + t.strictEqual( val, out, 'returns output array' ); + t.strictEqual( val[ 0 ], 0, 'returns expected value' ); + t.strictEqual( val[ 1 ], 3.0, 'returns expected value' ); + t.strictEqual( val[ 2 ], 0, 'returns expected value' ); + t.strictEqual( val[ 3 ], 0.1400001049041748, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/test.js b/lib/node_modules/@stdlib/math/base/special/modff/test/test.js new file mode 100644 index 000000000000..bb3e9fc9ef2d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/test.js @@ -0,0 +1,40 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var hasOwnProp = require( '@stdlib/assert/has-own-property' ); +var modff = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof modff, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'attached to the main export is an `assign` method', function test( t ) { + t.strictEqual( hasOwnProp( modff, 'assign' ), true, 'has property' ); + t.strictEqual( typeof modff.assign, 'function', 'has method' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/test.main.js b/lib/node_modules/@stdlib/math/base/special/modff/test/test.main.js new file mode 100644 index 000000000000..acf0c63e87e3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/test.main.js @@ -0,0 +1,183 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); +var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var modff = require( './../lib/main.js' ); + + +// FIXTURES // + +var subnormal = require( './fixtures/julia/subnormal.json' ); +var small = require( './fixtures/julia/small.json' ); +var medium = require( './fixtures/julia/medium.json' ); +var large = require( './fixtures/julia/large.json' ); +var huge = require( './fixtures/julia/huge.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof modff, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (small values)', function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = small.integral; + frac = small.frac; + x = small.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (medium values)', function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = medium.integral; + frac = medium.frac; + x = medium.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (large values)', function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = large.integral; + frac = large.frac; + x = large.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (huge values)', function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = huge.integral; + frac = huge.frac; + x = huge.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (subnormal values)', function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = subnormal.integral; + frac = subnormal.frac; + x = subnormal.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'if provided `+0`, the function returns `[+0,+0]`', function test( t ) { + var parts = modff( +0.0 ); + t.strictEqual( isPositiveZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-0`, the function returns `[-0,-0]`', function test( t ) { + var parts = modff( -0.0 ); + t.strictEqual( isNegativeZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `+infinity`, the function returns `[+infinity,+0]`', function test( t ) { + var parts = modff( PINF ); + t.strictEqual( parts[0], PINF, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-infinity`, the function returns `[-infinity,-0]`', function test( t ) { + var parts = modff( NINF ); + t.strictEqual( parts[0], NINF, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `NaN`, the function returns `[NaN,NaN]`', function test( t ) { + var parts = modff( NaN ); + t.strictEqual( isnanf( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isnanf( parts[1] ), true, 'returns expected value' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/modff/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/modff/test/test.native.js new file mode 100644 index 000000000000..6756012eb8bb --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/modff/test/test.native.js @@ -0,0 +1,192 @@ +/** +* @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. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); +var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// VARIABLES // + +var modff = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( modff instanceof Error ) +}; + + +// FIXTURES // + +var subnormal = require( './fixtures/julia/subnormal.json' ); +var small = require( './fixtures/julia/small.json' ); +var medium = require( './fixtures/julia/medium.json' ); +var large = require( './fixtures/julia/large.json' ); +var huge = require( './fixtures/julia/huge.json' ); + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof modff, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (small values)', opts, function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = small.integral; + frac = small.frac; + x = small.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (medium values)', opts, function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = medium.integral; + frac = medium.frac; + x = medium.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (large values)', opts, function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = large.integral; + frac = large.frac; + x = large.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (huge values)', opts, function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = huge.integral; + frac = huge.frac; + x = huge.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function decomposes a number into integral and fractional parts (subnormal values)', opts, function test( t ) { + var integral; + var parts; + var frac; + var x; + var i; + + integral = subnormal.integral; + frac = subnormal.frac; + x = subnormal.x; + for ( i = 0; i < x.length; i++ ) { + integral[ i ] = f32( integral[ i ] ); + frac[ i ] = f32( frac[ i ] ); + parts = modff( x[ i ] ); + t.strictEqual( parts[0], integral[i], 'returns expected value' ); + t.strictEqual( parts[1], frac[i], 'returns expected value' ); + } + t.end(); +}); + +tape( 'if provided `+0`, the function returns `[+0,+0]`', opts, function test( t ) { + var parts = modff( +0.0 ); + t.strictEqual( isPositiveZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-0`, the function returns `[-0,-0]`', opts, function test( t ) { + var parts = modff( -0.0 ); + t.strictEqual( isNegativeZerof( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `+infinity`, the function returns `[+infinity,+0]`', opts, function test( t ) { + var parts = modff( PINF ); + t.strictEqual( parts[0], PINF, 'returns expected value' ); + t.strictEqual( isPositiveZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `-infinity`, the function returns `[-infinity,-0]`', opts, function test( t ) { + var parts = modff( NINF ); + t.strictEqual( parts[0], NINF, 'returns expected value' ); + t.strictEqual( isNegativeZerof( parts[1] ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'if provided `NaN`, the function returns `[NaN,NaN]`', opts, function test( t ) { + var parts = modff( NaN ); + t.strictEqual( isnanf( parts[0] ), true, 'returns expected value' ); + t.strictEqual( isnanf( parts[1] ), true, 'returns expected value' ); + t.end(); +});