Mercurial > repos > public > sbplib_julia
diff test/testLazyTensors.jl @ 458:41f9cb6ee5a7 feature/inflated_tensormapping
Moar tests and moar type stableness
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 21 Oct 2020 20:57:38 +0200 |
parents | 8fb6a5611c7a |
children | 6eb3f7eb08d6 a52f38e72258 |
line wrap: on
line diff
--- a/test/testLazyTensors.jl Wed Oct 21 20:10:27 2020 +0200 +++ b/test/testLazyTensors.jl Wed Oct 21 20:57:38 2020 +0200 @@ -349,7 +349,21 @@ @inferred LazyTensors.split_index(tm,1,1,1,1) - @inferred (tm*v)[1,1,1,1] + struct ScalingOperator{T,D} <: TensorMapping{T,D,D} + λ::T + size::NTuple{D,Int} + end + + LazyTensors.apply(m::ScalingOperator{T,D}, v, I::Vararg{Index,D}) where {T,D} = m.λ*v[I] + LazyTensors.range_size(m::ScalingOperator) = m.size + LazyTensors.domain_size(m::ScalingOperator) = m.size + + tm = InflatedTensorMapping(I(2,3),ScalingOperator(2.0, (3,2)),I(3,4)) + v = rand(domain_size(tm)...) + + @inferred LazyTensors.split_index(tm,1,2,3,2,2,4) + @inferred apply(tm,v,Index{Unknown}.((1,2,3,2,2,4))...) + @inferred (tm*v)[1,2,3,2,2,4] end