この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
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%.xor()
メソッドはレーン値の論理XOR演算値をもつ新しいインスタンスを返します(a ^ b
)。
構文
SIMD.float32x4.xor(a, b) SIMD.int8x16.xor(a, b) SIMD.int16x8.xor(a, b) SIMD.int32x4.xor(a, b)
引数
- a
- SIMD型のインスタンス
b
- SIMD型の別のインスタンス
戻り値
レーン値の論理XOR演算値をもつ新しい対応するSIMDデータ型(a ^ b
)。
説明
ビット単位のXOR演算は、a
とb
が違ったら、1になります。 XOR演算の真理値表は下記の通りであります:
a |
b |
a ^ b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
例えば、5 & 1
のビット単位のXOR演算の結果は10進数で4である0100
になります。
5 0101 1 0001 ---- 4 0100
例
2つのint32x4
のビット単位のXOR演算
var a = SIMD.int32x4(1, 2, 4, 8); var b = SIMD.int32x4(5, 5, 5, 5); SIMD.int32x4.xor(a, b); // int32x4[4, 7, 1, 13]
2つのfloat32x4
のビット単位のXOR演算
2つのfloat32x4
のXOR演算に対して、最初に、SIMD.int32x4.fromFloat32x4Bits()
を使用してint32x4
型にビット単位で変換されます。それから、int32x4
型でビット単位のXOR演算が実施され、最後に、SIMD.float32x4.fromInt32x4Bits()
を使用してfloat32x4
が返されます。
var a = SIMD.float32x4(1.5, 2.0, 4.0, 8.0); var b = SIMD.float32x4(5.0, 5.0, 5.0, 5.0); SIMD.float32x4.xor(a, b); // float32x4[2.9774707105582116e+38, 1.4693679385278594e-38, 2.938735877055719e-39, 5.877471754111438e-38]
仕様
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 | 未サポート | 未サポート | 未サポート |