Mercurial > repos > public > sbplib_julia
diff test/LazyTensors/lazy_tensor_operations_test.jl @ 943:fb060e98ac0a feature/tensormapping_application_promotion
Remove more type assertions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 10 Mar 2022 16:57:01 +0100 |
parents | 7829c09f8137 |
children | 86889fc5b63f |
line wrap: on
line diff
--- a/test/LazyTensors/lazy_tensor_operations_test.jl Thu Mar 10 11:13:34 2022 +0100 +++ b/test/LazyTensors/lazy_tensor_operations_test.jl Thu Mar 10 16:57:01 2022 +0100 @@ -123,6 +123,8 @@ @test range_size(A+B) == range_size(A) == range_size(B) @test domain_size(A+B) == domain_size(A) == domain_size(B) + + @test ((A+B)*ComplexF64[1.1,1.2,1.3])[3] isa ComplexF64 end @@ -145,6 +147,9 @@ v = rand(2) @test (Ã∘B̃)'*v ≈ B'*A'*v rtol=1e-14 + + @test (Ã∘B̃*ComplexF64[1.,2.,3.,4.])[1] isa ComplexF64 + @test ((Ã∘B̃)'*ComplexF64[1.,2.])[1] isa ComplexF64 end @testset "LazyLinearMap" begin @@ -210,6 +215,10 @@ @test I*v == v @test I'*v == v + v = rand(ComplexF64,sz...) + @test I*v == v + @test I'*v == v + @test range_size(I) == sz @test domain_size(I) == sz end @@ -338,6 +347,16 @@ end end + @testset "application to other type" begin + tm = InflatedTensorMapping(I(3,2), A, I(4)) + + v = rand(ComplexF64, domain_size(tm)...) + @test (tm*v)[1,2,3,1] isa ComplexF64 + + v = rand(ComplexF64, domain_size(tm')...) + @test (tm'*v)[1,2,2,1] isa ComplexF64 + end + @testset "Inference of application" begin struct ScalingOperator{T,D} <: TensorMapping{T,D,D} λ::T