MCPcopy Create free account

hub / github.com/cool-japan/oxifft / functions

Functions4,171 in github.com/cool-japan/oxifft

↓ 4 callersFunctionmake_size_input
Build a `TokenStream` containing a single integer literal `n`. Used as input to generators that accept `size = N` or just `N`.
oxifft-codegen/benches/codegen_time.rs:33
↓ 4 callersMethodmul
(self, other: Self)
oxifft/src/simd/avx.rs:80
↓ 4 callersFunctionnaive_dft
(x: &[f64])
oxifft/src/rdft/codelets/mod.rs:260
↓ 4 callersFunctionnaive_dft_f32
(x: &[Complex<f32>], sign: i32)
oxifft/src/dft/codelets/generated_simd.rs:108
↓ 4 callersFunctionnaive_poly_mul
Naive polynomial multiplication for reference (O(n²)).
oxifft/src/ntt/tests.rs:6
↓ 4 callersFunctionnormalize_coord
(p: f64)
oxifft/src/nufft/nufft2d.rs:75
↓ 4 callersFunctionnotw_128_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/large_sizes.rs:152
↓ 4 callersFunctionnotw_16_dispatch
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/simd/mod.rs:75
↓ 4 callersFunctionnotw_16_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/small_sizes.rs:110
↓ 4 callersFunctionnotw_256_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/large_sizes.rs:287
↓ 4 callersFunctionnotw_3
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/notw.rs:22
↓ 4 callersFunctionnotw_32_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/small_sizes.rs:120
↓ 4 callersFunctionnotw_4
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/notw.rs:187
↓ 4 callersFunctionnotw_4_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/small_sizes.rs:41
↓ 4 callersFunctionnotw_5
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/notw.rs:62
↓ 4 callersFunctionnotw_64_dispatch
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/simd/mod.rs:157
↓ 4 callersFunctionnotw_64_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/large_sizes.rs:20
↓ 4 callersFunctionnotw_7
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/notw.rs:120
↓ 4 callersFunctionnotw_8_simd_f64
(x: &mut [Complex<f64>], sign: i32)
oxifft/src/dft/codelets/simd/small_sizes.rs:76
↓ 4 callersFunctionntt_convolve
Exact polynomial multiplication via NTT convolution. Computes the product of polynomials `a` and `b` over Z/pZ. The result has length `len(a) + len(b
oxifft/src/ntt/mod.rs:118
↓ 4 callersFunctionntt_convolve_default
Exact polynomial multiplication using the default prime (998244353). This is a convenience wrapper around [`ntt_convolve`] using [`NTT_PRIME_99824435
oxifft/src/ntt/mod.rs:160
↓ 4 callersFunctionnufft2d_type2
2D NUFFT Type 2: Uniform to non-uniform. Given a uniform `n1 × n2` grid of complex Fourier coefficients `f` (in row-major order), evaluates the 2-D i
oxifft/src/nufft/nufft2d.rs:283
↓ 4 callersFunctionoptimize_fold_and_dce
(mut program: Program)
oxifft-codegen-impl/src/symbolic.rs:644
↓ 4 callersFunctionpassArrayF32ToWasm0
(arg, malloc)
oxifft/pkg_simd/oxifft.js:343
↓ 4 callersMethodplan_batch
(&self, n: usize, howmany: usize, istride: isize, idist: isize)
oxifft/src/kernel/planner.rs:1064
↓ 4 callersFunctionpolynomial_multiply
Multiply two polynomials using FFT. Given polynomials `p(x) = Σ a[i] * x^i` and `q(x) = Σ b[i] * x^i`, computes their product r(x) = p(x) * q(x). #
oxifft/src/conv/mod.rs:320
↓ 4 callersFunctionrader_dft_generic
( x_re: &[f64], x_im: &[f64], g_powers: &[usize], g_inv_powers: &[usize], twd_re: &[f64],
oxifft-codegen-impl/src/gen_rader.rs:579
↓ 4 callersFunctionrun_identity_chunked
Run `dispatch_chunked` with an identity dispatch function and assert that outputs match inputs.
oxifft/src/gpu/batch.rs:318
↓ 4 callersFunctionrwlock_read
(lock: &std::sync::RwLock<T>)
oxifft/src/prelude.rs:82
↓ 4 callersMethodsize
(&self)
oxifft/src/gpu/metal.rs:307
↓ 4 callersMethodsize
(&self)
oxifft/src/api/plan/types_split.rs:61
↓ 4 callersFunctionstockham_radix4_scalar
Stage-fused Stockham implementation for f64 (scalar). Fuses pairs of radix-2 stages to halve memory passes, achieving radix-4 equivalent performance.
oxifft/src/dft/solvers/stockham/generic.rs:88
↓ 4 callersMethodstore_unaligned
(self, ptr: *mut f64)
oxifft/src/simd/sse2.rs:63
↓ 4 callersMethodsub
(self, other: Self)
oxifft/src/simd/avx.rs:75
↓ 4 callersMethodswap
(self)
oxifft/src/simd/sse2.rs:109
↓ 4 callersMethodtotal_size
(&self)
oxifft/src/dft/problem.rs:122
↓ 4 callersMethodtransform_size
(&self)
oxifft/src/api/plan/types_guru.rs:138
↓ 4 callersFunctiontranspose_square
In-place square matrix transpose.
oxifft/src/support/transpose.rs:18
↓ 4 callersFunctiontw3_dit_fwd
Radix-3 DIT twiddle butterfly, forward direction (exp(-2πi k/N)). `io` must have length >= `blocks * 3 * stride`. `twiddles` must have length >= `2 *
oxifft/src/dft/codelets/twiddle_odd.rs:49
↓ 4 callersFunctiontwiddle_mul
(v: Complex<T>, c: T, s: T, sign: i32)
oxifft/src/dft/codelets/winograd.rs:56
↓ 4 callersFunctiontwiddle_mul_scalar_f64
Scalar fallback: `data[i] *= twiddles[i]` with no SIMD.
oxifft/src/kernel/twiddle/mod.rs:424
↓ 4 callersMethodtype2
Execute Type 2 NUFFT: uniform → non-uniform. Given uniform Fourier coefficients, evaluate at non-uniform points. # Errors Returns error if coeffici
oxifft/src/nufft/mod.rs:334
↓ 4 callersFunctionvec_to_boxed_twiddles
(v: Vec<[f64; 2]>)
oxifft/src/dft/solvers/simd_butterfly.rs:22
↓ 4 callersFunctionwith_wisdom_mut
Get access to the global wisdom cache for writing.
oxifft/src/api/wisdom.rs:457
↓ 3 callersFunctionaligned_buffer
Allocate a cache-aligned buffer.
oxifft/src/dft/solvers/buffered.rs:174
↓ 3 callersMethodarg
(self)
oxifft/src/kernel/complex.rs:79
↓ 3 callersMethodbatch_count
(&self)
oxifft/src/api/plan/types_guru.rs:143
↓ 3 callersMethodbin
(&self, k: usize)
oxifft/src/streaming/sdft.rs:134
↓ 3 callersFunctionbit_reverse
(mut x: usize, n: usize)
oxifft/src/dft/solvers/ct.rs:885
↓ 3 callersFunctionbit_reverse_permutation
Bit-reversal permutation on a slice whose length is a power of two.
oxifft/src/ntt/plan.rs:233
↓ 3 callersFunctioncheck_hc2r_roundtrip_f32
(n: usize, seed: u64, tol: f32, label: &str)
oxifft-codegen/tests/rdft_codelets.rs:502
↓ 3 callersFunctioncheck_hc2r_roundtrip_f64
(n: usize, seed: u64, tol: f64, label: &str)
oxifft-codegen/tests/rdft_codelets.rs:468
↓ 3 callersFunctioncheck_r2hc_f32
( got: &[kernel::Complex<f32>], expected: &[kernel::Complex<f32>], tol: f32, label: &str, )
oxifft-codegen/tests/rdft_codelets.rs:332
↓ 3 callersFunctioncheck_r2hc_f64
( x: &[f64], got: &[kernel::Complex<f64>], expected: &[kernel::Complex<f64>], tol: f64, la
oxifft-codegen/tests/rdft_codelets.rs:310
↓ 3 callersMethodclear
Drain all cached buffers, resetting the pool to an empty state. All GPU allocations held by the pool are freed when the buffers are dropped. This is
oxifft/src/gpu/pool.rs:272
↓ 3 callersFunctioncmul_f32
(re: f32, im: f32, c: f32, s: f32)
oxifft/src/dft/codelets/hand_avx512.rs:70
↓ 3 callersFunctioncmul_f64
(re: f64, im: f64, c: f64, s: f64)
oxifft/src/dft/codelets/hand_avx512.rs:63
↓ 3 callersFunctioncoherence
Compute magnitude-squared coherence between two signals. Coherence is defined as: ```text C[k] = |Cxy[k]|² / (Pxx[k] * Pyy[k]) ``` where `Cxy` is the
oxifft/src/signal/spectral.rs:282
↓ 3 callersMethodcols
(&self)
oxifft/src/api/plan/types.rs:787
↓ 3 callersFunctioncomplex_mul_aos_f32
Compute `dst[i] = a[i] * b[i]` for AoS-layout `Complex<f32>` slices. Dispatches to the best SIMD backend available at runtime: AVX2+FMA → SSE2 → NEON
oxifft/src/kernel/complex_mul.rs:76
↓ 3 callersFunctioncomplex_mul_aos_f64
Compute `dst[i] = a[i] * b[i]` for AoS-layout `Complex<f64>` slices. Dispatches to the best SIMD backend available at runtime: AVX2+FMA → SSE2 → NEON
oxifft/src/kernel/complex_mul.rs:27
↓ 3 callersFunctioncompute_twiddles
(n: usize, k: usize)
oxifft/src/kernel/twiddle/mod.rs:71
↓ 3 callersFunctionconvolve_direct
(a: &[T], b: &[T], mode: ConvMode)
oxifft/src/conv/mod.rs:364
↓ 3 callersFunctioncount_ops_after_cse
Count operations in a set of (re, im) expression pairs after CSE rewriting.
oxifft-codegen-impl/src/symbolic_tests.rs:1074
↓ 3 callersMethodcpu_data_mut
Get a mutable reference to the CPU staging data.
oxifft/src/gpu/buffer.rs:129
↓ 3 callersFunctioncross_spectral_density
Compute the cross-spectral density (CSD) between two signals using Welch's method. For each segment the windowed FFT is computed for both `x` and `y`
oxifft/src/signal/spectral.rs:203
↓ 3 callersFunctiondetect_host_isa
()
oxifft-codegen-impl/src/gen_simd/runtime_dispatch.rs:89
↓ 3 callersFunctiondft9
(input: &[Complex<T>; 9], sign_t: T)
oxifft/src/dft/codelets/composite/functions.rs:47
↓ 3 callersMethoddim0
(&self)
oxifft/src/api/plan/types.rs:1052
↓ 3 callersMethoddim1
(&self)
oxifft/src/api/plan/types.rs:1057
↓ 3 callersMethoddim2
(&self)
oxifft/src/api/plan/types.rs:1062
↓ 3 callersFunctionemit_real_scalar
Emit a scalar `Expr` for R2HC. `Input { index, is_real: true }` → `x{index}` (real input) `Input { index, is_real: false }` → should not occur in R2H
oxifft-codegen-impl/src/gen_rdft.rs:469
↓ 3 callersFunctionemit_scalar_expr
Emit a single scalar `Expr` as a `TokenStream`.
oxifft-codegen-impl/src/symbolic_emit.rs:445
↓ 3 callersMethodexecute
(&self, input: &[Complex<T>], output: &mut [Complex<T>])
oxifft/src/dft/solvers/nop.rs:48
↓ 3 callersMethodexecute
Execute the distributed FFT out-of-place. # Errors Returns `MpiError::SizeMismatch` if input buffer is too small.
oxifft/src/mpi/plans/plan_3d.rs:307
↓ 3 callersMethodexecute
Execute the plan. # Panics Panics if buffer sizes don't match the plan size.
oxifft/src/api/plan/types_r2r.rs:141
↓ 3 callersMethodexecute_dct1_fast
Execute DCT-I using FFT-based O(n log n) algorithm. Even extension of length 2(N-1): v\[i\] = x\[i\] for i = 0..N-1 v\[i\] = x\[2(N-1)-i\]
oxifft/src/rdft/solvers/r2r.rs:362
↓ 3 callersMethodexecute_dht_fast
Execute DHT using FFT-based O(n log n) algorithm. For real input x: Y = FFT(x) (complex FFT with zero imaginary parts) DHT\[k\] = Y\[k\].re - Y\[k\]
oxifft/src/rdft/solvers/r2r.rs:840
↓ 3 callersMethodexecute_dst1_fast
Execute DST-I using FFT-based O(n log n) algorithm. DST-I of length N via 2(N+1)-point odd extension: Build v of length 2(N+1): v\[0\] = 0, v\[n+1\]
oxifft/src/rdft/solvers/r2r.rs:566
↓ 3 callersMethodexecute_dst2_direct
Execute DST-II (RODFT10) using direct O(n²) computation. Formula: X\[k\] = sum_{n=0}^{N-1} x\[n\] * sin(π * (2n+1) * (k+1) / (2N))
oxifft/src/rdft/solvers/r2r.rs:619
↓ 3 callersMethodexecute_dst2_fast
Execute DST-II using FFT-based O(n log n) algorithm. Relationship: DST_II(x)\[k\] = DCT_II(y)\[N-1-k\] where y\[n\] = (-1)^n * x\[n\] (sign-alternat
oxifft/src/rdft/solvers/r2r.rs:643
↓ 3 callersMethodexecute_dst3_direct
Execute DST-III (RODFT01) using direct O(n²) computation. Formula: X\[k\] = (-1)^k * x\[N-1\]/2 + sum_{n=0}^{N-2} x\[n\] * sin(π * (n+1) * (2k+1) / (
oxifft/src/rdft/solvers/r2r.rs:681
↓ 3 callersMethodexecute_dst3_fast
Execute DST-III using FFT-based O(n log n) algorithm. Relationship: DST_III(f)\[n\] = (-1)^n * DCT_III(f_reversed)\[n\] where f_reversed\[k\] = f\[N-
oxifft/src/rdft/solvers/r2r.rs:708
↓ 3 callersMethodexecute_dst4_direct
Execute DST-IV (RODFT11) using direct O(n²) computation. Formula: X\[k\] = sum_{n=0}^{N-1} x\[n\] * sin(π * (2n+1) * (2k+1) / (4N))
oxifft/src/rdft/solvers/r2r.rs:746
↓ 3 callersMethodexecute_dst4_fast
Execute DST-IV using FFT-based O(n log n) algorithm. Relationship: DST_IV(x)\[k\] = (-1)^k * DCT_IV(x_reversed)\[k\] where x_reversed\[n\] = x\[N-1-n
oxifft/src/rdft/solvers/r2r.rs:770
↓ 3 callersMethodexecute_with_buffers
Execute Rader's FFT with provided work buffers.
oxifft/src/dft/solvers/rader.rs:182
↓ 3 callersMethodexecute_with_buffers
Execute the Bluestein FFT with provided work buffers. All three work buffers must have length `m` (the padded size).
oxifft/src/dft/solvers/bluestein.rs:188
↓ 3 callersMethodexecute_with_buffers
reason: mixed-radix solver requires 6 pre-allocated work buffers; grouping into struct would add unnecessary allocations
oxifft/src/dft/solvers/generic.rs:409
↓ 3 callersFunctionextended_gcd
Extended Euclidean algorithm. Returns (gcd, x, y) such that a*x + b*y = gcd.
oxifft/src/sparse/hash.rs:249
↓ 3 callersMethodfeed
Feed new samples into the processor. Returns the number of complete frames available.
oxifft/src/streaming/stft.rs:81
↓ 3 callersFunctionfft2d_parallel
Convenience function for parallel 2D forward FFT. Input is row-major with n0 rows and n1 columns.
oxifft/src/api/parallel.rs:490
↓ 3 callersFunctionfft_bluestein
Convenience function for forward FFT using Bluestein.
oxifft/src/dft/solvers/bluestein.rs:351
↓ 3 callersMethodfft_inplace
(&mut self)
oxifft/src/integrations/ndarray_ext.rs:138
↓ 3 callersFunctionfft_nd
Convenience function for N-dimensional forward FFT. Input is in row-major order.
oxifft/src/api/plan/functions.rs:17
↓ 3 callersFunctionfft_pruned_input
Compute FFT when only some inputs are non-zero. This is efficient when the number of non-zero inputs is small. Uses direct DFT computation for sparse
oxifft/src/pruned/input_pruned.rs:35
↓ 3 callersFunctionfft_split
Convenience function for split-complex FFT. Computes the forward FFT of split-complex input.
oxifft/src/api/plan/functions.rs:126
↓ 3 callersFunctionfftw_plan_dft_2d
( n0: usize, n1: usize, direction: Direction, flags: Flags, )
oxifft/src/compat/mod.rs:156
↓ 3 callersFunctionfftw_plan_dft_3d
( n0: usize, n1: usize, n2: usize, direction: Direction, flags: Flags, )
oxifft/src/compat/mod.rs:197
↓ 3 callersFunctionfftw_plan_dft_c2r_1d
(n: usize, flags: Flags)
oxifft/src/compat/mod.rs:269
↓ 3 callersFunctionfrft_checked
Compute FrFT with error handling. # Errors Returns `FrftError::InvalidSize` if `input` is empty, or `FrftError::PlanningFailed` if FFT planning fail
oxifft/src/frft/mod.rs:414
← previousnext →401–500 of 4,171, ranked by callers