この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
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%.shiftRightArithmeticByScalar()
メソッドは引数で与えられたビット数で右へ(算術)シフトされたレーン値をもつ新しいインスタンスを返します(a >> bits
)。
構文
SIMD.int8x16.shiftRightArithmeticByScalar(a, bits) SIMD.int16x8.shiftRightArithmeticByScalar(a, bits) SIMD.int32x4.shiftRightArithmeticByScalar(a, bits)
引数
- a
- SIMD型のインスタンス
bits
- シフトするビット数
戻り値
引数で与えられたビット数で右へ(算術)シフトされたレーン値をもつ新しい対応するSIMDデータ型(a >> bits
)。
説明
ビット単位の算術右シフト演算は特定の数のビットを右へシフトします。右へシフトする際の過剰なビットは破棄されます。左端のビットのコピーが左サイドからのシフトされます。新しい左端のビットが前の左端のビットと同じ値を持つため、符号ビット(左端のビット)は変化しません。したがって、名称「サイン伝播」または「演算」と言います。
非負の数値の場合、算術右シフトと論理的右シフトは同じ結果になります。
例えば、 5 >> 1
のビット単位の算術右シフトの結果は10進数で2である0010
になります。
5 0101 ---- 2 0010
例
int32x4
のビット単位の算術右シフト
var a = SIMD.int32x4(1, 2, 4, -8); SIMD.int32x4.shiftRightArithmeticByScalar(a, 1); // int32x4[0, 1, 2, -4]
仕様
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 | 未サポート | 未サポート | 未サポート |