mirror of
https://github.com/josdejong/mathjs.git
synced 2026-01-18 14:59:29 +00:00
* Fix #46 Draft Implementations * Add docs * Fixup * Add type declaration and test * Fixup tests * Fixup test * Format * Add examples in docs * Update fft.js Edit example in docs (`math.fft` returns complex matrix). * Update ifft.js Edit example in docs (`math.ffti` returns complex matrix). * Update fft.js Edit docs examples, representation of complex number from `a+bi` to `{re:a, im:b}` * Update ifft.js Edit docs examples, representation of complex number from `a+bi` to `{re:a, im:b}` * Update index.ts Edit test. Add test for `math.ifft` `math.fft` returns complex matrix. * Update index.ts Use `approx.deepEqual` instead off `assert.deepStrictEqual`. * Update index.ts Format code * Update index.ts Use `assert.ok(math.deepEqual(...))` instead of `approx.deepEqual`. * Update index.ts Format * Update index.ts Typo: replace `approx` with `assert`. Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
21 lines
711 B
JavaScript
21 lines
711 B
JavaScript
// test ifft
|
|
|
|
import approx from '../../../../tools/approx.js'
|
|
import math from '../../../../src/defaultInstance.js'
|
|
const ifft = math.ifft
|
|
|
|
describe('ifft', function () {
|
|
it('should calculate 1-dimensional inverse fourier transformation', function () {
|
|
approx.deepEqual(ifft([2, math.complex(-2, -2), math.complex(0, -2), math.complex(4, 4)]), [1, math.complex(2, -1), math.complex(0, -1), math.complex(-1, 2)])
|
|
})
|
|
|
|
it('should calculate multidimensional inverse fourier transformation', function () {
|
|
const in1 = [
|
|
[1, 0],
|
|
[1, 0]
|
|
]
|
|
approx.deepEqual(math.fft(ifft(in1.valueOf())), in1.valueOf())
|
|
approx.deepEqual(math.fft(ifft(math.matrix(in1))), math.matrix(in1))
|
|
})
|
|
})
|