pocketfft
C++ header for FFT
- Current
- 0+git20260211.076cb3d
- Branch
- cpp
- Source commit
- 076cb3d2536b7c5d0629093ad886e10ac05f3623
- Observed branch tip
- 4d865cba24359b05b37da4e75aee24498c3b78e7
- License
- BSD-3-Clause
- BuildSystem
- ❔ custom
Description
PocketFFT for C++ ================= This is a heavily modified implementation of FFTPack [1,2], with the following advantages: - Strictly C++11 compliant - More accurate twiddle factor computation - Worst case complexity for transform sizes with large prime factors is `N*log(N)`, because Bluestein's algorithm [3] is used for these cases. - Supports multidimensional arrays and selection of the axes to be transformed. - Supports `float`, `double`, and `long double` types. - Supports fully complex and half-complex (i.e. complex-to-real and real-to-complex) FFTs. For half-complex transforms, several conventions for representing the complex-valued side are supported (reduced-size complex array, FFTPACK-style half-complex format and Hartley transform). - Supports discrete cosine and sine transforms (Types I-IV) - Makes use of CPU vector instructions when performing 2D and higher-dimensional transforms, if they are available. - Has a small internal cache for transform plans, which speeds up repeated transforms of the same length (most significant for 1D transforms). - Has optional multi-threading support for multidimensional transforms
Changelog
PR · 2
Checks
| Monitor | Observation | Last checked |
|---|---|---|
Stale Repository refresh: git fetch exited 128 (authentication) | ||
Stale Source last confirmed at 2026-11-11T05:24:08+00:00; repository refresh overdue. | ||
Checked | ||
Checked | ||
Not configured No reliable monitor identity/configuration. | — | |
Input changed No reliable monitor identity/configuration. | — | |
Not configured No reliable monitor identity/configuration. | — | |
Checked Repository query; subpackage and local-patch applicability are not evaluated. | ||
Not configured No reliable monitor identity/configuration. | — |