Mercurial > repos > public > sbplib_julia
diff LazyTensors/test/runtests.jl @ 237:1c6afdcfd657 boundary_conditions
Regretsies on the CartesianIndex stuff. Use Vararg instead
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 26 Jun 2019 19:51:36 +0200 |
parents | 856caf960d89 |
children | d4cd4882ee9f |
line wrap: on
line diff
--- a/LazyTensors/test/runtests.jl Wed Jun 26 18:24:07 2019 +0200 +++ b/LazyTensors/test/runtests.jl Wed Jun 26 19:51:36 2019 +0200 @@ -3,10 +3,10 @@ @testset "Generic Mapping methods" begin struct DummyMapping{T,R,D} <: TensorMapping{T,R,D} end - LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::CartesianIndex{R}) where {T,R,D} = :apply + LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::NTuple{R,Int}) where {T,R,D} = :apply @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)),CartesianIndex(0,0)) == :apply + @test apply(DummyMapping{Int,2,3}(), zeros(Int, (0,0,0)),(0,0)) == :apply end @testset "Generic Operator methods" begin @@ -18,8 +18,8 @@ @testset "Mapping transpose" begin struct DummyMapping{T,R,D} <: TensorMapping{T,R,D} end - LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::CartesianIndex{R}) where {T,R,D} = :apply - LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, i::CartesianIndex{D}) where {T,R,D} = :apply_transpose + LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::NTuple{R,Int}) where {T,R,D} = :apply + LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, i::NTuple{D,Int}) where {T,R,D} = :apply_transpose LazyTensors.range_size(m::DummyMapping{T,R,D}, domain_size::NTuple{D,Integer}) where {T,R,D} = :range_size LazyTensors.domain_size(m::DummyMapping{T,R,D}, range_size::NTuple{R,Integer}) where {T,R,D} = :domain_size @@ -27,9 +27,9 @@ m = DummyMapping{Float64,2,3}() @test m' isa TensorMapping{Float64, 3,2} @test m'' == m - @test apply(m',zeros(Float64,(0,0)),CartesianIndex(0,0,0)) == :apply_transpose - @test apply(m'',zeros(Float64,(0,0,0)),CartesianIndex(0,0)) == :apply - @test apply_transpose(m', zeros(Float64,(0,0,0)),CartesianIndex(0,0)) == :apply + @test apply(m',zeros(Float64,(0,0)), (0,0,0)) == :apply_transpose + @test apply(m'',zeros(Float64,(0,0,0)),(0,0)) == :apply + @test apply_transpose(m', zeros(Float64,(0,0,0)),(0,0)) == :apply @test range_size(m', (0,0)) == :domain_size @test domain_size(m', (0,0,0)) == :range_size @@ -38,8 +38,8 @@ @testset "TensorApplication" begin struct DummyMapping{T,R,D} <: TensorMapping{T,R,D} end - LazyTensors.apply(m::DummyMapping{T,R,D}, v, i) where {T,R,D} = (:apply,v,i) - LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, i) where {T,R,D} = :apply_transpose + LazyTensors.apply(m::DummyMapping{T,R,D}, v, i::NTuple{R,Int}) where {T,R,D} = (:apply,v,i) + LazyTensors.apply_transpose(m::DummyMapping{T,R,D}, v, i::NTuple{D,Int}) where {T,R,D} = :apply_transpose LazyTensors.range_size(m::DummyMapping{T,R,D}, domain_size::NTuple{D,Integer}) where {T,R,D} = 2 .* domain_size LazyTensors.domain_size(m::DummyMapping{T,R,D}, range_size::NTuple{R,Integer}) where {T,R,D} = range_size.รท2 @@ -49,11 +49,11 @@ v = [0,1,2] @test m*v isa AbstractVector{Int} @test size(m*v) == 2 .*size(v) - @test (m*v)[0] == (:apply,v,0) + @test (m*v)[0] == (:apply,v,(0,)) @test m*m*v isa AbstractVector{Int} - @test (m*m*v)[1] == (:apply,m*v,1) - @test (m*m*v)[3] == (:apply,m*v,3) - @test (m*m*v)[6] == (:apply,m*v,6) + @test (m*m*v)[1] == (:apply,m*v,(1,)) + @test (m*m*v)[3] == (:apply,m*v,(3,)) + @test (m*m*v)[6] == (:apply,m*v,(6,)) @test_broken BoundsError == (m*m*v)[0] @test_broken BoundsError == (m*m*v)[7] end @@ -89,7 +89,7 @@ data::T1 end Base.size(v::DummyArray) = size(v.data) - Base.getindex(v::DummyArray, I...) = v.data[I...] + Base.getindex(v::DummyArray{T,D}, I::Vararg{Int,D}) where {T,D} = v.data[I...] # Test lazy operations v1 = [1, 2.3, 4]