Skip to content

Commit 3064294

Browse files
committed
fix: promotion of mixed dimensions
1 parent 850e1e9 commit 3064294

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

src/utils.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,6 @@ ustrip(::AbstractDimensions) = error("Cannot remove units from an `AbstractDimen
390390

391391
"""
392392
ustrip(unit::UnionAbstractQuantity, q::UnionAbstractQuantity)
393-
ustrip(unit::UnionAbstractQuantity, q::AbstractArray{<:UnionAbstractQuantity})
394393
395394
Convert quantity `q` to the units specified by `unit`, then strip the units.
396395
This is equivalent to `ustrip(q / unit)`, but also verifies the dimensions are compatible.
@@ -410,13 +409,10 @@ julia> ustrip(u"km", [1000u"m", 2000u"m"])
410409
```
411410
"""
412411
@inline function ustrip(unit::UnionAbstractQuantity, q::UnionAbstractQuantity)
412+
unit, q = promote_except_value(unit, q)
413413
dimension(unit) == dimension(q) || throw(DimensionError(unit, q))
414414
return ustrip(q / unit)
415415
end
416-
@inline function ustrip(unit::UnionAbstractQuantity, q::AbstractArray{<:UnionAbstractQuantity})
417-
all(qi -> dimension(qi) == dimension(unit), q) || throw(DimensionError(unit, q))
418-
return @. ustrip(q / unit)
419-
end
420416

421417
"""
422418
dimension(q::AbstractQuantity)

0 commit comments

Comments
 (0)