JavaScript参考手册
SIMD
SIMD.equal
SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的SIMD 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 SIMD. js 操作。
静态SIMD.%type%.equal()
方法返回一个选择掩码,其值取决于a === b
每个通道中严格的相等比较()。
语法
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)
参数
a
SIMD类型的实例。b
SIMD类型的另一个实例。
返回值
(类型的选择掩码Bool64x2
,Bool32x4
,Bool16x8
或Bool8x16
根据大小)。掩码的通道值是true
或者false
取决于的结果a === b
。
规范
该SIMD.%type%.equal
方法是SIMD比较操作之一,不会直接返回两个实例相等比较的值。而是返回具有布尔值的选择掩码。
例子
从两个向量中选择相等的通道
在这个例子中,比较两个SIMD Float32x4
数据类型和相应的通道值,并根据结果创建一个选择掩码。然后使用此选择掩码将相等的值选择为新的Float32x4
。在矢量a
和不b
具有相等值的车道位置处,结果矢量使用zero
矢量并填充车道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]
规范
Specification |
Status |
Comment |
---|---|---|
SIMDThe definition of 'SIMDConstructor.equal' in that specification. |
Draft |
Initial definition. |
浏览器兼容性
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 |
SIMD相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络