Skip to content

Commit 3300a00

Browse files
committed
Fix behavior of one(::Quantity)
1 parent 0257746 commit 3300a00

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/utils.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Base.one(::Type{Quantity{T}}) where {T} = one(Quantity{T,DEFAULT_DIM_TYPE})
5151
Base.one(::Type{Quantity}) = one(Quantity{DEFAULT_VALUE_TYPE})
5252
Base.one(::Type{Dimensions{R}}) where {R} = Dimensions{R}()
5353
Base.one(::Type{Dimensions}) = one(Dimensions{DEFAULT_DIM_TYPE})
54-
Base.one(q::Quantity) = one(typeof(q))
54+
Base.one(q::Quantity) = Quantity(one(ustrip(q)), dimension(q))
5555
Base.one(d::Dimensions) = one(typeof(d))
5656

5757
# Additive identities:

test/unittests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ end
200200
@test one(Dimensions()) == Dimensions()
201201
@test typeof(one(Quantity)) == Quantity{DEFAULT_VALUE_TYPE,DEFAULT_DIM_TYPE}
202202
@test ustrip(one(Quantity)) === one(DEFAULT_VALUE_TYPE)
203+
@test typeof(one(Quantity(ones(32, 32)))) == Quantity{Matrix{Float64},DEFAULT_DIM_TYPE}
203204

204205
x = Quantity(1, length=1)
205206

0 commit comments

Comments
 (0)