Mercurial > repos > public > sbplib_julia
comparison LazyTensors/test/runtests.jl @ 276:e3611c2181bc boundary_conditions
Add 2D test
| author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
|---|---|
| date | Mon, 06 Jan 2020 11:46:21 +0100 |
| parents | 591609cdcd9b |
| children | 21e5c1dd6794 |
comparison
equal
deleted
inserted
replaced
| 275:591609cdcd9b | 276:e3611c2181bc |
|---|---|
| 61 @test (m*m*v)[Index{Lower}(6)] == (:apply,m*v,(Index{Lower}(6),)) | 61 @test (m*m*v)[Index{Lower}(6)] == (:apply,m*v,(Index{Lower}(6),)) |
| 62 @test (m*m*v)[6] == (:apply,m*v,(Index{Unknown}(6),)) | 62 @test (m*m*v)[6] == (:apply,m*v,(Index{Unknown}(6),)) |
| 63 @test_broken BoundsError == (m*m*v)[0] | 63 @test_broken BoundsError == (m*m*v)[0] |
| 64 @test_broken BoundsError == (m*m*v)[7] | 64 @test_broken BoundsError == (m*m*v)[7] |
| 65 | 65 |
| 66 A = DummyMapping{Int, 2, 1}() | 66 m = DummyMapping{Int, 2, 1}() |
| 67 @test_throws MethodError m*ones(Int,2,2) | |
| 68 @test_throws MethodError m*m*v | |
| 67 | 69 |
| 68 @test_throws MethodError A*ones(Int,2,2) | 70 m = DummyMapping{Float64, 2, 2}() |
| 69 @test_throws MethodError A*A*v | 71 v = ones(3,3) |
| 72 I = (Index{Lower}(1),Index{Interior}(2)); | |
| 73 @test size(m*v) == 2 .*size(v) | |
| 74 @test (m*v)[I...] == (:apply,v,I) | |
| 70 | 75 |
| 71 struct ScalingOperator{T,D} <: TensorOperator{T,D} | 76 struct ScalingOperator{T,D} <: TensorOperator{T,D} |
| 72 λ::T | 77 λ::T |
| 73 end | 78 end |
| 74 | 79 |
| 75 LazyTensors.apply(m::ScalingOperator{T,D}, v, I::Tuple{Index{<:Region}}) where {T,D} = m.λ*v[I...] | 80 LazyTensors.apply(m::ScalingOperator{T,D}, v, I::Tuple{Index{<:Region}}) where {T,D} = m.λ*v[I...] |
| 76 | 81 |
| 77 A = ScalingOperator{Int,1}(2) | 82 m = ScalingOperator{Int,1}(2) |
| 78 | 83 |
| 79 @test A*[1,2,3] isa AbstractVector | 84 @test m*[1,2,3] isa AbstractVector |
| 80 @test A*[1,2,3] == [2,4,6] | 85 @test m*[1,2,3] == [2,4,6] |
| 81 end | 86 end |
| 82 | 87 |
| 83 @testset "TensorMapping binary operations" begin | 88 @testset "TensorMapping binary operations" begin |
| 84 struct ScalarMapping{T,R,D} <: TensorMapping{T,R,D} | 89 struct ScalarMapping{T,R,D} <: TensorMapping{T,R,D} |
| 85 λ::T | 90 λ::T |
