Mercurial > hg > js-dsp-test
view 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 |
line wrap: on
line source
document.write("<p>start</p>"); fftCross = Module.cwrap( 'fftCross', 'void', ['number', 'number', 'number', 'number', 'number', 'number' ] ); var data = new Float64Array([1,1,1,1,1,1,1,1]); var n = data.length * data.BYTES_PER_ELEMENT; var ptr = Module._malloc(n * 4); var h1 = new Uint8Array(Module.HEAPU8.buffer, ptr, n); var h2 = new Uint8Array(Module.HEAPU8.buffer, ptr + n, n); document.write("ptr = " + ptr + ", h1 = " + h1 + "<br>"); h1.set(new Uint8Array(data.buffer)); h2.set(new Uint8Array(data.buffer)); var result = fftCross(8, 0, ptr, ptr + n, ptr + 2*n, ptr + 3*n); var real = new Float64Array(Module.HEAPU8.buffer, ptr + 2*n, 8); var imag = new Float64Array(Module.HEAPU8.buffer, ptr + 3*n, 8); document.write("result: " + result + "<br>"); document.write("output: "); for (var i = 0; i < 8; ++i) { document.write(real[i] + "," + imag[i] + " "); } Module._free(ptr); document.write("<p>end</p>");