comparison src/LazyTensors/LazyTensors.jl @ 1300:a922aa69eb83 bugfix/lazy_tensors/tensorcomposition

Fix type inference of nested tensorcompositions by making the compositions right associative
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 26 Apr 2023 21:56:45 +0200
parents 93f87d5d9fbb
children dfb43fdac9fc 8b64df6cadba
comparison
equal deleted inserted replaced
1240:a9ac86f6be8a 1300:a922aa69eb83
28 Base.:+(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:+}(s,t) 28 Base.:+(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:+}(s,t)
29 Base.:-(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:-}(s,t) 29 Base.:-(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:-}(s,t)
30 30
31 # Composing lazy tensors 31 # Composing lazy tensors
32 Base.:∘(s::LazyTensor, t::LazyTensor) = TensorComposition(s,t) 32 Base.:∘(s::LazyTensor, t::LazyTensor) = TensorComposition(s,t)
33 Base.:∘(s::TensorComposition, t::LazyTensor) = s.t1∘(s.t2∘t)
33 34
34 # Outer products of tensors 35 # Outer products of tensors
35 ⊗(a::LazyTensor, b::LazyTensor) = LazyOuterProduct(a,b) 36 ⊗(a::LazyTensor, b::LazyTensor) = LazyOuterProduct(a,b)
36 37
37 end # module 38 end # module