MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

SIMD.%type%.not()

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

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%.not() メソッドはレーン値のビット単位のの論理的 NOT演算値をもつ新しいインスタンスを返します(~a)。

構文

SIMD.float32x4.not(a)
SIMD.int8x16.not(a)
SIMD.int16x8.not(a)
SIMD.int32x4.not(a)

引数

a
SIMD型のインスタンス

戻り値

レーン値のビット単位の論理的NOT演算値をもつ新しい対応するSIMDデータ型(~a)。

説明

ビット単位のNOT演算は反転値が得られます(1の補数)。NOT演算の真理値表で下記の通りであります:

a ~a
0 1
1 0

例えば、~5のビット単位のNOT演算値の結果は10進数で10である1010になります。

5   0101
    ----
10  1010

int32x4のビット単位のNOT演算

var a = SIMD.int32x4(1, 2, 4, 8);
SIMD.int32x4.not(a);
// int32x4[-2, -3, -5, -9]

float32x4のビット単位のNOT演算

float32x4のNOT演算に対して、最初に、SIMD.int32x4.fromFloat32x4Bits()を使用してint32x4にビット単位で変換されます。それから、int32x4型でビット単位のNOT演算が実施され、最後に、SIMD.float32x4.fromInt32x4Bits()を使ってfloat32x4が返されます。

var b = SIMD.float32x4(1.5, 2.0, 4.0, 8.0);
SIMD.float32x4.not(b);
// float32x4[-3, -2, -1, -0.5]

仕様

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,