Mercurial > repos > public > sbplib_julia
comparison LazyTensors/src/lazy_operations.jl @ 236:856caf960d89 boundary_conditions
Use CartesianIndex for a bunch of index operations
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 26 Jun 2019 18:24:07 +0200 |
parents | a20bb4fac23d |
children | 1c6afdcfd657 |
comparison
equal
deleted
inserted
replaced
235:a5fdc00d5070 | 236:856caf960d89 |
---|---|
134 | 134 |
135 # # TBD: Should this be implemented on a type by type basis or through a trait to provide earlier errors? | 135 # # TBD: Should this be implemented on a type by type basis or through a trait to provide earlier errors? |
136 Base.adjoint(t::TensorMapping) = LazyTensorMappingTranspose(t) | 136 Base.adjoint(t::TensorMapping) = LazyTensorMappingTranspose(t) |
137 Base.adjoint(t::LazyTensorMappingTranspose) = t.tm | 137 Base.adjoint(t::LazyTensorMappingTranspose) = t.tm |
138 | 138 |
139 apply(tm::LazyTensorMappingTranspose{T,R,D}, v::AbstractArray{T,R}, I::Vararg) where {T,R,D} = apply_transpose(tm.tm, v, I...) | 139 apply(tm::LazyTensorMappingTranspose{T,R,D}, v::AbstractArray{T,R}, I::CartesianIndex{D}) where {T,R,D} = apply_transpose(tm.tm, v, I) |
140 apply_transpose(tm::LazyTensorMappingTranspose{T,R,D}, v::AbstractArray{T,D}, I::Vararg) where {T,R,D} = apply(tm.tm, v, I...) | 140 apply_transpose(tm::LazyTensorMappingTranspose{T,R,D}, v::AbstractArray{T,D}, I::CartesianIndex{R}) where {T,R,D} = apply(tm.tm, v, I) |
141 | 141 |
142 range_size(tmt::LazyTensorMappingTranspose{T,R,D}, d_size::NTuple{R,Integer}) where {T,R,D} = domain_size(tmt.tm, d_size) | 142 range_size(tmt::LazyTensorMappingTranspose{T,R,D}, d_size::NTuple{R,Integer}) where {T,R,D} = domain_size(tmt.tm, d_size) |
143 domain_size(tmt::LazyTensorMappingTranspose{T,R,D}, r_size::NTuple{D,Integer}) where {T,R,D} = range_size(tmt.tm, r_size) | 143 domain_size(tmt::LazyTensorMappingTranspose{T,R,D}, r_size::NTuple{D,Integer}) where {T,R,D} = range_size(tmt.tm, r_size) |
144 | 144 |
145 | 145 |