Since PR #58 is now merged, I would suggest talking about how to extend this to Plans as well.
One way of doing that would be to implement different (abstract) types for a FFT, rFFT and r2r. This of course would have some implications for the libraries relying on AbstractFFTs. That's why I did not directly proceed with a PR, but would want to discuss this first.
Something reasonable could be to have an AbstractFFTPlan, AbstractrFFTPlan, AbstractR2RPlan that are all subtypes of the current Plan type, so that it is not a completely breaking change. (Ideally Plan should be renamed to AbstractPlan, but this would break a lot, I guess)
Aside from this, there is also JuliaMath/FFTW.jl#182 , so that ScaledPlans miss the region subfield, which could be mitigated by a function like
region(p::Plan) = p.region
region(p::ScaledPlan) = region(p.p)
Since PR #58 is now merged, I would suggest talking about how to extend this to
Plansas well.One way of doing that would be to implement different (abstract) types for a FFT, rFFT and r2r. This of course would have some implications for the libraries relying on AbstractFFTs. That's why I did not directly proceed with a PR, but would want to discuss this first.
Something reasonable could be to have an
AbstractFFTPlan,AbstractrFFTPlan,AbstractR2RPlanthat are all subtypes of the currentPlantype, so that it is not a completely breaking change. (Ideally Plan should be renamed to AbstractPlan, but this would break a lot, I guess)Aside from this, there is also JuliaMath/FFTW.jl#182 , so that ScaledPlans miss the
regionsubfield, which could be mitigated by a function like