Table of Contents

Namespace NumSharp.Fourier

Classes

Cfftp
CfftpF
Fftblue
FftblueF
PocketFFTComplexPlan

Flexible complex 1-D transform: FFTPACK mixed-radix or Bluestein.

PocketFFTComplexPlanF

Single-precision flexible complex 1-D transform: FFTPACK mixed-radix or Bluestein.

PocketFFTPlanCache

Bounded plan cache. Plans are immutable + deterministic, so sharing them across transforms of the same length is safe and reproduces numpy bit-for-bit (only the twiddle setup is saved). Bounded so a program touching many distinct lengths cannot leak.

PocketFFTPlanCacheF

Bounded single-precision plan cache (companion to PocketFFTPlanCache, with an independent budget so float and double plans never evict one another). Plans are immutable + deterministic, so sharing them is bit-neutral.

PocketFFTRealPlan

Flexible real 1-D transform: FFTPACK mixed-radix or Bluestein.

PocketFFTRealPlanF

Single-precision flexible real 1-D transform: FFTPACK mixed-radix or Bluestein.

PocketFFTUtil

Port of the pocketfft util subset used by 1-D planning (lines 373-431): prime-factor test, cost model and the "good size" search for Bluestein padding.

Rfftp
RfftpF
SinCos2PiByN

Port of pocketfft's sincos_2pibyn<T> (lines 299-372) — accurate twiddle factors exp(-2πi·idx/N) via angle reduction into [0,π/4] and a two-level table so only ~2√n trig calls are made. Parity-critical: the recurrence and multiply order are kept exact. Thigh == double for the double engine.

Structs

Cmplx

Port of pocketfft's cmplx<T0> for the double engine (T0 == double). The field layout (r then i) is identical to Complex (real then imaginary), so the two are bit-reinterpretable at the driver boundary. All operators reproduce pocketfft's exact real/imag operation order.

CmplxF

Port of pocketfft's cmplx<T0> for the single-precision engine (T0 == float). Field layout (r then i) is identical to Cmplx and Complex; the driver reinterprets a CmplxF* as an interleaved float* for the real-transform packing (mirroring the double engine). All operators reproduce pocketfft's exact real/imag operation order, in float.