@@ -10,8 +10,8 @@ function cjt(c::AbstractVector,plan::ChebyshevJacobiPlan)
10
10
decrementα! (ret,α,β)
11
11
elseif α == 0.5 && β == 0.5
12
12
decrementαβ! (ret,α,β)
13
- else
14
- tosquare! (ret,α,β)
13
+ elseif α != - 0.5 && β != - 0.5
14
+ decrementαβ! ( tosquare! (ret,α,β), half (α), half (β) )
15
15
end
16
16
for i= 1 : N ret[i] *= Λ (i- 1.0 )/ sqrtpi end
17
17
return ret
@@ -28,7 +28,8 @@ function cjt(c::AbstractVector,plan::ChebyshevUltrasphericalPlan)
28
28
N = length (c)
29
29
N ≤ 1 && return c
30
30
if modλ (λ) == 0
31
- ret = toline! (copy (c),λ- one (λ)/ 2 ,λ- one (λ)/ 2 )
31
+ ret = copy (c)
32
+ λ != 0.0 && (ret = decrementαβ! (toline! (ret,λ- one (λ)/ 2 ,λ- one (λ)/ 2 ),half (λ),half (λ)))
32
33
for i= 1 : N ret[i] *= Λ (i- 1.0 )/ sqrtpi end
33
34
return ret
34
35
else
@@ -55,8 +56,8 @@ function icjt(c::AbstractVector,plan::ChebyshevJacobiPlan)
55
56
elseif α == 0.5 && β == 0.5
56
57
incrementαβ! (ret,α- 1 ,β- 1 )
57
58
return ret
58
- else
59
- return fromsquare! (ret,α,β)
59
+ elseif α != - 0.5 && β != - 0.5
60
+ return fromsquare! (incrementαβ! ( ret, - half (α), - half (β)) ,α,β)
60
61
end
61
62
else
62
63
# General half-open square
@@ -73,7 +74,7 @@ function icjt(c::AbstractVector,plan::ChebyshevUltrasphericalPlan)
73
74
if modλ (λ) == 0
74
75
ret = copy (c)
75
76
for i= 1 : N ret[i] *= sqrtpi/ Λ (i- 1.0 ) end
76
- fromline! (ret,λ- one (λ)/ 2 ,λ- one (λ)/ 2 )
77
+ λ != 0.0 && fromline! (incrementαβ! ( ret, - half (λ), - half (λ)) ,λ- one (λ)/ 2 ,λ- one (λ)/ 2 )
77
78
return ret
78
79
else
79
80
# Ultraspherical line
0 commit comments