Skip to content

ArgusMagnus/FFTW.NET

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

FFTW.NET

C#/.NET wrapper for FFTW (http://www.fftw.org/)

Installation

Install NuGet package: https://www.nuget.org/packages/FFTW.NET or Download the FFTW binaries ("libfftw3-3.dll") from http://www.fftw.org/download.html, rename them to "libfftw3-3-x86.dll" and "libfftw3-3-x64.dll" and put them in your application directory. FFTW.NET will automatically load the right one. This is currently only tested for Windows, but it also should work on other platforms using Mono. (Of course you would need the appropriate platform specific FFTW binaries.)

Help

See TestApp/Program.cs for examples on how to use it. Altough you should be able to use it from looking at the examples, for a better understanding on how to use it efficiently, it is highly recommended that you gain a little insight on how FFTW works: http://www.fftw.org/doc/index.html

Array classes

There are three array classes which you can use to perform transformations:

  • AlignedArray: This class guarantees a certain memory alignment. This should be the default class to use.
  • PinnedArray: Use this class if you want to use an existing .NET array and want to avoid copying memory. The drawback is, that the .NET array might not be aligned on a 16 bytes boundary and thus FFTW cannot use SIMD.
  • FftwArray: This class allocates unmanaged memory using fftw_malloc. This class was somewhat rendered obsolete by the introduction of AlignedArray.

If none of these fit your needs, you can always create your own by implementing the IPinnedArray interface.

License

FFTW is licensed under the GNU GPL, therefore FFTW.NET as a whole adapts this license. However, if for some reason you want to use classes/code from this project without using FFTW, you are free to do so under the Microsoft Reciprocal License (MS-RL).

About

.NET wrapper for FFTW

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages