@@ -11,22 +11,31 @@ JacobiTransformPlan(chebplan::CPLAN, cjtplan::CJT) where {CPLAN,CJT} =
1111
1212plan_transform (S:: Jacobi , v:: AbstractVector ) =
1313 JacobiTransformPlan (plan_transform (Chebyshev (), v), plan_cheb2jac (v, S. a, S. b))
14- * (P:: JacobiTransformPlan , vals:: AbstractVector ) = P. cjtplan* (P. chebplan* vals)
14+ plan_transform! (S:: Jacobi , v:: AbstractVector ) =
15+ JacobiTransformPlan (plan_transform! (Chebyshev (), v), plan_cheb2jac (v, S. a, S. b))
16+ * (P:: JacobiTransformPlan , vals:: AbstractVector ) = lmul! (P. cjtplan, P. chebplan * vals)
1517
1618
17- struct JacobiITransformPlan{T,CPLAN,CJT} <: AbstractTransformPlan{T}
19+ struct JacobiITransformPlan{T,CPLAN,CJT,inplace } <: AbstractTransformPlan{T}
1820 ichebplan:: CPLAN
1921 icjtplan:: CJT
2022end
2123
22- JacobiITransformPlan (chebplan:: CPLAN , cjtplan:: CJT ) where {CPLAN,CJT} =
23- JacobiITransformPlan {eltype (chebplan), CPLAN,CJT} (chebplan, cjtplan)
24-
24+ JacobiITransformPlan (chebplan, cjtplan) = JacobiITransformPlan {false} (chebplan, cjtplan)
25+ JacobiITransformPlan {inplace} (chebplan:: CPLAN , cjtplan :: CJT ) where { CPLAN,CJT,inplace} =
26+ JacobiITransformPlan {eltype(chebplan),CPLAN,CJT,inplace} (chebplan, cjtplan)
2527
28+ inplace (J:: JacobiITransformPlan{<:Any,<:Any,<:Any,IP} ) where {IP} = IP
2629
2730plan_itransform (S:: Jacobi , v:: AbstractVector ) =
2831 JacobiITransformPlan (plan_itransform (Chebyshev (), v), plan_jac2cheb (v, S. a, S. b))
29- * (P:: JacobiITransformPlan , cfs:: AbstractVector ) = P. ichebplan* (P. icjtplan* cfs)
32+ plan_itransform! (S:: Jacobi , v:: AbstractVector ) =
33+ JacobiITransformPlan {true} (plan_itransform! (Chebyshev (), v), plan_jac2cheb (v, S. a, S. b))
34+ icjt (P, cfs, :: Val{true} ) = lmul! (P, cfs)
35+ icjt (P, cfs, :: Val{false} ) = P * cfs
36+ function * (P:: JacobiITransformPlan , cfs:: AbstractVector )
37+ P. ichebplan * icjt (P. icjtplan, cfs, Val (inplace (P)))
38+ end
3039
3140
3241function coefficients (f:: AbstractVector{T} , a:: Jacobi , b:: Chebyshev ) where T
0 commit comments