changeset 1102:84820d4780fa feature/lazy_tensors/pretty_printing

Add pretty printing for DiagonalTensor
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 12 May 2022 22:24:51 +0200
parents 1e8270c18edb
children c0bff9f6e0fb
files src/LazyTensors/tensor_types.jl test/LazyTensors/tensor_types_test.jl
diffstat 2 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/LazyTensors/tensor_types.jl	Thu May 12 21:52:47 2022 +0200
+++ b/src/LazyTensors/tensor_types.jl	Thu May 12 22:24:51 2022 +0200
@@ -72,10 +72,15 @@
 range_size(tm::DiagonalTensor) = size(tm.diagonal)
 domain_size(tm::DiagonalTensor) = size(tm.diagonal)
 
-
 LazyTensors.apply(tm::DiagonalTensor{T,D}, v::AbstractArray{<:Any,D}, I::Vararg{Any,D}) where {T,D} = tm.diagonal[I...]*v[I...]
 LazyTensors.apply_transpose(tm::DiagonalTensor{T,D}, v::AbstractArray{<:Any,D}, I::Vararg{Any,D}) where {T,D} = tm.diagonal[I...]*v[I...]
 
+function Base.show(io::IO, ::MIME"text/plain", tm::DiagonalTensor)
+    print(io, "DiagonalTensor(")
+    print(io, tm.diagonal)
+    print(io, ")")
+end
+
 
 """
     DenseTensor{T,R,D,...}(A, range_indicies, domain_indicies)
--- a/test/LazyTensors/tensor_types_test.jl	Thu May 12 21:52:47 2022 +0200
+++ b/test/LazyTensors/tensor_types_test.jl	Thu May 12 22:24:51 2022 +0200
@@ -114,6 +114,12 @@
     v = rand(sz...)
     LazyTensors.apply(tm,v, 2,1)
     @test (@ballocated LazyTensors.apply($tm,$v, 2,1)) == 0
+
+
+    @testset "Pretty printing" begin
+        @test repr(MIME("text/plain"), DiagonalTensor([1,2,3,4])) == "DiagonalTensor([1, 2, 3, 4])"
+        @test repr(MIME("text/plain"), DiagonalTensor([1.,1.,1.])) == "DiagonalTensor([1.0, 1.0, 1.0])"
+    end
 end