Skip to content

Commit b873ad1

Browse files
authored
Merge pull request #348 from jishnub/oneelshow
Pretty-printing for OneElement
2 parents 1788108 + 4d4173f commit b873ad1

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/oneelement.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,10 @@ end
174174
function broadcasted(::DefaultArrayStyle{N}, ::typeof(\), x::Number, r::OneElement{<:Any,N}) where {N}
175175
OneElement(x \ r.val, r.ind, axes(r))
176176
end
177+
178+
# show
179+
_maybesize(t::Tuple{Base.OneTo{Int}, Vararg{Base.OneTo{Int}}}) = size.(t,1)
180+
_maybesize(t) = t
181+
Base.show(io::IO, A::OneElement) = print(io, OneElement, "(", A.val, ", ", A.ind, ", ", _maybesize(axes(A)), ")")
182+
Base.show(io::IO, A::OneElement{<:Any,1,Tuple{Int},Tuple{Base.OneTo{Int}}}) =
183+
print(io, OneElement, "(", A.val, ", ", A.ind[1], ", ", size(A,1), ")")

test/runtests.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2226,6 +2226,15 @@ end
22262226
@test n .\ v == n .\ w
22272227
end
22282228
end
2229+
2230+
@testset "show" begin
2231+
B = OneElement(2, (1, 2), (3, 4))
2232+
@test repr(B) == "OneElement(2, (1, 2), (3, 4))"
2233+
B = OneElement(2, 1, 3)
2234+
@test repr(B) == "OneElement(2, 1, 3)"
2235+
B = OneElement(2, (1, 2), (Base.IdentityUnitRange(1:1), Base.IdentityUnitRange(2:2)))
2236+
@test repr(B) == "OneElement(2, (1, 2), (Base.IdentityUnitRange(1:1), Base.IdentityUnitRange(2:2)))"
2237+
end
22292238
end
22302239

22312240
@testset "repeat" begin

0 commit comments

Comments
 (0)