@@ -246,7 +246,13 @@ size(p::ScaledPlan) = size(p.p)
246
246
show (io:: IO , p:: ScaledPlan ) = print (io, p. scale, " * " , p. p)
247
247
summary (p:: ScaledPlan ) = string (p. scale, " * " , summary (p. p))
248
248
249
- * (p:: ScaledPlan , x:: AbstractArray ) = scale! (p. p * x, p. scale)
249
+ if VERSION >= v " 0.7.0-DEV.3665"
250
+ * (p:: ScaledPlan , x:: AbstractArray ) = LinearAlgebra. rmul! (p. p * x, p. scale)
251
+ elseif VERSION >= v " 0.7.0-DEV.3563"
252
+ * (p:: ScaledPlan , x:: AbstractArray ) = LinearAlgebra. mul1! (p. p * x, p. scale)
253
+ else
254
+ * (p:: ScaledPlan , x:: AbstractArray ) = scale! (p. p * x, p. scale)
255
+ end
250
256
251
257
* (α:: Number , p:: Plan ) = ScaledPlan (p, α)
252
258
* (p:: Plan , α:: Number ) = ScaledPlan (p, α)
@@ -266,8 +272,16 @@ plan_ifft!(x::AbstractArray, region; kws...) =
266
272
267
273
plan_inv (p:: ScaledPlan ) = ScaledPlan (plan_inv (p. p), inv (p. scale))
268
274
269
- LinearAlgebra. mul! (y:: AbstractArray , p:: ScaledPlan , x:: AbstractArray ) =
270
- scale! (p. scale, LinearAlgebra. mul! (y, p. p, x))
275
+ if VERSION >= v " 0.7.0-DEV.3665"
276
+ LinearAlgebra. mul! (y:: AbstractArray , p:: ScaledPlan , x:: AbstractArray ) =
277
+ LinearAlgebra. lmul! (p. scale, LinearAlgebra. mul! (y, p. p, x))
278
+ elseif VERSION >= v " 0.7.0-DEV.3563"
279
+ LinearAlgebra. mul! (y:: AbstractArray , p:: ScaledPlan , x:: AbstractArray ) =
280
+ LinearAlgebra. mul2! (p. scale, LinearAlgebra. mul! (y, p. p, x))
281
+ else
282
+ LinearAlgebra. mul! (y:: AbstractArray , p:: ScaledPlan , x:: AbstractArray ) =
283
+ scale! (p. scale, LinearAlgebra. mul! (y, p. p, x))
284
+ end
271
285
272
286
# #############################################################################
273
287
# Real-input DFTs are annoying because the output has a different size
0 commit comments