Skip to content

Commit fec6193

Browse files
committed
use BlockedTuple as accessor
1 parent 66d341e commit fec6193

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

src/fusiontensor/fusiontensoraxes.jl

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@ struct FusionTensorAxes{BT<:BlockedTuple{2}}
4747
end
4848
end
4949

50-
# ===================================== Accessors ========================================
51-
52-
outer_axes(fta::FusionTensorAxes) = fta.outer_axes
53-
5450
# ==================================== Constructors ======================================
5551

5652
function FusionTensorAxes(bt::BlockedTuple{2})
@@ -62,25 +58,31 @@ function FusionTensorAxes(codomain_legs, domain_legs)
6258
return FusionTensorAxes(tuplemortar((codomain_legs, domain_legs)))
6359
end
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

6769
for 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))
7173
end
7274

7375
for 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)
7577
end
7678

7779
function Base.getindex(fta::FusionTensorAxes, bp::AbstractBlockPermutation)
78-
return FusionTensorAxes(outer_axes(fta)[bp])
80+
return FusionTensorAxes(BlockedTuple(fta)[bp])
7981
end
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

8587
function Base.:(==)(a::FusionTensorAxes, b::FusionTensorAxes)
8688
blocklengths(a) != blocklengths(b) && return false
@@ -93,7 +95,7 @@ end
9395
# ================================ BlockArrays interface =================================
9496

9597
for f in [:(blocklength), :(blocklengths), :(blocks)]
96-
@eval BlockArrays.$f(fta::FusionTensorAxes) = $f(outer_axes(fta))
98+
@eval BlockArrays.$f(fta::FusionTensorAxes) = $f(BlockedTuple(fta))
9799
end
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))
109111
end
110112

111-
# ============================== TensorAlgebra interface =================================
112-
113-
TensorAlgebra.trivial_axis(fta::FusionTensorAxes) = trivial_axis(sector_type(fta))
114-
115113
# ============================== FusionTensor interface ==================================
116114

117115
codomain_axes(fta::FusionTensorAxes) = fta[Block(1)]

test/test_fusiontensoraxes.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ using Test: @test, @testset
22

33
using TensorProducts:
44
using BlockArrays: Block, blockedrange, blocklength, blocklengths, blocks
5-
using TensorAlgebra: trivial_axis, tuplemortar
5+
using TensorAlgebra: BlockedTuple, trivial_axis, tuplemortar
66

77
using FusionTensors:
88
FusionTensorAxes,
@@ -12,7 +12,6 @@ using FusionTensors:
1212
codomain_axis,
1313
domain_axes,
1414
domain_axis,
15-
outer_axes,
1615
promote_sector_type,
1716
promote_sectors
1817
using GradedArrays:
@@ -42,7 +41,7 @@ end
4241
fta = FusionTensorAxes(bt)
4342

4443
@test fta isa FusionTensorAxes
45-
@test outer_axes(fta) == bt
44+
@test BlockedTuple(fta) == bt
4645

4746
@test Tuple(fta) == Tuple(bt)
4847
@test space_isequal(only(axes(fta)), blockedrange([2, 2]))

0 commit comments

Comments
 (0)