我们的志愿者还没有将这篇文章翻译为 中文 (简体)。加入我们帮助完成翻译!
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%.equal()
method returns a selection mask with values depending on a strict equality comparison (a === b
) in each lane.
Syntax
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) SIMD.Uint8x16.equal(a, b) SIMD.Uint16x8.equal(a, b) SIMD.Uint32x4.equal(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%.equal
method is one of the SIMD comparison operations and does not give you back the values of the equality comparison of two instances directly. Instead, a selection mask with Boolean values is returned.
Examples
Selecting equal lanes from two vectors
In this example, two SIMD Float32x4
data types are compared against equality of their lane values and a selection mask gets created based on the result. This selection mask is then used to select the equal values into a new Float32x4
. At the lane positions where the vectors a
and b
have no 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.equal(a,b); // Bool32x4[true, false, false, true] var zero = SIMD.Float32x4(0, 0, 0, 0); var result = SIMD.Float32x4.select(mask, a, zero); // Float32x4[1, 0, 0, 9]
Specifications
Specification | Status | Comment |
---|---|---|
SIMD The definition of 'SIMDConstructor.equal' 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 |