@@ -306,14 +306,19 @@ for (fname, felt) in ((:zeros, :zero), (:ones, :one))
306306 return Base.$ fname (codomain ← domain)
307307 end
308308 function Base. $fname (
309- :: Type{T} , codomain:: TensorSpace{S} , domain:: TensorSpace{S} = one (codomain)
310- ) where {T, S <: IndexSpace }
311- return Base.$ fname (T, codomain ← domain)
309+ :: Type{TorA} , codomain:: TensorSpace{S} , domain:: TensorSpace{S} = one (codomain)
310+ ) where {TorA, S <: IndexSpace }
311+ return Base.$ fname (TorA, codomain ← domain)
312+ end
313+ function Base. $fname (
314+ :: Type{T} , :: Type{TorA} , codomain:: TensorSpace{S} , domain:: TensorSpace{S} = one (codomain)
315+ ) where {T, TorA, S <: IndexSpace }
316+ return Base.$ fname (TorA, codomain ← domain)
312317 end
313318 Base.$ fname (V:: TensorMapSpace ) = Base.$ fname (Float64, V)
314- function Base. $fname (:: Type{T } , V:: TensorMapSpace ) where {T }
315- t = TensorMap {T} (undef, V)
316- fill! (t, $ felt (T ))
319+ function Base. $fname (:: Type{TorA } , V:: TensorMapSpace ) where {TorA }
320+ t = tensormaptype ( spacetype (V), numout (V), numin (V), TorA) (undef, V)
321+ fill! (t, $ felt (TorA ))
317322 return t
318323 end
319324 end
0 commit comments