Crystal wrapper to the FFTW 3 library
First install fftw:
sudo pacman -S fftw
Add this to your application's shard.yml
:
dependencies:
fftw.cr:
github: firejox/fftw.cr
You can compute abtitrary size of Fourier transform by this:
require "fftw.cr"
x = Array.new(512) { Complex.new(Random.next_u, Random.next_u) }
dft_x = FFTW.dft(x)
Or be more efficient on fix-size of transform by this:
require "fftw.cr"
plan = FFTW::Plan.new(512)
x = Array.new(512) { Complex.new(Random.next_u, Random.next_u) }
dft_x = plan.dft(x)
- Add Plan class
- Add full transformations listed in FFTW3 doc
- FFTW3 wisdom feature
- Multithread
- MPI support
- Fork it ( https://github.com/firejox/fftw.cr/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
- [firejox] firejox - creator, maintainer