|
151 | 151 |
|
152 | 152 | adjoint(A::OneElementMatrix) = OneElement(adjoint(A.val), reverse(A.ind), reverse(A.axes)) |
153 | 153 | transpose(A::OneElementMatrix) = OneElement(transpose(A.val), reverse(A.ind), reverse(A.axes)) |
| 154 | + |
| 155 | +# broadcast |
| 156 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(conj), r::OneElement{<:Any,N}) where {N} |
| 157 | + OneElement(conj(r.val), r.ind, axes(r)) |
| 158 | +end |
| 159 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(real), r::OneElement{<:Any,N}) where {N} |
| 160 | + OneElement(real(r.val), r.ind, axes(r)) |
| 161 | +end |
| 162 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(imag), r::OneElement{<:Any,N}) where {N} |
| 163 | + OneElement(imag(r.val), r.ind, axes(r)) |
| 164 | +end |
| 165 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(^), r::OneElement{<:Any,N}, x::Number) where {N} |
| 166 | + OneElement(r.val^x, r.ind, axes(r)) |
| 167 | +end |
| 168 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(*), r::OneElement{<:Any,N}, x::Number) where {N} |
| 169 | + OneElement(r.val*x, r.ind, axes(r)) |
| 170 | +end |
| 171 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(/), r::OneElement{<:Any,N}, x::Number) where {N} |
| 172 | + OneElement(r.val/x, r.ind, axes(r)) |
| 173 | +end |
| 174 | +function broadcasted(::DefaultArrayStyle{N}, ::typeof(\), x::Number, r::OneElement{<:Any,N}) where {N} |
| 175 | + OneElement(x \ r.val, r.ind, axes(r)) |
| 176 | +end |
0 commit comments