@@ -45,67 +45,67 @@ julia> Pkg.add("DiagonalArrays")
4545
4646```` julia
4747using DiagonalArrays:
48- DiagonalArray, DiagonalMatrix, DiagIndex, DiagIndices, diaglength, isdiagindex
48+ DiagonalArray, DiagonalMatrix, DiagIndex, DiagIndices, diaglength, isdiagindex
4949using Test: @test
5050
5151function main ()
52- d = DiagonalMatrix ([1.0 , 2.0 , 3.0 ])
53- @test eltype (d) == Float64
54- @test diaglength (d) == 3
55- @test size (d) == (3 , 3 )
56- @test d[1 , 1 ] == 1
57- @test d[2 , 2 ] == 2
58- @test d[3 , 3 ] == 3
59- @test d[1 , 2 ] == 0
60-
61- d = DiagonalArray ([1.0 , 2.0 , 3.0 ], 3 , 4 , 5 )
62- @test eltype (d) == Float64
63- @test diaglength (d) == 3
64- @test d[1 , 1 , 1 ] == 1
65- @test d[2 , 2 , 2 ] == 2
66- @test d[3 , 3 , 3 ] == 3
67- @test d[1 , 2 , 1 ] == 0
68-
69- d[2 , 2 , 2 ] = 22
70- @test d[2 , 2 , 2 ] == 22
71-
72- d_r = reshape (d, 3 , 20 )
73- @test size (d_r) == (3 , 20 )
74- @test all (I -> d_r[I] == d[I], LinearIndices (d))
75-
76- @test length (d[DiagIndices (:)]) == 3
77- @test Array (d) == d
78- @test d[DiagIndex (2 )] == d[2 , 2 , 2 ]
79-
80- d[DiagIndex (2 )] = 222
81- @test d[2 , 2 , 2 ] == 222
82-
83- a = randn (3 , 4 , 5 )
84- new_diag = randn (3 )
85- a[DiagIndices (:)] = new_diag
86- d[DiagIndices (:)] = a[DiagIndices (:)]
87-
88- @test a[DiagIndices (:)] == new_diag
89- @test d[DiagIndices (:)] == new_diag
90-
91- permuted_d = permutedims (d, (3 , 2 , 1 ))
92- @test permuted_d isa DiagonalArray
93- @test permuted_d[DiagIndices (:)] == d[DiagIndices (:)]
94- @test size (d) == (3 , 4 , 5 )
95- @test size (permuted_d) == (5 , 4 , 3 )
96- for I in eachindex (d)
97- if ! isdiagindex (d, I)
98- @test iszero (d[I])
99- else
100- @test ! iszero (d[I])
52+ d = DiagonalMatrix ([1.0 , 2.0 , 3.0 ])
53+ @test eltype (d) == Float64
54+ @test diaglength (d) == 3
55+ @test size (d) == (3 , 3 )
56+ @test d[1 , 1 ] == 1
57+ @test d[2 , 2 ] == 2
58+ @test d[3 , 3 ] == 3
59+ @test d[1 , 2 ] == 0
60+
61+ d = DiagonalArray ([1.0 , 2.0 , 3.0 ], 3 , 4 , 5 )
62+ @test eltype (d) == Float64
63+ @test diaglength (d) == 3
64+ @test d[1 , 1 , 1 ] == 1
65+ @test d[2 , 2 , 2 ] == 2
66+ @test d[3 , 3 , 3 ] == 3
67+ @test d[1 , 2 , 1 ] == 0
68+
69+ d[2 , 2 , 2 ] = 22
70+ @test d[2 , 2 , 2 ] == 22
71+
72+ d_r = reshape (d, 3 , 20 )
73+ @test size (d_r) == (3 , 20 )
74+ @test all (I -> d_r[I] == d[I], LinearIndices (d))
75+
76+ @test length (d[DiagIndices (:)]) == 3
77+ @test Array (d) == d
78+ @test d[DiagIndex (2 )] == d[2 , 2 , 2 ]
79+
80+ d[DiagIndex (2 )] = 222
81+ @test d[2 , 2 , 2 ] == 222
82+
83+ a = randn (3 , 4 , 5 )
84+ new_diag = randn (3 )
85+ a[DiagIndices (:)] = new_diag
86+ d[DiagIndices (:)] = a[DiagIndices (:)]
87+
88+ @test a[DiagIndices (:)] == new_diag
89+ @test d[DiagIndices (:)] == new_diag
90+
91+ permuted_d = permutedims (d, (3 , 2 , 1 ))
92+ @test permuted_d isa DiagonalArray
93+ @test permuted_d[DiagIndices (:)] == d[DiagIndices (:)]
94+ @test size (d) == (3 , 4 , 5 )
95+ @test size (permuted_d) == (5 , 4 , 3 )
96+ for I in eachindex (d)
97+ if ! isdiagindex (d, I)
98+ @test iszero (d[I])
99+ else
100+ @test ! iszero (d[I])
101+ end
101102 end
102- end
103103
104- mapped_d = map (x -> 2 x, d)
105- @test mapped_d isa DiagonalArray
106- @test mapped_d == map (x -> 2 x, Array (d))
104+ mapped_d = map (x -> 2 x, d)
105+ @test mapped_d isa DiagonalArray
106+ @test mapped_d == map (x -> 2 x, Array (d))
107107
108- return nothing
108+ return nothing
109109end
110110
111111main ()
0 commit comments