@@ -47,10 +47,6 @@ struct FusionTensorAxes{BT<:BlockedTuple{2}}
4747 end
4848end
4949
50- # ===================================== Accessors ========================================
51-
52- outer_axes (fta:: FusionTensorAxes ) = fta. outer_axes
53-
5450# ==================================== Constructors ======================================
5551
5652function FusionTensorAxes (bt:: BlockedTuple{2} )
@@ -62,25 +58,31 @@ function FusionTensorAxes(codomain_legs, domain_legs)
6258 return FusionTensorAxes (tuplemortar ((codomain_legs, domain_legs)))
6359end
6460
61+ # ============================== TensorAlgebra interface =================================
62+
63+ TensorAlgebra. BlockedTuple (fta:: FusionTensorAxes ) = fta. outer_axes
64+
65+ TensorAlgebra. trivial_axis (fta:: FusionTensorAxes ) = trivial_axis (sector_type (fta))
66+
6567# ================================== Base interface ======================================
6668
6769for f in [
6870 :(broadcastable), :(Tuple), :(axes), :(firstindex), :(lastindex), :(iterate), :(length)
6971]
70- @eval Base.$ f (fta:: FusionTensorAxes ) = Base.$ f (outer_axes (fta))
72+ @eval Base.$ f (fta:: FusionTensorAxes ) = Base.$ f (BlockedTuple (fta))
7173end
7274
7375for f in [:(getindex), :(iterate)]
74- @eval Base.$ f (fta:: FusionTensorAxes , i) = $ f (outer_axes (fta), i)
76+ @eval Base.$ f (fta:: FusionTensorAxes , i) = $ f (BlockedTuple (fta), i)
7577end
7678
7779function Base. getindex (fta:: FusionTensorAxes , bp:: AbstractBlockPermutation )
78- return FusionTensorAxes (outer_axes (fta)[bp])
80+ return FusionTensorAxes (BlockedTuple (fta)[bp])
7981end
8082
81- Base. copy (fta:: FusionTensorAxes ) = FusionTensorAxes (copy .(outer_axes (fta)))
83+ Base. copy (fta:: FusionTensorAxes ) = FusionTensorAxes (copy .(BlockedTuple (fta)))
8284
83- Base. deepcopy (fta:: FusionTensorAxes ) = FusionTensorAxes (deepcopy .(outer_axes (fta)))
85+ Base. deepcopy (fta:: FusionTensorAxes ) = FusionTensorAxes (deepcopy .(BlockedTuple (fta)))
8486
8587function Base.:(== )(a:: FusionTensorAxes , b:: FusionTensorAxes )
8688 blocklengths (a) != blocklengths (b) && return false
9395# ================================ BlockArrays interface =================================
9496
9597for f in [:(blocklength), :(blocklengths), :(blocks)]
96- @eval BlockArrays.$ f (fta:: FusionTensorAxes ) = $ f (outer_axes (fta))
98+ @eval BlockArrays.$ f (fta:: FusionTensorAxes ) = $ f (BlockedTuple (fta))
9799end
98100
99101# ============================== GradedArrays interface ==================================
@@ -108,10 +110,6 @@ function GradedArrays.sector_type(::Type{FTA}) where {BT,FTA<:FusionTensorAxes{B
108110 return sector_type (type_parameters (type_parameters (BT, 3 ), 1 ))
109111end
110112
111- # ============================== TensorAlgebra interface =================================
112-
113- TensorAlgebra. trivial_axis (fta:: FusionTensorAxes ) = trivial_axis (sector_type (fta))
114-
115113# ============================== FusionTensor interface ==================================
116114
117115codomain_axes (fta:: FusionTensorAxes ) = fta[Block (1 )]
0 commit comments