changeset 492:cd509e57f898 feature/tensormapping_eltype

Implement method eltype for TensorMapping
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 05 Nov 2020 12:51:26 +0100
parents 7e698030c170
children 08e834de3943
files src/LazyTensors/tensor_mapping.jl test/testLazyTensors.jl
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/LazyTensors/tensor_mapping.jl	Thu Nov 05 11:46:03 2020 +0100
+++ b/src/LazyTensors/tensor_mapping.jl	Thu Nov 05 12:51:26 2020 +0100
@@ -64,4 +64,11 @@
 
 export range_size, domain_size
 
+"""
+    eltype(::TensorMapping{T})
+
+The type of elements the TensorMapping acts on.
+"""
+Base.eltype(::TensorMapping{T}) where T = T
+
 # TODO: Think about boundschecking!
--- a/test/testLazyTensors.jl	Thu Nov 05 11:46:03 2020 +0100
+++ b/test/testLazyTensors.jl	Thu Nov 05 12:51:26 2020 +0100
@@ -12,6 +12,8 @@
     @test range_dim(DummyMapping{Int,2,3}()) == 2
     @test domain_dim(DummyMapping{Int,2,3}()) == 3
     @test apply(DummyMapping{Int,2,3}(), zeros(Int, (0,0,0)),(Index{Unknown}(0),Index{Unknown}(0))) == :apply
+    @test eltype(DummyMapping{Int,2,3}()) == Int
+    @test eltype(DummyMapping{Float64,2,3}()) == Float64
 end
 
 @testset "Mapping transpose" begin