Skip to content

Commit

Permalink
Break wrong tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dy committed Jan 23, 2017
1 parent c316d2e commit e4d4941
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
2 changes: 1 addition & 1 deletion index.js
Expand Up @@ -220,4 +220,4 @@ function reverseBinPermute (N, dest, source) {
} while (i < halfSize);

dest[nm1] = source[nm1];
};
};
32 changes: 25 additions & 7 deletions test.js
Expand Up @@ -3,14 +3,17 @@ var assert = require('assert');
var almost = require('almost-equal');
var rfft = require('./');
var dsp = require('dsp.js');
var ndfft = require('ndarray-fft');
var ndarray = require('ndarray');


var N = 4096;
var N = 4096/32;
var real = new Float32Array(N);
var im = new Float32Array(N);

for (var i = 0; i < N; i++) {
real[i] = Math.sin(10000 * (i / N) / (Math.PI * 2) );
im[i] = 0;
// real[i] = Math.random() * 2 - 0.5;
// im[i] = Math.random() * 2 - 0.5;
}
Expand All @@ -27,10 +30,10 @@ var result = [

assert.almost = function (x, y) {
if (x.length && y.length) return x.every(function (x, i) {
assert.almost(x, y[i]);
return assert.almost(x, y[i]);
});

var EPSILON = 10e-8;
var EPSILON = 10e-2;
if (!almost(x, y, EPSILON)) assert.fail(x, y,
`${x}${y}`, '≈');

Expand All @@ -39,17 +42,32 @@ assert.almost = function (x, y) {


test('rfft', function () {
var frequencies = rfft(real);
//RFFT direct transform
var mag1 = rfft(real);

//FFT transform
var fft = new dsp.FFT(N, 44100);
fft.forward(real);
var mag2 = fft.spectrum;

assert.almost(rfft(real), fft.spectrum);
//ndarray-fft
var x = ndarray(real);
var y = ndarray(im);
ndfft(1, x, y);


for (let i = 0; i < mag1.length; i++) {
let v1 = mag1[i]
let v2 = mag2[i]
if (Math.abs(v1 - v2) > 1e-2) console.log(v1, v2, i)
}

assert.almost(mag1, mag2);
});

test('performance', function () {
test.skip('performance', function () {
var data = new Float64Array(4096);
for (var i = 0; i < 1000; i++) {
rfft(data);
}
});
});

0 comments on commit e4d4941

Please sign in to comment.