Float16Array

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Float16Array 型配列は、プラットフォームのバイトオーダーで 16 ビット浮動小数点数の配列を表します。バイトオーダーの制御が必要な場合は、代わりに DataView を使用してください。初期化データが明示的に与えられない限り、内容は 0 に初期化されます。一旦初期化されると、オブジェクトのメソッドを使用するか、標準的な配列インデックスの構文(つまりブラケット記法)を使用して配列の要素を参照できます。

Float16Array は隠された TypedArray クラスのサブクラスです。

メモ: Float16 のサポートは、JavaScript API と CPU アーキテクチャの両方において万能ではありません。これを使用すると、プラットフォームによってはパフォーマンスが低下する可能性があります。これは、float-backed canvases、WebGPU、WebGL、stable diffusion を含む深層学習モデルなど、高度に最適化されパフォーマンスに敏感なシステムとのやり取りを想定しています。

コンストラクター

Float16Array()

新しい Float16Array オブジェクトを作成します。

静的プロパティ

以下に加えて、親である TypedArray から静的プロパティを継承します。

Float16Array.BYTES_PER_ELEMENT

要素サイズを数値で返します。Float16Array の場合は 2 を返します。

静的メソッド

親である TypedArray から静的メソッドを継承します。

インスタンスプロパティ

以下に加えて、親である TypedArray からインスタンスプロパティを継承します。

これらのプロパティは Float16Array.prototype で定義され、すべての Float16Array インスタンスで共有されます。

Float16Array.prototype.BYTES_PER_ELEMENT

要素サイズを数値で返します。Float16Array の場合は 2 を返します。

Float16Array.prototype.constructor

インスタンスオブジェクトを生成したコンストラクター関数です。Float16Array インスタンスの場合、初期値は Float16Array コンストラクターです。

インスタンスメソッド

親である TypedArray からインスタンスメソッドを継承します。

Float16Array を作成する様々な方法

js
// From a length
const float16 = new Float16Array(2);
float16[0] = 42;
console.log(float16[0]); // 42
console.log(float16.length); // 2
console.log(float16.BYTES_PER_ELEMENT); // 2

// From an array
const x = new Float16Array([21, 31]);
console.log(x[1]); // 31

// From another TypedArray
const y = new Float16Array(x);
console.log(y[0]); // 21

// From an ArrayBuffer
const buffer = new ArrayBuffer(32);
const z = new Float16Array(buffer, 4, 4);
console.log(z.byteOffset); // 4

// From an iterable
const iterable = (function* () {
  yield* [1, 2, 3];
})();
const float16FromIterable = new Float16Array(iterable);
console.log(float16FromIterable);
// Float16Array [1, 2, 3]

仕様書

Specification
Float16Array
# sec-float16array

ブラウザーの互換性

BCD tables only load in the browser

関連情報