@@ -24,22 +24,21 @@ category_label(s::O2) = s.l
2424trivial (:: Type{O2} ) = O2 (0 )
2525zero_odd (:: Type{O2} ) = O2 (- 1 )
2626
27- _iszero (s:: O2 ) = _iszero (category_label (s)) # matches both 0e and 0o
28- _iszero_even (s:: O2 ) = _iszero_even (category_label (s))
29- _iszero_odd (s:: O2 ) = _iszero_odd (category_label (s))
27+ is_zero_even_or_odd (s:: O2 ) = is_zero_even_or_odd (category_label (s))
28+ iszero_odd (s:: O2 ) = iszero_odd (category_label (s))
3029
31- _iszero (l:: HalfInteger ) = _iszero_even (l) || _iszero_odd (l)
32- _iszero_even (l:: HalfInteger ) = l == category_label (trivial (O2))
33- _iszero_odd (l:: HalfInteger ) = l == category_label (zero_odd (O2))
30+ is_zero_even_or_odd (l:: HalfInteger ) = iszero_even (l) || iszero_odd (l)
31+ iszero_even (l:: HalfInteger ) = l == category_label (trivial (O2))
32+ iszero_odd (l:: HalfInteger ) = l == category_label (zero_odd (O2))
3433
35- quantum_dimension (:: NonAbelianGroup , s:: O2 ) = 2 - _iszero (s)
34+ quantum_dimension (:: NonAbelianGroup , s:: O2 ) = 2 - is_zero_even_or_odd (s)
3635
3736GradedAxes. dual (s:: O2 ) = s
3837
3938function Base. show (io:: IO , s:: O2 )
40- if _iszero_odd (s)
39+ if iszero_odd (s)
4140 disp = " 0o"
42- elseif _iszero_even (s)
41+ elseif istrivial (s)
4342 disp = " 0e"
4443 else
4544 disp = " ±" * string (category_label (s))
@@ -48,15 +47,15 @@ function Base.show(io::IO, s::O2)
4847end
4948
5049function label_fusion_rule (:: Type{O2} , l1, l2)
51- if _iszero (l1)
50+ if is_zero_even_or_odd (l1)
5251 degens = [1 ]
53- if _iszero (l2)
52+ if is_zero_even_or_odd (l2)
5453 labels = l1 == l2 ? [category_label (trivial (O2))] : [category_label (zero_odd (O2))]
5554 else
5655 labels = [l2]
5756 end
5857 else
59- if _iszero (l2)
58+ if is_zero_even_or_odd (l2)
6059 degens = [1 ]
6160 labels = [l1]
6261 else
0 commit comments