SIMD.Bool8x16
SIMD.Bool8x16
SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的SIMD 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 SIMD. js 操作。
SIMD.Bool8x16
数据类型是一个128位的向量,分成16个通道存储布尔值。
语法
SIMD.Bool8x16(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15
参数
s[0-15]
可选的
构造函数
除了简单的构造函数之外,SIMD API还提供以下构造函数:
SIMD.Bool8x16.splat()
创建一个Bool8x16,将所有通道设置为给定值。
注意: SIMD类型与new不起作用,因为SIMD值不是“盒装”对象(可参考 String(s) 与 new String(s) 创建 String对象 的比较)。
var v = new SIMD.Bool8x16(true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false
// TypeError: SIMD.Bool8x16 is not a constructor
var w = new SIMD.Bool8x16.splat(true
// TypeError: SIMD.Bool8x16.splat is not a constructor
与之替代的是:
var v = SIMD.Bool8x16(true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false
var w = SIMD.Bool8x16.splat(true
运算
要在 SIMD 类型中实际执行某些操作, 需要使用SIMD数据类型。
检查SIMD类型
SIMD.Bool8x16.check()
如果参数是有效的Bool8x16数据类型,则返回新的Bool8x16。TypeError
否则抛出。
访问和变换通道
SIMD.Bool8x16.extractLane()
返回给定通道的值。SIMD.Bool8x16.replaceLane()
返回替换给定通道值的新Bool8x16。
布尔运算
SIMD.Bool8x16.allTrue()
检查是否所有车道都有true
价值。SIMD.Bool8x16.anyTrue()
检查任何车道是否true
有价值。
按位逻辑操作
SIMD.Bool8x16.and()
返回一个新的Bool8x16,其逻辑值为(a & b
)。
SIMD原型
下面的方法和属性被安装在SIMD.Bool8x16.prototype
。
SIMD.Bool8x16.prototype.constructor
指定创建SIMD对象原型的函数。
例子
构建一个Bool8x16
SIMD.Bool8x16(true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false
// Bool8x16[true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false]
SIMD.Bool8x16(true, false
// Bool8x16[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
SIMD.Bool8x16(
// Bool8x16[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
规范
Specification | Status | Comment |
---|---|---|
SIMDThe definition of 'Bool8x16' in that specification. | Draft | Initial definition. |
浏览器兼容性
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | No support | Nightly build | Nightly build | No support | No support | No support |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | No support | No support | Nightly build | Nightly build | No support | No support | No support |