Skip to content

Commit 1879e24

Browse files
authored
Promote spaces for BraidingTensor (#258)
* Generalize BraidingTensor promotion * Simplify implementation * Fix * Fix fix
1 parent 6fd09bc commit 1879e24

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/tensors/braidingtensor.jl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,15 @@ end
3131
function BraidingTensor{T}(V1::S, V2::S, adjoint::Bool=false) where {T,S<:IndexSpace}
3232
return BraidingTensor{T,S}(V1, V2, adjoint)
3333
end
34+
function BraidingTensor{T}(V1::IndexSpace, V2::IndexSpace, adjoint::Bool=false) where {T}
35+
return BraidingTensor{T}(promote(V1, V2)..., adjoint)
36+
end
37+
function BraidingTensor(V1::IndexSpace, V2::IndexSpace, adjoint::Bool=false)
38+
return BraidingTensor(promote(V1, V2)..., adjoint)
39+
end
3440
function BraidingTensor(V1::S, V2::S, adjoint::Bool=false) where {S<:IndexSpace}
35-
if BraidingStyle(sectortype(S)) isa SymmetricBraiding
36-
return BraidingTensor{Float64,S}(V1, V2, adjoint)
37-
else
38-
return BraidingTensor{ComplexF64,S}(V1, V2, adjoint)
39-
end
41+
T = BraidingStyle(sectortype(S)) isa SymmetricBraiding ? Float64 : ComplexF64
42+
return BraidingTensor{T,S}(V1, V2, adjoint)
4043
end
4144
function BraidingTensor(V::HomSpace, adjoint::Bool=false)
4245
domain(V) == reverse(codomain(V)) ||

0 commit comments

Comments
 (0)