From 4e4549ab9a64f4e0b5a6215c5cd57f1a477bbe3c Mon Sep 17 00:00:00 2001 From: mtfishman Date: Tue, 20 Jan 2026 09:18:22 -0500 Subject: [PATCH 1/2] Upgrade to FunctionImplementations v0.4 --- Project.toml | 6 +++--- .../diagonalarraydiaginterface.jl | 14 +++++++------- test/Project.toml | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Project.toml b/Project.toml index d95c853..fceb3a9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "DiagonalArrays" uuid = "74fd4be6-21e2-4f6f-823a-4360d37c7a77" authors = ["ITensor developers and contributors"] -version = "0.3.28" +version = "0.3.29" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" @@ -22,12 +22,12 @@ DiagonalArraysNamedDimsArraysExt = "NamedDimsArrays" [compat] ArrayLayouts = "1.10.4" FillArrays = "1.13" -FunctionImplementations = "0.3.1" +FunctionImplementations = "0.4" LinearAlgebra = "1.10" MapBroadcast = "0.1.10" MatrixAlgebraKit = "0.2, 0.3, 0.4, 0.5, 0.6" NamedDimsArrays = "0.13" -SparseArraysBase = "0.8.1" +SparseArraysBase = "0.9" julia = "1.10" [workspace] diff --git a/src/abstractdiagonalarray/diagonalarraydiaginterface.jl b/src/abstractdiagonalarray/diagonalarraydiaginterface.jl index 45f819f..9c5a2dc 100644 --- a/src/abstractdiagonalarray/diagonalarraydiaginterface.jl +++ b/src/abstractdiagonalarray/diagonalarraydiaginterface.jl @@ -3,20 +3,20 @@ diagview(a::AbstractDiagonalArray) = throw(MethodError(diagview, Tuple{typeof(a)})) using FunctionImplementations: FunctionImplementations -using SparseArraysBase: SparseArraysBase as SA, AbstractSparseArrayStyle +using SparseArraysBase: SparseArraysBase as SA, AbstractSparseArrayImplementationStyle -abstract type AbstractDiagonalArrayStyle <: AbstractSparseArrayStyle end +abstract type AbstractDiagonalArrayImplementationStyle <: AbstractSparseArrayImplementationStyle end -struct DiagonalArrayStyle <: AbstractDiagonalArrayStyle end -const diag_style = DiagonalArrayStyle() +struct DiagonalArrayImplementationStyle <: AbstractDiagonalArrayImplementationStyle end +const diag_style = DiagonalArrayImplementationStyle() -function FunctionImplementations.Style(::Type{<:AbstractDiagonalArray}) - return DiagonalArrayStyle() +function FunctionImplementations.ImplementationStyle(::Type{<:AbstractDiagonalArray}) + return DiagonalArrayImplementationStyle() end module Broadcast import SparseArraysBase as SA - abstract type AbstractDiagonalArrayStyle{N} <: SA.Broadcast.AbstractSparseArrayStyle{N} end + abstract type AbstractDiagonalArrayStyle{N} <: SA.AbstractSparseArrayStyle{N} end struct DiagonalArrayStyle{N} <: AbstractDiagonalArrayStyle{N} end DiagonalArrayStyle{M}(::Val{N}) where {M, N} = DiagonalArrayStyle{N}() end diff --git a/test/Project.toml b/test/Project.toml index b779378..a4793a9 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -22,13 +22,13 @@ Adapt = "4.4" Aqua = "0.8.9" DiagonalArrays = "0.3" FillArrays = "1" -FunctionImplementations = "0.3" +FunctionImplementations = "0.4" JLArrays = "0.3" LinearAlgebra = "1" MatrixAlgebraKit = "0.2.5, 0.3, 0.4, 0.5, 0.6" NamedDimsArrays = "0.13" SafeTestsets = "0.1" -SparseArraysBase = "0.8" +SparseArraysBase = "0.9" StableRNGs = "1" Suppressor = "0.2" Test = "1" From f2096469aac27ba6b40fa75da84685d41bb458c1 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Tue, 20 Jan 2026 09:56:58 -0500 Subject: [PATCH 2/2] Delete Broadcast module --- .../diagonalarraydiaginterface.jl | 16 +++++++--------- src/diagonalarray/diagonalarray.jl | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/abstractdiagonalarray/diagonalarraydiaginterface.jl b/src/abstractdiagonalarray/diagonalarraydiaginterface.jl index 9c5a2dc..f35404b 100644 --- a/src/abstractdiagonalarray/diagonalarraydiaginterface.jl +++ b/src/abstractdiagonalarray/diagonalarraydiaginterface.jl @@ -14,12 +14,10 @@ function FunctionImplementations.ImplementationStyle(::Type{<:AbstractDiagonalAr return DiagonalArrayImplementationStyle() end -module Broadcast - import SparseArraysBase as SA - abstract type AbstractDiagonalArrayStyle{N} <: SA.AbstractSparseArrayStyle{N} end - struct DiagonalArrayStyle{N} <: AbstractDiagonalArrayStyle{N} end - DiagonalArrayStyle{M}(::Val{N}) where {M, N} = DiagonalArrayStyle{N}() -end +using SparseArraysBase: AbstractSparseArrayStyle +abstract type AbstractDiagonalArrayStyle{N} <: AbstractSparseArrayStyle{N} end +struct DiagonalArrayStyle{N} <: AbstractDiagonalArrayStyle{N} end +DiagonalArrayStyle{M}(::Val{N}) where {M, N} = DiagonalArrayStyle{N}() using SparseArraysBase: getstoredindex const getstoredindex_diag = diag_style(getstoredindex) @@ -111,7 +109,7 @@ const storedpairs_diag = diag_style(storedpairs) storedpairs_diag(a::AbstractArray) = sparse_style(storedpairs)(a) function Base.Broadcast.BroadcastStyle(type::Type{<:AbstractDiagonalArray}) - return Broadcast.DiagonalArrayStyle{ndims(type)}() + return DiagonalArrayStyle{ndims(type)}() end using Base.Broadcast: Broadcasted, broadcasted @@ -125,10 +123,10 @@ function broadcasted_diagview(bc::Broadcasted) ) return broadcasted(m.f, map(diagview, m.args)...) end -function Base.copy(bc::Broadcasted{<:Broadcast.DiagonalArrayStyle}) +function Base.copy(bc::Broadcasted{<:DiagonalArrayStyle}) return DiagonalArray(copy(broadcasted_diagview(bc)), axes(bc)) end -function Base.copyto!(dest::AbstractArray, bc::Broadcasted{<:Broadcast.DiagonalArrayStyle}) +function Base.copyto!(dest::AbstractArray, bc::Broadcasted{<:DiagonalArrayStyle}) copyto!(diagview(dest), broadcasted_diagview(bc)) return dest end diff --git a/src/diagonalarray/diagonalarray.jl b/src/diagonalarray/diagonalarray.jl index 8f6c090..1764b8b 100644 --- a/src/diagonalarray/diagonalarray.jl +++ b/src/diagonalarray/diagonalarray.jl @@ -410,7 +410,7 @@ _broadcasted(::typeof(cosh), a::Zeros) = Ones{typeof(cosh(zero(eltype(a))))}(axe _broadcast(f::F, a::AbstractArray) where {F} = copy(_broadcasted(f, a)) function Base.Broadcast.broadcasted( - ::Broadcast.DiagonalArrayStyle{N}, f::F, a::DiagonalArray{T, N, Diag} + ::DiagonalArrayStyle{N}, f::F, a::DiagonalArray{T, N, Diag} ) where {F, T, N, Diag <: AbstractFill{T}} # TODO: Check that `f` preserves zeros? return DiagonalArray(_broadcasted(f, diagview(a)), axes(a))