在线文档教程

SIMD.Bool32x4

SIMD.Bool32x4

SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的SIMD 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 SIMD. js 操作。

SIMD.Bool32x4 数据类型是一个128-bit的向量,被分成4个存储布尔值的通道。

语法

SIMD.Bool32x4(x, y, z, w

参数

xOptionalA布尔值,指定第一个通道的值。默认为falseyOptionalA布尔值,指定第二个通道的值。默认为falsezOptionalA布尔值,指定第三个通道的值。默认为falsewOptionalA布尔值,指定第四个通道的值。默认为false

构造函数

除了简单的构造函数外,SIMD API还提供以下构造函数。

SIMD.Bool32x4.splat()创建所有通道设置为给定值的Bool32x4。

注意: SIMD类型与new不起作用,因为SIMD值不是“盒装”对象(可参考 String(s) 与 new String(s) 创建 String对象 的比较)。

var v = new SIMD.Bool32x4(true, false, true, false // TypeError: SIMD.Bool32x4 is not a constructor var w = new SIMD.Bool32x4.splat(true // TypeError: SIMD.Bool32x4.splat is not a constructor

与之替代的是:

var v = SIMD.Bool32x4(true, false, true, false var w = SIMD.Bool32x4.splat(true

运算

要在 simd 类型中实际执行某些操作, 需要使用 simd 数据类型。

检查SIMD类型

SIMD.Bool32x4.check()如果参数是有效的Bool32x4数据类型,则返回新的Bool32x4。TypeError否则抛出。

访问和变换通道

SIMD.Bool32x4.extractLane()返回给定通道的值。SIMD.Bool32x4.replaceLane()返回已替换给定通道值的新Bool16x8。

布尔运算

SIMD.Bool32x4.allTrue()检查是否所有通道都有true值。SIMD.Bool32x4.anyTrue()检查任一通道是否true有值。

按位逻辑操作

SIMD.Bool32x4.and()返回一个新的Bool32x4,其逻辑和为通道值(a & b)。

SIMD原型

下面的方法和属性被安装在SIMD.Bool32x4.prototype

SIMD.Bool32x4.prototype.constructor指定创建SIMD对象原型的函数。

语法

构建一个Bool32x4

SIMD.Bool32x4(true, false, true, false // Bool32x4[true, false, true, false] SIMD.Bool32x4(true, false // Bool32x4[true, false, false, false] SIMD.Bool32x4( // Bool32x4[false, false, false, false]

规范

SpecificationStatusComment
SIMDThe definition of 'Bool32x4' in that specification.DraftInitial definition.

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic supportNo supportNightly buildNightly buildNo supportNo supportNo support

FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic supportNo supportNo supportNightly buildNightly buildNo supportNo supportNo support