SIMD.addSaturate
SIMD.addSaturate
SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的 simd 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 simd. js 操作。
静态SIMD.%type%.addSaturate()
方法返回一个新的实例,添加的通道值(a + b
)和溢出时的饱和行为。
注意:此操作不上定义Uint32x4
和Int32x4
,因为它不是由当前这些类型的硬件来加速。
语法
SIMD.Int8x16.addSaturate(a, b)
SIMD.Int16x8.addSaturate(a, b)
SIMD.Uint8x16.addSaturate(a, b)
SIMD.Uint16x8.addSaturate(a, b)
参数
a
SIMD类型的实例。
返回值
一个新的相应的SIMD数据类型,通道值为a
和b
添加(a + b
)。
例子
以下示例演示了Uint16(最大值65535)和Int16(最大值32767)的饱和行为。如果增加溢出,通道将具有最大的可能值。
var a = SIMD.Uint16x8(65533, 65534, 65535, 65535, 1, 1, 1, 1
var b = SIMD.Uint16x8(1, 1, 1, 5000, 1, 1, 1, 1
SIMD.Uint16x8.addSaturate(a, b
// Uint16x8[65534, 65535, 65535, 65535, 2, 2, 2, 2]
var c = SIMD.Int16x8(32765, 32766, 32767, 32767, 1, 1, 1, 1
var d = SIMD.Int16x8(1, 1, 1, 5000, 1, 1, 1, 1
SIMD.Int16x8.addSaturate(c, d
// Int16x8[32766, 32767, 32767, 32767, 2, 2, 2, 2]
规范
Specification | Status | Comment |
---|---|---|
SIMDThe definition of 'SIMDConstructor.addSaturate' 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 |