0.3.0 • Published 6 years ago

fourier v0.3.0

Weekly downloads
9
License
MIT
Repository
github
Last release
6 years ago

Fourier

NPM version Travis appVeyor

Pure JavaScript library discrete transforms, including Discrete Fourier Transform (DFT); It's fast, inverse, and special forms.

Use

Node.js

npm i fourier --save
var fourier = require('fourier');

Browser

<script src="https://rawgithub.com/drom/fourier/master/fourier.js"></script>

Functions

FFT custom

Fast Fourier transform (FFT). Cooley–Tukey algorithm. in-place. Radix-2, Decimation in Time (DIT).

One function for each data type, vector size and coding style

fourier.custom.fft_<type>_<size>_<style>
  • data type: f32 or f64
  • vector size: 16, 32, ... 1048576
  • coding style: 'raw' or asm

example:

// Init
var stdlib = {
    Math: Math,
    Float32Array: Float32Array,
    Float64Array: Float64Array
};

// Create heap for the fft data and twiddle factors
var heap = fourier.custom.alloc(65536, 3);

// Create instance of FFT runner
var fft_f64_65536_asm_runner = fourier.custom.fft_f64_65536_asm(stdlib, null, heap);

// Init twiddle factors
fft_f64_65536_asm_runner.init();

// Run transformations
fft_f64_65536_asm_runner.transform();

Other

fourier.dft(realArray, imagArray); // ⇒ [realArray, imagArray]

fourier.idft(realArray, imagArray); // ⇒ [realArray, imagArray]

Testing

npm test

License

MIT LICENSE.

0.3.0

6 years ago

0.2.1

9 years ago

0.1.2

10 years ago

0.1.0

10 years ago

0.0.9

10 years ago

0.0.7

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago