Skip to content

Commit 5c4199b

Browse files
committed
improve similar_tensormaptype inference
1 parent 3a94b4d commit 5c4199b

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/tensors/abstractblocktensor/abstractarray.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,17 @@ function similar_tensormaptype(
209209
return AbstractTensorMap{scalartype(T),S,numout(P),numin(P)}
210210
end
211211
end
212+
function similar_tensormaptype(
213+
t::AbstractBlockTensorMap, T::Type{<:AbstractTensorMap}, P::TensorMapSumSpace{S}
214+
) where {S}
215+
if eltype(t) === T && typeof(space(t)) === typeof(P)
216+
return T
217+
elseif isconcretetype(T)
218+
return tensormaptype(S, numout(P), numin(P), storagetype(T))
219+
else
220+
return AbstractTensorMap{scalartype(T),S,numout(P),numin(P)}
221+
end
222+
end
212223
function similar_tensormaptype(
213224
t::AbstractBlockTensorMap, M::Type{<:AbstractVector}, P::TensorMapSumSpace{S}
214225
) where {S}

0 commit comments

Comments
 (0)