diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/README.md b/lib/node_modules/@stdlib/number/uint64/base/number2words/README.md index 4eacf8769753..08799a7c5984 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/README.md +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/README.md @@ -78,7 +78,8 @@ var bool = ( w === out ); ## Notes -- For accurate results, the input value should be an integer in the range \[`0`, `2^53-1`]. +- A 64-bit unsigned integer has a range of \[`0`, `2^64-1`]. +- Passing a number argument is safe and exact for integers within \[`0`, `2^53`]. For values exceeding `2^53`, JavaScript numbers incur precision loss. diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/docs/types/index.d.ts b/lib/node_modules/@stdlib/number/uint64/base/number2words/docs/types/index.d.ts index a0101459f84f..db50e67cbf4d 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/docs/types/index.d.ts @@ -29,7 +29,7 @@ interface NumberToWords { /** * Splits a number into the high and low 32-bit words of a 64-bit unsigned integer. * - * @param value - integer value in the range [0, 2^53-1] + * @param value - integer value * @returns high and low words as 32-bit unsigned integers * * @example @@ -47,7 +47,7 @@ interface NumberToWords { /** * Splits a number into the high and low 32-bit words of a 64-bit unsigned integer and assigns results to a provided output array. * - * @param value - integer value in the range [0, 2^53-1] + * @param value - integer value * @param out - output array * @param stride - stride length * @param offset - starting index @@ -71,7 +71,7 @@ interface NumberToWords { /** * Splits a number into the high and low 32-bit words of a 64-bit unsigned integer. * -* @param value - integer value in the range [0, 2^53-1] +* @param value - integer value * @returns high and low words as 32-bit unsigned integers * * @example diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/assign.js b/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/assign.js index 0eade5997169..449a34fef1a1 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/assign.js +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/assign.js @@ -28,7 +28,7 @@ var TWO_32 = 0x100000000; // 2^32 /** * Splits a number into the high and low 32-bit words of a 64-bit unsigned integer and assigns results to a provided output array. * -* @param {NonNegativeInteger} value - integer value in the range [0, 2^53-1] +* @param {NonNegativeInteger} value - integer value * @param {Collection} out - output array * @param {integer} stride - stride length * @param {NonNegativeInteger} offset - starting index diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/main.js b/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/main.js index 7103fa5299f8..d797c3018f73 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/main.js +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/lib/main.js @@ -28,7 +28,7 @@ var assign = require( './assign.js' ); /** * Splits a number into the high and low 32-bit words of a 64-bit unsigned integer. * -* @param {NonNegativeInteger} value - integer value in the range [0, 2^53-1] +* @param {NonNegativeInteger} value - integer value * @returns {Array} high and low words as 32-bit unsigned integers * * @example diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.assign.js b/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.assign.js index d19fc09e46c6..d8f4ee8f5c12 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.assign.js +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.assign.js @@ -31,6 +31,7 @@ var number2words = require( './../lib/assign.js' ); // VARIABLES // var TWO_32 = 0x100000000; // 2^32 +var TWO_64 = 0x10000000000000000; // 2^64 // TESTS // @@ -82,7 +83,9 @@ tape( 'the function splits a number into the high and low 32-bit words of a 64-b UINT32_MAX + 1, 9007199254740881, // Largest prime under 2^53 MAX_SAFE_INTEGER - 1, - MAX_SAFE_INTEGER + MAX_SAFE_INTEGER, + MAX_SAFE_INTEGER + 1, + TWO_64 - 2048 // Largest integer less than 2^64 exactly representable as a double ]; for ( i = 0; i < values.length; i++ ) { diff --git a/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.main.js b/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.main.js index 04ca1aaf1128..1f5e5fb22879 100644 --- a/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.main.js +++ b/lib/node_modules/@stdlib/number/uint64/base/number2words/test/test.main.js @@ -48,5 +48,9 @@ tape( 'the function splits a number into the high and low 32-bit words of a 64-b t.strictEqual( w[ 0 ], 2097151, 'returns expected value' ); t.strictEqual( w[ 1 ], 4294967295, 'returns expected value' ); + w = number2words( 0x10000000000000000 - 2048 ); + t.strictEqual( w[ 0 ], 4294967295, 'returns expected value' ); + t.strictEqual( w[ 1 ], 4294965248, 'returns expected value' ); + t.end(); });