SIMD.Float64x2
SIMD.Float64x2
SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的SIMD 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 SIMD. js 操作。
注意:Float64x2类型目前不是SIMD规范草案的一部分。
的SIMD.Float64x2
数据类型是一个128位的向量分成2条车道存储双精度浮点值。
图1:128位SIMD寄存器中的SIMD.Float64x2。
语法
SIMD.Float64x2(x, y
参数
x 可选
构造函数
除了简单的创建者函数之外,SIMD API还提供以下构造函数:
SIMD.Float64x2.splat()
创建一个所有通道设置为给定值的Float64x2。
请注意,您也可以将另一个SIMD数据类型转换为Float64x2。
var v = new SIMD.Float64x2(1, 2
// TypeError: SIMD.Float64x2 is not a constructor
var w = new SIMD.Float64x2.splat(3
// TypeError: SIMD.Float64x2.splat is not a constructor
与之替代的是:
var v = SIMD.Float64x2(1, 2
var w = SIMD.Float64x2.splat(3
运算
要在 SIMD 类型中实际执行某些操作, 需要使用SIMD数据类型。
检查SIMD类型
SIMD.Float64x2.check()
如果参数是有效的Float64x2数据类型,则返回新的Float64x2。TypeError
否则抛出。
访问和变换通道
SIMD.Float64x2.extractLane()
返回给定通道的值。SIMD.Float64x2.replaceLane()
返回已替换给定通道值的新Float64x2。
从类型数组中加载和存储
SIMD.Float64x2.load()SIMD.Float64x2.load1()
返回一个新的Float64x2,其中从一个类型数组中加载通道值。SIMD.Float64x2.store()
SIMD.Float64x2.store1()
将Float64x2存储到类型数组中。
算术运算
SIMD.Float64x2.abs()
返回具有绝对通道值的新Float64x2。
混合和调整
SIMD.Float64x2.shuffle()
返回混合通道值的新Float64x2。
最小值和最大值
SIMD.Float64x2.max()
返回具有最大泳道值的新Float64x2。
选项
SIMD.Float64x2.select()
返回一个新的loat64x2,根据选择器掩码,通道值是通道的混合。
比较
SIMD.Float64x2.equal()
返回取决于的选择掩码a == b
。
数据转换
SIMD.Float64x2.fromFloat32x4Bits()
使用Float32x4的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromInt32x4Bits()
使用Int32x4的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromInt16x8Bits()
使用Int16x8的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromInt8x16Bits()
使用Int8x16的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromUint32x4Bits()
使用Uint32x4的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromUint16x8Bits()
使用Uint16x8的按位副本创建新的Float64x2数据类型。SIMD.Float64x2.fromUint8x16Bits()
使用Uint8x16的按位副本创建新的Float64x2数据类型。
SIMD 原型
下面的方法和属性被安装在SIMD.Float64x2.prototype
。
SIMD.Float64x2.prototype.constructor
指定创建SIMD对象原型的函数。
例子
构建一个Float64x2
SIMD.Float64x2(1, 2 // Float64x2[1, 2]
SIMD.Float64x2(1 // Float64x2[1, NaN]
SIMD.Float64x2( // Float64x2[NaN, NaN]
规范
Float64x2类型目前不是SIMD规范草案的一部分。
浏览器兼容性
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 |