diff --git a/lib/node_modules/@stdlib/array/from-scalar/benchmark/benchmark.js b/lib/node_modules/@stdlib/array/from-scalar/benchmark/benchmark.js index 6bd318db3747..dee7380f8e1c 100644 --- a/lib/node_modules/@stdlib/array/from-scalar/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/array/from-scalar/benchmark/benchmark.js @@ -248,6 +248,32 @@ bench( format( '%s:dtype=float32', pkg ), function benchmark( b ) { b.end(); }); +bench( format( '%s:dtype=float16', pkg ), function benchmark( b ) { + var values; + var v; + var i; + + values = [ + 1, + 2, + 3 + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + v = scalar2array( values[ i%values.length ], 'float16' ); + if ( v.length !== 1 ) { + b.fail( 'should return a single-element array' ); + } + } + b.toc(); + if ( !isCollection ) { + b.fail( 'should return an array' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + bench( format( '%s:dtype=int32', pkg ), function benchmark( b ) { var values; var v; diff --git a/lib/node_modules/@stdlib/array/from-scalar/docs/types/index.d.ts b/lib/node_modules/@stdlib/array/from-scalar/docs/types/index.d.ts index 31f2841bf06a..f5a8a5c22e91 100644 --- a/lib/node_modules/@stdlib/array/from-scalar/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/array/from-scalar/docs/types/index.d.ts @@ -21,7 +21,7 @@ /// import { ComplexLike, Complex64, Complex128 } from '@stdlib/types/complex'; -import { DataType, Complex128Array, Complex64Array, BooleanArray } from '@stdlib/types/array'; +import { DataType, Float16Array, Complex128Array, Complex64Array, BooleanArray } from '@stdlib/types/array'; /** * Returns a single-element array containing a provided scalar value. @@ -49,6 +49,19 @@ declare function scalar2array( value: number, dtype: 'float64' ): Float64Array; */ declare function scalar2array( value: number, dtype: 'float32' ): Float32Array; +/** +* Returns a single-element array containing a provided scalar value. +* +* @param value - scalar value +* @param dtype - output array data type +* @returns output array +* +* @example +* var x = scalar2array( 1.0, 'float16' ); +* // returns [ 1.0 ] +*/ +declare function scalar2array( value: number, dtype: 'float16' ): Float16Array; + /** * Returns a single-element array containing a provided scalar value. * diff --git a/lib/node_modules/@stdlib/array/from-scalar/docs/types/test.ts b/lib/node_modules/@stdlib/array/from-scalar/docs/types/test.ts index 700493ab68c9..fc9a39faa661 100644 --- a/lib/node_modules/@stdlib/array/from-scalar/docs/types/test.ts +++ b/lib/node_modules/@stdlib/array/from-scalar/docs/types/test.ts @@ -34,6 +34,7 @@ import array2scalar = require( './index' ); array2scalar( 1.0, 'float64' ); // $ExpectType Float64Array array2scalar( 1.0, 'float32' ); // $ExpectType Float32Array + array2scalar( 1.0, 'float16' ); // $ExpectType Float16ArrayFallback array2scalar( 1.0, 'complex128' ); // $ExpectType Complex128Array array2scalar( 1.0, 'complex64' ); // $ExpectType Complex64Array array2scalar( true, 'bool' ); // $ExpectType BooleanArray diff --git a/lib/node_modules/@stdlib/array/from-scalar/test/test.js b/lib/node_modules/@stdlib/array/from-scalar/test/test.js index a8f8d9af84db..e8d6ad9830d9 100644 --- a/lib/node_modules/@stdlib/array/from-scalar/test/test.js +++ b/lib/node_modules/@stdlib/array/from-scalar/test/test.js @@ -28,12 +28,14 @@ var Complex64Array = require( '@stdlib/array/complex64' ); var BooleanArray = require( '@stdlib/array/bool' ); 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 isEqualBooleanArray = require( '@stdlib/assert/is-booleanarray' ); var isSameComplex128Array = require( '@stdlib/assert/is-same-complex128array' ); var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' ); var isSameFloat64Array = require( '@stdlib/assert/is-same-float64array' ); var isSameFloat32Array = require( '@stdlib/assert/is-same-float32array' ); +var isSameFloat16Array = require( '@stdlib/assert/is-same-float16array' ); var isSameArray = require( '@stdlib/assert/is-same-array' ); var isInt32Array = require( '@stdlib/assert/is-int32array' ); var array2scalar = require( './../lib' ); @@ -162,6 +164,17 @@ tape( 'the function returns a single element containing a provided scalar value t.end(); }); +tape( 'the function returns a single element containing a provided scalar value (dtype=float16)', function test( t ) { + var expected; + var actual; + + actual = array2scalar( 3.0, 'float16' ); + expected = new Float16Array( [ 3.0 ] ); + + t.strictEqual( isSameFloat16Array( actual, expected ), true, 'returns expected value' ); + t.end(); +}); + tape( 'the function returns a single element containing a provided scalar value (dtype=int32)', function test( t ) { var expected; var actual;