Skip to content

Commit ca3f6f9

Browse files
committed
Extend + and - to regular numbers
1 parent 957ec74 commit ca3f6f9

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/math.jl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ Base.:/(l::Dimensions, r::Number) = Quantity(inv(r), l)
1717
Base.:/(l::Number, r::Dimensions) = Quantity(l, inv(r))
1818

1919
Base.:+(l::Quantity, r::Quantity) = dimension(l) == dimension(r) ? Quantity(l.value + r.value, l.dimensions) : throw(DimensionError(l, r))
20-
Base.:-(l::Quantity, r::Quantity) = dimension(l) == dimension(r) ? Quantity(l.value - r.value, l.dimensions) : throw(DimensionError(l, r))
20+
Base.:-(l::Quantity) = Quantity(-l.value, l.dimensions)
21+
Base.:-(l::Quantity, r::Quantity) = l + (-r)
22+
23+
Base.:+(l::Quantity, r::Number) = dimension(l) == dimension(r) ? Quantity(l.value + r, l.dimensions) : throw(DimensionError(l, r))
24+
Base.:+(l::Number, r::Quantity) = dimension(l) == dimension(r) ? Quantity(l + r.value, r.dimensions) : throw(DimensionError(l, r))
25+
Base.:-(l::Quantity, r::Number) = l + (-r)
26+
Base.:-(l::Number, r::Quantity) = l + (-r)
2127

2228
_pow(l::Dimensions{R}, r::R) where {R} = @map_dimensions(Base.Fix1(*, r), l)
2329
_pow(l::Quantity{T,R}, r::R) where {T,R} = Quantity(l.value^convert(T, r), _pow(l.dimensions, r))

0 commit comments

Comments
 (0)