MCPcopy Create free account

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

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

↓ 2 callersFunctiontranspose_inplace
In-place transpose for non-square matrices. Uses cycle-following algorithm. This is O(n) in the number of elements but may have poor cache behavior f
oxifft/src/support/transpose.rs:119
↓ 2 callersFunctiontranspose_rectangular
Out-of-place transpose for rectangular N1×N2 matrix. Transposes N1×N2 row-major into N2×N1 row-major using a temporary buffer.
oxifft/src/dft/solvers/cache_oblivious.rs:295
↓ 2 callersFunctiontranspose_square_blocked
In-place blocked transpose for square N×N matrix stored in row-major order.
oxifft/src/dft/solvers/cache_oblivious.rs:255
↓ 2 callersFunctiontry_build_plan
Attempt to build a Nufft plan with given oversampling, returning `None` if the combination is unsupported.
oxifft/tests/nufft_tolerance_sweep.rs:162
↓ 2 callersFunctiontry_factor_mixed_radix_heuristic
Try to factor `n` as a product of radices in `MIXED_RADIX_SUPPORTED`. Returns `Some(factors)` ordered innermost-first, or `None` if not possible.
oxifft/src/kernel/planner.rs:909
↓ 2 callersFunctiontw4_dit_fwd
Radix-4 DIT twiddle butterfly, forward. Layout: twiddles[(j-1)*stride + s] for j=1,2,3.
oxifft/src/dft/codelets/twiddle_odd.rs:513
↓ 2 callersFunctiontw5_dit_fwd
Radix-5 DIT twiddle butterfly, forward direction. `twiddles` must have length >= `4 * stride`.
oxifft/src/dft/codelets/twiddle_odd.rs:177
↓ 2 callersFunctiontw7_dit_fwd
( io: &mut [Complex<T>], twiddles: &[Complex<T>], stride: usize, blocks: usize, )
oxifft/src/dft/codelets/twiddle_odd.rs:320
↓ 2 callersFunctiontwiddle_mul_simd_f32
Apply twiddle factors to `data` in-place: `data[i] *= twiddles[i]`. Dispatches to the best available SIMD backend at runtime: AVX2+FMA → SSE2 → NEON
oxifft/src/kernel/twiddle/mod.rs:1045
↓ 2 callersFunctiontwiddle_mul_soa_scalar_f32
Scalar SoA fallback for f32.
oxifft/src/kernel/twiddle/mod.rs:813
↓ 2 callersFunctiontwiddle_mul_soa_scalar_f64
Scalar SoA fallback: `data[i] *= Complex { re: twiddle_re[i], im: twiddle_im[i] }`.
oxifft/src/kernel/twiddle/mod.rs:431
↓ 2 callersFunctiontwiddle_mul_soa_simd_f32
Apply SoA twiddle factors to `data` in-place (f32). Dispatches to the best available SIMD backend: AVX2 → SSE2 → NEON → scalar. # Panics Panics if
oxifft/src/kernel/twiddle/mod.rs:838
↓ 2 callersFunctiontwiddle_mul_soa_simd_f64
Apply twiddle factors from separate `twiddle_re`/`twiddle_im` SoA arrays to `data` in-place. Compared to the interleaved [`twiddle_mul_simd_f64`], th
oxifft/src/kernel/twiddle/mod.rs:610
↓ 2 callersFunctiontwiddles_16_f32
Return the static f32 twiddle table for the size-16 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:131
↓ 2 callersFunctiontwiddles_16_f64
Return the static f64 twiddle table for the size-16 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:101
↓ 2 callersFunctiontwiddles_32_f32
Return the static f32 twiddle table for the size-32 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:141
↓ 2 callersFunctiontwiddles_32_f64
Return the static f64 twiddle table for the size-32 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:111
↓ 2 callersFunctiontwiddles_64_f32
Return the static f32 twiddle table for the size-64 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:151
↓ 2 callersFunctiontwiddles_64_f64
Return the static f64 twiddle table for the size-64 FFT.
oxifft/src/dft/codelets/hand_avx512_twiddles.rs:121
↓ 2 callersFunctionulp_distance_f32
Helper: compute max ULP distance between two f32 values.
oxifft/src/kernel/twiddle/twiddle_tests.rs:287
↓ 2 callersFunctionulp_distance_f64
Helper: compute max ULP distance between two f64 values.
oxifft/src/kernel/twiddle/twiddle_tests.rs:240
↓ 2 callersFunctionunwrap_phase
Unwrap a phase sequence to be continuous (no jumps larger than π). Standard incremental phase unwrapping: for each step, the difference is wrapped ba
oxifft/src/signal/cepstrum.rs:23
↓ 2 callersMethodvalue
(&self)
oxifft/src/streaming/sdft.rs:473
↓ 2 callersFunctionvjp_fft
Vector-Jacobian product for FFT (used in reverse mode AD). Computes vᵀ·J where J is the Jacobian of FFT and v is a vector.
oxifft/src/autodiff/mod.rs:347
↓ 2 callersFunctionwinograd_11
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/winograd.rs:132
↓ 2 callersFunctionwinograd_13
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/winograd.rs:220
↓ 2 callersFunctionwinograd_9
(x: &mut [Complex<T>], sign: i32)
oxifft/src/dft/codelets/winograd.rs:70
↓ 2 callersFunctionwinograd_dft3_inv
(x_re: &[f64], x_im: &[f64])
oxifft-codegen-impl/src/gen_odd.rs:483
↓ 2 callersFunctionwinograd_dft5_inv
(x_re: &[f64], x_im: &[f64])
oxifft-codegen-impl/src/gen_odd.rs:559
↓ 2 callersFunctionwinograd_dft7_inv
(x_re: &[f64], x_im: &[f64])
oxifft-codegen-impl/src/gen_odd.rs:669
↓ 2 callersMethodwisdom_name
(&self)
oxifft/src/kernel/planner.rs:103
↓ 2 callersMethodwith_min_fft_size
(mut self, size: usize)
oxifft/src/threading/parallel_config.rs:75
↓ 1 callersMethod__destroy_into_raw
()
oxifft/pkg_simd/oxifft.js:20
↓ 1 callersFunction__wbg_get_imports
()
oxifft/pkg_simd/oxifft.js:278
↓ 1 callersMethodabs
(self)
oxifft/src/kernel/f128_type.rs:275
↓ 1 callersMethodadd
Add two half-complex arrays element-wise. result\[i\] = a\[i\] + b\[i\]
oxifft/src/rdft/solvers/hc2hc.rs:73
↓ 1 callersMethodadd
(self, other: Self)
oxifft/src/simd/avx512.rs:77
↓ 1 callersMethodadd
(self, other: Self)
oxifft/src/simd/avx2.rs:79
↓ 1 callersMethodadd
(self, other: Self)
oxifft/src/simd/portable.rs:69
↓ 1 callersMethodadd
(self, other: Self)
oxifft/src/simd/neon.rs:72
↓ 1 callersMethodadd_predicated
(self, other: Self, mask: [bool; 4])
oxifft/src/simd/sve.rs:301
↓ 1 callersFunctionalgo_tag_from_solver_name
Derive an algorithm tag byte from a solver name string.
oxifft/src/api/wisdom.rs:845
↓ 1 callersMethodalgorithm_name
(&self)
oxifft/src/api/plan/types.rs:470
↓ 1 callersMethodall_gather_v_complex
Variable all-gather operation. # Errors Returns `MpiError` on communication failure.
oxifft/src/mpi/pool.rs:188
↓ 1 callersMethodall_to_all_v_complex
Variable all-to-all communication for complex data. Each process can send different amounts to different processes. # Errors Returns `MpiError` on c
oxifft/src/mpi/pool.rs:114
↓ 1 callersMethodanalyze_frame
Process a single frame and return spectrum. # Arguments `frame` - Input frame (must have length = fft_size) # Returns Complex spectrum of length f
oxifft/src/streaming/stft.rs:137
↓ 1 callersMethodanalyze_singletons
Analyze bucket contents to detect singletons. Uses phase information from multiple subsampling stages to determine which buckets contain single frequ
oxifft/src/sparse/bucket.rs:124
↓ 1 callersMethodapply_filter
Apply aliasing filter.
oxifft/src/sparse/plan.rs:196
↓ 1 callersMethodapply_time_domain
Apply filter to signal in time domain (convolution). This is less efficient than frequency domain multiplication. Use `apply()` on FFT of signal for
oxifft/src/sparse/filter.rs:190
↓ 1 callersFunctionapply_twiddles
(x: &mut [Complex<T>], twiddles: &[Complex<T>], stride: usize)
oxifft/src/dft/codelets/twiddle.rs:66
↓ 1 callersFunctionapprox_eq_simd_f64
Absolute-floor relative tolerance check for SIMD f64 numeric comparison.
oxifft/src/dft/codelets/codegen_tests.rs:1863
↓ 1 callersMethodatan2
(self, other: Self)
oxifft/src/kernel/f16.rs:381
↓ 1 callersMethodbackward_inverse
Compute gradient of a scalar loss with respect to IFFT input. For normalized IFFT: y = (1/N)·Fᴴ·x The adjoint of (1/N)·Fᴴ is (1/N)·F Gradient: ∂L/∂x
oxifft/src/autodiff/mod.rs:296
↓ 1 callersFunctionbalanced_factorization
Choose a balanced factorization N = N1 × N2 where N1 ≈ √N. For power-of-2 N, we pick N1 = 2^(log2(N)/2) so both factors are as close to √N as possibl
oxifft/src/dft/solvers/cache_oblivious.rs:200
↓ 1 callersMethodbandwidth_3db
Get the -3dB bandwidth of the filter.
oxifft/src/sparse/filter.rs:207
↓ 1 callersFunctionbaseline_wisdom
()
oxifft/src/api/plan/types.rs:301
↓ 1 callersMethodbatch_size
(&self)
oxifft/src/dft/problem.rs:89
↓ 1 callersFunctionbench_oxifft
(n: usize, iterations: usize)
oxifft-bench/examples/compare_composite.rs:8
↓ 1 callersFunctionbench_rustfft
(n: usize, iterations: usize)
oxifft-bench/examples/compare_composite.rs:29
↓ 1 callersFunctionbench_size
(n: usize, iterations: usize)
oxifft-bench/examples/bench_composite.rs:8
↓ 1 callersMethodbenchmark_solvers
(&self, n: usize, candidates: &[SolverChoice])
oxifft/src/kernel/planner.rs:441
↓ 1 callersMethodbenchmark_solvers_timed
( &self, n: usize, candidates: &[SolverChoice], time_limit: std::time::Duratio
oxifft/src/kernel/planner.rs:294
↓ 1 callersFunctionbins_as_range
If `bins` is a sorted, contiguous, unit-stride slice, return it as a `Range`.
oxifft/src/pruned/partial.rs:222
↓ 1 callersFunctionbit_reverse
Bit-reverse an index.
oxifft/src/pruned/output_pruned.rs:201
↓ 1 callersFunctionbit_reverse
(mut x: usize, bits: usize)
oxifft/src/const_fft/radix2.rs:195
↓ 1 callersFunctionbit_reverse_permute_1024
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:1037
↓ 1 callersFunctionbit_reverse_permute_128
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:264
↓ 1 callersFunctionbit_reverse_permute_256
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:451
↓ 1 callersFunctionbit_reverse_permute_4096
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:1533
↓ 1 callersFunctionbit_reverse_permute_512
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:595
↓ 1 callersFunctionbit_reverse_permute_64
(x: &mut [Complex<f64>])
oxifft/src/dft/codelets/simd/large_sizes.rs:132
↓ 1 callersMethodbucket_fft
Compute bucket FFT for a stage.
oxifft/src/sparse/plan.rs:211
↓ 1 callersFunctionbuild_aarch64_branch
Build the aarch64 dispatch branch for the cached dispatcher body. Size-16 has no NEON path.
oxifft-codegen-impl/src/gen_simd/runtime_dispatch.rs:251
↓ 1 callersFunctionbuild_chirp_filter
Build the length-`L` circular-convolution filter `H_circ` for the CZT. The filter is `W^{-m²/2}` evaluated at indices `m = 0..M-1` and `m = 1..N-1` p
oxifft/src/chirp_z/chirp_tables.rs:45
↓ 1 callersFunctionbuild_chirp_post
Compute `W^{k²/2}` for `k = 0 .. M`. # Returns A `Vec` of length `m`.
oxifft/src/chirp_z/chirp_tables.rs:75
↓ 1 callersFunctionbuild_chirp_y
Compute `A^{-n} · W^{n²/2}` for `n = 0 .. N`. For on-unit-circle (|A|=1, |W|=1) inputs `Complex::cis` is used for maximum precision. For off-unit-ci
oxifft/src/chirp_z/chirp_tables.rs:22
↓ 1 callersFunctionbuild_detect_aarch64_body
Build the aarch64 ISA detection body emitted inside the detect function.
oxifft-codegen-impl/src/gen_simd/runtime_dispatch.rs:148
↓ 1 callersFunctionbuild_detect_x86_body
Build the `x86_64` ISA detection body emitted inside the detect function.
oxifft-codegen-impl/src/gen_simd/runtime_dispatch.rs:125
↓ 1 callersFunctionbuild_x86_64_branches
Build the `x86_64` dispatch branches for the cached dispatcher body. For size-16 f32 only AVX-512 is available; for size-16 f64 no x86 SIMD path exis
oxifft-codegen-impl/src/gen_simd/runtime_dispatch.rs:167
↓ 1 callersFunctioncheck_close
(got_re: f32, got_im: f32, exp_re: f32, exp_im: f32, tol: f32, label: &str)
oxifft-codegen/tests/multi_transform_soa_parity.rs:94
↓ 1 callersFunctioncheck_gpu_vs_cpu_f32
Correctness guard: verify GPU output is within `tol` relative error of CPU.
oxifft/benches/gpu_vs_cpu.rs:41
↓ 1 callersMethodcheck_singleton
Check if a bucket contains a singleton frequency.
oxifft/src/sparse/decoder.rs:157
↓ 1 callersFunctionchoose_strategy_prefix
Choose strategy for prefix (first m) bins.
oxifft/src/pruned/partial.rs:201
↓ 1 callersFunctionchoose_strategy_sparse
Choose strategy for sparse (arbitrary) bins.
oxifft/src/pruned/partial.rs:176
↓ 1 callersMethodclear
Clear all entries.
oxifft/src/api/wisdom.rs:151
↓ 1 callersMethodclear
Clear the cache.
oxifft/src/kernel/twiddle/mod.rs:62
↓ 1 callersMethodcmul_conj
(self, other: Self)
oxifft/src/wasm/simd.rs:223
↓ 1 callersMethodcmul_conj
(self, other: Self)
oxifft/src/simd/sse2.rs:214
↓ 1 callersMethodcol_rank
Column rank for a given global rank (0-indexed column in the 2D grid).
oxifft/src/mpi/plans/plan_3d_pencil.rs:80
↓ 1 callersFunctioncola_normalization
Calculate the COLA normalization factor for a window. This factor computes the sum of w^2 at position 0, which is what the overlap-add synthesis need
oxifft/src/streaming/window.rs:234
↓ 1 callersFunctioncollect_gates
Collect per-gate results by reading criterion output.
oxifft-bench/src/bin/fftw_ratio_report.rs:206
↓ 1 callersMethodcollision_probability
Get collision probability estimate. Returns expected number of collisions for k sparse frequencies.
oxifft/src/sparse/hash.rs:103
↓ 1 callersFunctioncomplex_mul_aos_avx2_fma_f32
( dst: &mut [Complex<f32>], a: &[Complex<f32>], b: &[Complex<f32>], )
oxifft/src/kernel/complex_mul.rs:304
↓ 1 callersFunctioncomplex_mul_aos_avx2_fma_f64
( dst: &mut [Complex<f64>], a: &[Complex<f64>], b: &[Complex<f64>], )
oxifft/src/kernel/complex_mul.rs:150
↓ 1 callersFunctioncomplex_mul_aos_neon_f32
( dst: &mut [Complex<f32>], a: &[Complex<f32>], b: &[Complex<f32>], )
oxifft/src/kernel/complex_mul.rs:412
↓ 1 callersFunctioncomplex_mul_aos_neon_f64
( dst: &mut [Complex<f64>], a: &[Complex<f64>], b: &[Complex<f64>], )
oxifft/src/kernel/complex_mul.rs:255
↓ 1 callersFunctioncomplex_mul_aos_sse2_f32
( dst: &mut [Complex<f32>], a: &[Complex<f32>], b: &[Complex<f32>], )
oxifft/src/kernel/complex_mul.rs:358
↓ 1 callersFunctioncomplex_mul_aos_sse2_f64
( dst: &mut [Complex<f64>], a: &[Complex<f64>], b: &[Complex<f64>], )
oxifft/src/kernel/complex_mul.rs:206
↓ 1 callersMethodcompute_bucket_stages
Compute bucket stages from input signal.
oxifft/src/sparse/plan.rs:133
↓ 1 callersMethodcompute_initial_bin
DFT of bin k from the current circular buffer.
oxifft/src/streaming/sdft.rs:520
← previousnext →801–900 of 4,171, ranked by callers