Skip to content
This repository was archived by the owner on Jul 19, 2023. It is now read-only.

Commit 95ba408

Browse files
ajozefiakChrisRackauckas
authored andcommitted
mul! should be complete, only thorough testing left
1 parent 46aa07d commit 95ba408

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

src/derivative_operators/derivative_operator_functions.jl

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -556,29 +556,19 @@ function LinearAlgebra.mul!(x_temp::AbstractArray{T,3}, A::AbstractDiffEqComposi
556556
# need to consider all dimensions and operators to determine the truncation
557557
# of M to x_temp
558558
for L in A.ops
559-
if diff_axis(L) == 1
560-
operating_dims[1] = 1
561-
else
562-
operating_dims[2] = 1
563-
end
559+
operating_dims[diff_axis(L)] = 1
564560
end
565561

566562
x_temp_1, x_temp_2 = size(x_temp)
567563

568564
for L in opsB
569565
N = diff_axis(L)
570566
if N == 1
571-
if operating_dims[2] == 1
572-
mul!(x_temp,L,view(M,1:x_temp_1+2,1:x_temp_2), overwrite = false)
573-
else
574-
mul!(x_temp,L,M, overwrite = false)
575-
end
567+
mul!(x_temp, L, view(M,1:x_temp_1+2,1:x_temp_2,1:x_temp_3), overwrite = false)
568+
elseif N == 2
569+
mul!(x_temp, L, view(M,1:x_temp_1,1:x_temp_2+2,1:x_temp_3), overwrite = false)
576570
else
577-
if operating_dims[1] == 1
578-
mul!(x_temp,L,view(M,1:x_temp_1,1:x_temp_2+2), overwrite = false)
579-
else
580-
mul!(x_temp,L,M, overwrite = false)
581-
end
571+
mul!(x_temp, L, view(M,1:x_temp_1,1:x_temp_2,1:x_temp_3+2), overwrite = false)
582572
end
583573
end
584574

@@ -605,15 +595,13 @@ function LinearAlgebra.mul!(x_temp::AbstractArray{T,3}, A::AbstractDiffEqComposi
605595

606596
for L in A.ops[2:end]
607597
N = diff_axis(L)
608-
609598
if N == 1
610599
mul!(x_temp, L, view(M,1:x_temp_1+2,1:x_temp_2,1:x_temp_3), overwrite = false)
611600
elseif N == 2
612601
mul!(x_temp, L, view(M,1:x_temp_1,1:x_temp_2+2,1:x_temp_3), overwrite = false)
613602
else
614603
mul!(x_temp, L, view(M,1:x_temp_1,1:x_temp_2,1:x_temp_3+2), overwrite = false)
615604
end
616-
617605
end
618606
end
619607
end

0 commit comments

Comments
 (0)