★ wanayoo — archive 1999 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/SIMD/loadNouvelle recherche | Portail wanayoo

SIMD.%type%.load()

by 1 contributor:

This article is in need of an editorial review.

This translation is incomplete. Please help translate this article from English.

This is an experimental technology, part of the Harmony (ECMAScript 7) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.

静的なSIMD.%type%.load() メソッドはtyped arrayからロードされたレーン値をもつ新しいSIMDデータ型を生成します。

構文

SIMD.float32x4.load(tarray, index)
SIMD.float32x4.load1(tarray, index)
SIMD.float32x4.load2(tarray, index)
SIMD.float32x4.load3(tarray, index)

SIMD.int32x4.load(tarray, index)
SIMD.int32x4.load1(tarray, index)
SIMD.int32x4.load2(tarray, index)
SIMD.int32x4.load3(tarray, index)

SIMD.float64x2.load(tarray, index)
SIMD.float64x2.load1(tarray, index)

SIMD.int8x16.load(tarray, index)
SIMD.int16x8.load(tarray, index)

引数

tarray
typed arrayインスタンスAn instance of a . これは下記のうちの1つです。:
index
typed array内でロードを開始するインデックス値

エラースロー

  • indexが範囲外なら、例えば、SIMD.int32x4.load(tarray, -1) または tarrayのサイズより大きい値の場合、RangeErrorがスローされます。
  • tarrayがtyped arrayの型の1つではない場合、例えば、SIMD.int32x4.load(tarray.buffer, 0) (array bufferが有効ではない)、TypeErrorがスローされます。

説明

SIMDのloadメソッド と storeメソッドはtyped arraysと混在します。 loadメソッドでは、typed arrays内にSIMD型を渡します。store,メソッドでは、 SIMDデータはtyped arraysに格納されます。

load()を使用してすべてのレーン値をロードするか、load1()、load2() または load3()メソッドで1つ、2つ、3つのレーン値のみロードできます。

例

次の例では、SIMD.int32x4データ型にロードされたInt32Arrayを使用します。

すべての値をロードする

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load(a, 0);
// int32x4[1,2,3,4]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load(a, 2);
// int32x4[3,4,5,6]

1つの値をロードする

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load1(a, 0);
// int32x4[1,0,0,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load1(a, 2);
// int32x4[3,0,0,0]

2つの値をロードする

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load2(a, 0);
// int32x4[1,2,0,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load2(a, 2);
// int32x4[3,4,0,0]

3つの値をロードする

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load3(a, 0);
// int32x4[1,2,3,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.int32x4.load3(a, 2);
// int32x4[3,4,5,0]

仕様

SIMDはまだ公式規格文書やドラフトでサポートされていません。typed arraysに基づいた標準化作業や互換性実装のために、ecmascript_simd GitHub リポジトリを確かめて下さい。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 未サポート Nightly build 未サポート 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 未サポート Nightly build 未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

Contributors to this page: shide55
最終更新者: shide55,
サイドバーを隠す