[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FFI bindings for FFTW
From: |
Daniel Llorens |
Subject: |
FFI bindings for FFTW |
Date: |
Tue, 25 Feb 2014 15:28:04 +0100 |
Hello,
I've written a minimal wrapper for FFTW
(http://www.fftw.org/fftw3_doc/Guru-Interface.html#Guru-Interface).
https://gitorious.org/guile-ffi-fftw
It provides two functions, (fftw-dft! rank sign in out) and (fftw-dft rank sign
in).
---
There is another set of bindings by Mikael Djurfeldt, here:
https://savannah.gnu.org/projects/guile-fftw
The differences are that guile-fftw only does 2D DFTs and is particular about
array strides (based on my reading of the code), while (fftw-dft!) and
(fftw-dft) do DFTs of any rank and place no restriction on strides. This comes
through no effort on my part; it is a feature of FFTW's. Also this module uses
the FFI, while guile-fftw uses a C extension.
---
This wrapper being minimal, it doesn't support computing & reusing plans, or
split r/i transforms, or anything other than straight complex DFTs.
There is a crude test suite. It uses SRFI-64 which is also included (since it
isn't yet in my installation of Guile).
This is my first time using the FFI. There are some portability issues such as
the lack of library path setting or the types (e.g. int -> int32) being
hardcoded. Any solution to these that's simpler than autoconf?
Any other comment or advice is welcome.
Thanks,
Daniel
- FFI bindings for FFTW,
Daniel Llorens <=