From 7c269cdcc4264362813ce305f40bbc59011de3df Mon Sep 17 00:00:00 2001 From: lkdvos Date: Fri, 29 May 2026 06:51:19 -0400 Subject: [PATCH 1/3] fix: storagetypes --- src/tensors/blocktensor.jl | 2 +- src/tensors/sparseblocktensor.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tensors/blocktensor.jl b/src/tensors/blocktensor.jl index 33e4765..8d6e1d3 100644 --- a/src/tensors/blocktensor.jl +++ b/src/tensors/blocktensor.jl @@ -164,7 +164,7 @@ Base.parent(t::BlockTensorMap) = t.data # handle this separately because the storagetype of `AbstractTensorMap` is # *always* Vector no matter the actual data storage type TK.storagetype(t::BlockTensorMap{AbstractTensorMap{E, S, N₁, N₂}}) where {E, S, N₁, N₂} = - foldl(TK.promote_storagetype, values(t.data)) + mapreduce(TK.storagetype, TK.promote_storagetype, values(t.data)) function Base.copyto!( dest::BlockTensorMap, Rdest::CartesianIndices, diff --git a/src/tensors/sparseblocktensor.jl b/src/tensors/sparseblocktensor.jl index a818f03..587996e 100644 --- a/src/tensors/sparseblocktensor.jl +++ b/src/tensors/sparseblocktensor.jl @@ -171,7 +171,7 @@ Base.eltype(::Type{<:SparseBlockTensorMap{TT}}) where {TT} = TT # handle this separately because the storagetype of `AbstractTensorMap` is # *always* Vector no matter the actual data storage type TK.storagetype(t::SparseBlockTensorMap{AbstractTensorMap{E, S, N₁, N₂}}) where {E, S, N₁, N₂} = - foldl(TK.promote_storagetype, nonzero_values(t)) + mapreduce(TK.storagetype, TK.promote_storagetype, nonzero_values(t)) issparse(::SparseBlockTensorMap) = true nonzero_keys(t::SparseBlockTensorMap) = keys(t.data) From 1e43035808b52f26a880167a8ee56dd53ee4091f Mon Sep 17 00:00:00 2001 From: lkdvos Date: Fri, 29 May 2026 08:54:47 -0400 Subject: [PATCH 2/3] supply init --- src/tensors/blocktensor.jl | 2 +- src/tensors/sparseblocktensor.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tensors/blocktensor.jl b/src/tensors/blocktensor.jl index 8d6e1d3..3d2b6d9 100644 --- a/src/tensors/blocktensor.jl +++ b/src/tensors/blocktensor.jl @@ -164,7 +164,7 @@ Base.parent(t::BlockTensorMap) = t.data # handle this separately because the storagetype of `AbstractTensorMap` is # *always* Vector no matter the actual data storage type TK.storagetype(t::BlockTensorMap{AbstractTensorMap{E, S, N₁, N₂}}) where {E, S, N₁, N₂} = - mapreduce(TK.storagetype, TK.promote_storagetype, values(t.data)) + mapreduce(TK.storagetype, TK.promote_storagetype, values(t.data); init = TK.storagetype(eltype(t))) function Base.copyto!( dest::BlockTensorMap, Rdest::CartesianIndices, diff --git a/src/tensors/sparseblocktensor.jl b/src/tensors/sparseblocktensor.jl index 587996e..d919caf 100644 --- a/src/tensors/sparseblocktensor.jl +++ b/src/tensors/sparseblocktensor.jl @@ -171,7 +171,7 @@ Base.eltype(::Type{<:SparseBlockTensorMap{TT}}) where {TT} = TT # handle this separately because the storagetype of `AbstractTensorMap` is # *always* Vector no matter the actual data storage type TK.storagetype(t::SparseBlockTensorMap{AbstractTensorMap{E, S, N₁, N₂}}) where {E, S, N₁, N₂} = - mapreduce(TK.storagetype, TK.promote_storagetype, nonzero_values(t)) + mapreduce(TK.storagetype, TK.promote_storagetype, nonzero_values(t); init = TK.storagetype(eltype(t))) issparse(::SparseBlockTensorMap) = true nonzero_keys(t::SparseBlockTensorMap) = keys(t.data) From b62ed912c6473912f6d5b1b54e432937139c9bdf Mon Sep 17 00:00:00 2001 From: lkdvos Date: Fri, 29 May 2026 09:35:39 -0400 Subject: [PATCH 3/3] Bump v0.3.13 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 68e3100..ee8ccda 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "BlockTensorKit" uuid = "5f87ffc2-9cf1-4a46-8172-465d160bd8cd" -version = "0.3.12" +version = "0.3.13" authors = ["Lukas Devos and contributors"] [deps]