Mercurial > repos > public > sbplib_julia
diff LazyTensors/src/lazy_operations.jl @ 203:19e579a5031f boundary_conditions
Add (/) operation for LazyArrays and enable corresponding broken tests.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Mon, 24 Jun 2019 10:51:39 +0200 |
parents | 9e737d19fcfe |
children | 70e1f3401d82 |
line wrap: on
line diff
--- a/LazyTensors/src/lazy_operations.jl Mon Jun 24 09:21:03 2019 +0200 +++ b/LazyTensors/src/lazy_operations.jl Mon Jun 24 10:51:39 2019 +0200 @@ -109,9 +109,13 @@ Base.@propagate_inbounds Base.:-(a::AbstractArray{T,D}, b::LazyArray{T,D}) where {T,D} = a -̃ b Base.@propagate_inbounds Base.:*(a::LazyArray{T,D}, b::AbstractArray{T,D}) where {T,D} = a *̃ b Base.@propagate_inbounds Base.:*(a::AbstractArray{T,D}, b::LazyArray{T,D}) where {T,D} = b * a -# TODO: / seems to be ambiguous -# Base.:/(a::LazyArray{T,D},b::AbstractArray{T,D}) where {T,D} = a /̃ b -# Base.:/(a::AbstractArray{T,D},b::LazyArray{T,D}) where {T,D} = a /̃ b +# NOTE: Need to define (/) for AbstractVectorOrMat and Union of LazyArrays in order to avoid ambiguities +# with (/) in the LinearAlgebra package. Not sure if it actually could be usefull. +Base.@propagate_inbounds Base.:/(a::AbstractVecOrMat, b::Union{LazyArray{T,1}, LazyArray{T,2}}) where {T} = a /̃ b +Base.@propagate_inbounds Base.:/(a::Union{LazyArray{T,1}, LazyArray{T,2}}, b::AbstractVecOrMat) where {T} = a /̃ b +Base.@propagate_inbounds Base.:/(a::LazyArray{T,D}, b::AbstractArray{T,D}) where {T,D} = a /̃ b +Base.@propagate_inbounds Base.:/(a::AbstractArray{T,D}, b::LazyArray{T,D}) where {T,D} = a /̃ b + export +̃, -̃, *̃, /̃