comparison LazyTensors/test/runtests.jl @ 275:591609cdcd9b boundary_conditions

Dispatch TensorMappingTranspose on region indices. Update tests.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 06 Jan 2020 11:05:19 +0100
parents 11010bb74260
children e3611c2181bc
comparison
equal deleted inserted replaced
274:11010bb74260 275:591609cdcd9b
17 end 17 end
18 18
19 @testset "Mapping transpose" begin 19 @testset "Mapping transpose" begin
20 struct DummyMapping{T,R,D} <: TensorMapping{T,R,D} end 20 struct DummyMapping{T,R,D} <: TensorMapping{T,R,D} end
21 21
22 LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::NTuple{R,Int}) where {T,R,D} = :apply 22 LazyTensors.apply(m::DummyMapping{T,R,D}, v, I::NTuple{R,Index{<:Region}}) where {T,R,D} = :apply
23 LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, i::NTuple{D,Int}) where {T,R,D} = :apply_transpose 23 LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, I::NTuple{D,Index{<:Region}}) where {T,R,D} = :apply_transpose
24 24
25 LazyTensors.range_size(m::DummyMapping{T,R,D}, domain_size::NTuple{D,Integer}) where {T,R,D} = :range_size 25 LazyTensors.range_size(m::DummyMapping{T,R,D}, domain_size::NTuple{D,Integer}) where {T,R,D} = :range_size
26 LazyTensors.domain_size(m::DummyMapping{T,R,D}, range_size::NTuple{R,Integer}) where {T,R,D} = :domain_size 26 LazyTensors.domain_size(m::DummyMapping{T,R,D}, range_size::NTuple{R,Integer}) where {T,R,D} = :domain_size
27 27
28 m = DummyMapping{Float64,2,3}() 28 m = DummyMapping{Float64,2,3}()
29 I = Index{Unknown}(0)
29 @test m' isa TensorMapping{Float64, 3,2} 30 @test m' isa TensorMapping{Float64, 3,2}
30 @test m'' == m 31 @test m'' == m
31 @test apply(m',zeros(Float64,(0,0)), (0,0,0)) == :apply_transpose 32 @test apply(m',zeros(Float64,(0,0)), (I,I,I)) == :apply_transpose
32 @test apply(m'',zeros(Float64,(0,0,0)),(0,0)) == :apply 33 @test apply(m'',zeros(Float64,(0,0,0)),(I,I)) == :apply
33 @test apply_transpose(m', zeros(Float64,(0,0,0)),(0,0)) == :apply 34 @test apply_transpose(m', zeros(Float64,(0,0,0)),(I,I)) == :apply
34 35
35 @test range_size(m', (0,0)) == :domain_size 36 @test range_size(m', (0,0)) == :domain_size
36 @test domain_size(m', (0,0,0)) == :range_size 37 @test domain_size(m', (0,0,0)) == :range_size
37 end 38 end
38 39