Skip to content

Commit 7b2bb11

Browse files
authored
Negating a OneElement produces a OneElement (#381)
1 parent 6bab762 commit 7b2bb11

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/oneelement.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ function isone(A::OneElementMatrix)
141141
isone(getindex_value(A))
142142
end
143143

144+
-(O::OneElement) = OneElement(-O.val, O.ind, O.axes)
145+
144146
*(x::OneElement, b::Number) = OneElement(x.val * b, x.ind, x.axes)
145147
*(b::Number, x::OneElement) = OneElement(b * x.val, x.ind, x.axes)
146148
/(x::OneElement, b::Number) = OneElement(x.val / b, x.ind, x.axes)

test/runtests.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2171,6 +2171,7 @@ end
21712171
@test FillArrays.nzind(e₁) == CartesianIndex(2)
21722172
@test e₁[2] === e₁[2,1] === e₁[2,1,1] === 1
21732173
@test_throws BoundsError e₁[6]
2174+
@test -e₁ === OneElement(-1, 2, 5)
21742175

21752176
f₁ = AbstractArray{Float64}(e₁)
21762177
@test f₁ isa OneElement{Float64,1}
@@ -2190,6 +2191,7 @@ end
21902191
V = OneElement(2, (2,3), (3,4))
21912192
@test V == [0 0 0 0; 0 0 2 0; 0 0 0 0]
21922193
@test FillArrays.nzind(V) == CartesianIndex(2,3)
2194+
@test -V == OneElement(-2, (2,3), (3,4))
21932195

21942196
Vf = AbstractArray{Float64}(V)
21952197
@test Vf isa OneElement{Float64,2}

0 commit comments

Comments
 (0)