@@ -1396,14 +1396,26 @@ end
13961396end
13971397
13981398@testset " kron! for Diagonal" begin
1399- a = Diagonal ([2 ,2 ])
1400- b = Diagonal ([1 ,1 ])
1401- c = Diagonal ([0 ,0 ,0 ,0 ])
1402- kron! (c,b,a)
1403- @test c == Diagonal ([2 ,2 ,2 ,2 ])
1404- c= Diagonal (Vector {Float64} (undef, 4 ))
1405- kron! (c,a,b)
1406- @test c == Diagonal ([2 ,2 ,2 ,2 ])
1399+ a = Diagonal ([1 , 2 ])
1400+ b = Diagonal ([3 , 4 ])
1401+ # Diagonal out
1402+ c = Diagonal ([0 , 0 , 0 , 0 ])
1403+ kron! (c, b, a)
1404+ @test c == Diagonal ([3 , 6 , 4 , 8 ])
1405+ @test c == kron! (fill (0 , 4 , 4 ), Matrix (b), Matrix (a)) # against dense kron!
1406+ c = Diagonal (Vector {Float64} (undef, 4 ))
1407+ kron! (c, a, b)
1408+ @test c == Diagonal ([3.0 , 4.0 , 6.0 , 8.0 ])
1409+
1410+ # AbstractArray out
1411+ c = fill (0 , 4 , 4 )
1412+ kron! (c, b, a)
1413+ @test c == diagm ([3 , 6 , 4 , 8 ])
1414+ @test c == kron! (fill (0 , 4 , 4 ), Matrix (b), Matrix (a)) # against dense kron!
1415+ c = Matrix {Float64} (undef, 4 , 4 )
1416+ kron! (c, a, b)
1417+ @test c == diagm ([3.0 , 4.0 , 6.0 , 8.0 ])
1418+ @test_throws DimensionMismatch kron! (Diagonal (zeros (5 )), Diagonal (zeros (2 )), Diagonal (zeros (2 )))
14071419end
14081420
14091421@testset " uppertriangular/lowertriangular" begin
0 commit comments