@@ -91,8 +91,7 @@ checkpoints(::Conic) = conicpolar.(checkpoints(rectspace(DuffyConic())))
91
91
92
92
function plan_transform (S:: DuffyConic , v:: AbstractVector{T} ) where T
93
93
n = length (v)
94
- N = (1 + isqrt (1 + 8 n)) ÷ 4
95
- M = 2 N- 1
94
+ N,M = pointsize (S,length (v))
96
95
D = plan_transform! (rectspace (S), Array {T} (undef,N,M))
97
96
TransformPlan (S, D, Val{false })
98
97
end
182
181
183
182
function LegendreConicTransformPlan (S:: LegendreConic , v:: AbstractVector{T} ) where T
184
183
n = length (v)
185
- N = (1 + isqrt (1 + 8 n)) ÷ 4
186
- M = 2 N- 1
184
+ N,M = pointsize (Conic (), n)
187
185
D = plan_transform! (rectspace (DuffyConic ()), Array {T} (undef,N,M))
188
186
P = c_plan_rottriangle (N, zero (T), zero (T), zero (T))
189
187
LegendreConicTransformPlan (D,P)
@@ -428,9 +426,10 @@ struct LegendreConeTransformPlan{DUF,CHEB}
428
426
end
429
427
430
428
function LegendreConeTransformPlan (S:: LegendreCone , v:: AbstractVector{T} ) where T
431
- D = plan_transform (DuffyCone (),v)
432
- F = totensor (rectspace (DuffyCone ()), D* v) # wasteful, just use to figure out `size(F,1)`
433
- P = c_plan_rottriangle (size (F,1 ), zero (T), zero (T), one (T))
429
+ n = length (v)
430
+ N,M = pointsize (Cone (), n)
431
+ D = plan_transform! (rectspace (DuffyCone ()), Array {T} (undef,N,M))
432
+ P = c_plan_rottriangle (N, zero (T), zero (T), zero (T))
434
433
LegendreConeTransformPlan (D,P)
435
434
end
436
435
0 commit comments