SIMD.js has been taken out of active development in TC39 and removed from Stage 3. It is not being pursued by web browsers for implementation anymore. SIMD operations exposed to the web are under active development within WebAssembly, with operations based on the SIMD.js operations.
The static SIMD.%type%.store()
methods store a SIMD data type into a typed array.
SIMD.Float32x4.store(tarray, index, value) SIMD.Float32x4.store1(tarray, index, value) SIMD.Float32x4.store2(tarray, index, value) SIMD.Float32x4.store3(tarray, index, value) SIMD.Float64x2.store(tarray, index, value) SIMD.Float64x2.store1(tarray, index, value) SIMD.Int32x4.store(tarray, index, value) SIMD.Int32x4.store1(tarray, index, value) SIMD.Int32x4.store2(tarray, index, value) SIMD.Int32x4.store3(tarray, index, value) SIMD.Int8x16.store(tarray, index, value) SIMD.Int16x8.store(tarray, index, value) SIMD.Uint32x4.store(tarray, index, value) SIMD.Uint32x4.store1(tarray, index, value) SIMD.Uint32x4.store2(tarray, index, value) SIMD.Uint32x4.store3(tarray, index, value) SIMD.Uint8x16.store(tarray, index, value) SIMD.Uint16x8.store(tarray, index, value)
tarray
index
value
The value
that has been stored (a SIMD data type).
index
is out of range, for example SIMD.Int32x4.store(tarray, -1, value)
or bigger than the size of tarray
, a RangeError
is thrown.tarray
is not one of the typed array types, for example SIMD.Int32x4.store(tarray.buffer, 0)
(an array buffer is not valid), a TypeError
is thrown.The SIMD load
and store
methods intermix with typed arrays. With load
, you can pass in typed arrays into SIMD types and with store,
SIMD data can be stored into typed arrays.
You can either store all lane values using store()
, or only store one, two or three lane values with the methods store1()
, store2()
or store3()
.
The following examples use SIMD.Int32x4
data type stored into an Int32Array
.
var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store(tarray, 0, value); // tarray = Int32Array[1, 2, 3, 4, 0, 0, 0, 0] var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store(tarray, 2, value); // tarray = Int32Array[0, 0, 1, 2, 3, 4, 0, 0]
var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store1(tarray, 0, value); // tarray = Int32Array[1, 0, 0, 0, 0, 0, 0, 0] var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store1(tarray, 2, value); // tarray = Int32Array[0, 0, 1, 0, 0, 0, 0, 0]
var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store2(tarray, 0, value); // tarray = Int32Array[1, 2, 0, 0, 0, 0, 0, 0] var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store2(tarray, 2, value); // tarray = Int32Array[0, 0, 1, 2, 0, 0, 0, 0]
var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store3(tarray, 0, value); // tarray = Int32Array[1, 2, 3, 0, 0, 0, 0, 0] var tarray = new Int32Array(8); var value = SIMD.Int32x4(1, 2, 3, 4); SIMD.Int32x4.store3(tarray, 2, value); // tarray = Int32Array[0, 0, 1, 2, 3, 0, 0, 0]
Specification | Status | Comment |
---|---|---|
SIMD The definition of 'SIMDConstructor.store' in that specification. | Obsolete | 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 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SIMD/store