From caa9d4d2f50ab5f8090646d1e6deda2b46aab0d3 Mon Sep 17 00:00:00 2001 From: gururaj1512 Date: Fri, 3 Jul 2026 15:57:42 +0530 Subject: [PATCH] feat: add float16 dtype support for array/reviver --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/array/reviver/lib/ctors.js | 2 ++ .../@stdlib/array/reviver/test/test.js | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/node_modules/@stdlib/array/reviver/lib/ctors.js b/lib/node_modules/@stdlib/array/reviver/lib/ctors.js index 68202d7ca8f2..95ba8ee6e3c2 100644 --- a/lib/node_modules/@stdlib/array/reviver/lib/ctors.js +++ b/lib/node_modules/@stdlib/array/reviver/lib/ctors.js @@ -22,6 +22,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var Float32Array = require( '@stdlib/array/float32' ); +var Float16Array = require( '@stdlib/array/float16' ); var Int16Array = require( '@stdlib/array/int16' ); var Int32Array = require( '@stdlib/array/int32' ); var Int8Array = require( '@stdlib/array/int8' ); @@ -39,6 +40,7 @@ var BooleanArray = require( '@stdlib/array/bool' ); var ctors = { 'Float64Array': Float64Array, 'Float32Array': Float32Array, + 'Float16Array': Float16Array, 'Int32Array': Int32Array, 'Uint32Array': Uint32Array, 'Int16Array': Int16Array, diff --git a/lib/node_modules/@stdlib/array/reviver/test/test.js b/lib/node_modules/@stdlib/array/reviver/test/test.js index a6e5837553f8..30fc0d6ce75f 100644 --- a/lib/node_modules/@stdlib/array/reviver/test/test.js +++ b/lib/node_modules/@stdlib/array/reviver/test/test.js @@ -26,6 +26,7 @@ var parseJSON = require( '@stdlib/utils/parse-json' ); var toJSON = require( '@stdlib/array/to-json' ); var Float64Array = require( '@stdlib/array/float64' ); var Float32Array = require( '@stdlib/array/float32' ); +var Float16Array = require( '@stdlib/array/float16' ); var Int32Array = require( '@stdlib/array/int32' ); var Uint32Array = require( '@stdlib/array/uint32' ); var Int16Array = require( '@stdlib/array/int16' ); @@ -157,6 +158,23 @@ tape( 'the function will revive a JSON-serialized typed array (Float32Array)', f t.end(); }); +tape( 'the function will revive a JSON-serialized typed array (Float16Array)', function test( t ) { + var json; + var arr; + var out; + + arr = new Float16Array( [ 3.14, -3.14 ] ); + json = JSON.stringify( toJSON( arr ) ); + + out = parseJSON( json, reviveTypedArray ); + + t.strictEqual( out instanceof Float16Array, true, 'is an instance' ); + t.strictEqual( out[ 0 ], arr[ 0 ], true, 'has expected value' ); + t.strictEqual( out[ 1 ], arr[ 1 ], true, 'has expected value' ); + + t.end(); +}); + tape( 'the function will revive a JSON-serialized typed array (BooleanArray)', function test( t ) { var json; var arr;