MCPcopy Create free account
hub / github.com/Alexander-Barth/FluidSimDemo-WebAssembly / MallocArray_elsize

Function MallocArray_elsize

julia_wasm_utils.js:1–16  ·  view source on GitHub ↗
(typearray,memory,base,size,elsize4)

Source from the content-addressed store, hash-verified

1export function MallocArray_elsize(typearray,memory,base,size,elsize4) {
2 // number of elements in array
3 let len = size.reduce((a, b)=> a*b, 1);
4
5 // pointer (Int32), length (Int32), size1 (Int32), size2, ...
6 // where
7 // length = size1*size2*...
8 let metadata = new Int32Array(memory.buffer, base[0], 2 + size.length);
9 base[0] += metadata.byteLength;
10 metadata.set([base[0], len].concat(size));
11
12 const data = new typearray(memory.buffer, base[0], len*elsize4);
13 base[0] += data.byteLength;
14
15 return [metadata.byteOffset, data];
16}
17
18export function MallocArray(typearray,memory,base,size) {
19 return MallocArray_elsize(typearray,memory,base,size,1)

Callers 2

runFunction · 0.90
MallocArrayFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected