Skip to content

Commit c288e39

Browse files
committed
Clean up length and iterate
1 parent e740a9f commit c288e39

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/utils.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ Base.keys(d::AbstractDimensions) = static_fieldnames(typeof(d))
3838
Base.iszero(d::AbstractDimensions) = all_dimensions(iszero, d)
3939
Base.iszero(q::AbstractQuantity) = iszero(ustrip(q))
4040
Base.getindex(d::AbstractDimensions, k::Symbol) = getfield(d, k)
41+
42+
# Compatibility with `.*`
43+
Base.length(::Union{AbstractQuantity,AbstractDimensions}) = 1
44+
Base.iterate(qd::Union{AbstractQuantity,AbstractDimensions}) = (qd, nothing)
45+
Base.iterate(::Union{AbstractQuantity,AbstractDimensions}, ::Nothing) = nothing
46+
4147
Base.:(==)(l::AbstractDimensions, r::AbstractDimensions) = all_dimensions(==, l, r)
4248
Base.:(==)(l::AbstractQuantity, r::AbstractQuantity) = ustrip(l) == ustrip(r) && dimension(l) == dimension(r)
4349
Base.:(==)(l, r::AbstractQuantity) = ustrip(l) == ustrip(r) && iszero(dimension(r))

0 commit comments

Comments
 (0)