JuliaMath / JuliaMath/AbstractFFTs.jl
Complex-float logic needs to be replicated by plans
- Dominant language
- Julia
- Stars
- 134
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
The current design of `AbstractFFTs.jl` requires plan implementers to handle the complex-float promotion when doing `*(p::MyPlan, x)`, e.g. as done below in the test plans here:
https://github.com/JuliaMath/AbstractFFTs.jl/blob/79789f2250aed0d70d2e1766667cc4dde7b43896/test/testplans.jl#L89
This would ideally be taken care of `AbstractFFTs.jl` just like is done for `fft` etc.
Edit (July 29): possibly, the right way to solve problems like this (and other ones like having to manually compute `normalization` in `plan_inv`), would be a trait. The `AdjointStyle` trait was recently added, whose scope was limited to enabling adjoint functionality given that inverse functionality for the plan already exists. We could add additional traits for automatically getting other functionality that is the same for e.g. all FFTs (and even parent traits that specify all additional traits together) such that downstream implementers have to implement the minimum possible functionality when the right trait exists
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.