-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Real to complex and complex to real transforms #23
Comments
Hi @calebzulawski, I think I utilized real to complex in an example, here. I'm going to assume a specialized version for real to complex would offer better performance since we'd avoid doing anything with the zeros. If that's the case, we can have two separate PR's for closing out this issue -- I'll start a new PR now to implement real-to-complex. I think we can call it A future PR can address the complex-to-real version. Thanks! Best, |
I wonder if it might make sense possibly to use a trait? I could see the various supported types ballooning, so you could have something like |
I'm not well-versed in using traits in Rust. I'm happy to try out any of your suggestions. If you don't mind, please feel free to expand on this idea, and I will try it out |
I wonder if it's possible for this library to do what |
@calebzulawski I'm curious to here your thoughts here as well. Thank you! Best, Edit: @astral4 with respect to the viability of what Edit 2: A lot of what I wrote above was nonsensical 😅. Please disregard. |
I finally read up on the approached you described, here. I don't see why the power-of-two requirement would make this nonviable. It's definitely the best way forward given that it allows us to reduce memory usage and run-time by 2x (in comparison to using a c2c fft and just setting the imags vec to all 0s). From what I gather, the steps would be as follows:
Work on this implementation will continue in #26. Thank you! Best, |
In these special cases, the imaginary reads could be replaced with zeros, and the writes elided.
The text was updated successfully, but these errors were encountered: