Chris@5
|
1
|
Chris@5
|
2 document.write("<p>start</p>");
|
Chris@5
|
3
|
Chris@5
|
4 fftCross = Module.cwrap(
|
Chris@5
|
5 'fftCross', 'void', ['number', 'number', 'number', 'number', 'number', 'number' ]
|
Chris@5
|
6 );
|
Chris@5
|
7
|
Chris@5
|
8 var data = new Float64Array([1,1,1,1,1,1,1,1]);
|
Chris@5
|
9 var n = data.length * data.BYTES_PER_ELEMENT;
|
Chris@5
|
10 var ptr = Module._malloc(n * 4);
|
Chris@5
|
11 var h1 = new Uint8Array(Module.HEAPU8.buffer, ptr, n);
|
Chris@5
|
12 var h2 = new Uint8Array(Module.HEAPU8.buffer, ptr + n, n);
|
Chris@5
|
13 document.write("ptr = " + ptr + ", h1 = " + h1 + "<br>");
|
Chris@5
|
14 h1.set(new Uint8Array(data.buffer));
|
Chris@5
|
15 h2.set(new Uint8Array(data.buffer));
|
Chris@5
|
16 var result = fftCross(8, 0, ptr, ptr + n, ptr + 2*n, ptr + 3*n);
|
Chris@5
|
17 var real = new Float64Array(Module.HEAPU8.buffer, ptr + 2*n, 8);
|
Chris@5
|
18 var imag = new Float64Array(Module.HEAPU8.buffer, ptr + 3*n, 8);
|
Chris@5
|
19 document.write("result: " + result + "<br>");
|
Chris@5
|
20 document.write("output: ");
|
Chris@5
|
21 for (var i = 0; i < 8; ++i) {
|
Chris@5
|
22 document.write(real[i] + "," + imag[i] + " ");
|
Chris@5
|
23 }
|
Chris@5
|
24 Module._free(ptr);
|
Chris@5
|
25
|
Chris@5
|
26
|
Chris@5
|
27 document.write("<p>end</p>");
|