BRC.FFTW.NET 1.0.5

dotnet add package BRC.FFTW.NET --version 1.0.5
                    
NuGet\Install-Package BRC.FFTW.NET -Version 1.0.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BRC.FFTW.NET" Version="1.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BRC.FFTW.NET" Version="1.0.5" />
                    
Directory.Packages.props
<PackageReference Include="BRC.FFTW.NET" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BRC.FFTW.NET --version 1.0.5
                    
#r "nuget: BRC.FFTW.NET, 1.0.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BRC.FFTW.NET@1.0.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BRC.FFTW.NET&version=1.0.5
                    
Install as a Cake Addin
#tool nuget:?package=BRC.FFTW.NET&version=1.0.5
                    
Install as a Cake Tool

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<T>: This class guarantees a certain memory alignment. This should be the default class to use.
  • PinnedArray<T>: 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<T>: This class allocates unmanaged memory using fftw_malloc. This class was somewhat rendered obsolete by the introduction of AlignedArray<T>.

If none of these fit your needs, you can always create your own by implementing the IPinnedArray<T> 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).

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5 141 1/2/2026
1.0.4 141 1/2/2026
1.0.3 203 12/23/2025
1.0.2 191 12/22/2025

- Changed to .NETStandard library (1.3)
- Added FftwInterop.Version property which returns the version of the used FFTW libs