Skip to content

Commit d771a35

Browse files
committed
Auto-generated commit
1 parent 685a318 commit d771a35

7 files changed

Lines changed: 134 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
### Features
1212

13+
- [`29242e0`](https://github.com/stdlib-js/stdlib/commit/29242e0a53ae80a91a7d0b780c9a5e8b59f108cc) - add float16 dtype support to `array/empty` [(#14166)](https://github.com/stdlib-js/stdlib/pull/14166)
1314
- [`28ee55f`](https://github.com/stdlib-js/stdlib/commit/28ee55fd41821fd27d576225220db607053777e5) - add float16 dtype support to `array/typed-real` [(#14172)](https://github.com/stdlib-js/stdlib/pull/14172)
1415
- [`800db1b`](https://github.com/stdlib-js/stdlib/commit/800db1bdcd2d4e3fa76067addd8395f006cea5ad) - add float16 dtype support to `array/min-dtype` [(#14018)](https://github.com/stdlib-js/stdlib/pull/14018)
1516
- [`bd39888`](https://github.com/stdlib-js/stdlib/commit/bd3988874fec8e11dcb2ea04afc3e9c2a45207e5) - add float16 dtype support to `array/nans-like` [(#14122)](https://github.com/stdlib-js/stdlib/pull/14122)
@@ -91,6 +92,7 @@ This release closes the following issue:
9192

9293
<details>
9394

95+
- [`29242e0`](https://github.com/stdlib-js/stdlib/commit/29242e0a53ae80a91a7d0b780c9a5e8b59f108cc) - **feat:** add float16 dtype support to `array/empty` [(#14166)](https://github.com/stdlib-js/stdlib/pull/14166) _(by Samarth Kolarkar, Athan Reines, Gururaj Gurram)_
9496
- [`28ee55f`](https://github.com/stdlib-js/stdlib/commit/28ee55fd41821fd27d576225220db607053777e5) - **feat:** add float16 dtype support to `array/typed-real` [(#14172)](https://github.com/stdlib-js/stdlib/pull/14172) _(by Gururaj Gurram, Athan Reines)_
9597
- [`268c592`](https://github.com/stdlib-js/stdlib/commit/268c592f0a6ce0c0d0f05943c3e287bac555bdeb) - **docs:** update descriptions [(#14157)](https://github.com/stdlib-js/stdlib/pull/14157) _(by stdlib-bot)_
9698
- [`800db1b`](https://github.com/stdlib-js/stdlib/commit/800db1bdcd2d4e3fa76067addd8395f006cea5ad) - **feat:** add float16 dtype support to `array/min-dtype` [(#14018)](https://github.com/stdlib-js/stdlib/pull/14018) _(by Samarth Kolarkar, Athan Reines, gururaj1512)_

‎empty/benchmark/benchmark.js‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,24 @@ bench( format( '%s:dtype=%s', pkg, 'float32' ), function benchmark( b ) {
8484
b.end();
8585
});
8686

87+
bench( format( '%s:dtype=%s', pkg, 'float16' ), function benchmark( b ) {
88+
var arr;
89+
var i;
90+
b.tic();
91+
for ( i = 0; i < b.iterations; i++ ) {
92+
arr = empty( 0, 'float16' );
93+
if ( arr.length !== 0 ) {
94+
b.fail( 'should have length 0' );
95+
}
96+
}
97+
b.toc();
98+
if ( !isTypedArrayLike( arr ) ) {
99+
b.fail( 'should return a typed array' );
100+
}
101+
b.pass( 'benchmark finished' );
102+
b.end();
103+
});
104+
87105
bench( format( '%s:dtype=%s', pkg, 'bool' ), function benchmark( b ) {
88106
var arr;
89107
var i;
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
/**
2+
* @license Apache-2.0
3+
*
4+
* Copyright (c) 2026 The Stdlib Authors.
5+
*
6+
* Licensed under the Apache License, Version 2.0 (the "License");
7+
* you may not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*/
18+
19+
'use strict';
20+
21+
// MODULES //
22+
23+
var bench = require( '@stdlib/bench' );
24+
var pow = require( '@stdlib/math/base/special/pow' );
25+
var isTypedArray = require( '@stdlib/assert/is-typed-array' );
26+
var format = require( '@stdlib/string/format' );
27+
var pkg = require( './../package.json' ).name;
28+
var empty = require( './../lib' );
29+
30+
31+
// FUNCTIONS //
32+
33+
/**
34+
* Creates a benchmark function.
35+
*
36+
* @private
37+
* @param {PositiveInteger} len - array length
38+
* @returns {Function} benchmark function
39+
*/
40+
function createBenchmark( len ) {
41+
return benchmark;
42+
43+
/**
44+
* Benchmark function.
45+
*
46+
* @private
47+
* @param {Benchmark} b - benchmark instance
48+
*/
49+
function benchmark( b ) {
50+
var arr;
51+
var i;
52+
53+
b.tic();
54+
for ( i = 0; i < b.iterations; i++ ) {
55+
arr = empty( len, 'float16' );
56+
if ( arr.length !== len ) {
57+
b.fail( 'unexpected length' );
58+
}
59+
}
60+
b.toc();
61+
if ( !isTypedArray( arr ) ) {
62+
b.fail( 'should return a typed array' );
63+
}
64+
b.pass( 'benchmark finished' );
65+
b.end();
66+
}
67+
}
68+
69+
70+
// MAIN //
71+
72+
/**
73+
* Main execution sequence.
74+
*
75+
* @private
76+
*/
77+
function main() {
78+
var len;
79+
var min;
80+
var max;
81+
var f;
82+
var i;
83+
84+
min = 1; // 10^min
85+
max = 6; // 10^max
86+
87+
for ( i = min; i <= max; i++ ) {
88+
len = pow( 10, i );
89+
f = createBenchmark( len );
90+
bench( format( '%s:dtype=float16,len=%d', pkg, len ), f );
91+
}
92+
}
93+
94+
main();

‎empty/docs/types/index.d.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ import { DataTypeMap } from '@stdlib/types/array';
4242
* @example
4343
* var arr = empty( 2, 'float32' );
4444
* // returns <Float32Array>
45+
*
46+
* @example
47+
* var arr = empty( 2, 'float16' );
48+
* // returns <Float16Array>
4549
*/
4650
declare function empty<T extends keyof DataTypeMap<number> = 'float64'>( length: number, dtype?: T ): DataTypeMap<number>[T];
4751

‎empty/docs/types/test.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import empty = require( './index' );
2626
empty( 10 ); // $ExpectType Float64Array
2727
empty( 10, 'float64' ); // $ExpectType Float64Array
2828
empty( 10, 'float32' ); // $ExpectType Float32Array
29+
empty( 10, 'float16' ); // $ExpectType Float16ArrayFallback
2930
empty( 10, 'complex128' ); // $ExpectType Complex128Array
3031
empty( 10, 'complex64' ); // $ExpectType Complex64Array
3132
empty( 10, 'bool' ); // $ExpectType BooleanArray

‎empty/package.json‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
"matrix",
6565
"float64array",
6666
"float32array",
67+
"float16array",
6768
"int32array",
6869
"uint32array",
6970
"int16array",
@@ -85,6 +86,9 @@
8586
"float",
8687
"single-precision",
8788
"float32",
89+
"half",
90+
"half-precision",
91+
"float16",
8892
"ieee754",
8993
"integer",
9094
"int32",

‎empty/test/test.main.js‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
var tape = require( 'tape' );
2424
var Float64Array = require( './../../float64' );
2525
var Float32Array = require( './../../float32' );
26+
var Float16Array = require( './../../float16' );
2627
var Int32Array = require( './../../int32' );
2728
var Uint32Array = require( './../../uint32' );
2829
var Int16Array = require( './../../int16' );
@@ -170,6 +171,16 @@ tape( 'the function returns an empty array (dtype=float32)', function test( t )
170171
t.end();
171172
});
172173

174+
tape( 'the function returns an empty array (dtype=float16)', function test( t ) {
175+
var arr;
176+
177+
arr = empty( 5, 'float16' );
178+
t.strictEqual( instanceOf( arr, Float16Array ), true, 'returns expected value' );
179+
t.strictEqual( arr.length, 5, 'returns expected value' );
180+
181+
t.end();
182+
});
183+
173184
tape( 'the function returns an empty array (dtype=bool)', function test( t ) {
174185
var arr;
175186

0 commit comments

Comments
 (0)