changeset 434:648a36ebac99 feature/lazy_identity

Change name from LazyIdentity to IdentityMapping
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 19 Oct 2020 09:51:56 +0200
parents 7327a3e41df0
children 1db5ec38955e
files src/LazyTensors/lazy_tensor_operations.jl test/testLazyTensors.jl
diffstat 2 files changed, 13 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/LazyTensors/lazy_tensor_operations.jl	Mon Oct 19 09:50:16 2020 +0200
+++ b/src/LazyTensors/lazy_tensor_operations.jl	Mon Oct 19 09:51:56 2020 +0200
@@ -148,21 +148,21 @@
 
 
 """
-    LazyIdentity{T,D} <: TensorMapping{T,D,D}
+    IdentityMapping{T,D} <: TensorMapping{T,D,D}
 
 The lazy identity TensorMapping for a given size. Usefull for building up higher dimensional tensor mappings from lower
 dimensional ones through outer products. Also used in the Implementation for InflatedTensorMapping.
 """
-struct LazyIdentity{T,D} <: TensorMapping{T,D,D}
+struct IdentityMapping{T,D} <: TensorMapping{T,D,D}
     size::NTuple{D,Int}
 end
-export LazyIdentity
+export IdentityMapping
 
-LazyIdentity{T}(size::NTuple{D,Int}) where {T,D} = LazyIdentity{T,D}(size)
+IdentityMapping{T}(size::NTuple{D,Int}) where {T,D} = IdentityMapping{T,D}(size)
 
-range_size(tmi::LazyIdentity) = tmi.size
-domain_size(tmi::LazyIdentity) = tmi.size
+range_size(tmi::IdentityMapping) = tmi.size
+domain_size(tmi::IdentityMapping) = tmi.size
 
-apply(tmi::LazyIdentity{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...]
-apply_transpose(tmi::LazyIdentity{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...]
+apply(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...]
+apply_transpose(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...]
 
--- a/test/testLazyTensors.jl	Mon Oct 19 09:50:16 2020 +0200
+++ b/test/testLazyTensors.jl	Mon Oct 19 09:51:56 2020 +0200
@@ -281,12 +281,12 @@
 end
 
 
-@testset "LazyIdentity" begin
-    @test LazyIdentity{Float64}((4,5)) isa LazyIdentity{T,2} where T
-    @test LazyIdentity{Float64}((4,5)) isa TensorMapping{T,2,2} where T
+@testset "IdentityMapping" begin
+    @test IdentityMapping{Float64}((4,5)) isa IdentityMapping{T,2} where T
+    @test IdentityMapping{Float64}((4,5)) isa TensorMapping{T,2,2} where T
 
     for sz ∈ [(4,5),(3,),(5,6,4)]
-        I = LazyIdentity{Float64}(sz)
+        I = IdentityMapping{Float64}(sz)
         v = rand(sz...)
         @test I*v == v
         @test I'*v == v
@@ -295,7 +295,7 @@
         @test domain_size(I) == sz
     end
 
-    I = LazyIdentity{Float64}((4,5))
+    I = IdentityMapping{Float64}((4,5))
     v = rand(4,5)
     @inferred (I*v)[3,2]
     @test_broken @inferred (I'*v)[3,2] # TODO: Should fix the index typing before investigating this