FastTransforms.jl icon indicating copy to clipboard operation
FastTransforms.jl copied to clipboard

Wrap r2r plans

Open jishnub opened this issue 2 years ago • 1 comments

This is a robust alternative to the problems that #220 and #221 are trying to solve, as this removes the dependency on the internal type parameters of FFTW altogether (albeit at a small allocation for non-ESTIMATE flags).

This also gets rid of redundant type parameters in Chebyshev plans, with only the necessary ones being retained. Since the type parameters are being changed, I've bumped the minor version, so that versions v0.15.x can rely on #221 and face no breakages.

As an example,

julia> plan_chebyshevtransform(rand(2)) |> typeof
FastTransforms.ChebyshevTransformPlan{Float64, 1, false, 1, FFTW.r2rFFTWPlan{Float64, Vector{Int32}, false, 1, Tuple{Int64}}}

versus on master

julia> plan_chebyshevtransform(rand(2)) |> typeof
FastTransforms.ChebyshevTransformPlan{Float64, 1, Vector{Int32}, false, 1, Tuple{Int64}}

jishnub avatar Jun 12 '23 14:06 jishnub

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.30 :tada:

Comparison is base (8d92144) 81.76% compared to head (e3daa45) 82.06%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #223      +/-   ##
==========================================
+ Coverage   81.76%   82.06%   +0.30%     
==========================================
  Files          15       15              
  Lines        2539     2554      +15     
==========================================
+ Hits         2076     2096      +20     
+ Misses        463      458       -5     
Impacted Files Coverage Δ
src/chebyshevtransform.jl 98.22% <100.00%> (+1.38%) :arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov[bot] avatar Jun 12 '23 14:06 codecov[bot]