Mercurial > hg > js-dsp-test
changeset 21:a901eeeabf3b
Slice does not appear to be necessary for a typed array copy after all
author | Chris Cannam |
---|---|
date | Tue, 06 Oct 2015 17:51:17 +0100 |
parents | 6fd3e25e4449 |
children | 9fb720dd396c |
files | fft/cross/FFT.js fft/fftw/FFT.js fft/kissfft/FFT.js |
diffstat | 3 files changed, 8 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/fft/cross/FFT.js Tue Oct 06 13:13:05 2015 +0100 +++ b/fft/cross/FFT.js Tue Oct 06 17:51:17 2015 +0100 @@ -22,7 +22,7 @@ ptr, ptr + n, ptr + n * 2, ptr + n * 3); var ro = new Float64Array(crossModule.HEAPU8.buffer, ptr + n * 2, this.size); var io = new Float64Array(crossModule.HEAPU8.buffer, ptr + n * 3, this.size); - return { real: ro.slice(0), imag: io.slice(0) }; + return { real: ro, imag: io }; } this.transformReal = function(real, inverse) { var ptr = this.ptr; @@ -32,7 +32,7 @@ ptr, 0, ptr + n * 2, ptr + n * 3); var ro = new Float64Array(crossModule.HEAPU8.buffer, ptr + n * 2, this.size); var io = new Float64Array(crossModule.HEAPU8.buffer, ptr + n * 3, this.size); - return { real: ro.slice(0), imag: io.slice(0) }; + return { real: ro, imag: io }; } this.dispose = function() { crossModule._free(this.ptr);
--- a/fft/fftw/FFT.js Tue Oct 06 13:13:05 2015 +0100 +++ b/fft/fftw/FFT.js Tue Oct 06 17:51:17 2015 +0100 @@ -33,17 +33,13 @@ this.forward = function(real) { this.r.set(real); fftwf_execute(this.fplan); - return (new Float32Array - (fftwModule.HEAPU8.buffer, this.cptr, this.size+2)) - .slice(0); + return new Float32Array(fftwModule.HEAPU8.buffer, this.cptr, this.size+2); } this.inverse = function(cpx) { this.c.set(cpx); fftwf_execute(this.iplan); - return (new Float32Array - (fftwModule.HEAPU8.buffer, this.rptr, this.size)) - .slice(0); + return new Float32Array(fftwModule.HEAPU8.buffer, this.rptr, this.size); } this.dispose = function() {
--- a/fft/kissfft/FFT.js Tue Oct 06 13:13:05 2015 +0100 +++ b/fft/kissfft/FFT.js Tue Oct 06 17:51:17 2015 +0100 @@ -33,17 +33,15 @@ this.forward = function(real) { this.ri.set(real); kiss_fftr(this.fcfg, this.rptr, this.cptr); - return (new Float32Array - (kissFFTModule.HEAPU8.buffer, this.cptr, this.size + 2)) - .slice(0); + return new Float32Array(kissFFTModule.HEAPU8.buffer, + this.cptr, this.size + 2); } this.inverse = function(cpx) { this.ci.set(cpx); kiss_fftri(this.icfg, this.cptr, this.rptr); - return (new Float32Array - (kissFFTModule.HEAPU8.buffer, this.rptr, this.size)) - .slice(0); + return new Float32Array(kissFFTModule.HEAPU8.buffer, + this.rptr, this.size); } this.dispose = function() {