Float16Array
Float16Array 型配列は、プラットフォームのバイトオーダーで 16 ビット浮動小数点数の配列を表します。バイトオーダーの制御が必要な場合は、代わりに DataView を使用してください。初期化データが明示的に与えられない限り、内容は 0 に初期化されます。一旦初期化されると、オブジェクトのメソッドを使用するか、標準的な配列インデックスの構文(つまりブラケット記法)を使用して配列の要素を参照できます。
Float16Array は隠された TypedArray クラスのサブクラスです。
メモ: Float16 のサポートは、JavaScript API と CPU アーキテクチャの両方において万能ではありません。これを使用すると、プラットフォームによってはパフォーマンスが低下する可能性があります。これは、float-backed canvases、WebGPU、WebGL、stable diffusion を含む深層学習モデルなど、高度に最適化されパフォーマンスに敏感なシステムとのやり取りを想定しています。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 135 | 135 | 129 | 18.2 | 135 | 18.2 | |
| getFloat16() は DataView インスタンスのメソッドで、この DataView の指定されたバイトオフセットから 2 バイトを読み取り、 16 ビット浮動小数点数として解釈します。アラインメント制約はありません。境界内の任意のオフセットからマルチバイト値を取得できます。 | 135 | 135 | 129 | 18.2 | 135 | 18.2 |
| setFloat16() は DataView インスタンスのメソッドで、数値を受け取り、16 ビット浮動小数点数として、この DataView の指定されたバイトオフセットから始まる 2 バイトに格納します。アラインメント制約はなく、マルチバイトの値は範囲内の任意のオフセットに格納できます。 | 135 | 135 | 129 | 18.2 | 135 | 18.2 |
| Float16Array() コンストラクターは Float16Array オブジェクトを生成します。初期化データが明示的に与えられない限り、中身は 0 に初期化されます。 | 135 | 135 | 129 | 18.2 | 135 | 18.2 |
| Math.f16round() は静的メソッドで、数値に最も近い 16 ビット半精度浮動小数点表現を返します。 | 135 | 135 | 129 | 18.2 | 135 | 18.2 |
基本構文
const f16 = new Float16Array([1.5, 2.5, 3.5]);
console.log(f16); // Float16Array [1.5, 2.5, 3.5]
// Rounding to half precision using Math.f16round
Math.f16round(1.337); // 1.3369140625 ライブデモ
Check Float16Array support
Create a Float16Array when the constructor exists.
Inspect byte length
Compare the memory size of Float16Array and Float32Array.
Map over half-precision values
Transform half-precision values while keeping the typed-array structure.
実務での使いどころ
-
Float16Array の活用
Float16Array 型配列は、プラットフォームのバイトオーダーで 16 ビット浮動小数点数の配列を表します。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。