This is an experimental technology
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 versions of browsers as the specification changes.
The static SIMD.%type%.notEqual()
method returns a selection mask with values depending on an inequality comparison (a != b
) in each lane.
Syntax
SIMD.Float32x4.notEqual(a, b) SIMD.Float64x2.notEqual(a, b) SIMD.Int8x16.notEqual(a, b) SIMD.Int16x8.notEqual(a, b) SIMD.Int32x4.notEqual(a, b) SIMD.Uint8x16.notEqual(a, b) SIMD.Uint16x8.notEqual(a, b) SIMD.Uint32x4.notEqual(a, b)
Parameters
- a
- An instance of a SIMD type.
b
- Another instance of a SIMD type.
Return value
A selection mask (of type Bool64x2
, Bool32x4
, Bool16x8
or Bool8x16
depending on the size). The lane values of the mask are either true
or false
depending on the result of a != b
.
Description
The SIMD.%type%.notEqual
method is one of the SIMD comparison operations and does not give you back the values of the inequality comparison of two instances directly. Instead, a selection mask with Boolean values is returned.
Examples
Selecting unequal lanes from two vectors
In this example, two SIMD Float32x4
data types are compared against inequality of their lane values and a selection mask gets created based on the result. This selection mask is then used to select the unequal values into a new Float32x4
. At the lane positions where the vectors a
and b
have equal values, the result vector uses the zero
vector and fills the lanes with 0
.
var a = SIMD.Float32x4(1, 2, 3, 9); var b = SIMD.Float32x4(1, 4, 7, 9); var mask = SIMD.Float32x4.notEqual(a, b); // Bool32x4[false, true, true, false] var zero = SIMD.Float32x4(0, 0, 0, 0); var result = SIMD.Float32x4.select(mask, a, zero); // Float32x4[0, 2, 3, 0]
Specifications
Specification | Status | Comment |
---|---|---|
SIMD The definition of 'SIMDConstructor.notEqual' in that specification. |
Draft | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | No support | Nightly build | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | No support | Nightly build | No support | No support | No support |