Skip to content

Commit 2fd0a12

Browse files
committed
Remove diagonal changes
1 parent 06be3bd commit 2fd0a12

File tree

4 files changed

+11
-20
lines changed

4 files changed

+11
-20
lines changed

src/dense.jl

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -124,17 +124,6 @@ haszero(::Type) = false
124124
haszero(::Type{T}) where {T<:Number} = isconcretetype(T)
125125
haszero(::Type{Union{Missing,T}}) where {T<:Number} = haszero(T)
126126
@propagate_inbounds _zero(M::AbstractArray{T}, inds...) where {T} = haszero(T) ? zero(T) : zero(M[inds...])
127-
function zero!(M::AbstractArray{T}) where {T}
128-
if haszero(T)
129-
fill!(M, zero(T))
130-
else
131-
for i in eachindex(M)
132-
v = @inbounds M[i]
133-
z = zero(v)
134-
@inbounds M[i] = z
135-
end
136-
end
137-
end
138127

139128
"""
140129
triu!(M, k::Integer)

src/diagonal.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ function triu!(D::Diagonal{T}, k::Integer=0) where T
279279
throw(ArgumentError(string("the requested diagonal, $k, must be at least ",
280280
"$(-n + 1) and at most $(n + 1) in an $n-by-$n matrix")))
281281
elseif k > 0
282-
zero!(D.diag)
282+
fill!(D.diag, zero(T))
283283
end
284284
return D
285285
end
@@ -290,7 +290,7 @@ function tril!(D::Diagonal{T}, k::Integer=0) where T
290290
throw(ArgumentError(LazyString(lazy"the requested diagonal, $k, must be at least ",
291291
lazy"$(-n - 1) and at most $(n - 1) in an $n-by-$n matrix")))
292292
elseif k < 0
293-
zero!(D.diag)
293+
fill!(D.diag, zero(T))
294294
end
295295
return D
296296
end

test/dense.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1408,4 +1408,13 @@ end
14081408
@test 2^A == 2^Matrix(A)
14091409
end
14101410

1411+
@testset "triu/tril for block matrices" begin
1412+
O = ones(2,2)
1413+
Z = zero(O)
1414+
M = fill(O, 3, 3)
1415+
res = fill(Z, size(M))
1416+
res[1,2] = res[1,3] = res[2,3] = O
1417+
@test triu(GenericArray(M),1) == res
1418+
end
1419+
14111420
end # module TestDense

test/diagonal.jl

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -819,13 +819,6 @@ end
819819
@test all(x -> size(x) == (2,2), D)
820820
@test D == D1 * D2
821821
end
822-
823-
@testset "triu/tril" begin
824-
D = Diagonal(fill(ones(2,2), 3))
825-
M = Matrix{eltype(D)}(D)
826-
@test triu(D,1) == triu(M,1)
827-
@test tril(D,-1) == tril(M,-1)
828-
end
829822
end
830823

831824
@testset "Eigensystem for block diagonal (issue #30681)" begin

0 commit comments

Comments
 (0)