1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! WebAssembly bindings for OxiFFT.
//!
//! This module provides JavaScript bindings for FFT operations in the browser
//! via WebAssembly.
//!
//! # Usage from JavaScript
//!
//! ```javascript
//! import init, { WasmFft, fft_f64, ifft_f64 } from 'oxifft';
//!
//! await init();
//!
//! // Create a plan for repeated use
//! const fft = new WasmFft(256);
//!
//! // Execute FFT
//! const real = new Float64Array([1, 2, 3, ...]);
//! const imag = new Float64Array([0, 0, 0, ...]);
//! const result = fft.forward(real, imag);
//!
//! // Result is interleaved [re0, im0, re1, im1, ...]
//! console.log(result);
//!
//! // One-shot API
//! const output = fft_f64(real, imag);
//! ```
//!
//! # Features
//!
//! - Plan-based API for repeated transforms
//! - One-shot API for single transforms
//! - TypedArray support for zero-copy data exchange
//! - WASM SIMD acceleration (when available)
pub use *;
pub use *;
extern crate alloc;
use Vec;