comparison fft/cross/Crosswrap.js @ 5:b4ab69bdb4c8

Beginnings of an emscripten example
author Chris Cannam
date Mon, 05 Oct 2015 11:30:40 +0100
parents
children 91d77df352fa
comparison
equal deleted inserted replaced
4:fcb64e4b8393 5:b4ab69bdb4c8
1
2 document.write("<p>start</p>");
3
4 fftCross = Module.cwrap(
5 'fftCross', 'void', ['number', 'number', 'number', 'number', 'number', 'number' ]
6 );
7
8 var data = new Float64Array([1,1,1,1,1,1,1,1]);
9 var n = data.length * data.BYTES_PER_ELEMENT;
10 var ptr = Module._malloc(n * 4);
11 var h1 = new Uint8Array(Module.HEAPU8.buffer, ptr, n);
12 var h2 = new Uint8Array(Module.HEAPU8.buffer, ptr + n, n);
13 document.write("ptr = " + ptr + ", h1 = " + h1 + "<br>");
14 h1.set(new Uint8Array(data.buffer));
15 h2.set(new Uint8Array(data.buffer));
16 var result = fftCross(8, 0, ptr, ptr + n, ptr + 2*n, ptr + 3*n);
17 var real = new Float64Array(Module.HEAPU8.buffer, ptr + 2*n, 8);
18 var imag = new Float64Array(Module.HEAPU8.buffer, ptr + 3*n, 8);
19 document.write("result: " + result + "<br>");
20 document.write("output: ");
21 for (var i = 0; i < 8; ++i) {
22 document.write(real[i] + "," + imag[i] + " ");
23 }
24 Module._free(ptr);
25
26
27 document.write("<p>end</p>");