MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

SIMD.%type%.equal()

この翻訳は不完全です。英語から この記事を翻訳 してください。

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%.equal() メソッドは、各レーンで等号比較(a == b)に応じた値をもつ選択マスクを返します。

構文

SIMD.float32x4.equal(a, b)
SIMD.float64x2.equal(a, b)
SIMD.int8x16.equal(a, b)
SIMD.int16x8.equal(a, b)
SIMD.int32x4.equal(a, b)

引数

a
SIMD型のインスタンス
b
SIMD型の別のインスタンス.

戻り値

(サイズに応じたint32x4int16x8int8x16型のうちの)選択マスク 。そのマスクのレーン値は、a == bの結果に応じたtrue または falseのどちらかです。

説明

SIMD.%type%.equal メソッドはSIMD comparison operationsのうちの1つです。2つのインスタンスの等号比較の値を戻しません。そのかわりに、Boolean値をもつ選択マスクが返されます。

2つのベクトルから等しいレーン値を選択する

この例では、2つのSIMD float32x4 データ型がレーン値の等号に対して比較されます。選択マスクは結果に基づいて作られます。この選択マスクは新しいfloat32x4に等しい値を選択するために使われます。ベクトルab が等しい値を持たないレーン位置では、結果のベクトルはzeroベクトルを使用し、0でレーンを埋めます。

var a = SIMD.float32x4(1, 2, 3, 9);
var b = SIMD.float32x4(1, 4, 7, 9);

var mask = SIMD.float32x4.equal(a,b);
// int32x4[-1, 0, 0, -1]

var zero = SIMD.float32x4(0, 0, 0, 0);

var result = SIMD.float32x4.select(mask, a, zero);
// float32x4[1, 0, 0, 9]

仕様

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 未サポート 未サポート 未サポート

関連情報

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

 このページの貢献者: shide55
 最終更新者: shide55,