@@ -619,6 +619,17 @@ function plan_spinsph2fourier(::Type{Complex{Float64}}, n::Integer, s::Integer)
619
619
return FTPlan {Complex{Float64}, 2, SPINSPHERE} (plan, n)
620
620
end
621
621
622
+ plan_disk2cxf (:: Type{Float64} , n:: Integer , α) = plan_disk2cxf (Float64, n, α, 0 )
623
+ plan_disk2cxf (:: Type{Float64} , n:: Integer ) = plan_disk2cxf (Float64, n, 0 )
624
+ plan_rectdisk2cheb (:: Type{Float64} , n:: Integer ) = plan_rectdisk2cheb (Float64, n, 0 )
625
+ plan_tri2cheb (:: Type{Float64} , n:: Integer , α, β) = plan_tri2cheb (Float64, n, α, β, 0 )
626
+ plan_tri2cheb (:: Type{Float64} , n:: Integer , α) = plan_tri2cheb (Float64, n, α, 0 )
627
+ plan_tri2cheb (:: Type{Float64} , n:: Integer ) = plan_tri2cheb (Float64, n, 0 )
628
+ plan_tet2cheb (:: Type{Float64} , n:: Integer , α, β, γ) = plan_tet2cheb (Float64, n, α, β, γ, 0 )
629
+ plan_tet2cheb (:: Type{Float64} , n:: Integer , α, β) = plan_tet2cheb (Float64, n, α, β, 0 )
630
+ plan_tet2cheb (:: Type{Float64} , n:: Integer , α) = plan_tet2cheb (Float64, n, α, 0 )
631
+ plan_tet2cheb (:: Type{Float64} , n:: Integer ) = plan_tet2cheb (Float64, n, 0 )
632
+
622
633
for (fJ, fadJ, fC, fE, K) in ((:plan_sph_synthesis , :plan_sph_analysis , :ft_plan_sph_synthesis , :ft_execute_sph_synthesis , SPHERESYNTHESIS),
623
634
(:plan_sph_analysis , :plan_sph_synthesis , :ft_plan_sph_analysis , :ft_execute_sph_analysis , SPHEREANALYSIS),
624
635
(:plan_sphv_synthesis , :plan_sphv_analysis , :ft_plan_sphv_synthesis , :ft_execute_sphv_synthesis , SPHEREVSYNTHESIS),
@@ -630,10 +641,10 @@ for (fJ, fadJ, fC, fE, K) in ((:plan_sph_synthesis, :plan_sph_analysis, :ft_plan
630
641
(:plan_tri_synthesis , :plan_tri_analysis , :ft_plan_tri_synthesis , :ft_execute_tri_synthesis , TRIANGLESYNTHESIS),
631
642
(:plan_tri_analysis , :plan_tri_synthesis , :ft_plan_tri_analysis , :ft_execute_tri_analysis , TRIANGLEANALYSIS))
632
643
@eval begin
633
- $ fJ (x:: Matrix{T} ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ))
634
- $ fJ (:: Type{Complex{T}} , x... ) where T <: Real = $ fJ (T, x... )
635
- function $fJ (:: Type{Float64} , n:: Integer , m:: Integer )
636
- plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint), n, m)
644
+ $ fJ (x:: Matrix{T} ; y ... ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ); y ... )
645
+ $ fJ (:: Type{Complex{T}} , x... ; y ... ) where T <: Real = $ fJ (T, x... ; y ... )
646
+ function $fJ (:: Type{Float64} , n:: Integer , m:: Integer ; flags :: Integer = FFTW . ESTIMATE )
647
+ plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint, Cuint ), n, m, flags )
637
648
return FTPlan {Float64, 2, $K} (plan, n, m)
638
649
end
639
650
adjoint (p:: FTPlan{T, 2, $K} ) where T = AdjointFTPlan (p, $ fadJ (T, p. n, p. m))
@@ -659,10 +670,10 @@ end
659
670
for (fJ, fadJ, fC, fE, K) in ((:plan_tet_synthesis , :plan_tet_analysis , :ft_plan_tet_synthesis , :ft_execute_tet_synthesis , TETRAHEDRONSYNTHESIS),
660
671
(:plan_tet_analysis , :plan_tet_synthesis , :ft_plan_tet_analysis , :ft_execute_tet_analysis , TETRAHEDRONANALYSIS))
661
672
@eval begin
662
- $ fJ (x:: Array{T, 3} ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ), size (x, 3 ))
663
- $ fJ (:: Type{Complex{T}} , x... ) where T <: Real = $ fJ (T, x... )
664
- function $fJ (:: Type{Float64} , n:: Integer , l:: Integer , m:: Integer )
665
- plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint, Cint), n, l, m)
673
+ $ fJ (x:: Array{T, 3} ; y ... ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ), size (x, 3 ); y ... )
674
+ $ fJ (:: Type{Complex{T}} , x... ; y ... ) where T <: Real = $ fJ (T, x... ; y ... )
675
+ function $fJ (:: Type{Float64} , n:: Integer , l:: Integer , m:: Integer ; flags :: Integer = FFTW . ESTIMATE )
676
+ plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint, Cint, Cuint ), n, l, m, flags )
666
677
return FTPlan {Float64, 3, $K} (plan, n, l, m)
667
678
end
668
679
adjoint (p:: FTPlan{T, 3, $K} ) where T = AdjointFTPlan (p, $ fadJ (T, p. n, p. l, p. m))
688
699
for (fJ, fadJ, fC, fE, K) in ((:plan_spinsph_synthesis , :plan_spinsph_analysis , :ft_plan_spinsph_synthesis , :ft_execute_spinsph_synthesis , SPINSPHERESYNTHESIS),
689
700
(:plan_spinsph_analysis , :plan_spinsph_synthesis , :ft_plan_spinsph_analysis , :ft_execute_spinsph_analysis , SPINSPHEREANALYSIS))
690
701
@eval begin
691
- $ fJ (x:: Matrix{T} , s:: Integer ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ), s)
692
- function $fJ (:: Type{Complex{Float64}} , n:: Integer , m:: Integer , s:: Integer )
693
- plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint, Cint), n, m, s)
702
+ $ fJ (x:: Matrix{T} , s:: Integer ; y ... ) where T = $ fJ (T, size (x, 1 ), size (x, 2 ), s; y ... )
703
+ function $fJ (:: Type{Complex{Float64}} , n:: Integer , m:: Integer , s:: Integer ; flags :: Integer = FFTW . ESTIMATE )
704
+ plan = ccall (($ (string (fC)), libfasttransforms), Ptr{ft_plan_struct}, (Cint, Cint, Cint, Cuint ), n, m, s, flags )
694
705
return FTPlan {Complex{Float64}, 2, $K} (plan, n, m)
695
706
end
696
707
get_spin (p:: FTPlan{T, 2, $K} ) where T = ccall ((:ft_get_spin_spinsphere_fftw_plan , libfasttransforms), Cint, (Ptr{ft_plan_struct},), p)
0 commit comments