diff --git a/Project.toml b/Project.toml index 9bb88ef..ead2a2e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockSparseArrays" uuid = "2c9a651f-6452-4ace-a6ac-809f4280fbb4" authors = ["ITensor developers and contributors"] -version = "0.7.8" +version = "0.7.9" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" diff --git a/src/abstractblocksparsearray/map.jl b/src/abstractblocksparsearray/map.jl index 4dcec66..04513fc 100644 --- a/src/abstractblocksparsearray/map.jl +++ b/src/abstractblocksparsearray/map.jl @@ -111,9 +111,15 @@ function Base.isreal(a::AnyAbstractBlockSparseArray) return @interface interface(a) isreal(a) end +# Helps with specialization of block operations by avoiding +# having anonymous functions constructed inside the map/broadcast +# code logic. function Base.:*(x::Number, a::AnyAbstractBlockSparseArray) return map(Base.Fix1(*, x), a) end function Base.:*(a::AnyAbstractBlockSparseArray, x::Number) return map(Base.Fix2(*, x), a) end +function Base.:/(a::AnyAbstractBlockSparseArray, x::Number) + return map(Base.Fix2(/, x), a) +end