Mercurial > repos > public > sbplib_julia
changeset 1010:7acd417b780d feature/lazy_tensors/pretty_printing
Add pretty printing for ScalingTensor
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 21 Mar 2022 08:04:36 +0100 |
parents | d5e6c4e9d64e |
children | f2c5d44a8db0 |
files | src/LazyTensors/tensor_types.jl test/LazyTensors/tensor_types_test.jl |
diffstat | 2 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/LazyTensors/tensor_types.jl Mon Mar 21 08:04:14 2022 +0100 +++ b/src/LazyTensors/tensor_types.jl Mon Mar 21 08:04:36 2022 +0100 @@ -46,6 +46,18 @@ LazyTensors.range_size(m::ScalingTensor) = m.size LazyTensors.domain_size(m::ScalingTensor) = m.size +function Base.show(io::IO, ::MIME"text/plain", tm::ScalingTensor{T}) where T + if (:comact => true) in io + print(io, "$(tm.λ)*I(") + join(io, tm.size, ",") + print(io, ")") + else + print(io, "ScalingTensor{$T}(") + print(io, tm.λ, ", ") + print(io, tm.size) + print(io, ")") + end +end """ LazyLinearMap{T,R,D,...}(A, range_indicies, domain_indicies)
--- a/test/LazyTensors/tensor_types_test.jl Mon Mar 21 08:04:14 2022 +0100 +++ b/test/LazyTensors/tensor_types_test.jl Mon Mar 21 08:04:36 2022 +0100 @@ -64,6 +64,14 @@ @inferred (st*v)[2,2] @inferred (st'*v)[2,2] + + @testset "Pretty printing" begin + @test repr(MIME("text/plain"), ScalingTensor(2., (5,))) == "ScalingTensor{Float64}(2.0, (5,))" # TODO: Can we make this nicer? + @test repr(MIME("text/plain"), ScalingTensor(3, (4,5))) == "ScalingTensor{Int64}(3, (4, 5))" + + @test repr(MIME("text/plain"), ScalingTensor(4., (5,)), context=:comact=>true) == "4.0*I(5)" + @test repr(MIME("text/plain"), ScalingTensor(2, (4,5)), context=:comact=>true) == "2*I(4,5)" + end end