Skip to content

Commit 8e6276d

Browse files
committed
Replace 0 and 1 with zero(T) and oneunit(T) following PR 24656.
1 parent 66b2090 commit 8e6276d

File tree

4 files changed

+17
-16
lines changed

4 files changed

+17
-16
lines changed

NEWS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,11 +520,12 @@ Deprecated or removed
520520
`Meta.lower(module, ex)` ([#22064, #24278]).
521521

522522
* `ones(A::AbstractArray[, opts...])` and `zeros(A::AbstractArray[, opts...])` methods
523-
have been deprecated. The general replacement is `fill!(similar(A[, opts...]), {1|0})`,
523+
have been deprecated. The general replacement is
524+
`fill!(similar(A[, opts...]), {oneunit(eltype(A)) | zero(eltype(A))})`,
524525
though in most use cases simpler alternatives are better: For `zeros(A)`, consider
525526
`zero(A)`. For `ones(A)` or `zeros(A)`, consider `fill(v, size(A))` for `v` an
526-
appropriate one or zero, `fill!(copy(A), {1|0})`, `ones(size(A))` or
527-
`zeros(size(A))`, or any of the preceding with different element type
527+
appropriate one or zero, `fill!(copy(A), {oneunit(eltype(A)) | zero(eltype(A))})`,
528+
`ones(size(A))` or `zeros(size(A))`, or any of the preceding with different element type
528529
and/or shape depending on `opts...`. For an algebraic multiplicative identity,
529530
consider `one(A)` ([#24656]).
530531

base/deprecated.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1689,14 +1689,14 @@ end
16891689
# are deprecated in base/libgit2/types.jl.
16901690

16911691
# deprecate ones/zeros methods accepting an array as first argument
1692-
@deprecate ones(a::AbstractArray, ::Type{T}, dims::Tuple) where {T} fill!(similar(a, T, dims), 1)
1693-
@deprecate ones(a::AbstractArray, ::Type{T}, dims...) where {T} fill!(similar(a, T, dims...), 1)
1694-
@deprecate ones(a::AbstractArray, ::Type{T}) where {T} fill!(similar(a, T), 1)
1695-
@deprecate ones(a::AbstractArray) fill!(similar(a), 1)
1696-
@deprecate zeros(a::AbstractArray, ::Type{T}, dims::Tuple) where {T} fill!(similar(a, T, dims), 0)
1697-
@deprecate zeros(a::AbstractArray, ::Type{T}, dims...) where {T} fill!(similar(a, T, dims...), 0)
1698-
@deprecate zeros(a::AbstractArray, ::Type{T}) where {T} fill!(similar(a, T), 0)
1699-
@deprecate zeros(a::AbstractArray) fill!(similar(a), 0)
1692+
@deprecate ones(a::AbstractArray, ::Type{T}, dims::Tuple) where {T} fill!(similar(a, T, dims), oneunit(T))
1693+
@deprecate ones(a::AbstractArray, ::Type{T}, dims...) where {T} fill!(similar(a, T, dims...), oneunit(T))
1694+
@deprecate ones(a::AbstractArray, ::Type{T}) where {T} fill!(similar(a, T), oneunit(T))
1695+
@deprecate ones(a::AbstractArray) fill!(similar(a), oneunit(eltype(a)))
1696+
@deprecate zeros(a::AbstractArray, ::Type{T}, dims::Tuple) where {T} fill!(similar(a, T, dims), zero(T))
1697+
@deprecate zeros(a::AbstractArray, ::Type{T}, dims...) where {T} fill!(similar(a, T, dims...), zero(T))
1698+
@deprecate zeros(a::AbstractArray, ::Type{T}) where {T} fill!(similar(a, T), zero(T))
1699+
@deprecate zeros(a::AbstractArray) fill!(similar(a), zero(eltype(a)))
17001700

17011701
# PR #23711
17021702
@eval LibGit2 begin

base/linalg/diagonal.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ function svd(D::Diagonal{<:Number})
423423
piv = sortperm(S, rev = true)
424424
U = Diagonal(D.diag ./ S)
425425
Up = hcat([U[:,i] for i = 1:length(D.diag)][piv]...)
426-
V = Diagonal(fill!(similar(D.diag), 1))
426+
V = Diagonal(fill!(similar(D.diag), oneunit(eltype(D.diag))))
427427
Vp = hcat([V[:,i] for i = 1:length(D.diag)][piv]...)
428428
return (Up, S[piv], Vp)
429429
end

base/linalg/tridiag.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,9 @@ function tril!(M::SymTridiagonal, k::Integer=0)
270270
return Tridiagonal(M.ev,M.dv,copy(M.ev))
271271
elseif k == -1
272272
fill!(M.dv,0)
273-
return Tridiagonal(M.ev,M.dv,fill!(similar(M.ev), 0))
273+
return Tridiagonal(M.ev,M.dv,zero(M.ev))
274274
elseif k == 0
275-
return Tridiagonal(M.ev,M.dv,fill!(similar(M.ev), 0))
275+
return Tridiagonal(M.ev,M.dv,zero(M.ev))
276276
elseif k >= 1
277277
return Tridiagonal(M.ev,M.dv,copy(M.ev))
278278
end
@@ -289,9 +289,9 @@ function triu!(M::SymTridiagonal, k::Integer=0)
289289
return Tridiagonal(M.ev,M.dv,copy(M.ev))
290290
elseif k == 1
291291
fill!(M.dv,0)
292-
return Tridiagonal(fill!(similar(M.ev), 0),M.dv,M.ev)
292+
return Tridiagonal(zero(M.ev),M.dv,M.ev)
293293
elseif k == 0
294-
return Tridiagonal(fill!(similar(M.ev), 0),M.dv,M.ev)
294+
return Tridiagonal(zero(M.ev),M.dv,M.ev)
295295
elseif k <= -1
296296
return Tridiagonal(M.ev,M.dv,copy(M.ev))
297297
end

0 commit comments

Comments
 (0)