/** * The ONE radix-2 Cooley-Tukey core for this package, on flat Float64Arrays. * * There used to be two. This flat one (used by `parallelFFT`), and a second inside * `signal/fft.ts` that did the butterfly arithmetic in Complex OBJECTS — a `{ re, im }` * allocation per twiddle step and per butterfly. Same transform, same machine: * * | n | flat Float64Array core | Complex-object core | * | --------- | ---------------------- | ------------------- | * | 262,144 | 80 ms | 607 ms | * | 1,048,576 | 358 ms | 2987 ms | * * The public `fft()` used the SLOW one, so the FFT every consumer reaches by default was * ~8x slower than the library's own fast path. Its `ComplexNumber[]` return type was not * the cause: materialising the objects once at the boundary is cheap — doing the * ARITHMETIC in them is what cost 8x. Both surfaces now share this core and box at the * edge. * * Internal. Not part of the public API. * * @packageDocumentation */ /** 32-bit int / 64-bit float aliases, matching the annotations used across `signal/`. */ type i32 = number; /** * Bit reverse for FFT */ export declare function bitReverse(x: i32, bits: i32): i32; /** * Radix-2 FFT core using Float64Array for WASM compatibility */ export declare function fftCoreFloat64(realIn: Float64Array, imagIn: Float64Array, inverse?: boolean): { real: Float64Array; imag: Float64Array; }; export {}; //# sourceMappingURL=fft-core-f64.d.ts.map