Skip to content

feat: add real valued FFT/IFFT#105

Merged
smu160 merged 13 commits intomainfrom
real-fft
Apr 27, 2026
Merged

feat: add real valued FFT/IFFT#105
smu160 merged 13 commits intomainfrom
real-fft

Conversation

@smu160
Copy link
Copy Markdown
Member

@smu160 smu160 commented Apr 8, 2026

No description provided.

@smu160 smu160 requested a review from Shnatsel April 8, 2026 23:07
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 8, 2026

Codecov Report

❌ Patch coverage is 99.26673% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 98.80%. Comparing base (4c64403) to head (a47f725).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/algorithms/r2c.rs 99.18% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #105      +/-   ##
==========================================
+ Coverage   98.18%   98.80%   +0.62%     
==========================================
  Files           9       10       +1     
  Lines        1871     2926    +1055     
==========================================
+ Hits         1837     2891    +1054     
- Misses         34       35       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Shnatsel
Copy link
Copy Markdown
Collaborator

Shnatsel commented Apr 22, 2026

Ideally I'd like to merge #95 so that we have in-place interleaving/deinterleaving and then make this operate in-place too.

Deinterleaving is trivial, it's the other step that might need some care when being performed in-place.

That doesn't have to happen in this PR but it is something I'd like to tackle before shipping a release.

smu160 added 6 commits April 24, 2026 23:40
Addresses issues #115

`PlannerDit32/PlannerDit64` no longer require a `Direction`. The
`fft_*_dit_with_planner` and `fft_*_dit_with_planner_and_opts` entry
points (and their interleaved variants) now take `Direction` as an
explicit argument, positioned after the buffers and before the planner.
The same planner instance can now drive, both, forward and inverse
transforms, which removes the need to maintain two planners for
round-trip workflows.
c2r already implies inverse FFT
@smu160
Copy link
Copy Markdown
Member Author

smu160 commented Apr 26, 2026

criterion_overlay_r2c_f64_15_24 criterion_overlay_r2c_f64_6_14 criterion_overlay_r2c_f32_15_24 criterion_overlay_r2c_f32_6_14 criterion_overlay_c2r_f64_15_24 criterion_overlay_c2r_f64_6_14 criterion_overlay_c2r_f32_15_24 criterion_overlay_c2r_f32_6_14 criterion_overlay_c2c_inverse_f64_15_24 criterion_overlay_c2c_inverse_f64_6_14 criterion_overlay_c2c_inverse_f32_15_24 criterion_overlay_c2c_inverse_f32_6_14 criterion_overlay_c2c_forward_f64_15_24 criterion_overlay_c2c_forward_f64_6_14 criterion_overlay_c2c_forward_f32_15_24 criterion_overlay_c2c_forward_f32_6_14

@awxkee
Copy link
Copy Markdown

awxkee commented Apr 26, 2026

Super curious found this by chance. If there is any interest, you could benchmark against https://github.com/awxkee/zaft it's a bit more optimized for aarch64 and needs to be compiled with nightly with the fcma feature for that, but for x86_64 it should work too

Comment thread src/algorithms/r2c.rs
Comment thread src/algorithms/r2c.rs Outdated
Comment thread src/algorithms/r2c.rs
@smu160 smu160 merged commit 8cd3a39 into main Apr 27, 2026
10 checks passed
@smu160 smu160 deleted the real-fft branch April 27, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants